【问题标题】:ANTLR Plugin in eclipseEclipse 中的 ANTLR 插件
【发布时间】:2014-03-12 23:57:43
【问题描述】:

对不起我的英语!我在 Eclipse 中安装了 plagin,但是当我运行我的小项目时,我遇到了这个问题。为什么它不起作用?

error(10): 内部错误: Can't get property indirectDelegates using 来自 org.antlr.tool.Grammar 实例的方法 get/isIndirectDelegates : java.lang.NullPointerException java.util.Objects.requireNonNull(未知来源) java.util.ArrayList.removeAll(未知来源) org.antlr.tool.CompositeGrammar.getIndirectDelegates(CompositeGrammar.java:222) org.antlr.tool.Grammar.getIndirectDelegates(Grammar.java:2620) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) java.lang.reflect.Method.invoke(未知来源) org.antlr.stringtemplate.language.ASTExpr.invokeMethod(ASTExpr.java:564) org.antlr.stringtemplate.language.ASTExpr.rawGetObjectProperty(ASTExpr.java:515) org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:417) org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.java:351) org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:136) org.antlr.stringtemplate.language.ActionEvaluator.templateApplication(ActionEvaluator.java:216) org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:126) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:84) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.stringtemplate.language.ASTExpr.writeTemplate(ASTExpr.java:750) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:680) org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:660) org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.java:86) org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:149) org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:705) org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1281) org.antlr.codegen.Target.genRecognizerFile(Target.java:94) org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:466) org.antlr.Tool.generateRecognizer(Tool.java:641) org.antlr.Tool.process(Tool.java:454)

【问题讨论】:

    标签: eclipse antlr


    【解决方案1】:

    ANTLR 3 在与 Java 8 一起使用时会产生此消息。但是,它似乎不会影响实际输出。在新版本的 ANTLR 3 中发布此修复程序之前,您可以忽略该消息,或使用 Java 7。

    相关问题:
    #151: NPE in CompositeGrammer.getIndirectDelegates in Java 8

    【讨论】:

    • 非常感谢 Harwell,即使它正确创建了词法分析器和解析器类,我也遇到了同样的问题,但我有构建失败。是不是因为这个忽略我们可以忽略我有构建失败?
    • 我的构建开始失败。我有 Java 8 Update 39。更新到 Java 8 Update 40。仍然没有帮助。所以,不得不恢复到 Java 7。
    【解决方案2】:

    我在使用 Java 1.8 运行 ANTLR 3.1.1 时遇到了类似的错误。在我的 Ant Build 文件中,我将“java”任务的属性更改为“failonerror="false"。我仍然收到错误消息,但我的构建停止失败并产生了我想要的输出。

    【讨论】:

      【解决方案3】:

      对于 java 8 和 antlr 3,将 jar 更改为“antlr-3.5.2-complete.jar”,错误就会消失。

      1. 将 ANTLR 插件更新到版本 2.1.2
      2. 转到项目属性-> ANTLR -> 建筑物
      3. 取消选中“启用项目特定设置”
      4. 点击“配置工作区设置” -> ANTLR -> Builder -> Building
      5. 删除已安装的 3.5.2 包
      6. 添加已安装的包并指向“antlr-3.5.2-complete.jar”文件夹
      7. 保存并返回以启用项目特定设置。
      8. 在General->ANTLR Runtime中,选择3.5.2

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-02
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多