You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Clean up PyPy load_attr grammar rules
This commit is contained in:
BIN
test/bytecode_2.7/05_abc_class.pyc
Normal file
BIN
test/bytecode_2.7/05_abc_class.pyc
Normal file
Binary file not shown.
@@ -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':
|
||||
|
@@ -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':
|
||||
|
Reference in New Issue
Block a user