Fix NEXT (I,J,K...)
This commit is contained in:
@@ -799,6 +799,11 @@ class Parser
|
|||||||
statements.addStatement(statement);
|
statements.addStatement(statement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ignoreVarNext();
|
||||||
|
return statements;
|
||||||
|
}
|
||||||
|
void ignoreVarNext()
|
||||||
|
{
|
||||||
lex.popFront();
|
lex.popFront();
|
||||||
auto token = lex.front;
|
auto token = lex.front;
|
||||||
if(token.type == TokenType.Iden)
|
if(token.type == TokenType.Iden)
|
||||||
@@ -812,9 +817,9 @@ class Parser
|
|||||||
token = lex.front;
|
token = lex.front;
|
||||||
if(token.type != TokenType.Iden) break;
|
if(token.type != TokenType.Iden) break;
|
||||||
lex.popFront();
|
lex.popFront();
|
||||||
|
token = lex.front;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return statements;
|
|
||||||
}
|
}
|
||||||
Statements whileStatements()
|
Statements whileStatements()
|
||||||
{
|
{
|
||||||
@@ -1046,6 +1051,9 @@ class Parser
|
|||||||
node = new Break(lex.location);
|
node = new Break(lex.location);
|
||||||
break;
|
break;
|
||||||
case TokenType.Next:
|
case TokenType.Next:
|
||||||
|
node = new Continue(lex.location);
|
||||||
|
ignoreVarNext();
|
||||||
|
return node;
|
||||||
case TokenType.Continue:
|
case TokenType.Continue:
|
||||||
node = new Continue(lex.location);
|
node = new Continue(lex.location);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user