【整理】与antlr开发相关的一些东西:StringTemplate,antlr的IDE(antlrworks,Eclipse的antlr插件)

在开发antlr过程中,有一些和antlr相关的东西。

对于刚接触antlr的人来说,会对其有些疑惑,不是特别清楚这些东西与antlr本身的关系。

在此整理一下,与antlr有关的东西的作用和关系:

 

StringTemplate

在需要用到代码生成(code generation)的时候,可以用到StringTemplate这个库。

 

SORCERER

一个工具,用于帮助你自动生成tree-parser的工具。

所以叫做tree-parser generator。

不过是之前的叫法,现在好像已经没有了。

【TODO:待确认此点】

 

Antlr的IDE

用于帮助antlr开发的IDE,有几类:

AntlrWorks

antlr本身, 官方推出的,用于帮助Antlr开发的IDE。

先后又有两类:

antlrworks 1.x的antlrworks-xxx.jar

antrl v3之前的IDE,都是1.x版本的antlrworks

比如目前最新的版本的是:antlrworks-1.5rc2.jar

其本身就只是一个jar包,可以(在电脑中已装了Java的前提下)直接运行

  • Linux:通过执行java antlrworks-xxx.jar即可打开运行此IDE 【TODO:待确认此点】
  • Windows:直接双击此antlrworks-xxx.jar即可运行

 

antlrworks 2.x的Netbeans的IDE

将antlr的各种开发相关的功能,整合到了Netbeans的IDE里面了。

注:Netbeans本身也是一个IDE,一个IDE的框架,基于Java的。

 

基于Eclipse的antlr的插件

别人也提到过,有个针对eclipse的antlr插件,也是可以用于antlr开发。

但是据说有些bug,所以也不太推荐使用。

 

antrl的runtime

即类似于:

antlr-runtime-3.5.jar

的这个jar包。

 

是你在运行的时候,所要用到的库。

所谓运行时,就是,相对于antlr的开发之后而言的。

而所谓的antlr的开发,指的是,你从无到有,一点点写你的antlr的语法,去测试你的语法是否正确,是否可以解析你所要处理的内容;

等你antlr的语法文件都写完了,最终要,被别的环境中所使用的时候,会把之前的antlr编译生成对应的lexer和parser等解析相关的部分,加上这个

antlr的runtime,其提供了antlr中基本的,核心的函数,也是你在lexer和parser,以及自己写的parse tree中所用到的那些antlr相关的功能,

 

参考资料

http://www.antlr2.org/history.html

http://www.antlr2.org/contributions.html

antlr v3下载

ANTLR 3 License



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量