简单的规则
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) |
匹配 A 或 B |
'text' |
匹配文字 text |
A? |
匹配 A 零或一次 |
A* |
匹配 A 零次或多次 |
A+ |
匹配 A 一次或多次 |
[A-Z0-9] |
匹配定义范围内的一个字符(在此示例中为 AZ 或 0-9) |
'a'..'z' |
字符范围的替代语法 |
~[A-Z] |
范围的否定 - 匹配不在范围内的任何单个字符 |
. |
匹配任何单个字符 |