Commit Graph

4 Commits

Author SHA1 Message Date
liubuyu 37be555a81 pylint clean 2020-05-20 11:12:14 +08:00
jinyaohui 5a914994ba clean pylint 2020-05-18 16:42:35 +08:00
jinyaohui bcfaff97f9 clean pylint 2020-05-18 10:31:46 +08:00
He Wei 33fa90efc9 Support 'break', 'continue' and 'pass'
To handle 'break' and 'continue' statement, a loop context is pushed
to a stack before we parse the loop body, and pop it after body parsed.
When a 'break', 'continue' statement is encountered, we retrieve current
loop contex from the stack, and let the current block jump to the end
block or header block;

For 'break' statement, we added an extra 'end_block' follow the 'after_block',
because 'after_block' is called from a ContionalJump in 'header_block', it can
not be set as jump target from other place. to support 'break', we let loop
body jump to the 'end_block' at the 'break' point. and 'after_block'
maybe a good place to handle loop 'else' clause in the future.

Handle 'pass' is simple, just bypass it when doing parse.
2020-05-13 12:53:07 +08:00