/* 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}; f {->e} = {mul:} f '*' a | {div:} f '/' a | a {->a}; a {->e} = {int:} int | {par:} '(' e ')' | {neg:} '-' a ;