From 760c64113e0318a82cc8fab45affe92a374e354e Mon Sep 17 00:00:00 2001 From: otya128 Date: Tue, 20 Dec 2016 22:05:00 +0900 Subject: [PATCH] Fix NEXT (I,J,K...) --- SMILEBASIC/parser.d | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SMILEBASIC/parser.d b/SMILEBASIC/parser.d index b806638..f2d1c82 100644 --- a/SMILEBASIC/parser.d +++ b/SMILEBASIC/parser.d @@ -799,6 +799,11 @@ class Parser statements.addStatement(statement); } } + ignoreVarNext(); + return statements; + } + void ignoreVarNext() + { lex.popFront(); auto token = lex.front; if(token.type == TokenType.Iden) @@ -812,9 +817,9 @@ class Parser token = lex.front; if(token.type != TokenType.Iden) break; lex.popFront(); + token = lex.front; } } - return statements; } Statements whileStatements() { @@ -1046,6 +1051,9 @@ class Parser node = new Break(lex.location); break; case TokenType.Next: + node = new Continue(lex.location); + ignoreVarNext(); + return node; case TokenType.Continue: node = new Continue(lex.location); break;