【ANTLR】核心语法标记

【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:...|...|...;
相关推荐
Acrelhuang1 分钟前
小小电能表,如何撬动家庭能源革命?
java·大数据·开发语言·人工智能·物联网
jyd01248 分钟前
MongoDB 与 Java 实体类型 LocalTime 时区转换问题解决方案
java·数据库·mongodb
一抓掉一大把29 分钟前
RuoYI框架.net版本实现Redis数据隔离
java·开发语言
.格子衫.33 分钟前
Maven高级
java·maven
lkbhua莱克瓦2433 分钟前
Java基础——常用算法4
java·数据结构·笔记·算法·github·排序算法·快速排序
.格子衫.37 分钟前
Maven前奏
java·pycharm·maven
Mos_x1 小时前
springboot系列--自动配置原理
java·后端
神奇侠20241 小时前
基于spring-boot-admin实现对应用、数据库、nginx等监控
java·数据库·nginx
一叶飘零_sweeeet1 小时前
手写 RPC 框架
java·网络·网络协议·rpc
脸大是真的好~2 小时前
黑马JAVAWeb-01 Maven依赖管理-生命周期-单元测试
java·maven