我一直在努力让 ANTLR 工作一整天。我使用过几个网站,包括 antlr.org、大量的 StackOverflow 查询和 Terence Parr 的教科书。我在 Windows 7 机器上(工作机器,无法更改为 Linux)但我在 CommandPrompt 和 Cygwin 上都试过了,结果相同。
无论我做什么,当使用grun文件时,最后总是出现同样的错误:
Warning: TestRig moved to org.antlr.v4.gui.TestRig; calling automatically Can't load Hello as lexer or parser
我的计算机上有最新版本的 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 时,我得到了这个:
Warning: TestRig moved to org.antlr.v4.gui.TestRig; calling automatically Can't load Hello as lexer or parser
我已经尝试了几种命令组合来使用 grun 文件,但它在书中说要使用的是:
grun.bat Hello r -tree
我也用 grun 多次更改了 .bat 文件,只是为了试验,使用书中和网站上的不同组合,但我总是回到这个:
java org.antlr.v4.runtime.misc.TestRig %*
那是我老板告诉我使用的,对他很管用。
最佳答案
在你的 grun.bat
命令中使用它
java org.antlr.v4.gui.TestRig %*
关于java - ANTLR 警告 : TestRig moved to org. antlr.v4.gui.TestRig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487859/