Hi Mark, I presume you didn't see my answer on Stackoverflow: http://stackoverflow.com/questions/6529359/how-to-pass-commontree-parameter-to-an-antlr-rule ?
If you did, is there anything that wasn't clear? Regards, Bart. On Thu, Jun 30, 2011 at 2:26 PM, Mark Truluck <[email protected]>wrote: > Hello, > > I am trying to do what I think is a simple parameter passing to a rule in > Antlr 3.3: > > ----------- > grammar rule_params; > > > options > { > output = AST; > } > > rule_params > : outer; > > > outer: outer_id '[' inner[$outer_id.tree] ']'; > > inner[CommonTree parent] : inner_id '[' ']'; > > > outer_id : '#'! ID; > > inner_id : '$'! ID ; > > > ID : ('a'..'z' | 'A'..'Z') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' )* ; > > --------- > > However the inner[CommonTree parent] generates the following: > > *** inner4=inner((outer_id2!=null?((Object)outer_id2.tree):null)); > > > Resulting in this error: > > *** The method inner(CommonTree) in the type rule_paramsParser is not > applicable for the arguments (Object) > > > As best I can tell, this is the exact same as the example in the Antrl > book: > > > classDefinition[CommonTree mod] > > (Kindle Location 3993) - sorry I don't know the page number but it is > in the middle of the book in chapter 9, section labeled "Creating Nodes > with Arbitrary Actions". > > Thanks for any help. > > > > Mark Truluck > COGITON, Inc. > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > 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.
