[antlr-interest] Custom AST nodes - attempt #2
    Bill Andersen 
    bill.andersen at mac.com
       
    Thu Jul 22 12:26:57 PDT 2010
    
    
  
Hi Folks,
This is my second attempt at asking this question.  Hopefully it is clear.  If not, please let me know.
I'm interested in using a custom AST node class to carry type information.
I do not want to build a custom TreeAdaptor to determine node type based on token id because only a few AST nodes will have to be of the custom class.
Here's a sample production from the tree generating grammar.
rule
	: ... match something ...
	-> ^(NODE<CustomType>[param] ...)
	;
So far so good.  I know how to do this.  
Let's say CustomType looks like this
class CustomType extends CommonTree {
	public T param;
	public CustomType(int ttype, T param) { ... }
	public T getParam() { ... }
	...
}
Now I have another grammar that consumes ASTs from the first grammar.  I want to do this:
rule
	: ^(NODE ...)
	  { ... do something with this information ... }
	;
So, what syntax do I need in the action to get a T-typed param value from this node?
Any help appreciated 
    
    
More information about the antlr-interest
mailing list