Antlr问题:无法获取Antlr工具以从ANTLRWorks编译简单文件

Antlr问题:无法获取Antlr工具以从ANTLRWorks编译简单文件,antlr,antlr3,antlrworks,Antlr,Antlr3,Antlrworks,这是语法文件: grammar fred; test : 'fred'; 以下是启动工具的批处理文件: SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24 SET PATH=%PATH%;%JAVA_HOME%\bin SET ANTLR_HOME=c:/users/don/workspace/antlrAssign/lib/ java -cp %ANTLR_HOME%/antlr-3.3-complete.jar antlr.Tool

这是语法文件:

grammar fred;
test    :   'fred';
以下是启动工具的批处理文件:

SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24
SET PATH=%PATH%;%JAVA_HOME%\bin
SET ANTLR_HOME=c:/users/don/workspace/antlrAssign/lib/
java -cp %ANTLR_HOME%/antlr-3.3-complete.jar  antlr.Tool fred.g
结果如下:

ANTLR Parser Generator   Version 2.7.7 (20060906)   1989-2005
fred.g:1:1: unexpected token: grammar
error: Token stream error reading grammar(s):
fred.g:3:19: expecting ''', found 'r'
fred.g:1:1: rule grammar trapped:
fred.g:1:1: unexpected token: grammar
TokenStreamException: expecting ''', found 'r'
之前的帖子参考org.antlr.Tool,但3.3 jar的位置如上所述。其想法是创建树解析器的调试版本,根据文档,您必须使用命令行工具

以前有人见过这个吗?我疯了吗?它有两行长,在文件的第一个字上就消失了

当然,这是在antlrworks中编译的

感谢任何帮助,我负担不起对药物的任何调整

后续行动:

我发现,如果在AntlWorks中使用Run->Debug菜单选项,它将生成树解析器的调试版本,但在我手中,命令行工具不会。生成的调试源位于输出文件夹中,用于生成。在AntlWorks中,要获取非调试版本,请使用“生成”菜单选项。在eclipse中使用树解析器的调试版本,启动测试线束并等待,然后在treegrammar解析器文件上通过运行远程调试与ANTRWORKS连接。它遍历了树的解析器,给了我一个不匹配的树节点错误,而不是解析器错误,这很好,因为我正在调试树解析器。所以现在我只需要找到我做过的另一件蠢事。除了我之外还有人

之前的帖子参考org.antlr.Tool,但3.3 jar的位置如上所述


旧的ANTLR 2.x工具类ANTLR.Tool仍然包含在ANTLR的3.x版本中,但是您需要使用位于org.ANTLR.Tool的ANTLR 3.x工具来获取语法,因为它是3.x语法。

非常感谢您的回复!现在我的问题似乎是debug选项没有更改树语法文件。但是,它确实适用于解析器文件。您或其他人是否能够在树语法上进行调试?@Don,对不起,我不使用ANTLRWorks进行调试,因此无法对此发表评论。您最好为此创建一个新问题,或者尝试ANTLR邮件列表:祝您好运!