The short answer is "yes", you can manipulate the tree (before walking, not 
during).
I am using tree adapter manipulations to reorganize the AST, and then handing 
the tree to the standard tree walker.

The only caution is that TreeIterator depends on parent pointers. I am 
contemplating a version that does not have this dependency, so i can base my 
trees on BaseTree, rather than CommonTree.

On 2011 Jun 11, at 00:53, srinivasan karthikeyan pitchai wrote:

> Hi Gurus,
> I'm a novice using ANTLR for a development project.  I am at a stage 
> where I need to rewrite AST so that the transformed AST renders itself 
> more easy for me to walk and emit the translation that I need.  In this 
> context I've a concept question.
> 
> In general,  can I use the *same*  tree adapter,  used by the 
> InputNodeStream used by the walker,  in a java method that I code to 
> restructure the tree without using the rewrite rule?  That is can I add, 
> delete, replace nodes at will in the source tree?  I am looking at this 
> option as I need to move up a subtree from deep down to a much higher 
> level.   In particular would manipulating the source tree mess up the 
> iterator used by the ANTLR AST walker  to parse the tree?
> 
> 
> (eg)  Just want to know if I can effect this in JAVA.   I am sure we can 
> make it happen using rewrite rule.  However I want to conceptually know 
> if what I desire above is a feasibility or it it a totally wrong approach.
> 
> ^(ROOT a  b ^(ROOT c d  ^(ROOT e f g)))
> 
> I need to restructure the tree like, say,
> 
> ^(ROOT a  b ^(ROOT c d ) ^(ROOT e f g))
> 
> Based on your input I need to chalk the future course of my coding.
> 
> Thanks in advance.
> 
> Regards,
> Vasan
> 
> 
> 
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: 
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address

--
Trevor John Thompson    (425) 246-4023
net: ti...@me.com
Quidquid Latine dictum sit, altum videtur.


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 il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to