antlr参考资料
- The Definitive ANTLR 4 Reference.pdf
- 基本概念 · ANTLR 4简明教程
antlr环境搭建
intellij java编程环境下的antlr编程环境
- 安装intellij java编程环境
官网下载开发版 - 安装java sdk
intellij新建工程,提示sdk,点击进入下载路径。下载完成后,选择Java sdk的安装路径。 - 从官网下载antlr intellij插件
- intellij中安装 antlr插件
File->Settings->Plugins->从磁盘选择
antlr v4 使用指南连载2——准备环境 - Laud - 博客园
在IDEA中使用ANTLR4教程 - sherrywong1220的博客 - 博客频道 - CSDN.NET
Antlr v4入门教程和实例 - 西代零零发 - 博客频道 - CSDN.NET
antlr4的优点
- 比antrl3等之前的版本,可以处理直接左递归的文法,antl4会自动将直接左递归文法转换为非左递归的等价形式,但是仍然不能处理间接左递归文法。
例如, exp : exp ‘-’ exp,之前的版本需要将直接左递归文法转换为右递归文法 - 使用ALL( * ) LL(*)技术
- 自动生成语法树遍历的类 walker
- 将语法动作从文法产生式中解耦出来。因此,可以将文法产生式在不同的语言中进行重用。
antlr前端分析过程
1. 词法分析生成token流
2. 语法分析生成语法树