java - 神秘的 ANTLR 错误

标签 java eclipse antlr

我所知道的是它阻止了antlr的生成,我很抱歉。这是日志文件:

(10): internal error: /Bridge/bridge.g : java.lang.IllegalStateException: java.lang.NullPointerException 
 org.deved.antlride.runtime.AntlrErrorListener$DynamicToken.invokeMethod(AntlrErrorListener.java:59) 
 org.deved.antlride.runtime.AntlrErrorListener$DynamicToken.getLine(AntlrErrorListener.java:64) 
 org.deved.antlride.runtime.AntlrErrorListener.report(AntlrErrorListener.java:131) 
 org.deved.antlride.runtime.AntlrErrorListener.message(AntlrErrorListener.java:115) 
 org.deved.antlride.runtime.AntlrErrorListener.warning(AntlrErrorListener.java:99) 
 org.antlr.tool.ErrorManager.grammarWarning(ErrorManager.java:742) 
 org.antlr.tool.ErrorManager.grammarWarning(ErrorManager.java:757) org.antlr.tool.Grammar.parseAndBuildAST(Grammar.java:655) 
 org.antlr.Tool.getRootGrammar(Tool.java:626) org.antlr.Tool.process(Tool.java:459) 
 org.deved.antlride.runtime.Tool2.main(Tool2.java:24)

最佳答案

我在使用逻辑公式的简单语法时遇到了同样的错误。对我来说,问题是 ANTLR 找不到明显的开始规则,因为我对预期的开始规则进行了递归。添加一条指向递归规则的新规则就完成了这项工作(请参阅 http://thesoftwarelife.blogspot.com/2008/07/antlr-frustrations.html )。

遗憾的是ANTLR IDE没有正确转发错误消息。在命令行上我得到:

warning(138): Formula.g:0:1: grammar Formula: no start rule (no rule can obviously be followed by EOF)

关于java - 神秘的 ANTLR 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406990/

相关文章:

eclipse - 在 Eclipse 中扩展引用搜索

java - Android 登录屏幕无法正常工作

java - EBS : Access Denied when trying from Java application in Tomcat 中的 Amazon RDS 实例

java - jstack线程转储是否一致?

java - 在 Eclipse 中将非 Android 库项目添加到 Android 应用程序

java - 使用ANTLR进行多重解析

java - Spring-Security:使用自定义身份 validator 和自定义登录页面

java - Eclipse JAVA程序中找不到Oracle数据库驱动程序

java - 在 Ubuntu 中设置 Antlr CLASSPATH

java - ANTLR 帮助 - 无法解析普通文本,但所有其他更复杂的规则都可以工作