4
我使用ANTLR来标记语法简单,并且需要一个ID来区分:如何区分使用ANTLR的保留字和变量?
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。我怎样才能做到这一点?