Files

10 lines
259 B
Plaintext

%parser ex42.lexer // for Program 4.2
%left PLUS MINUS
%left TIMES
%unary 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; };