You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 16:59:52 +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
|
expr ::= expr {expr}^n CALL_FUNCTION_KW_n POP_TOP
|
||||||
|
|
||||||
For PYPY:
|
For PYPY:
|
||||||
load_attr ::= LOAD_FAST LOOKUP_METHOD
|
load_attr ::= expr LOOKUP_METHOD
|
||||||
call_function ::= expr CALL_METHOD
|
call_function ::= expr CALL_METHOD
|
||||||
'''
|
'''
|
||||||
for opname, v in list(customize.items()):
|
for opname, v in list(customize.items()):
|
||||||
@@ -268,9 +268,7 @@ class Python2Parser(PythonParser):
|
|||||||
'expr32 '*thirty32s + 'expr '*(v%32) + opname)
|
'expr32 '*thirty32s + 'expr '*(v%32) + opname)
|
||||||
elif opname == 'LOOKUP_METHOD':
|
elif opname == 'LOOKUP_METHOD':
|
||||||
# A PyPy speciality - DRY with parse3
|
# A PyPy speciality - DRY with parse3
|
||||||
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
|
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
|
||||||
opname, v, customize)
|
|
||||||
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
|
|
||||||
opname, v, customize)
|
opname, v, customize)
|
||||||
continue
|
continue
|
||||||
elif opname == 'JUMP_IF_NOT_DEBUG':
|
elif opname == 'JUMP_IF_NOT_DEBUG':
|
||||||
|
@@ -433,7 +433,7 @@ class Python3Parser(PythonParser):
|
|||||||
mklambda ::= {pos_arg}^n LOAD_LAMBDA [LOAD_CONST] MAKE_FUNCTION_n
|
mklambda ::= {pos_arg}^n LOAD_LAMBDA [LOAD_CONST] MAKE_FUNCTION_n
|
||||||
|
|
||||||
For PYPY:
|
For PYPY:
|
||||||
load_attr ::= LOAD_FAST LOOKUP_METHOD
|
load_attr ::= expr LOOKUP_METHOD
|
||||||
call_function ::= expr CALL_METHOD
|
call_function ::= expr CALL_METHOD
|
||||||
"""
|
"""
|
||||||
for i, token in enumerate(tokens):
|
for i, token in enumerate(tokens):
|
||||||
@@ -464,9 +464,7 @@ class Python3Parser(PythonParser):
|
|||||||
self.add_unique_rule(rule, opname, token.attr, customize)
|
self.add_unique_rule(rule, opname, token.attr, customize)
|
||||||
elif opname == 'LOOKUP_METHOD':
|
elif opname == 'LOOKUP_METHOD':
|
||||||
# A PyPy speciality - DRY with parse2
|
# A PyPy speciality - DRY with parse2
|
||||||
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
|
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
|
||||||
opname, token.attr, customize)
|
|
||||||
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
|
|
||||||
opname, token.attr, customize)
|
opname, token.attr, customize)
|
||||||
continue
|
continue
|
||||||
elif opname == 'JUMP_IF_NOT_DEBUG':
|
elif opname == 'JUMP_IF_NOT_DEBUG':
|
||||||
|
Reference in New Issue
Block a user