Clean up PyPy load_attr grammar rules

This commit is contained in:
rocky
2016-07-25 16:03:56 -04:00
parent 116b6eb468
commit 8cfecff9c4
4 changed files with 4 additions and 8 deletions

Binary file not shown.

View File

@@ -248,7 +248,7 @@ class Python2Parser(PythonParser):
expr ::= expr {expr}^n CALL_FUNCTION_KW_n POP_TOP
For PYPY:
load_attr ::= LOAD_FAST LOOKUP_METHOD
load_attr ::= expr LOOKUP_METHOD
call_function ::= expr CALL_METHOD
'''
for opname, v in list(customize.items()):
@@ -268,9 +268,7 @@ class Python2Parser(PythonParser):
'expr32 '*thirty32s + 'expr '*(v%32) + opname)
elif opname == 'LOOKUP_METHOD':
# A PyPy speciality - DRY with parse3
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
opname, v, customize)
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
opname, v, customize)
continue
elif opname == 'JUMP_IF_NOT_DEBUG':

View File

@@ -433,7 +433,7 @@ class Python3Parser(PythonParser):
mklambda ::= {pos_arg}^n LOAD_LAMBDA [LOAD_CONST] MAKE_FUNCTION_n
For PYPY:
load_attr ::= LOAD_FAST LOOKUP_METHOD
load_attr ::= expr LOOKUP_METHOD
call_function ::= expr CALL_METHOD
"""
for i, token in enumerate(tokens):
@@ -464,9 +464,7 @@ class Python3Parser(PythonParser):
self.add_unique_rule(rule, opname, token.attr, customize)
elif opname == 'LOOKUP_METHOD':
# A PyPy speciality - DRY with parse2
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
opname, token.attr, customize)
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
opname, token.attr, customize)
continue
elif opname == 'JUMP_IF_NOT_DEBUG':