我正在尝试使用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任务.