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是變量名的規則。
謝謝,問我是否有什麼不清楚。