Antlr4在win10下的环境配置

最近做的项目,需要将建模生成的文件反编译生成模型。以前的导师推荐过一款语法解析器生成器ANTLR (ANother Tool for Language Recognition) ,于是想试试是否可以用于这个项目。

1. 前言(ANTLR 的介绍)

  • ANTLR 的官方网址:https://www.antlr.org/
  • GitHub地址:Antlr Project,目前我用的比较的多的是antlr/grammars-v4和 antlr/antlr4/doc .
  • 维基百科——ANTLR
  • 官网介绍的翻译:ANTLR 解析器介绍。摘抄如下:

ANTLR 是一个强大的解析器,你可以使用它来读取,处理,执行或翻译结构化文本或二进制文件。它广泛应用于学术界和工业界,构建各种语言,工具和框架。 Twitter 搜索使用 ANTLR 进行查询解析,每天有超过20亿次查询。 Hive 和 Pig 的语言,Hadoop 的数据仓库和分析系统都使用 ANTLR。 Lex Machina 使用 ANTLR 从法律文本中提取信息。 Oracle在 SQL Developer IDE 中使用 ANTLR 及其迁移工具。 NetBeans IDE 用 ANTLR 解析 C ++。Hibernate 对象关系映射框架中的 HQL 语言是用ANTLR 构建的。

  • 反正看起来就是很牛的样子啦~

2. Antlr4环境准备——安装JDK1.6 Or later

Antlr4安装需要先安装JDK1.6 or later,官网原话Install Java (version 1.6 or higher)。以前都是做分布式,用的环境都是Ubuntu,里面什么都配好了,现在用windows,发现什么都没有。。。。

① 下载JDK1.7
  • 官网要求Install Java (version 1.6 or higher),但为了保险起见,自己打算安装JDK1.7,发现自己在官网找不到历史版本的下载入口,于是又度娘的了一次:JDK JRE 1.4,5,6,7,8 各版本下载地址 ,选择的是JDK17的第二个链接。
  • 进入到下载页面后,下载的是第一个版本Java SE Development Kit 7u80
② 安装JDK1.7
  • 首先在D盘创建了D:\java文件夹,然后在下面创建了D:\java\jdk17D:\java\jre17两个文件夹。
  • 点击下载好的JDK安装包,开始进行安装,其中jdk安装在D:\java\jdk17,JRE安装在D:\java\jre17。参考博客:在 Win10 系统下安装 JDK 及配置环境变量的方法。
③ 配置JDK环境变量
  • 添加JAVA_HOME到环境变量中,值为D:\java\jdk17
  • 添加CLASSPATH到环境变量中,值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
  • 更改Path环境变量,添加内容为:%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
  • 测试环境变两是否配置成功,在cmd中输入javajavac不报错,显示的部分信息截图如下:


    至此JDK安装完成!

3. Antlr4环境配置

① 下载Antlr4
  • 下载地址:https://www.antlr.org/download/,选择Tool and Java runtime lib 下的antlr-4.7.2-complete.jar进行下载。
  • 将下载好的antlr-4.7.2-complete.jar移动到D:\antlr目录下,方便后面进行环境配置。
② 配置Antlr4环境
  • 添加ANTLR到系统环境变量CLASSPATH中:在刚刚创建的CLASSPATH环境变量中添加D:\antlr\antlr-4.7.2-complete.jar
  • 为ANTLR Tool 和 TestRig 创建batch命令:
    (1)在D:\antlr目录下创建antlr4.bat文件,内容为:java org.antlr.v4.Tool %*
    (2)在D:\antlr目录下创建grun.bat文件,内容为:java org.antlr.v4.gui.TestRig %*。 以前的版本是java org.antlr.v4.runtime.misc.TestRig %*,按照旧的配置,会报警告Warning: TestRig moved to org.antlr.v4.gui.TestRig; calling automatically
    (3)更改Path环境变量,添加内容为:D:\antlr
③ 测试Antlr4环境配置是否成功
  • 在cmd中分别输入antlr4命令和grun命令,显示信息如下:

    可以看出ANTLR的版本为4.7.2,跟我们下载的jar包一致。
④ 创建简单的文件并运行
  • 创建Hello.g4文件,内容如下:
grammar Hello ;r : 'hello' ID ;ID : [a-z]+ ;WS : [ \t\r\n]+ -> skip;
  • 运行Hello.g4文件,在cmd中进入Hello.g4文件所在目录D:\ANTLR_temp,输入以下命令:
antlr4 Hello.g4


会生成以下新的文件:

  • 编译转化生成的java文件:
javac Hello*.java

会生发现多了.class文件:

  • 输入内容,Antlr4将内容解析为语法树:
> grun Hello r -tree  #以终端输出的形式显示语法树
hello parrt
^Z #按下enter键,显示语法树
(r hello lucy)
> grun Hello r -gui #以java窗体的形式显示语法树
hello parrt
^Z  #按下enter键,显示语法树

