grammar SimpleLogic
rule expression infix_operation / primary end rule infix_operation lhs:infix_operation_chain rhs:primary <InfixOperation> end rule infix_operation_chain (primary space operator space)+ <InfixOperationChain> end rule space " "* end rule operator "&&" / "||" end rule primary variable / "!" primary <NegationOperator> / '(' expression ')' end rule variable name:[\w]+ <Variable> end
end