Files

16 lines
264 B
Plaintext

%parser 23.lexer
%symbol E {
public int val;
public E(int v) { val = v; }
}
%left '+'
%left '*'
S : E:a '\n' { $$ = a.val; };
E : Int:a %E(a)
| E:a '+' E:b %E(a.val + b.val)
| E:a '*' E:b %E(a.val * b.val)
| '(' E:a ')' %E(a.val)
;