Files

10 lines
256 B
Plaintext

%parser 42.lexer // for Program 4.2
%left PLUS MINUS
%left TIMES
%before MINUS
exp : INT:i { $$=i; }
| exp:e1 PLUS exp:e2 { $$ = e1+e2; }
| exp:e1 MINUS exp:e2 { $$ = e1-e2; }
| exp:e1 TIMES exp:e2 { $$ = e1*e2; }
| MINUS exp:e { $$ = -e; };