diff --git a/test/bytecode_3.2/01_ops.pyc b/test/bytecode_3.2/01_ops.pyc new file mode 100644 index 00000000..39137bd7 Binary files /dev/null and b/test/bytecode_3.2/01_ops.pyc differ diff --git a/uncompyle6/parsers/parse32.py b/uncompyle6/parsers/parse32.py index c9c316c6..1822cdc6 100644 --- a/uncompyle6/parsers/parse32.py +++ b/uncompyle6/parsers/parse32.py @@ -67,9 +67,16 @@ class Python32Parser(Python3Parser): pass def add_custom_rules(self, tokens, customize): - # self.remove_rules(""" - # compare_chained2 ::= expr COMPARE_OP RETURN_VALUE - # """) + self.remove_rules(""" + try_middle ::= JUMP_FORWARD COME_FROM except_stmts END_FINALLY COME_FROM + try_middle ::= JUMP_FORWARD COME_FROM except_stmts END_FINALLY COME_FROM_EXCEPT + try_middle ::= JUMP_FORWARD COME_FROM_EXCEPT except_stmts END_FINALLY COME_FROM_EXCEPT_CLAUSE + try_middle ::= jmp_abs COME_FROM except_stmts END_FINALLY + tryelsestmt ::= SETUP_EXCEPT suite_stmts_opt POP_BLOCK try_middle else_suite come_from_except_clauses + while1elsestmt ::= SETUP_LOOP l_stmts JUMP_BACK else_suite COME_FROM_LOOP + whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK NOP COME_FROM_LOOP + whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK NOP COME_FROM_LOOP + """) super(Python32Parser, self).add_custom_rules(tokens, customize) for i, token in enumerate(tokens): opname = token.kind