Implementujte s využitím generátoru javacc interpret jazyka aritmetických výrazů s celými čísly, operátory +, -, *, / (s obvyklými prioritami a levou asociativitou) a závorkami.
Jako základ můžete použít uvedený soubor Calc.jj. Pro spuštění generátoru javacc použijte následující příkaz (cesta k souboru JavaCC může být jiná!):
java -cp c:/prekladace/JavaCC.zip COM.sun.labs.javacc.Main Calc.jj
Vstupem je textový soubor obsahující posloupnost aritmetických výrazů ukončených středníkem. Mezery, tabulátory a konce řádků mezi symboly se vynechávají. Čísla mohou být zapsána ve tvaru konstanty jazyka C, tj. v desítkové, osmičkové (začínající nulou) a šestnáctkové (začínající znaky 0x) soustavě.
Program vypíše na standardní výstup hodnoty vyhodnocených výrazů (v desítkové soustavě), vždy jeden výsledek na řádku. Je-li detekována syntaktická chyba, překlad se ukončí.
Vstup:
012-10; 2 * (0xff+5); 0x23e5-0x201;
Výstup:
0 520 8676