2010-08-12 48 views

回答

8

看一看在ANTLR Cheat Sheet

!在AST不包括
^化妝AST根節點

而且^也可重寫規則使用:... -> ^(...)。例如,下面的兩個語法規則是等效的:

expression 
    : A '+'^ A ';'! 
    ; 

和:

expression 
    : A '+' A ';' -> ^('+' A A) 
    ; 

兩者創建以下AST:

+ 
/\ 
A A 

換句話說:所述+被製成根,兩個A的孩子,以及;從樹中被省略。

+0

謝謝..那就是我一直在尋找的 – ssingh3 2010-08-12 10:26:35

+1

我冒昧地擴大你的答案,而不是自己創建一個答案。如果您覺得合適,請隨意修改它,或者刪除它(在這種情況下,我將自己創建一個)。 – 2010-08-12 11:49:28

+0

@巴特K,尼斯!我做了一個CW ... – aioobe 2010-08-12 12:04:38