在开发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
即类似于:
的这个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开发相关的一些东西:StringTemplate,antlr的IDE(antlrworks,Eclipse的antlr插件)