in
(ESeq ls, (exp1left, exp2right))
end)
+ | exp SEMI (exp)
| SYMBOL LARROW CSYMBOL SEMI exp (EGet (SYMBOL, CSYMBOL, exp), (SYMBOLleft, expright))
- (*| exp WHERE exp END (ELocal (exp1, exp2), (exp1left, ENDright))
- | exp WHERE exp WITH END (EWith ((ELocal (exp1, exp2), (exp1left, ENDright)),
- (ESkip, (WITHleft, ENDright))),
- (exp1left, ENDright))
- | exp WITH END (EWith (exp, (ESkip, (WITHleft, ENDright))), (expleft, ENDright))
- | exp WITH exp END (EWith (exp1, exp2), (exp1left, ENDright))*)
apps : term (term)
| apps term (EApp (apps, term), (appsleft, termright))