TestRig / grun 在解析示例文件时卡住了

TestRig / grun gets stuck parsing the example file

关注 , I'm trying to learn how to use the TestRig / grun tool. Consider the grammar file in this repo。我 运行 以下命令 :

export CLASSPATH=".:/usr/local/Cellar/antlr/<version>/antlr-<version>-complete.jar:$CLASSPATH"
antlr <grammarName>.g4
javac <grammarName>*.java

但是当我运行

grun <grammarName> <inputFile>

它卡住了,没有返回任何错误消息。我也用其他示例对此进行了测试,但无济于事。如果您能帮助我了解问题所在以及如何解决,我将不胜感激。

正常的 grun 别名将 grammarName 和 startRule 作为参数并期望来自标准输入的输入:

grun <grammarName> <startRule> < <inputFile>

示例:

grun ElmerSolver sections -tree  < examples/ex001.sif

如果你只想运行 Lexer,你可以使用“pseudo-startrule”“tokens”:

grun ElmerSolver tokens -tokens  < examples/ex001.sif

根据你的示例,这给了我:

[@0,0:9='Simulation',<'Simulation'>,1:0]
[@1,11:13='End',<'End'>,2:0]
[@2,16:24='Equation ',<'Equation '>,4:0]
[@3,25:25='1',<Integer>,4:9]
[@4,27:29='End',<'End'>,5:0]
[@5,30:29='<EOF>',<EOF>,5:3]

(这是使用我在上一个答案中所做的语法更改,但应该展示结果)