【发布时间】:2012-03-15 19:18:23
【问题描述】:
我正在使用 ANTLR 来标记一个简单的语法,并且需要区分一个 ID:
ID : LETTER (LETTER | DIGIT)* ;
fragment DIGIT : '0'..'9' ;
fragment LETTER : 'a'..'z' | 'A'..'Z' ;
还有一个 RESERVED_WORD:
RESERVED_WORD : 'class' | 'public' | 'static' | 'extends' | 'void' | 'int' | 'boolean' | 'if' | 'else' | 'while' | 'return' | 'null' | 'true' | 'false' | 'this' | 'new' | 'String' ;
假设我在输入上运行词法分析器:
class abc
我收到“class”和“abc”的两个 ID 令牌,而我希望将“class”识别为 RESERVED_WORD。我怎样才能做到这一点?
【问题讨论】: