--- tags: decompiler --- # MWE 155 by Ahmed ## Error 1/155 Python version: 3.7 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` ### MWE1: ```python= def expect_node(): if a: pass elif b: if c: pass elif h: if d or e or f or g: self.expect_flow_sequence() else: pass ``` #### Closest Solution1: ```python= def expect_node(): if a: pass elif b: if c: pass elif h: temp = d or e if temp or f or g: self.expect_flow_sequence() else: pass ``` ```c= 1 0 LOAD_CONST 0 (<code object expect_node at 0x7ffbf1744e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('expect_node') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (expect_node) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object expect_node at 0x7ffbf1744e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 6 3 4 JUMP_FORWARD 44 (to 50) 4 >> 6 LOAD_GLOBAL 1 (b) 8 POP_JUMP_IF_FALSE 50 5 10 LOAD_GLOBAL 2 (c) 12 POP_JUMP_IF_FALSE 16 6 14 JUMP_FORWARD 34 (to 50) 7 >> 16 LOAD_GLOBAL 3 (h) 18 POP_JUMP_IF_FALSE 50 8 20 LOAD_GLOBAL 4 (d) 22 JUMP_IF_TRUE_OR_POP 26 24 LOAD_GLOBAL 5 (e) >> 26 STORE_FAST 0 (temp) 9 28 LOAD_FAST 0 (temp) 30 POP_JUMP_IF_TRUE 40 32 LOAD_GLOBAL 6 (f) 34 POP_JUMP_IF_TRUE 40 36 LOAD_GLOBAL 7 (g) 38 POP_JUMP_IF_FALSE 50 10 >> 40 LOAD_GLOBAL 8 (self) 42 LOAD_METHOD 9 (expect_flow_sequence) 44 CALL_METHOD 0 46 POP_TOP 48 JUMP_FORWARD 0 (to 50) 12 >> 50 LOAD_CONST 0 (None) 52 RETURN_VALUE ``` #### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object expect_node at 0x7fc490456e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('expect_node') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (expect_node) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object expect_node at 0x7fc490456e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 6 3 4 JUMP_FORWARD 40 (to 46) 4 >> 6 LOAD_GLOBAL 1 (b) 8 POP_JUMP_IF_FALSE 46 5 10 LOAD_GLOBAL 2 (c) 12 POP_JUMP_IF_FALSE 16 6 14 JUMP_FORWARD 30 (to 46) 7 >> 16 LOAD_GLOBAL 3 (h) 18 POP_JUMP_IF_FALSE 46 8 20 LOAD_GLOBAL 4 (d) 22 POP_JUMP_IF_TRUE 36 24 LOAD_GLOBAL 5 (e) 26 POP_JUMP_IF_TRUE 36 28 LOAD_GLOBAL 6 (f) 30 POP_JUMP_IF_TRUE 36 32 LOAD_GLOBAL 7 (g) 34 POP_JUMP_IF_FALSE 46 9 >> 36 LOAD_GLOBAL 8 (self) 38 LOAD_METHOD 9 (expect_flow_sequence) 40 CALL_METHOD 0 42 POP_TOP 44 JUMP_FORWARD 0 (to 46) 11 >> 46 LOAD_CONST 0 (None) 48 RETURN_VALUE ``` ### MWE2: ```python= def prepare_tag_prefix(): while e: if a or b or 'a' <= ch <= 'z' or d: end += 1 else: for x in y: pass ``` #### Closest Solution2: ```python= def prepare_tag_prefix(): while e: temp = 'a' <= ch <= 'z' if a or b or temp or d: end += 1 else: for x in y: pass ``` ```c= 1 0 LOAD_CONST 0 (<code object prepare_tag_prefix at 0x7fc0790e0e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('prepare_tag_prefix') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (prepare_tag_prefix) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object prepare_tag_prefix at 0x7fc0790e0e40, file "main.py", line 1>: 2 0 SETUP_LOOP 72 (to 74) >> 2 LOAD_GLOBAL 0 (e) 4 POP_JUMP_IF_FALSE 72 3 6 LOAD_CONST 1 ('a') 8 LOAD_GLOBAL 1 (ch) 10 DUP_TOP 12 ROT_THREE 14 COMPARE_OP 1 (<=) 16 JUMP_IF_FALSE_OR_POP 24 18 LOAD_CONST 2 ('z') 20 COMPARE_OP 1 (<=) 22 JUMP_FORWARD 4 (to 28) >> 24 ROT_TWO 26 POP_TOP >> 28 STORE_FAST 0 (temp) 4 30 LOAD_GLOBAL 2 (a) 32 POP_JUMP_IF_TRUE 46 34 LOAD_GLOBAL 3 (b) 36 POP_JUMP_IF_TRUE 46 38 LOAD_FAST 0 (temp) 40 POP_JUMP_IF_TRUE 46 42 LOAD_GLOBAL 4 (d) 44 POP_JUMP_IF_FALSE 56 5 >> 46 LOAD_FAST 1 (end) 48 LOAD_CONST 3 (1) 50 INPLACE_ADD 52 STORE_FAST 1 (end) 54 JUMP_ABSOLUTE 2 7 >> 56 SETUP_LOOP 12 (to 70) 58 LOAD_GLOBAL 5 (y) 60 GET_ITER >> 62 FOR_ITER 4 (to 68) 64 STORE_FAST 2 (x) 8 66 JUMP_ABSOLUTE 62 >> 68 POP_BLOCK >> 70 JUMP_ABSOLUTE 2 >> 72 POP_BLOCK >> 74 LOAD_CONST 0 (None) 76 RETURN_VALUE ``` #### MWE2 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object prepare_tag_prefix at 0x7f0dcece0e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('prepare_tag_prefix') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (prepare_tag_prefix) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object prepare_tag_prefix at 0x7f0dcece0e40, file "main.py", line 1>: 2 0 SETUP_LOOP 50 (to 52) >> 2 LOAD_GLOBAL 0 (e) 4 POP_JUMP_IF_FALSE 50 3 6 LOAD_GLOBAL 1 (a) 8 POP_JUMP_IF_TRUE 40 10 LOAD_GLOBAL 2 (b) 12 POP_JUMP_IF_TRUE 40 14 LOAD_CONST 1 ('a') 16 LOAD_GLOBAL 3 (ch) 18 DUP_TOP 20 ROT_THREE 22 COMPARE_OP 1 (<=) 24 POP_JUMP_IF_FALSE 34 26 LOAD_CONST 2 ('z') 28 COMPARE_OP 1 (<=) 30 POP_JUMP_IF_TRUE 40 32 JUMP_FORWARD 2 (to 36) >> 34 POP_TOP >> 36 LOAD_GLOBAL 4 (d) 38 POP_JUMP_IF_FALSE 2 4 >> 40 LOAD_FAST 0 (end) 42 LOAD_CONST 3 (1) 44 INPLACE_ADD 46 STORE_FAST 0 (end) 48 JUMP_ABSOLUTE 2 >> 50 POP_BLOCK >> 52 LOAD_CONST 0 (None) 54 RETURN_VALUE ``` ### MWE3: ```python= def prepare_tag(): while x: if b or c or d or (ch == '!' and handle != '!'): end += 1 else: if a < b: pass ``` #### Closest Solution3: ```python= def prepare_tag_prefix(): while e: temp = 'a' <= ch <= 'z' if a or b or temp or d: end += 1 else: for x in y: pass ``` ```c= 1 0 LOAD_CONST 0 (<code object prepare_tag_prefix at 0x7fc0790e0e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('prepare_tag_prefix') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (prepare_tag_prefix) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object prepare_tag_prefix at 0x7fc0790e0e40, file "main.py", line 1>: 2 0 SETUP_LOOP 72 (to 74) >> 2 LOAD_GLOBAL 0 (e) 4 POP_JUMP_IF_FALSE 72 3 6 LOAD_CONST 1 ('a') 8 LOAD_GLOBAL 1 (ch) 10 DUP_TOP 12 ROT_THREE 14 COMPARE_OP 1 (<=) 16 JUMP_IF_FALSE_OR_POP 24 18 LOAD_CONST 2 ('z') 20 COMPARE_OP 1 (<=) 22 JUMP_FORWARD 4 (to 28) >> 24 ROT_TWO 26 POP_TOP >> 28 STORE_FAST 0 (temp) 4 30 LOAD_GLOBAL 2 (a) 32 POP_JUMP_IF_TRUE 46 34 LOAD_GLOBAL 3 (b) 36 POP_JUMP_IF_TRUE 46 38 LOAD_FAST 0 (temp) 40 POP_JUMP_IF_TRUE 46 42 LOAD_GLOBAL 4 (d) 44 POP_JUMP_IF_FALSE 56 5 >> 46 LOAD_FAST 1 (end) 48 LOAD_CONST 3 (1) 50 INPLACE_ADD 52 STORE_FAST 1 (end) 54 JUMP_ABSOLUTE 2 7 >> 56 SETUP_LOOP 12 (to 70) 58 LOAD_GLOBAL 5 (y) 60 GET_ITER >> 62 FOR_ITER 4 (to 68) 64 STORE_FAST 2 (x) 8 66 JUMP_ABSOLUTE 62 >> 68 POP_BLOCK >> 70 JUMP_ABSOLUTE 2 >> 72 POP_BLOCK >> 74 LOAD_CONST 0 (None) 76 RETURN_VALUE ``` #### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object prepare_tag_prefix at 0x7f0dcece0e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('prepare_tag_prefix') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (prepare_tag_prefix) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object prepare_tag_prefix at 0x7f0dcece0e40, file "main.py", line 1>: 2 0 SETUP_LOOP 50 (to 52) >> 2 LOAD_GLOBAL 0 (e) 4 POP_JUMP_IF_FALSE 50 3 6 LOAD_GLOBAL 1 (a) 8 POP_JUMP_IF_TRUE 40 10 LOAD_GLOBAL 2 (b) 12 POP_JUMP_IF_TRUE 40 14 LOAD_CONST 1 ('a') 16 LOAD_GLOBAL 3 (ch) 18 DUP_TOP 20 ROT_THREE 22 COMPARE_OP 1 (<=) 24 POP_JUMP_IF_FALSE 34 26 LOAD_CONST 2 ('z') 28 COMPARE_OP 1 (<=) 30 POP_JUMP_IF_TRUE 40 32 JUMP_FORWARD 2 (to 36) >> 34 POP_TOP >> 36 LOAD_GLOBAL 4 (d) 38 POP_JUMP_IF_FALSE 2 4 >> 40 LOAD_FAST 0 (end) 42 LOAD_CONST 3 (1) 44 INPLACE_ADD 46 STORE_FAST 0 (end) 48 JUMP_ABSOLUTE 2 >> 50 POP_BLOCK >> 52 LOAD_CONST 0 (None) 54 RETURN_VALUE ``` ### MWE4: ```python= def analyze_scalar(): while x: if (f): pass ``` #### Closest Solution4: ```python= def analyze_scalar(): while x: if (f): x = x pass ``` ```c= 1 0 LOAD_CONST 0 (<code object analyze_scalar at 0x7f2afe6cde40, file "main.py", line 1>) 2 LOAD_CONST 1 ('analyze_scalar') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (analyze_scalar) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object analyze_scalar at 0x7f2afe6cde40, file "main.py", line 1>: 3 0 SETUP_LOOP 16 (to 18) >> 2 LOAD_FAST 0 (x) 4 POP_JUMP_IF_FALSE 16 4 6 LOAD_GLOBAL 0 (f) 8 POP_JUMP_IF_FALSE 2 5 10 LOAD_FAST 0 (x) 12 STORE_FAST 0 (x) 6 14 JUMP_ABSOLUTE 2 >> 16 POP_BLOCK >> 18 LOAD_CONST 0 (None) 20 RETURN_VALUE ``` #### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object analyze_scalar at 0x7fe948559e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('analyze_scalar') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (analyze_scalar) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object analyze_scalar at 0x7fe948559e40, file "main.py", line 1>: 3 0 SETUP_LOOP 12 (to 14) >> 2 LOAD_GLOBAL 0 (x) 4 POP_JUMP_IF_FALSE 12 4 6 LOAD_GLOBAL 1 (f) 8 POP_JUMP_IF_FALSE 2 5 10 JUMP_ABSOLUTE 2 >> 12 POP_BLOCK >> 14 LOAD_CONST 0 (None) 16 RETURN_VALUE ``` ### MWE5: ```python= def write_indent(): if a or (c and d): x if b: y ``` #### Closest Solution5: ```python= def write_indent(): temp = c and d if a or (temp): x if b: y ``` ```c= 1 0 LOAD_CONST 0 (<code object write_indent at 0x7f29cea0ee40, file "main.py", line 1>) 2 LOAD_CONST 1 ('write_indent') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (write_indent) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object write_indent at 0x7f29cea0ee40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (c) 2 JUMP_IF_FALSE_OR_POP 6 4 LOAD_GLOBAL 1 (d) >> 6 STORE_FAST 0 (temp) 3 8 LOAD_GLOBAL 2 (a) 10 POP_JUMP_IF_TRUE 16 12 LOAD_FAST 0 (temp) 14 POP_JUMP_IF_FALSE 20 4 >> 16 LOAD_GLOBAL 3 (x) 18 POP_TOP 5 >> 20 LOAD_GLOBAL 4 (b) 22 POP_JUMP_IF_FALSE 28 6 24 LOAD_GLOBAL 5 (y) 26 POP_TOP >> 28 LOAD_CONST 0 (None) 30 RETURN_VALUE ``` #### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object write_indent at 0x7fe027c93e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('write_indent') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (write_indent) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object write_indent at 0x7fe027c93e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_TRUE 12 4 LOAD_GLOBAL 1 (c) 6 POP_JUMP_IF_FALSE 16 8 LOAD_GLOBAL 2 (d) 10 POP_JUMP_IF_FALSE 16 3 >> 12 LOAD_GLOBAL 3 (x) 14 POP_TOP 4 >> 16 LOAD_GLOBAL 4 (b) 18 POP_JUMP_IF_FALSE 24 5 20 LOAD_GLOBAL 5 (y) 22 POP_TOP >> 24 LOAD_CONST 0 (None) 26 RETURN_VALUE ``` ### MWE6: ```python= def write_double_quoted(): while x: if (e): pass ``` #### Closest Solution6: ```python= def write_double_quoted(): while x: if (e): x = x pass ``` ```c= 1 0 LOAD_CONST 0 (<code object write_double_quoted at 0x7f660379be40, file "main.py", line 1>) 2 LOAD_CONST 1 ('write_double_quoted') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (write_double_quoted) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object write_double_quoted at 0x7f660379be40, file "main.py", line 1>: 2 0 SETUP_LOOP 16 (to 18) >> 2 LOAD_FAST 0 (x) 4 POP_JUMP_IF_FALSE 16 3 6 LOAD_GLOBAL 0 (e) 8 POP_JUMP_IF_FALSE 2 4 10 LOAD_FAST 0 (x) 12 STORE_FAST 0 (x) 5 14 JUMP_ABSOLUTE 2 >> 16 POP_BLOCK >> 18 LOAD_CONST 0 (None) 20 RETURN_VALUE ``` #### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object write_double_quoted at 0x7f2ff1a00e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('write_double_quoted') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (write_double_quoted) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object write_double_quoted at 0x7f2ff1a00e40, file "main.py", line 1>: 2 0 SETUP_LOOP 8 (to 10) >> 2 LOAD_GLOBAL 0 (x) 4 POP_JUMP_IF_FALSE 8 3 6 JUMP_ABSOLUTE 2 >> 8 POP_BLOCK >> 10 LOAD_CONST 0 (None) 12 RETURN_VALUE ```