2010-10-24 57 views
4

我想用ANTLR構建一個簡單的詞法分析器對已保留類的字眼特定語言(如果,否則,等)。我通過幾個教程去了,能找到定義除保留關鍵字的所有選項的方式。如何在ANTLR的語法文件中定義保留關鍵字?定義關鍵詞在ANTLR語法

在此先感謝 Shamika

回答

2

This ANTLR 2.0 tutorial討論如何處理在ANTLR詞法分析器的關鍵字。只需搜索標題爲「關鍵字」的部分即可。

有在頁面頂部的基於視頻的教程ANTLR 3.0的鏈接,如果是根據自己的喜好。

+0

以爲我再也不會找到的教程,謝謝 – 2012-09-29 23:59:03

8

規則可能匹配這些關鍵字之前定義它們。

例如,你必須符合標識符的規則,也就是一個標識符由一個或多個字母,那麼你保留if的關鍵字應該在你的詞法標識符規則之前地方:

grammar T; 

// parser rules here 

IF 
    : 'if' 
    ; 

IDENTIFIER 
    : ('a'..'z')+ 
    ; 

這樣,一個if總會成爲IF令牌,而不是一個IDENTIFIER