2013-06-04 31 views
0

我總是在解析規則隱含的警告聲明,編碼的所有例子,當從ANTLR v4的內部antlrworks 2.我喜歡簡單的規則:隱含的聲明2

type 
    : 'Integer' 
    | 'Character' 
    | 'Real'  
    | 'String'  
    | 'Short'  
    | 'Long'  
    | 'Double'   
    | 'Signed'   
    | 'Unsigned' 
    | 'Boolean'  
    | structTag  
    | enumTag  
    | declarator 
    ; 

任何人可以給我的解決方案該警告,例如上面的解決方案。 謝謝

回答

1

警告是通知您,您將無法知道您的type是否爲標識符,字符,實數等,因爲您尚未將指定的標記類型分配給相應的標記。您可以通過爲每個令牌創建名爲詞法規則解決此警告:

INTEGER : 'Integer'; 
CHARACTER : 'Character'; 

您沒有添加這些新的定義後更改type規則,但添加的定義之後,你將能夠檢查令牌類型是INTEGERCHARACTER作爲分析器結果處理代碼的一部分。

+0

偉大的,它的工作,我感激不盡,但是有沒有一種方法可以在詞法分析規則中一個一個寫出令牌? Sory我是新手使用antlrworks2 – wied

+0

爲什麼(LINE_COMMENT |評論 | WS )* – wied