| expression SP0 AND_OP AND_OP SP0 expression
| expression SP0 AND_OP SP0 expression
| l_expression and_word r_expression
- | NOT_OP SP0 expression
| expression SP0 OR_OP OR_OP SP0 expression
| expression SP0 OR_OP SP0 expression
| l_expression or_word r_expression
+ | NOT_OP SP0 expression
| expression_parens
l_expression : expression_parens
elif p[2] in ('OR', 'or'):
p[0] = ('OR', p[1], p[3])
-def p_expression_not(p):
- """expression : NOT_OP SP0 expression"""
- p[0] = ('NOT', p[3])
-
def p_expression_or_or(p):
"""expression : expression SP0 OR_OP OR_OP SP0 expression"""
p[0] = ('OR', p[1], p[6])
"""expression : expression SP0 OR_OP SP0 expression"""
p[0] = ('OR', p[1], p[5])
+def p_expression_not(p):
+ """expression : NOT_OP SP0 expression"""
+ p[0] = ('NOT', p[3])
+
def p_expression_in_parens(p):
"""expression : expression_parens"""
p[0] = p[1]