You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Go over some 3.0 and 3.1 tests
This commit is contained in:
Binary file not shown.
BIN
test/bytecode_3.0/07_withstmt_fn.pyc
Normal file
BIN
test/bytecode_3.0/07_withstmt_fn.pyc
Normal file
Binary file not shown.
@@ -213,6 +213,21 @@ class Python30Parser(Python31Parser):
|
||||
whilestmt ::= SETUP_LOOP testexpr returns POP_TOP POP_BLOCK COME_FROM_LOOP
|
||||
withasstmt ::= expr SETUP_WITH store suite_stmts_opt POP_BLOCK LOAD_CONST COME_FROM_WITH WITH_CLEANUP END_FINALLY
|
||||
withstmt ::= expr SETUP_WITH POP_TOP suite_stmts_opt POP_BLOCK LOAD_CONST COME_FROM_WITH WITH_CLEANUP END_FINALLY
|
||||
|
||||
# lc_body ::= LOAD_FAST expr LIST_APPEND
|
||||
# lc_body ::= LOAD_NAME expr LIST_APPEND
|
||||
# lc_body ::= expr LIST_APPEND
|
||||
# list_comp ::= BUILD_LIST_0 list_iter
|
||||
# list_for ::= expr FOR_ITER store list_iter jb_or_c
|
||||
# list_if ::= expr jmp_false list_iter
|
||||
# list_if ::= expr jmp_false_then list_iter
|
||||
# list_if_not ::= expr jmp_true list_iter
|
||||
# list_iter ::= list_if JUMP_BACK
|
||||
# list_iter ::= list_if JUMP_BACK _come_froms POP_TOP
|
||||
# list_iter ::= list_if_not
|
||||
# load_closure ::= BUILD_TUPLE_0
|
||||
# load_genexpr ::= BUILD_TUPLE_1 LOAD_GENEXPR LOAD_STR
|
||||
|
||||
##########################################################################################
|
||||
|
||||
iflaststmtl ::= testexpr c_stmts_opt JUMP_BACK COME_FROM_LOOP
|
||||
|
@@ -36,6 +36,10 @@ class Python31Parser(Python32Parser):
|
||||
self.remove_rules("""
|
||||
# DUP_TOP_TWO is DUP_TOPX in 3.1 and earlier
|
||||
subscript2 ::= expr expr DUP_TOP_TWO BINARY_SUBSCR
|
||||
|
||||
# The were found using grammar coverage
|
||||
list_if ::= expr jmp_false list_iter COME_FROM
|
||||
list_if_not ::= expr jmp_true list_iter COME_FROM
|
||||
""")
|
||||
|
||||
def customize_grammar_rules(self, tokens, customize):
|
||||
|
Reference in New Issue
Block a user