Hi. I'm trying to navigate the AST built using the ANTLR3 C target.

I'm wondering how the token information is stored in the tree nodes. It 
seems there are two types of tree nodes. ANTLR3_BASE_TREE and 
ANTLR3_COMMON_TREE and I can set my grammar to produce the AST with 
either one.

The documentation suggests that an ANTLR3_BASE_TREE has no token 
information yet it contains a pointer to the getToken(ANTLR3_BASE_TREE) 
function. Can anyone clarify this?

I've been trying out each type to try and work it out.

getToken(ANTLR3_BASE_TREE) on the ANTLR3_BASE_TREE seems to return 0x0 
which would support what the docs say about it having no token "payload" 
but then why does this function exist.

When using ANTLR3_COMMON_TREE instead since I assumed this to be the 
solution, the token member of the struct is also 0x0
Finally doing commonTree->baseTree.getToken(&commonTree->basetree) as a 
last resort caused the program to segfault in dupTree()

All in all I'm a bit confused about where the "content" of the AST 
actually lies.

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to