【问题标题】:ANTLR Warning: TestRig moved to org.antlr.v4.gui.TestRigANTLR 警告:TestRig 移至 org.antlr.v4.gui.TestRig
【发布时间】:2015-09-09 19:38:37
【问题描述】:

我整天都在努力让 ANTLR 工作。我使用了几个网站,包括 antlr.org、大量 StackOverflow 查询和 Terence Parr 的教科书。我在 Windows 7 机器上(工作机器,无法更改为 Linux),但我在 CommandPrompt 和 Cygwin 上都尝试过,结果相同。

无论我做什么,到了使用grun文件的时候,最后总是会出现同样的错误:

警告:TestRig 已移至 org.antlr.v4.gui.TestRig;自动呼叫 无法将 Hello 作为词法分析器或解析器加载

我的计算机上有最新版本的 JRE 和 JDK,以及最新版本的 cygwin。

我可以从任何地方运行 grun 和 antlr4 的批处理文件,所以我强烈猜测我的路径设置正确。我可以毫无问题地运行 antlr4.bat。它会创建教科书上说我应该看到的每个文件:

Hello.g4 HelloBaseListener.java HelloLexer.tokens HelloParser.java Hello.tokens HelloLexer.java HelloListener.java

我可以在这些文件上运行 javac,它会生成各种 CLASS 文件:

HelloBaseListener.class HelloLexer.class HelloListener.class HelloParser$RContext.class HelloParser.class

但是,当我尝试在它上面运行 grun 时,我得到了这个:

警告:TestRig 已移至 org.antlr.v4.gui.TestRig;自动呼叫 无法将 Hello 作为词法分析器或解析器加载

我尝试了几种命令组合来使用 grun 文件,但书中说要使用的命令是:

grun.bat Hello r -tree

我还用 grun 多次更改了 .bat 文件,只是为了试验,在书籍和网站上使用不同的组合,但我总是回到这个:

java org.antlr.v4.runtime.misc.TestRig %*

这是我老板让我使用的,对他有用。

【问题讨论】:

  • 没有。它没有任何区别。不过,谢谢。
  • 我在 OS X 10.9.5 和 brew install 上遇到了同样的问题。添加:export CLASSPATH=".:/usr/local/Cellar/antlr/4.5.1/antlr-4.5.1-complete.jar:$CLASSPATH" 之后:grun Hello r -tokens 警告:TestRig 移至 org.antlr。 v4.gui.TestRig;自动调用

标签: java shell batch-file cygwin antlr


【解决方案1】:

在您的 grun.bat 命令中使用它

java org.antlr.v4.gui.TestRig %*

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,这里其实已经有一个帖子解决了 --> antlr4-Can't load Hello as lexer or parser 消息“警告:TestRig 已移至 org.antlr.v4.gui.TestRig;自动调用”的第一部分仅表示 TestRig 订单已保存到另一个位置,它仍然有效,但我相应地更改了我的批处理数据并且没有得到警告了。消息的第二部分是实际问题(见链接)。就我而言,我忘记了“。” (点)在 Windows 中的 CLASSPATH 中。

    【讨论】:

    • 如果您可以将答案粘贴到您的答案中将会很有帮助 - 外部链接是不可靠的,因为将来可能会丢失并且对其他有同样问题的人失去任何价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多