我想用ANTLR構建一個簡單的詞法分析器對已保留類的字眼特定語言(如果,否則,等)。我通過幾個教程去了,能找到定義除保留關鍵字的所有選項的方式。如何在ANTLR的語法文件中定義保留關鍵字?定義關鍵詞在ANTLR語法
在此先感謝 Shamika
我想用ANTLR構建一個簡單的詞法分析器對已保留類的字眼特定語言(如果,否則,等)。我通過幾個教程去了,能找到定義除保留關鍵字的所有選項的方式。如何在ANTLR的語法文件中定義保留關鍵字?定義關鍵詞在ANTLR語法
在此先感謝 Shamika
This ANTLR 2.0 tutorial討論如何處理在ANTLR詞法分析器的關鍵字。只需搜索標題爲「關鍵字」的部分即可。
有在頁面頂部的基於視頻的教程ANTLR 3.0的鏈接,如果是根據自己的喜好。
規則可能匹配這些關鍵字之前定義它們。
例如,你必須符合標識符的規則,也就是一個標識符由一個或多個字母,那麼你保留if
的關鍵字應該在你的詞法標識符規則之前地方:
grammar T;
// parser rules here
IF
: 'if'
;
IDENTIFIER
: ('a'..'z')+
;
這樣,一個if
總會成爲IF
令牌,而不是一個IDENTIFIER
。
以爲我再也不會找到的教程,謝謝 – 2012-09-29 23:59:03