public void interpret() {
ProgramContext parseTree = matrixParser.program();
ParseTreeWalker.DEFAULT.walk(semanticListener, parseTree);
List<SemanticError> errorList = semanticListener.getSemanticErrors();
if (matrixParser.getNumberOfSyntaxErrors() > 0) {
System.err.println("Aborting...");
} else if (!errorList.isEmpty()) {
System.err.println("------------------- ERRORS ---------------------");
errorList.forEach(System.err::println);
} else {
CodeExecutor codeExecutor = new CodeExecutor(semanticListener.getSymbolTable(), parseTree);
try {
codeExecutor.execute();
} catch (RuntimeError e) {
System.err.println("[" + e.getClass().getSimpleName() + "]: " + e.getMessage());
System.err.println("Aborting...");
}
}
}
Interpreter.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:MatrixC
作者:
评论列表
文章目录