今天也要考虑到这一点:问题在于testrig需要生成的Java源代码。但是,由于您使用的是Python,除非明确运行
antlr4两次,否则您将没有它:一次用于目标语言Python2(或3),一次用于
-Dlanguage=java。
请参阅此答案,该答案建议先运行
language=java目标。然后对问题本身进行注释以编译java文件。
并且为了完整性和在被遗忘之前:确保
$CLASSPATH已设置env变量,使其包含点
'.'和
antlr*.jar文件路径。例如在unix上:
export CLASSPATH=".:/<Mydirectory>/antlr-4.2.2-complete.jar:$CLASSPATH"
$CLASSPATH正确设置后,我逐步介绍了以下步骤:
为Java编译:
> antlr4 -Dlanguage=java HelloWorld.g4# or: java org.antlr.v4.Tool -Dlanguage=java HelloWorld.g4
请注意,我的
options { language=Python3}语法文件中包含,并且-D覆盖未按预期工作。因此,我删除了选项块,现在在命令行上指定语言目标。
然后将
*.java文件编译成
*.class文件:
> javac -g *.java
然后运行testrig:
> grun HelloWorld message# or: java org.antlr.v4.gui.TestRig HelloWorld message -gui < input.txt



