// expr.pj -- typical grammar for arithmetic expressions %% sum: sum '+' prod | sum '-' prod | prod ; prod: prod '*' term | prod '/' term | prod '%' term | term ; term: '+' term | '-' term | '(' sum ')' | Number ;