所以我一直在使用ANTLR v3.4在Eclipse中制作语法,我已经制作了一个可行的语法,我想确保在编辑它时一切仍然有效。我每次都可以进入解释者,但这似乎是浪费时间。
问题: 我已经阅读了关于gunit但它下载gUnit的链接: (http://antlr.org/hudson/job/gUnit/org.antlr $ gunit / lastSuccessfulBuild /)不起作用。我怎样才能获得gUnit。 测试语法的最佳方法是什么?它实际上是gUnit还是我应该像jUnit测试一样进行java测试?
答案 0 :(得分:5)
我最近使用Eclipse完成了两项ANTLR3任务(我正在攻读计算机科学硕士学位)。我发现没有一个文档有一个在Eclipse中安装,配置,编写和调试语法的过程。因此,在解决了各种问题之后,我发现最简单的事情就是留在Eclipse中进行测试。
要使用我开始使用的过程(如下所述),您必须先安装ANTLR IDE v2.1.2。从Eclipse Indigo内部添加它:http://antlrv3ide.sourceforge.net/updates。该站点还有一些关于使用ANTLR IDE的有用文档。安装后,必须配置IDE。视频教程有点过时但很有帮助。详细了解如何指导configuring ANTLR IDE in Eclipse。主要配置项是java输出文件夹。在Eclipse中执行此操作,转到Windows,首选项,ANTLR,代码生成器,检查项目相关文件夹,然后在输出文件夹名称框中键入文件夹名称(我的名称为“antlr-java”,其他人使用“generated”)。
使用ANTLR IDE在Eclipse Indigo中测试/调试ANTLR
答案 1 :(得分:1)
你可以下载gUnit there,但我认为没有最新版本......
尝试Jarvana ...最新版本有3.4:http://repo1.maven.org/maven2/org/antlr/gunit/3.4/gunit-3.4.jar
@Dave Newton是对的。从ANTLR v3.1开始,gUnit包含在主要的ANTLR工具罐中,如there所述。
直到现在我还不知道gUnit。它看起来很适合语法测试,但我认为JUnit测试将完成他们的工作......
答案 2 :(得分:1)
这个问题很老了,但为了完整起见,我要留下一个参考:
对我来说,gUnit没用。因此,我设法找到如何仅测试Lexer,然后仅测试解析器。
基本上,有2条有关如何对其进行测试的文章的链接:
答案 3 :(得分:0)
这是我第一次听说gUinit并阅读它。 (我不太使用ANTLR。)听起来很有趣,但是一半没用。
我验证语法的方法是用“正常”单元测试实际验证整个解析器。问题是,无论如何你都应该进行单元测试,检查语法回归的测试只需将其添加到那里。根据我的经验,大多数错误都来自语义分析和缩减,而不是语法。