【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:...|...|...;
相关推荐
Zane199424 分钟前
CAS 与原子类:Java 如何实现无锁编程
java·后端
TunerT_TQ27 分钟前
【智能体安全治理|专栏第9期】从“一堆规则”到“数字宪法”:智能体治理的下一个阶段
java·开发语言·安全·开源治理·大模型安全·ai基础设施·智能体安全
legendary_bruce34 分钟前
RAG知识库进阶-1
java·aigc
必须会一定会35 分钟前
大模型手搓文件对比工具(6):差异不用再手选
java·人工智能·ai编程
yio_yin44 分钟前
MyBatis
java·前端·mybatis
程序员-Benothing1 小时前
Java ForkJoinPool 详解:从分治思想到高性能并行计算
java·开发语言·后端·面试·职场和发展
上海安当技术1 小时前
单点登录 SSO 怎么选协议?SAML 2.0 / OAuth 2.0 / OIDC / CAS 对比与 ERP、OA、CRM 接入实战
java·开发语言
mifengxing1 小时前
Java集合与泛型
java·算法·复习笔记
不才不才不不才2 小时前
Spring 源码系列(14): JDK 动态代理 vs CGLIB,以及拦截器责任链
java·开发语言·spring
流云鹤2 小时前
05Java学习day(5)
java·学习