设置好CLASSPATH环境变量,Java就能够找到ANTLR工具和运行库。在UNIX系统上,你可以手动执行以下代码或者将其添加到启动脚步中(对于bash命令行,就是.bash_profile):
export CLASSPATH=".:/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH"每次手动输入这些java命令是一件令人痛苦的事情,所以最好通过别名(alias)或者shell脚步的方式。
$ alias antlr4='java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool' $ alias grun='java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig' WINDOW
安装 JDK (1.7及以上版本)
从 https://www.antlr.org/download/ 网址下载antlr-4.9-complete.jar(或任何版本)保存到第三方Java库的目录,比如C:\Javalib
将antlr-4.9-complete.jar添加到CLASSPATH,
使用系统属性对话框 -> 环境变量 -> 创建或添加CLASSPATH变量
或者在命令行中输入:
SET CLASSPATH=.;C:\Javalib\antlr-4.9-complete.jar;%CLASSPATH%
使用批处理文件或doskey命令,为ANTLR工具和TestRig创建简短方便的命令:
批处理文件(在系统路径下的目录下)antlr4.bat和grun.bat
java org.antlr.v4.Tool %* @ECHO OFF SET TEST_CURRENT_DIR=%CLASSPATH:.;=% if "%TEST_CURRENT_DIR%" == "%CLASSPATH%" ( SET CLASSPATH=.;%CLASSPATH% ) @ECHO ON java org.antlr.v4.gui.TestRig %*或者,使用doskey命令:
doskey antlr4=java org.antlr.v4.Tool $* doskey grun =java org.antlr.v4.gui.TestRig $* 安装测试直接启动:
$ java org.antlr.v4.Tool ANTLR Parser Generator Version 4.9 -o ___ specify output directory where all output is generated -lib ___ specify location of .tokens files ...或者在java中使用-jar选项:
$ java -jar /usr/local/lib/antlr-4.9-complete.jar ANTLR Parser Generator Version 4.9 -o ___ specify output directory where all output is generated -lib ___ specify location of .tokens files ... 初识ANTLR在一个临时目录中,将下列语法放在文件Hello.g4中
// 定义一个名为Hello的语法 grammar Hello; r : 'hello' ID ; // 匹配一个关键字hello和一个紧随其后的标识符 ID : [a-z]+ ; // 匹配小些字母组成的标识符 WS : [ \t\r\n]+ -> skip ; // 忽略空格、Tab、换行以及\r(Windows)然后运行ANTLR工具:
$ cd /Hello $ antlr4 Hello.g4 $ javac Hello*.java现在测试它:
$ grun Hello r -tree (Now enter something like the string below) hello parrt (now,do:) ^D (The output:) (r hello parrt) (That ^D means EOF on unix; it's ^Z in Windows.) The -tree option prints the parse tree in LISP notation. It's nicer to look at parse trees visually. $ grun Hello r -gui hello parrt ^D这会弹出一个对话框,显示规则r匹配关键字hello和world部分。
好了,这篇文章暂时介绍ANTLR4到此,后续会研究些高级应用并整合到Spring Boot项目中,给大家输出出来!