16 lines
264 B
Plaintext
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)
|
|
;
|