brownplt / lambda-py

Other
58 stars 10 forks source link

"continue" isn't supported #29

Closed dbp closed 11 years ago

dbp commented 11 years ago

The current implementation does not support "continue". It is not parsed in get-structured-python.rkt, it does not exist in the surface language, etc. This may be non-trivial to add, I'm not sure (people more familiar with the implementation would have a better idea).

Here is a test case:

n = 0
while n < 10:
    n += 1
    if n % 2 == 0:
        continue
    print(n)

Which should print 1,3,5,7,9, but on our implementation it prints all the numbers. I'm still not sure why the parser isn't blowing up (continue is a 'nodetype "Continue" I think, and that isn't handled).

sumnerwarren commented 11 years ago

The parser is defaulting to a pass essentially. The new version of scope will have continue added.

On Wednesday, January 16, 2013, Daniel Patterson wrote:

The current implementation does not support "continue". It is not parsed in get-structured-python.rkt, it does not exist in the surface language, etc. This may be non-trivial to add, I'm not sure (people more familiar with the implementation would have a better idea).

Here is a test case:

n = 0 while n < 10: n += 1 if n % 2 == 0: continue print(n)

Which should print 1,3,5,7,9, but on our implementation it prints all the numbers. I'm still not sure why the parser isn't blowing up (continue is a 'nodetype "Continue" I think, and that isn't handled).

— Reply to this email directly or view it on GitHubhttps://github.com/brownplt/lambda-py/issues/29.

sumnerwarren commented 11 years ago

Continue is supported as of 44a523ce7b