From e9babb1ab491b16210c242b48a0ea82d12be4d76 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier <vincent@nexedi.com> Date: Tue, 5 May 2009 12:03:59 +0000 Subject: [PATCH] Fix imleicit 'and' operator precedence: make it behave just like an explicit 'and' operator. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@26799 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../ZSQLCatalog/SearchText/AdvancedSearchTextParser.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py b/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py index 762dfedc37..94e0cc727b 100644 --- a/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py +++ b/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py @@ -150,20 +150,20 @@ class AdvancedSearchTextParser(lexer): def p_seach_text(self, p): '''search_text : and_expression - | and_expression OR search_text - | and_expression search_text''' + | and_expression OR search_text''' if len(p) == 2: p[0] = p[1] - elif len(p) == 3: - p[0] = p[1].push('and', p[2]) else: p[0] = p[1].push('or', p[3]) def p_and_expression(self, p): '''and_expression : boolean_expression + | boolean_expression and_expression | boolean_expression AND and_expression''' if len(p) == 2: p[0] = p[1] + elif len(p) == 3: + p[0] = p[1].push('and', p[2]) else: p[0] = p[1].push('and', p[3]) -- 2.30.9