ANTLR4 idle org.antlr.v4.gui.TestRig不输出结果



我编译了:

grammar Hello; // Define a grammar called Hello
r : 'hello' ID ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ trn]+ -> skip ; // skip spaces, tabs, newlines, r (Windows)r

生成类文件的命令(注意我用-package hellogrammer创建它(:

java  -jar antlr-4.9.2-complete.jar -package hellogrammer -o c:DevmyjavaANTLRtest_projectcoresrcmainjavahellogrammer c:DevmyjavaANTLRtest_projectcoresrcmainjavaHello.g4

它创建的文件很好,然后我编译文件,它看起来像这样:

c:DevmyjavaANTLRtest_projectcoretargetclasseshellogrammer>ls -1
HelloBaseListener.class
HelloLexer.class
HelloListener.class
'HelloParser$RContext.class'
HelloParser.class

现在,当我尝试执行TestRig命令时,我没有从命令行得到任何响应:

c:DevmyjavaANTLRtest_projectcoretargetclasses>java -cp ".;C:/Dev/my/java/ANTLR/antlr-4.9.2-complete.jar" org.antlr.v4.gui.TestRig  hellogrammer.Hello -tree

它只是堆叠而没有错误或任何响应。。。

TestRig需要两个单独的参数,第一个是语法名称和开始规则名称。然后,这个TestRig开始解析输入流中的输入,因此,您可以键入input(用Ctrl-D表示信号EOF(,也可以用<将输入重定向到stdin

尝试:

c:DevmyjavaANTLRtest_projectcoretargetclasses>java -cp ".;C:/Dev/my/java/ANTLR/antlr-4.9.2-complete.jar" org.antlr.v4.gui.TestRig hellogrammar.Hello r -tree < “your input file”

最新更新