【ANTLR】核心语法标记
-
- [1. 匹配词法符号、规则引用或者子规则](#1. 匹配词法符号、规则引用或者子规则)
- [2. 匹配一列词法规则](#2. 匹配一列词法规则)
- [3. 匹配某一个分支规则](#3. 匹配某一个分支规则)
- [4. 表示0次或者多次匹配x规则,格式是x?](#4. 表示0次或者多次匹配x规则,格式是x?)
- [5. 表示0次或者多次匹配,格式是 x *](#5. 表示0次或者多次匹配,格式是 x *)
- [6. 匹配x一次或者多次,格式是x+](#6. 匹配x一次或者多次,格式是x+)
- [7. 定义规则格式](#7. 定义规则格式)
- [8. 定义多个备选分支的规则](#8. 定义多个备选分支的规则)
简单来说,就是如何定义单个词法规则,下面是最小单位的规则定义
1. 匹配词法符号、规则引用或者子规则
如INT
java
INT:[0-9]+;
2. 匹配一列词法规则
如line,就是有LEFT、value、RIGHT组成
java
line:LEFT value(','value)* RIGHT;
3. 匹配某一个分支规则
表示value可以匹配INT、line、INT'+'INT规则,之前关系是或
java
value:INT
| line
| INT'+'INT
;
4. 表示0次或者多次匹配x规则,格式是x?
5. 表示0次或者多次匹配,格式是 x *
6. 匹配x一次或者多次,格式是x+
7. 定义规则格式
表示定义规则r
java
r:...;
8. 定义多个备选分支的规则
表示定义多个备选分支的规则r
java
r:...|...|...;