我可以将语法文件加载到我的 java 项目(在 netbeans 中)并生成/构建我的词法分析器和解析器类,通过反射加载它们,然后解析我需要解析的内容。
我想要的是一个简单的例子,它将来自词法分析器和解析器的生成/构建的结果重定向到一个字符串,这样我就可以将错误放到像 JOptionPane 这样的弹出窗口中。就像 ANTLRworks 在您执行 CTRL-R(至少在 Windows 中)显示 Error(123) 语法时所做的那样。g:100:12: ...Warning...etc...
现在我已经在使用 DiagnosticCollector 了,但这并不总是像 ANTLRworks 中的 CTRL-r 那样提供足够的细节。用户纠正语法的想法是为了纠正错误。
这是我的代码片段
Tool tool = new Tool(new String[]{userDir + grammarPath + grammarName + ".g"});
//tool.setOutputDirectory(userDir + grammarPath );
tool.process();
if(tool.getNumErrors()>0) {
errors=true;
unableToLoadGrammar_AddLine("1. Detected "+tool.getNumErrors()+" Error(s)"+tool.toString()+"\n");
}
谢谢