X Tutup
Skip to content

Commit 8cfecff

Browse files
committed
Clean up PyPy load_attr grammar rules
1 parent 116b6eb commit 8cfecff

File tree

4 files changed

+4
-8
lines changed

4 files changed

+4
-8
lines changed

test/bytecode_2.7/05_abc_class.pyc

502 Bytes
Binary file not shown.
File renamed without changes.

uncompyle6/parsers/parse2.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def add_custom_rules(self, tokens, customize):
248248
expr ::= expr {expr}^n CALL_FUNCTION_KW_n POP_TOP
249249
250250
For PYPY:
251-
load_attr ::= LOAD_FAST LOOKUP_METHOD
251+
load_attr ::= expr LOOKUP_METHOD
252252
call_function ::= expr CALL_METHOD
253253
'''
254254
for opname, v in list(customize.items()):
@@ -268,9 +268,7 @@ def add_custom_rules(self, tokens, customize):
268268
'expr32 '*thirty32s + 'expr '*(v%32) + opname)
269269
elif opname == 'LOOKUP_METHOD':
270270
# A PyPy speciality - DRY with parse3
271-
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
272-
opname, v, customize)
273-
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
271+
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
274272
opname, v, customize)
275273
continue
276274
elif opname == 'JUMP_IF_NOT_DEBUG':

uncompyle6/parsers/parse3.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ def add_custom_rules(self, tokens, customize):
433433
mklambda ::= {pos_arg}^n LOAD_LAMBDA [LOAD_CONST] MAKE_FUNCTION_n
434434
435435
For PYPY:
436-
load_attr ::= LOAD_FAST LOOKUP_METHOD
436+
load_attr ::= expr LOOKUP_METHOD
437437
call_function ::= expr CALL_METHOD
438438
"""
439439
for i, token in enumerate(tokens):
@@ -464,9 +464,7 @@ def add_custom_rules(self, tokens, customize):
464464
self.add_unique_rule(rule, opname, token.attr, customize)
465465
elif opname == 'LOOKUP_METHOD':
466466
# A PyPy speciality - DRY with parse2
467-
self.add_unique_rule("load_attr ::= LOAD_FAST LOOKUP_METHOD",
468-
opname, token.attr, customize)
469-
self.add_unique_rule("load_attr ::= LOAD_NAME LOOKUP_METHOD",
467+
self.add_unique_rule("load_attr ::= expr LOOKUP_METHOD",
470468
opname, token.attr, customize)
471469
continue
472470
elif opname == 'JUMP_IF_NOT_DEBUG':

0 commit comments

Comments
 (0)
X Tutup