Redo the way we handle complex literals and 3.7+ bug fixes...

In 3.7+ remove assert_expr* parser rules
Fix "call" precidence in 3.7+ for it children
This commit is contained in:
rocky
2019-12-18 12:00:33 -05:00
parent e39c6c7f0a
commit 28d9e66a53
10 changed files with 44 additions and 40 deletions

View File

@@ -91,8 +91,6 @@ class Python37Parser(Python37BaseParser):
else_suitec ::= c_stmts
else_suitec ::= returns
stmt ::= assert
stmt ::= classdef
stmt ::= call_stmt
@@ -801,16 +799,6 @@ class Python37Parser(Python37BaseParser):
classdefdeco ::= classdefdeco1 store
expr ::= LOAD_ASSERT
assert ::= assert_expr jmp_true LOAD_ASSERT RAISE_VARARGS_1 COME_FROM
stmt ::= assert2
assert2 ::= assert_expr jmp_true LOAD_ASSERT expr
CALL_FUNCTION_1 RAISE_VARARGS_1 COME_FROM
assert_expr ::= expr
assert_expr ::= assert_expr_or
assert_expr ::= assert_expr_and
assert_expr_or ::= assert_expr jmp_true expr
assert_expr_and ::= assert_expr jmp_false expr
ifstmt ::= testexpr _ifstmts_jump
@@ -971,7 +959,6 @@ class Python37Parser(Python37BaseParser):
and ::= expr JUMP_IF_FALSE_OR_POP expr COME_FROM
and ::= expr JUMP_IF_FALSE expr COME_FROM
and ::= expr jmp_false expr
## FIXME: Is the below needed or is it covered above??
and ::= expr jmp_false expr COME_FROM