我正在尝试执行来自这里的ANTLRv4示例http://www.antlr.org/wiki/display/ANTLR4/Getting-Started-with-ANTLR-v4。
我已经下载了
我创建了
Tool在没有参数的情况下运行并输出一些内容,所以路径没问题。
我创建了
我已经下载了
antlr-4.0-complete.jar
并将其放置在某个目录中。我创建了
bat
文件来运行org.antlr.v4.Tool
(antlr.bat)和org.antlr.v4.runtime.misc.TestRig
(run.bat)。Tool在没有参数的情况下运行并输出一些内容,所以路径没问题。
我创建了
Hello.g4
,其内容如下:// Define a grammar called Hello
grammar Hello;
r : 'hello' ID ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
除了 antlr-4.0-complete.jar
以外,一切都在同一个目录下。
然后我运行 antlr4 Hello.g4
,没有出现错误。一些文件出现在当前目录下(*.java
和 *.tokens
)。没有出现 Hello.java
文件。
接着我运行 javac Hello*.java
进行编译。一些 *.class
文件出现。
之后我运行 run Hello r -tree
,它卡住了,没有任何错误信息。
操作系统为 Windows 8 x64。
Java 版本为 1.6 32 位。
如何运行 ANTLR 示例?
java org.antlr.v4.runtime.misc.TestRig Hello r -tree
运行它,那么你应该输入一些内容,比如 "hello world",然后按下ENTER
键,接着按下Ctrl-Z
键,再次按下ENTER
键。它会响应(r hello world)
,这是所输入短语的语法解释。 - Suzan Ciocjava org.antlr.v4.runtime.misc.TestRig Hello r -gui
运行它,然后输入我上面写的内容,它将通过在窗口中绘制语法结构来响应。 - Suzan Cioc