[antlr-interest] Partial tree transformation
Terence Parr
parrt at jguru.com
Sun Sep 8 10:22:21 PDT 2002
On Sunday, September 8, 2002, at 05:16 AM, renyedi wrote:
> Greetings
>
> Suppose we have an AST generated by ANTLR. Is there a way to perform a
> transformation for only certain tree patterns without defining rules
> that lead to that pattern?
That is a different philosophy than the tree grammar approach.
However, in old Sorcerer I had support routines that worked like fscanf
called tscant or something that let you ask for all references to trees
of a certain form. There is something similar in ANTLR, but can't
remember the name right off the top of my head.
> For example, let's say that having a Java AST generated by the java.g
> grammar (the one from the ANTLR example grammars) one wants to filter
> out the final modifier. Based on java.tree.g, only the "modifier" rule
> should be defined. The nodes that do not match the "modifier" pattern
> should be copied by default to the resulting AST. However, if I do
> this way, the "modifier" rule is never matched but I get an unexpected
> node error.
>
> Is there a way to do this?
Ah. Yes, try this class
antlr.ASTIterator
it has a next() method that keeps looking for subtrees I think. You
are really just asking for a depth first search. Easy to add if we
don't have precisely what you need. :)
Terence
--
Co-founder, http://www.jguru.com
Creator, ANTLR Parser Generator: http://www.antlr.org
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list