简单的规则

Lexer 规则定义令牌类型。他们的名字必须以大写字母开头,以区别于解析器规则。

INTEGER: [0-9]+;
IDENTIFIER: [a-zA-Z_] [a-zA-Z_0-9]*;

OPEN_PAREN: '(';
CLOSE_PAREN: ')';

基本语法:

语法 含义
A 匹配 lexer 规则或名为 A 的片段
A B 匹配 A 然后 B
(A|B) 匹配 AB
'text' 匹配文字 text
A? 匹配 A 零或一次
A* 匹配 A 零次或多次
A+ 匹配 A 一次或多次
[A-Z0-9] 匹配定义范围内的一个字符(在此示例中为 AZ 或 0-9)
'a'..'z' 字符范围的替代语法
~[A-Z] 范围的否定 - 匹配不在范围内的任何单个字符
. 匹配任何单个字符