refactor: 优化编译流程,词法分析有错误时立即终止
- 在语法分析之前增加对词法分析错误的检查 - 若词法阶段存在错误,立即终止编译,避免进入后续的语法及语义分析 - 这种优化可以减少不必要的计算,提高编译效率
This commit is contained in:
parent
93a553ea93
commit
cc106f57e1
@ -168,6 +168,11 @@ public final class CompileTask implements Task {
|
||||
|
||||
// 词法、语法分析
|
||||
LexerEngine lexer = new LexerEngine(code, p.toString());
|
||||
// 若词法阶段存在错误,立即终止编译,避免进入后续的语法及语义分析
|
||||
if (!lexer.getErrors().isEmpty()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
ParserContext ctx = new ParserContext(lexer.getAllTokens(), p.toString());
|
||||
allAst.addAll(new ParserEngine(ctx).parse());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user