簡單的規則
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] |
範圍的否定 - 匹配不在範圍內的任何單個字元 |
. |
匹配任何單個字元 |