diff options
Diffstat (limited to 'prolog/parser.py')
-rw-r--r-- | prolog/parser.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/prolog/parser.py b/prolog/parser.py index 19d2da5..4a3f4b5 100644 --- a/prolog/parser.py +++ b/prolog/parser.py @@ -24,7 +24,7 @@ precedence = ( ('nonassoc', 'FROM'), ('right', 'IMPLIES'), ('right', 'NOT'), - ('nonassoc', 'EQU', 'NEQU', 'EQ', 'NEQ', 'UNIV', 'IS', 'EQA', 'NEQA', 'LT', 'LE', 'GT', 'GE', 'LTL', 'LEL', 'GTL', 'GEL'), + ('nonassoc', 'EQU', 'NEQU', 'EQ', 'NEQ', 'UNIV', 'IS', 'EQA', 'NEQA', 'LT', 'LE', 'GT', 'GE', 'LTL', 'LEL', 'GTL', 'GEL', 'IN', 'INS', 'THROUGH', 'EQFD', 'NEQFD', 'LTFD', 'LEFD', 'GTFD', 'GEFD'), ('left', 'PLUS', 'MINUS'), ('left', 'STAR', 'DIV', 'IDIV', 'MOD'), ('nonassoc', 'POW'), @@ -123,16 +123,28 @@ def p_term_binary(p): | term NEQ term | term UNIV term | term IS term + | term EQA term | term NEQA term | term LT term | term LE term | term GT term | term GE term + | term LTL term | term LEL term | term GTL term - | term GEL term''' + | term GEL term + + | term THROUGH term + | term IN term + | term INS term + | term EQFD term + | term NEQFD term + | term LTFD term + | term LEFD term + | term GTFD term + | term GEFD term''' p[0] = Tree('term', [p[1], make_token(p, 2), p[3]]) def p_term_unary(p): '''term : NOT term |