--- title: Final implicit errors tags: decompiler --- 8 more in the paper. 24 + 2,251  ## From u6 and d3: #### 1. P11: Incorrectly adds `elif`: Implicit Error Pattern: ```python if c1: s1 elif c2: s2 ``` Correct Pattern: ```python if c1: s1 if c2: s2 ``` #### 2. P12: `and` converted to nested `if`: Implicit Error Pattern: ```python if c1: if c2: s1 elif c3: s2 ``` Correct Pattern: ```python if c1 and c2: s1 elif c3: s2 ``` #### 3. P13: Incorrectly adds `else` after `raise` Implicit Error Pattern: ```python if c1: s1 raise x else: s2 ``` Correct Pattern: ```python if c1: s1 raise x s2 ``` #### 4. P14: Incorrect indentation after `return` Implicit Error Pattern: ```python if c1: s1 return s2 s3 ``` Correct Pattern: ```python if c1: s1 return s2 s3 ``` #### 5. P15: Loop condition moved Implicit Error Pattern: ```python while c1: s1 or c2 ``` Correct Pattern: ```python while c1 and not c2: s1 ``` #### 6. P16: Incorrectly add `else` inside `with` Implicit Error Pattern: ```python with x: if c1: s1 else: s2 ``` Correct Pattern: ```python with x: if c1: s1 s2 ``` #### 7. P17: Converts `while` to `if` with `False` Implicit Error Pattern: ```python if False: s1 ``` Correct Pattern: ```python while False: s1 ``` #### 8. P18: Incorrectly introduced `else` Implicit Error Pattern: ```python if c1: s1 else: s2 ``` Correct Pattern: ```python if c1: s1 s2 ``` ## From other decompilers: #### 1. P19: Duplicated `raise` outside `if` Implicit Error Pattern: ```python if c1: raise s1 return s2 raise s1 ``` Correct Pattern: ```python if c1: raise s1: return s2: ``` #### 2. P20: Incorrect `or` statement Implicit Error Pattern: ```python if not c1: pass s1 = c2 ``` Correct Pattern: ```python s1 = c1 or c2 ``` #### 3. P21: Incorrect `import` statement Implicit Error Pattern: ```python x = x import y ``` Correct Pattern: ```python from x import y ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up