最近公司项目开发准备用到Antlr4,因此,记录下本人在Windows下搭建Antlr4环境的过程。
ANTLR 简介
- ANTLR—Another Tool for Language Recognition,Antlr 本身是使用 Java 开发的,它为包括Java,Python,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架。
- Antlr 使用上下文无关文法描述语言, 它允许我们定义识别字符流的词法规则和用于解释Token流的语法分析规则。然后,ANTLR将根据用户提供的语法文件自动生成相应的词法/语法分析器。用户可以利用他们将输入的文本进行编译,并转换成其他形式.
安装有两种:一种手动使用命令行安装与执行,第二种则是借助强大的Eclipse的插件安装。 Eclipse插件安装,官网给出了很详细的教程
这里记录的是手动在windows下的安装,具体的安装环境:
1、windows10 64位
2、Antlr4
3、jdk1.8
具体安装步骤
一、下载ANTLR v4,到官网Antlr Download下载最新的antlr-4.5.3-complete.jar
二、添加antlr-4.5.3-complete.jar的路径添加到classpath中去:
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\InstallSoftSpace\antlrLib\antlr-4.5.3-complete.jar;
三、随便找个路径新建两个文件:antlr4.bat、grun.bat。我这里路径是D:\InstallSoftSpace\antlrLib\bat
antlr4.bat、grun.bat的内容分别是
- antlr4.bat内容为:java org.antlr.v4.Tool %*
- grun.bat内容为:java org.antlr.v4.runtime.misc.TestRig %*
六、建立个样例
1、在某个文件夹下创建Hello.g4文件。这里路径为:D:\SoftWorkSpace\AntlrWorkSpace
具体内容为:
// Define a grammar called Hello
grammar Hello;
r : 'hello' ID ; // match keyword ‘hello’ followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
3、javac Hello*.java对生成的java文件进行编译
4、到这里表示已经编译完成,可以使用前面重命名的命令grun
来测试,,命令格式: grun file.g4 -r [option]
其中常用的参数有这三个:
- tokens #打印出token流
- tree #用LISP表单打印出解析树
- gui #在对话框中可视化地展示解析树
5、输入命令:
grun
Hello
r -tree
到这步,就需要我们输入,这里我们输入:Hello antlr4(注意windows与Linux不同),按一个回车,再按Ctrl+Z键就可以看到结果了(这里的warning不影响操作)
6、当然,我们也可以按照上述操作对其他两个命令进行测试,输入:grun Hello r -tokens 出现下面截图结果:
7、输入:grun Hello r -gui 会弹出一个窗口
至此,Antlr4环境搭建成功,以及成功的运行了一个样例测试。