Files

15 lines
272 B
Plaintext

%parser 23.lexer
%symbol E {
public int val = 0;
}
%left '+'
%left '*'
S : E '\n' { $$ = $1.val; };
E : Int { val = $1; }
| E '+' E { val = $1.val + $3.val; }
| E '*' E { throw new CSToolsException(3,$1,"error"); }
| '(' E ')' { val = $2.val; }
;