# File TSwithtreetransformations.eyp
%right '='
%left '-' '+'
%left '*' '/'
%left NEG
%lexer
%metatree
%%
line:
%name PROG
exp <%name EXP + ';' >
;
exp:
%name NUM
NUM
| %name VAR
VAR
| %name ASSIGN
VAR '=' exp
| %name PLUS
exp '+' exp
| %name MINUS
exp '-' exp
| %name TIMES
exp '*' exp
| %name DIV
exp '/' exp
| %name UMINUS
'-' exp %prec NEG
| '(' exp ')' /* skip parenthesis */
;
%%