Antlr4 ---词法规则

本文介绍了Antlr4的词法规则,包括规则的存放位置、匹配原则、解析内容和可选项说明。词法规则遵循最长匹配原则,涉及标识符、常量值、操作符和关键字的识别。此外,还探讨了Fragment、action、mode和hidden channel等高级特性,并给出了XMLLexer.g4的参考样例。
摘要由CSDN通过智能技术生成

规则存放位置

 词法规则既可以和语法规则写在同一个文件{xxx}.g4,也可以单独放在词法规则文件{xxx}Lexer.g4;

匹配原则

  1. 最长匹配原则: 输入串将被最长匹配的词法规则匹配;
  2. 优先声明原则: 若输入串能同时被多个词法规则匹配,那么声明在词法文件最前面的规则生效;

解析内容

 词法规则作用是将一个个字符按照定义的规则聚集成字符,主要有以下四类:

  1. 标识符: 即各类编程语言中的变量名;
  2. 常量值: 英文叫Literal,如数字、单引号字符串、双引号字符串、各个进制写法等;
  3. 操作符: 单字符(!、~、=、>等)、双字符(>=、<=)等;
  4. 关键字: 即编程语言中的关键字,如Java中的class、package、import、public等;

可选项说明

  1. Fragment 共用的词法片段,供多个词法规则使用,一个词法规则中可引用一个或多个词法片段;
  2. {action} 词法规则关联的目标语言代码。当输入串被词法规则匹配时,执行定义的action;
  3. mode 主要用于解决一个语法中包含一个或多个其他不同的语法;</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值