2011-10-10 72 views
0

我正在尝试使用JavaCC为Java子集执行一个词法分析器。变量名可以是字母,数字和_的任意组合,以字母开头。我只有一个问题,保留字(如int,new,...)不能用作变量名,我想知道如何声明这个。现在我有这个保留字是首先声明的,然后是变量名的规则,它是否足够了,然后它将解析器来处理它?定义变量名称,除非在编译器中重新编译

//Reserved words 
TOKEN:{ 
    < TOK_BOOLEAN : "boolean" > | 
    < TOK_BREAK : "break" > | 
    < TOK_CLASS : "class" > 
} 

TOKEN:{ 
    < TOK_ID : <LETTER> (<LETTER>|<DIGIT>|"_")+ > | 
    < #DIGIT : ["0"-"9"] > | 
    < #LETTER : ["a"-"z"] | ["A"-"Z"] > 
} 

TOK_ID是变量名的规则。

谢谢,问我是否有什么不清楚。

回答