---
# System prepended metadata

title: MWE 155 by Ahmed
tags: [decompiler]

---

---
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
```