Improve error handling

This commit is contained in:
Carsten Larsen 2017-01-28 22:04:35 +01:00
parent 8b81543eed
commit 848b9f1987
1 changed files with 9 additions and 4 deletions

View File

@ -76,12 +76,17 @@ SyntaxNode* Parser::Parse()
delete result;
}
result = new ErrorNode(lexer->GetInput(), token->GetPos());
if (block != NOMEM) {
block->Add(result);
if (block == NOMEM) {
block = new StatementBlockNode();
}
GetToken();
result = new ErrorNode(lexer->GetInput(), token->GetPos());
block->Add(result);
// Skip until next statement
do {
GetToken();
} while (token->symbol != symdelimiter && token->symbol != symend);
}
current = token;