antlr 安装使用

  1. 下载 antlr-4.8-complete.jar
    https://www.antlr.org/download.html
    该 jar 包包含了运行 ANTLR 的工具 和 编译、执行 ANTLR 产生的识别程序 所依赖的全部运行库

配置 CLASSPATH

.bash_profile 里配置 CLASSPATH

export ANTLR_PATH="/Users//zc/02-my/01-soft/antlr-4.8-complete.jar"
export CLASSPATH=${CLASSPATH}:${ANTLR_PATH}

其中配置的 CLASSPATH
可通过 java org.antlr.v4.Tool 验证
java -jar /Users/zc/02-my/01-soft/antlr-4.8-complete.jar 验证, 均可以启动 org.antlr.v4.Tool

命令起别名

alias antlr4='java -jar /Users/zc/02-my/01-soft/antlr-4.8-complete.jar'
写入到 .bash_profile 里

命令行输入
antlr4
输出
ANTLR Parser Generator Version 4.8

运行 ANTLR 测试识别程序

运行 antlr 一书里的 demo
/hello/Hello.g4
对该语法文件运行 ANTLR 命令并编译生成的结果

➜  bin cd /Users/zc/02-my/00-code/02-gitee/web-simple/my-antlr/src/main/java/com/zc/antlr/install➜  install git:(master) ✗ antlr4 Hello.g4 使用之前定义的 antlr4 命令生成语法分析器 和 词法分析器➜  install git:(master) ✗ ls
Hello.g4               HelloLexer.interp      HelloParser.java
Hello.interp           HelloLexer.java        Test.java
Hello.tokens           HelloLexer.tokens      antlr4
HelloBaseListener.java HelloListener.java     antlr4.bat

ANTLR 在运行库中提供了一个名为 TestRig 的调试工具。
它可以详细列出一个语言类应用程序在匹配输入文本过程中的信息.
TestRig 使用 Java 的反射机制来调用编译后的识别程序。

alias grun='java org.antlr.v4.gui.TestRig'

grun

➜  install git:(master) ✗ grun Hello r -tokens
hello testtest    输入要识别的语句, 按 ctrl+D 结束输入
[@0,0:4='hello',<'hello'>,1:0]
[@1,6:13='testtest',<ID>,1:6]
[@2,15:14='<EOF>',<EOF>,2:0]

-tokens 选项, 表示打印出全部的词法符号的列表。

每行输出代表了一个词法符号,其中包含了该词法符号的全部信息。

例如,[@1,6:10='parrt',<2>,1:6] 表明

个词法符号位于第二个位置(从 0 开始计数),
由输入文本的第 6 个到第 10 个位置之间的字符组成(包含第 6 个和第 10 个,从 0 开始计数);
包含的文本内容是 parrt;
词法符号类型是 2;
位于输入文本的第一行、第 6 个位置处(从 0 开始计数)。

使用 grun-gui 运行 TestRig,即 grun Hello r -gui, 查看树形图.

➜  install git:(master) ✗ grun Hello r -gui
hello testzczc
^D

antlr 安装使用相关推荐

  1. antlr4 for linux,ANTLR v4 安装以及试用 For Linux

    ANTLR 简介 ANTLR-Another Tool for Language Recognition,Antlr 本身是使用 Java 开发的,它为包括Java,Python,C#在内的语言提供了 ...

  2. 使用ANTLR和Go实现DSL入门

    一. 引子 设计与实现一门像Go这样的通用编程语言的确很难!那是世界上少数程序员从事的事业,但是实现一门领域特定语言(Domain Specific Language, DSL)[1]似乎是可行的. ...

  3. 从定义到AST及其遍历方式,一文带你搞懂Antlr4

    摘要:本文将首先介绍Antlr4 grammer的定义方式,如何通过Antlr4 grammer生成对应的AST,以及Antlr4 的两种AST遍历方式:Visitor方式和Listener方式. 1 ...

  4. ANTLR4权威参考手册(二)

    第一部分ANTLR和计算机语言 在第一部分中,我们会学习ANTLR安装,尝试通过一个简单的"HelloWorld"语法,并了解语言应用程序开发大纲.有了这些基础,我们将建立一个语法 ...

  5. 配置将java转换为python环境

    # 安装所需要的工具 antlr和java2python 1.安装antlr # 安装命令 tar -zxvf antlr-3.1.3.tar.gz cd antlr-3.1.3/runtime/Py ...

  6. 在IDEA中安装使用Antlr

    在Settings-Plugins中安装ANTLR v4 grammar plugin,注意这里的版本是当前最高的版本 装1.8.4版本,可以看到这里支持ANTLR 4.7.8 装1.8版本,可以看到 ...

  7. eclipse 或 sts 安装 antlr 插件

    eclipse 安装 antlr 插件,笔者这里使用 sts 安装 antlr 插件,需要一些时间 1.下载 antlr 插件 下载地址:https://github.com/antlr4ide/an ...

  8. 在RedHat上安装gcc,java 和 eclipse-rcp

    本文全是如何用rpm包在红帽子54上安装gcc,automake,java和eclipse等,不是源代码编译,请大家不要误会了. 其实通过rpm包安装东西很简单,麻烦的是有很多rpm是要根据顺序进行先 ...

  9. Fabio 安装和简单使用

    Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的微服务. Fabio 由 eBay Classifieds Group 开发,用于处理 ...

最新文章

  1. 深职院计算机学院教室,机电学院计算机专业赴深职院为国赛训练取经
  2. centos 安装extmail
  3. filebeat成精之路
  4. Python 量化(四)计算股票的移动平均线
  5. python内置数据结构_Python内置数据结构
  6. iOS之深入探究多线程实现、线程安全和线程死锁
  7. XCodeBuild 使用
  8. 2019.04.24笔记
  9. asp.net学习之SqlDataSource 1 select的四种参数赋予形式的解释
  10. 复旦nlp实验室 nlp-beginner 任务二:基于深度学习的文本分类
  11. 如何在WORD中给数字加上圈,教程在这里,怎么在WORD中给数字加圈
  12. 43. Pandas查询数据的简便方法df.query
  13. 怎样用c语言画二次函数图像,利用几何画板演示动态的二次函数
  14. 李白打酒递归java_李白打酒----递归理解
  15. symbian s60 删除模拟器上的程序
  16. 《白帽子讲Web安全》世界观安全
  17. 常见Oracle错误都在这了: ORA-00257/ORA-00313/ORA-28000/ORA-28000
  18. eclipse多行注释 (eclipse开发工具)
  19. java 彩票走势图算法
  20. java 仿照windows的记事本_Java仿Windows记事本源代码分享

热门文章

  1. 微软最爽命令行工具将成 Win11 默认终端
  2. 使用人性化的Linux防火墙CFW阻止DDOS攻击
  3. 利用Python和R对权游剧本进行NLP情绪分析
  4. Unity批量替换文字字体自制工具
  5. 每天3个面试题精研 - 前端 - 第4-6天
  6. 数据结构入门:栈的实现(后进先出的原则)
  7. 怎么证明未显式定义构造方法时,编译器会自动生成无参的构造方法?
  8. python能用来制作游戏吗_python 做游戏开发怎么样?
  9. 基于多相滤波器的数字信道化算法详解(Python, Verilog代码已开源)
  10. WOW.js插件使用