我最近开始使用ANTLR,并了解了ANTLRWorks IDE。虽然编辑器工作正常,但是,当我运行测试装置时,它似乎停留在编译语法文件(或者更确切地说是编译语法没有做什么?),无论我给它什么输入。这是我得到的输出:
ANTLR Codegen
参数:[ - o,C:\ Users \\ AppData \ Local \ Temp \ TestRigTask-1395567588803,-lib,C:\ Users \\ Desktop,-no-listener,-no-visitor,C:\ Users \\桌面\ Test.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
我做错了什么/错过了重要的事情吗?
答案 0 :(得分:5)
检查您是否使用JDK而不仅仅是JRE运行ANTLRWorks2。 ANTLRWorks需要Java编译器javac
,以便编译语法以运行测试装备,javac
仅包含在JDK中,而不包含在JRE中。
ANTLRWorks应该能够找到JDK(如果已安装),但如果不起作用,则可以在启动ANTLRWorks时指定--jdkhome <path>
参数。