You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-04 01:09:52 +08:00
Merge branch 'master' into python-2.4
This commit is contained in:
BIN
test/bytecode_2.4/01_augmented_assign.pyc
Normal file
BIN
test/bytecode_2.4/01_augmented_assign.pyc
Normal file
Binary file not shown.
BIN
test/bytecode_2.4/03_if1.pyc
Normal file
BIN
test/bytecode_2.4/03_if1.pyc
Normal file
Binary file not shown.
Binary file not shown.
BIN
test/bytecode_3.6/02_genexpr.pyc
Normal file
BIN
test/bytecode_3.6/02_genexpr.pyc
Normal file
Binary file not shown.
5
test/simple_source/bug36/02_genexpr.py
Normal file
5
test/simple_source/bug36/02_genexpr.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Python 3.6, uses rule:
|
||||||
|
# genexpr ::= load_closure load_genexpr LOAD_CONST
|
||||||
|
# MAKE_FUNCTION_8 expr GET_ITER CALL_FUNCTION_1
|
||||||
|
def __sub__(self, other): # SList()-other
|
||||||
|
return self.__class__(i for i in self if i not in other)
|
@@ -54,6 +54,7 @@ class Python24Parser(Python25Parser):
|
|||||||
|
|
||||||
def add_custom_rules(self, tokens, customize):
|
def add_custom_rules(self, tokens, customize):
|
||||||
self.remove_rules("""
|
self.remove_rules("""
|
||||||
|
gen_comp_body ::= expr YIELD_VALUE POP_TOP
|
||||||
kvlist ::= kvlist kv3
|
kvlist ::= kvlist kv3
|
||||||
while1stmt ::= SETUP_LOOP l_stmts JUMP_BACK COME_FROM
|
while1stmt ::= SETUP_LOOP l_stmts JUMP_BACK COME_FROM
|
||||||
while1stmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK COME_FROM
|
while1stmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK COME_FROM
|
||||||
|
@@ -887,6 +887,12 @@ class Python3Parser(PythonParser):
|
|||||||
'LOAD_CONST ' * 2,
|
'LOAD_CONST ' * 2,
|
||||||
opname))
|
opname))
|
||||||
self.add_unique_rule(rule, opname, token.attr, customize)
|
self.add_unique_rule(rule, opname, token.attr, customize)
|
||||||
|
|
||||||
|
if has_get_iter_call_function1:
|
||||||
|
rule_pat = ("genexpr ::= %sload_closure load_genexpr %%s%s expr "
|
||||||
|
"GET_ITER CALL_FUNCTION_1" % ('pos_arg '* args_pos, opname))
|
||||||
|
self.add_make_function_rule(rule_pat, opname, token.attr, customize)
|
||||||
|
|
||||||
rule_pat = ('mklambda ::= %s%sLOAD_LAMBDA %%s%s' %
|
rule_pat = ('mklambda ::= %s%sLOAD_LAMBDA %%s%s' %
|
||||||
(('pos_arg '* args_pos),
|
(('pos_arg '* args_pos),
|
||||||
('kwarg '* args_kw),
|
('kwarg '* args_kw),
|
||||||
|
Reference in New Issue
Block a user