You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-04 09:22:40 +08:00
remove comp_ifnot
This commit is contained in:
@@ -421,15 +421,12 @@ class PythonParser(GenericASTBuilder):
|
|||||||
setcomp ::= LOAD_SETCOMP MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1
|
setcomp ::= LOAD_SETCOMP MAKE_FUNCTION_0 expr GET_ITER CALL_FUNCTION_1
|
||||||
|
|
||||||
comp_iter ::= comp_if
|
comp_iter ::= comp_if
|
||||||
comp_iter ::= comp_ifnot
|
|
||||||
comp_iter ::= comp_for
|
comp_iter ::= comp_for
|
||||||
comp_iter ::= comp_body
|
comp_iter ::= comp_body
|
||||||
comp_body ::= gen_comp_body
|
comp_body ::= gen_comp_body
|
||||||
gen_comp_body ::= expr YIELD_VALUE POP_TOP
|
gen_comp_body ::= expr YIELD_VALUE POP_TOP
|
||||||
|
|
||||||
comp_if ::= expr jmp_false comp_iter
|
comp_if ::= expr jmp_false comp_iter
|
||||||
comp_ifnot ::= expr jmp_true comp_iter
|
|
||||||
|
|
||||||
comp_for ::= expr _for designator comp_iter JUMP_BACK
|
comp_for ::= expr _for designator comp_iter JUMP_BACK
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@@ -247,9 +247,10 @@ class Python26Parser(Python2Parser):
|
|||||||
|
|
||||||
# compare_chained is like x <= y <= z
|
# compare_chained is like x <= y <= z
|
||||||
compare_chained ::= expr compare_chained1 ROT_TWO COME_FROM POP_TOP _come_from
|
compare_chained ::= expr compare_chained1 ROT_TWO COME_FROM POP_TOP _come_from
|
||||||
compare_chained1 ::= expr DUP_TOP ROT_THREE COMPARE_OP jmp_false compare_chained1 _come_from
|
compare_chained1 ::= expr DUP_TOP ROT_THREE COMPARE_OP
|
||||||
compare_chained1 ::= expr DUP_TOP ROT_THREE COMPARE_OP jmp_false compare_chained2 _come_from
|
jmp_false compare_chained1 _come_from
|
||||||
|
compare_chained1 ::= expr DUP_TOP ROT_THREE COMPARE_OP
|
||||||
|
jmp_false compare_chained2 _come_from
|
||||||
return_if_lambda ::= RETURN_END_IF_LAMBDA POP_TOP
|
return_if_lambda ::= RETURN_END_IF_LAMBDA POP_TOP
|
||||||
conditional_lambda ::= expr jmp_false_then expr return_if_lambda
|
conditional_lambda ::= expr jmp_false_then expr return_if_lambda
|
||||||
return_stmt_lambda LAMBDA_MARKER
|
return_stmt_lambda LAMBDA_MARKER
|
||||||
|
@@ -11,8 +11,11 @@ class Python32Parser(Python3Parser):
|
|||||||
def p_32to35(self, args):
|
def p_32to35(self, args):
|
||||||
"""
|
"""
|
||||||
conditional ::= expr jmp_false expr jump_forward_else expr COME_FROM
|
conditional ::= expr jmp_false expr jump_forward_else expr COME_FROM
|
||||||
|
|
||||||
|
# compare_chained2 is used in a "chained_compare": x <= y <= z
|
||||||
# used exclusively in compare_chained
|
# used exclusively in compare_chained
|
||||||
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE
|
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE
|
||||||
|
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE_LAMBDA
|
||||||
|
|
||||||
# Store locals is only in Python 3.0 to 3.3
|
# Store locals is only in Python 3.0 to 3.3
|
||||||
stmt ::= store_locals
|
stmt ::= store_locals
|
||||||
|
Reference in New Issue
Block a user