我最近开始使用ANTLR,并了解了ANTLRWorks IDE。尽管编辑器工作得很好,但是,当我运行测试台时,无论我给它什么输入,它似乎都会卡住编译语法文件(或者更确切地说,对编译的语法什么也不做?)。下面是我得到的输出:
ANTLR Codegen
参数:[-o, C:Users\AppDataLocalTempTestRigTask-1395567588803, -lib, C:Users\Desktop, -no-listener, -no-visitor, C:Users\DesktopTest.g4]
ANTLR Testrig
编译语法文件…
这是我给它的输入来测试这个问题:
语法
grammar Test;
CUP : 'cup';
MUG : 'mug';
TEA : 'tea';
COFFE: 'coffe';
drinker : 'drinking a' holder 'of' liquid;
holder : MUG | CUP;
liquid : TEA | COFFE;
测试文件
drinking a mug of coffe
我做错了什么/错过了重要的东西吗?
检查您正在使用JDK而不是JRE运行ANTLRWorks2。ANTLRWorks需要Java编译器javac
来编译语法以运行测试平台,javac
只包含在JDK中,而不包含在JRE中。
ANTLRWorks应该能够在安装后找到JDK,但如果不能工作,您可以在启动ANTLRWorks时指定--jdkhome <path>
参数。