ANTLR4入门(一):Windows安装antlr4命令行环境

最近开始学习ANTLR4,《ANTLR 4权威指南》这本书是看完了,现在开始实践,本系列文记录实践过程中的遇到的问题解决过程及心得体会

下载

antlr官方网站下载最新的antr4版本(jar):https://www.antlr.org/download.html
目前最新的4.11.1版本下载地址为:
https://www.antlr.org/download/antlr-4.11.1-complete.jar

Java 11

下载后我就立即想试试运行,但问题就来了,antlr-4.11.1-complete.jar是JDK11编译的jar包(包含运行库-----antlr4-runtime),所以必须是Java 11以上的版本才能运行。如果你的开发环境和我一样还是JDK11 以下的版本(我是JDK8)就要麻烦些,得去安装JDK11,这个过程网上都有教程,本文不再赘述。

Java 8

根据ANTLR4官方说明,从4.10版本开始ANTLR4将代码生成工具(antlr-${version}-complete)运行要求的JDK最低版本增加到了Java 11.而ANTLR 运行库(antlr4-runtime)的JDK 最低版本升到了Java 8
所以,如果要求在Java 8下运行,另一个解决办法是使用4.10之前的最后一个版本4.9.3
4.9.3版本下载地址:
https://www.antlr.org/download/antlr-4.9.3-complete.jar

antlr4.bat

如果你即希望保留之前的JDK 版本,又要在命令行使用用antlr4做测试那么就处理系统中同时有两个JDK的情况,我的开发环境是JDK8,我不可能为了antlr4将系统的默认JDK升级到11.
所以我的做法是写一个如下的脚本(bat),运行anlr4时强制使用JDK11作为java环境
antlr4.bat ---- 将anlr4.bat保存在antlr-4.11.1-complete.jar所在文件夹下

@ECHO OFF
"C:\Program Files\Java\jdk-11.0.11\bin\java" -jar "%~dp0antlr-4.11.1-complete.jar" %*

执行 antlr4.bat 输入如下,即说明antlr4能正常工作了:
在这里插入图片描述

grun.bat

ANTLR库中还提供了一个名为TestRig的方便的调试工具。它可以详细列出一个语言类应用程序在匹配输入文本过程中的信息,这些输入文本可以来自文件或者控制台标准输入。TestRig使用Java的反射机制来调用编译后的识别程序。为方便使用,最好通过别名(linux下)或批处理脚本来调用它。所以我也如法炮制做了一个grun.bat用于调用TestRig

grun.bat ---- 将grun.bat保存在antlr-4.11.1-complete.jar所在文件夹下

@ECHO OFF
"C:\Program Files\Java\jdk-11.0.11\bin\java" -cp "%~dp0antlr-4.11.1-complete.jar" org.antlr.v4.gui.TestRig %*

执行grun.bat,如下输出即说明TestRig可以正常工作了:
在这里插入图片描述

ANTLR4系列文章

《ANTLR4入门(一):Windows安装antlr4命令行环境》
《ANTLR4入门(二):图示说明eclipse Antlr4IDE插件的安装及语法测试过程》
《ANTLR4入门(三):使用maven ANTLR4插件(antlr4-maven-plugin)执行语法解析生成器》
《ANTLR4入门(四):在线语法调试塈Maven项目中使用语法调试工具TestRig》

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值