/** * Small expression language for unsigned integer arithmetic. * The grammar is minimal - no implicit precedence etc. * * @author Jacob Andersen */ { $ = [\ \n\r]* ; Exp.zero : "#0" ; Exp.succ : "++" Exp ; Exp.pred : "--" Exp ; Exp.add : Exp "+" Exp ; Exp.sub : Exp "-" Exp ; Exp.mul : Exp "*" Exp ; Exp.iszero : "zero?" "(" Exp ")" ; Exp.paren : "(" Exp ")" ; }