2011-10-10 41 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是變量名的規則。

謝謝,問我是否有什麼不清楚。

回答