/* A simple calculator, see calc.nit */ Grammar calc; Lexer d = '0'..'9'; int = d+; blank = (' '|'\n')+; Parser Ignored blank; e = {add:} e '+' f | {sub:} e '-' f | f {->}; f {->e} = {mul:} f '*' a | {div:} f '/' a | a {->}; a {->e} = {int:} int | {par:} '(' e ')' | {neg:} '-' a ;