java – 为什么我的ANTLR构建Ant任务因“无法确定生成的类”而失败?

我正在尝试使用ANTLR3 task for Ant,但是我得到了“无法确定生成的类”构建失败消息.

一项快速研究表明,许多人遇到了同样的问题,没有提供解决方案(见下面的链接).

有人可以建议一个不使用常规Java Ant任务的解决方案吗?

外部链接:

> http://www.antlr.org/pipermail/antlr-interest/2009-November/036795.html
> http://www.antlr.org/pipermail/antlr-interest/2006-July/016870.html
> http://palove.kadeco.sk/itblog/posts/40

解决方法:

Ant 1.8.2(最新版本)中包含的antlr任务似乎依赖于ANTLR 2.7.2(在$ANT_HOME / lib / ant-antlr.pom中定义并使用$ANT_HOME / lib / ant-antlr.jar.

该任务正在执行的是扫描目标文件以查找与^ class(.*)extends.*匹配的行,其中第一个匹配组将用作生成文件的名称.这一小段语法似乎已经在ANTLR 3.x中被删除,或者至少是可选的,因为我能够使用你提到的常规java任务来生成解析器而不使用它.

在“文件共享”标题下的http://antlr.org/首页上是ANTLR v3 task for Ant的链接,但遗憾的是它似乎不是我希望的那种替代品.实际上,它似乎相当复杂,所以我坚持使用普通的java任务.

上一篇:mysql – 在ANTLR中编写SQL解析器有哪些挑战?


下一篇:java – ANTLR:找不到符号