ANTLR警告:TestRig已移至org.antlr.v4.gui.TestRig

时间:2015-09-09 19:38:38

标签: java shell batch-file cygwin antlr

我一直在努力让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

但是,当我尝试对它进行运行时,我得到了这个:

  

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

我已经尝试了几种命令组合来使用grun文件,但它在本书中使用的是:

grun.bat Hello r -tree

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

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

这就是我的老板告诉我使用的,这对他有用。

2 个答案:

答案 0 :(得分:3)

grun.bat命令

中使用此功能
java org.antlr.v4.gui.TestRig %*

答案 1 :(得分:0)

我遇到了同样的问题,实际上已经有了解决方案的主题 - > antlr4-Can't load Hello as lexer or parser 消息“警告:TestRig移动到org.antlr.v4.gui.TestRig;自动调用”的第一部分只是意味着TestRig订单被保存到另一个位置,无论如何都可以工作,但我相应地改变了我的批处理数据而没有得到警告了。消息的第二部分是实际问题(参见链接)。在我的情况下,我忘记了“。” (点)在我的Windows CLASSPATH中。