examples: annotate examples
[nit.git] / contrib / nitcc / examples / calc.sablecc
1 /* A simple calculator, see calc.nit */
2 Grammar calc;
3
4 Lexer
5 d = '0'..'9';
6 int = d+;
7 blank = (' '|'\n')+;
8
9 Parser
10 Ignored blank;
11 e =
12         {int:} int |
13         {par:} '(' e ')'
14 Unary
15         {neg:} '-' e
16 Left
17         {mul:} e '*' e |
18         {div:} e '/' e
19 Left
20         {add:} e '+' e |
21         {sub:} e '-' e ;