[antlr-interest] Problem with template rewrite, List return value
Mark Gressett
Mark.Gressett at sas.com
Wed Jun 13 12:07:42 PDT 2012
Hi all,
Using ANTLR V3.1, I'm trying to rewrite something like
aFunction(anObject, arg1, arg2, arg3)
to
anObject.aFunction(arg1, arg2, arg3)
My grammar recognizes a function call as
function_call : ID arg_list;
arg_list returns [List listValues]:
'(' vals+=expression? (',' vals+=expression)* ')'{$listValues = $vals;}
I have arg_list return a List so that I can manipulate the list values at the function_call level. expression has no return value.
When I execute the example above, listValues contains 4 nulls, the result of adding expression_return.getTemplate(). expression_return.getTemplate() returns member st, which is never assigned a value, so retains default value, null.
I know there must be a way to return template text for the expressions in the arg list without adding return values throughout the parser. What am I missing?
Thanks,
Mark
More information about the antlr-interest
mailing list