]> git.phdru.name Git - phdru.name/cgi-bin/blog-ru/search-tags.git/blobdiff - parser/parser.py
Reorder handling: AND - OR - NOT
[phdru.name/cgi-bin/blog-ru/search-tags.git] / parser / parser.py
index c28474bda544e2e213ef921f917e6f04e79c8b3a..68800acb55816336e8092c9c0ae2a6a1533d2fb7 100644 (file)
@@ -40,10 +40,6 @@ def p_expression_op_word(p):
     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])
@@ -52,6 +48,10 @@ def p_expression_or(p):
     """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]