最近开始学习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入门(一):Windows安装antlr4命令行环境相关推荐

  1. Windows在cmd命令行环境下运行c程序

    现在有许多便利的编译器,例如DevC++,sublime,vscode等等,在这些编译器里面我们添加必要的插件就可以直接运行C语言程序.但是还有一种我们可以采取的普适的运行C程序的方法--在cmd命令 ...

  2. ANTLR4入门(三):使用mave ANTLR4插件(antlr4-maven-plugin)执行语法解析生成器

    在上篇博客<ANTLR4入门(二):图示说明eclipse安装Antlr4IDE插件的过程>,我费半天劲装好了Eclise的AntlrIDE插件,简单的创建一个ANTLR 4 工程,感受了 ...

  3. Vue入门教程:node安装vue命令行工具及启动项目

    安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 全局安装vue命令行工具 cnpm install - ...

  4. 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

    5年前倒腾过一次cygwin,当时体验感觉不好.到现在一直用的是GNU utilities for Win32,在Windows的CMD中使用*nix的命令工具包. GNU utilities for ...

  5. windows下 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”的解决办法

    Mask R-CNN学习(三):windows下 cl: 命令行 error D8021 :无效的数值参数"/Wno-cpp"的解决办法 2018年07月20日 11:11:06 ...

  6. windows和linux命令行一样吗,微软改进Windows命令行 目的是和Linux命令行相抗衡

    微软官方人员承认微软正在对Windows命令行环境或是Windows终端进行全方位的改进,目的是能和Linux命令行相竞争.随着Linux云服务器的大量被采用,很多Linux云服务器都没有安装图形界面 ...

  7. [js]windows下通过命令行运行javascript脚本,支持命令行参数

    windows下通过命令行运行javascript脚本,支持命令行参数 js作为最受欢迎的语言,以其方便.通用.功能强大的特点,可以给大家在实际使用的过程中带来很大的便利. 下面是本文从实际应用的角度 ...

  8. linux grub安装在pbr,GRUB安装及命令行排错

    GRUB安装及命令行排错 GRUB安装 安装 Grub 涉及三个步骤: 创建 /boot/grub/grub.conf 配置文件. 在 /boot/grub 安装 Grub 文件. 安装 Grub 开 ...

  9. windows下的命令行工具babun

    Babun 可以直接在winodows下面编译linux代码 但是本人只成功编译过个个go的linux 和 C的linux,C++的编译不出来东西 安装很简单,下下来,直接双击批处理 install ...

最新文章

  1. Xamarin XAML语言教程ContentView视图作为自定义视图的父类
  2. 高可靠性的php通信框架,跨平台PHP高可靠性通信框架,OHSCE_V0.1.25 发布
  3. python3安装步骤mac-Mac 上安装python3——手把手教程
  4. Django 2 零基础 - 待办清单网站
  5. Oracle CheckPoint进程
  6. java file_java开发之File类详细使用方法介绍
  7. ThinkPad R400 安装win2003网卡驱动
  8. Swift基础语法: 23 - Swift的Trailing闭包, 捕获, 闭包是引用类型
  9. mac下多个php版本切换(可操作版)
  10. 用aspectJ 做了一次日志
  11. 云智能,重新定义数字化时代云的未来
  12. 常用win10优化工具(后续继续更新)
  13. matlab三维作图知识点
  14. oeasy教您玩转linux010105详细手册man
  15. 茴香豆的“茴”有几种写法?单例模式你知道有几种写法?
  16. 建模师有年龄限定吗?45岁还能学吗
  17. OpenCV旋转矩形RotatedRect的Points函数遇到的问题
  18. Maltrail恶意流量检测系统
  19. android读取assets中的txt文件路径,Android获取assets文件路径
  20. 2023年软考初级程序员

热门文章

  1. C语言while循环和do while循环详解
  2. 鲲鹏HCIA系列笔记题库汇总(内含PDF)
  3. roc曲线spss怎么做_SPSS学习笔记之——ROC曲线
  4. MB、MiB、GB、GiB的定义
  5. 软件测试EVT阶段,BVT、EVT、DVT、PVT产品开发几个阶段
  6. 用计算机说唱什么歌,最近不知道喜欢上了说唱求大家给点词呗~
  7. 2022-2028年太阳能光热发电行业发展现状动态与市场前景展望报告
  8. Kubernetes持久化存储PV、PVC和StorageClass介绍
  9. 无线技术配置capwap
  10. 亚马逊旺季来了,如何让快速清理库存,为爆款理清道路