终端显示的语法树:

以java窗体显示的语法树:

至此,Antlr4在win10下的环境配置已经大功告成!

参考链接:
ANTLR4在windows上的安装(java版)——中文文档
Setting up ANTLR4 on Windows(英文文档)
Getting Started with ANTLR v4(官方文档)

Antlr4在win10下的环境配置相关推荐

  1. win10下pytorch-gpu环境配置

    一.电脑硬件资源 使用的笔记本电脑硬件配置如下:   1.CPU intel core i7 7700HQ   2.显卡有两个,一个是集成显卡,一个是英伟达的GEFORCE GTX 1050(这个显卡 ...

  2. ANTLR4(一) VsCode Win10 Java 安装+环境配置+官方示例

    ANTLR4 VsCode Win10 Java 安装及环境配置 vscode上实现官方示例 预期效果 编写批处理文件 编写.g4格式的语法文件 运行ANTLR4工具 测试生成的语法分析器 将语法分析 ...

  3. win10下git的配置教程

    win10下git的配置教程 下载并安装git 登录git的官方网站,下载git.注意在windows,linux,mac系统上的下载版本不同,要根据自己的本地环境来选择安装包,如下图所示,这里我们选 ...

  4. tensorflow gpu python3.5_Win10+Anaconda3下tensorflow-gpu环境配置

    Win10+Anaconda3下tensorflow-gpu环境配置 基本环境 操作系统window10-education 显卡 NIVIDA GETFORCE GTX 1050 安装Anacond ...

  5. Win10+Python+virtualenv 环境配置

    Win10+Python+virtualenv 环境配置 2017年10月25日 15:23:58           猫儿不熊           阅读数 2813                  ...

  6. JAVA环境配置及如何解决win10重启后环境配置失效的问题

    一.配置JAVA环境 1.JDK的下载与安装 进入官网下载对应版本 注意:安装路径最好不要包含中文或空格等特殊字符,最好使用纯英文目录 2.配置环境变量的步骤 (1)按下win+E键,找到此电脑,右键 ...

  7. linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述

    Ubuntu 16.04 LTS下LNMP环境配置简述 1.安装mysql sudo aptinstall mysql-server 安装过程会提示密码 2.安装nginx和php #添加nginx和 ...

  8. vs在linux下的环境搭建,linux下vscode环境配置

    文章目录 linux下vscode环境配置 编译器,调试器安装 sudo apt update #通过以下命令安装编译器和调试器 sudo apt install build-essential gd ...

  9. 【编译器】Mac下gcc环境配置折腾

    Mac下gcc环境配置折腾 1. 在Terminal键入g++提示自动安装 gcc:Terminal键入g++,来自x-code的gcc工具clang,默认版本4.2.1 Command Line T ...

最新文章

  1. Essential C++中文版 前言
  2. 调用者保存寄存器和非调用者保存寄存器
  3. 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)
  4. CentOS 6.7 配置JSP运行环境之resin
  5. 计算机手速专业说法,大学里“挂科率超高”的专业,学霸也不好拿捏,考试难补考更难...
  6. 如何软件项目电子投标
  7. 2018-4-25mysql数据库基础
  8. 银企直连ukey 集中管理方案
  9. matlab norm函数使用_matlab中norm函数的用法(图)
  10. python量化选股_python量化选股策略
  11. javascript 上传的Excel格式校验
  12. 计算机维修培训教材,计算机芯片级维中心(芯片级维修培训教材)b.doc
  13. C++ STL源码剖析 tr1与std array
  14. fetchone()和fetchall()的准确读音
  15. Midjourney之外21款免费的AI Image画图网站集合
  16. icc校色文件使用教程_浅谈如何用ICC文件进行校色,校色前后效果展示
  17. 支付宝小程序获取复选框选中值id,使其显示且可编辑
  18. mobaxterm标签页最下方服务器内存硬盘情况信息的状态栏显示与关闭
  19. html引用不了自定义字体,html5 – 自定义@ font-face不加载chrome(chrome自定义字体无法渲染)...
  20. antd+react ---手机号校验(流程中使用)

热门文章

  1. 明德扬FPGA开发板XILINX-K7核心板Kintex7 XC7K325 410T工业级
  2. 06_Request对象封装请求信息(获取请求信息,和把前端请求转发到当前服务器其他资源)
  3. 对抗样本方向(Adversarial Examples)2018-2020年最新论文调研
  4. xshell打开多个窗口_打开软件太多,窗口用起来一团糟?让它来帮你管理:Groupy...
  5. 半次元获取收藏夹下所有的图片
  6. 第二次作业熟悉使用工具
  7. MODIS数据产品介绍及下载
  8. 商品交易系统之---产品介绍
  9. 深层揭露百度缘何被黑
  10. 惠普dl20g9服务器系统分区,惠普商用笔记本预装WIN10系统如何分区