2010-08-12 5 views

Répondre

8

Jetez un oeil à la ANTLR Cheat Sheet:

! ne comprennent pas AST
^ make AST nœud racine

Et ^ peut également être utilisé dans les règles de réécriture: ... -> ^(...). Par exemple, les deux règles d'analyseur suivantes sont équivalentes:

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

et:

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

Les deux créent l'AST suivante:

+ 
/\ 
A A 

En d'autres termes: la + est faite en tant que root , les deux A sont ses enfants, et le ; est omis de l'arbre.

+0

Merci .. c'est ce que je cherchais – ssingh3

+1

J'ai pris la liberté de développer votre réponse un peu au lieu de créer moi-même une réponse. N'hésitez pas à le reformuler comme bon vous semble ou à l'enlever (auquel cas j'en créerai un moi-même). –

+0

@Bart K, Nice! Je l'ai fait un CW ... – aioobe

Questions connexes