我試圖寫一個ANTLR語法和規則識別標識和INT文字的寫法如下:定義規則標識符ANTLR
ID : Letter(Letter|Digit|'_')*;
TOK_INTLIT : [0-9]+ ;
//this is not the complete grammar btw
,當輸入爲:
void main(){
int 2a;
}
時,詞法分析器是認識爲int文字和一個作爲ID,這是完全合乎邏輯的基礎上,我寫的語法,但我不想2a中的問題得到認可這樣,而是我w螞蟻顯示錯誤,因爲標識符不能以字母之外的其他東西開始......我對這個編譯器課程真的很陌生......在這裏應該做什麼?
爲什麼人們[keep](http://stackoverflow.com/questions/28661601/antlr-ambiguity-issue)[wanting](http://stackoverflow.com/questions/28678232/how-to-create- a-lexical-analyzer-in-antlr-4-that-catch-diiferent-le-le)這個?在解析器中獲得「意外的int」錯誤有什麼問題? – sepp2k 2015-02-24 22:16:11
@ sepp2k:也許這位老師試圖說明一點。也許她的學生應該聚在一起討論問題*而不是問我們。 – rici 2015-02-24 23:00:44