/** * Small boolean expression language. * The grammar is minimal - no implicit precedence etc. * * @author Jacob Andersen */ { $ = [\ \n\r]* ; Exp.true : "#t" ; Exp.false : "#f" ; Exp.not : "!" Exp ; Exp.or : Exp "|" Exp ; Exp.and : Exp "&" Exp ; Exp.xor : Exp "^" Exp ; Exp.if : Exp "?" Exp ":" Exp ; Exp.paren : "(" Exp ")" ; }