【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:...|...|...;
相关推荐
kangkang-2 小时前
PC端基于SpringBoot架构控制无人机(三):系统架构设计
java·架构·无人机
界面开发小八哥3 小时前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
idolyXyz4 小时前
[java: Cleaner]-一文述之
java
一碗谦谦粉4 小时前
Maven 依赖调解的两大原则
java·maven
netyeaxi5 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
收破烂的小熊猫~5 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
猴哥源码5 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot
老任与码5 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
小兵张健5 小时前
武汉拿下 23k offer 经历
java·面试·ai编程
FreeBuf_5 小时前
Apache组件遭大规模攻击:Tomcat与Camel高危RCE漏洞引发数千次利用尝试
java·tomcat·apache