Found it in the definitive antlr guide: adding a ? behind $docs did the
trick.

2011/5/17 Ben Corne <[email protected]>

> Hi
>
> I'm trying to create a rule looking like this:
> ==================================
> statement
>   : ( docs+=documentation )*
>   ( def=definition -> ^(AGSTATEMENT $docs $def)
>  | tdef=typedefinition -> ^(AGSTATEMENT $docs $tdef)
> | imp=imports -> ^(AGSTATEMENT $docs $imp)
>    // TODO: (variable EQL) => varassignment
>    // TODO: (assignment) => assignment
>  | exp=expression -> ^(AGSTATEMENT $exp $docs)
>   ;
> ==================================
>
> This rule should add a bunch of documentation constructs to each type of
> statement. Testing with at least one documentation per statement, everything
> works as expected.
>
> Now the problem is that when I test statements without any documentation
> added to a statement, the ANTLRworks debugger seems to stop after the first
> such statement, refusing to go parse the folowing statements.
>
> I suspect that it is because the $docs variable is never initialized since
> nothing is added. How should I fix this?
>
> Regards
> Ben C.
>

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.

Reply via email to