Have you tried this(not tested)?

ingrediententry

                @init {

                                List<int> li = new List<int>();

                }

                // ingredient returns an id

                :               q=number uid=unit iid=ingredient
(qid=ingredient_qualifier {$li.Add($qid);} )*
 {…

What you might try as an alternative:
AFAIK if you write this

qid+=ingredient_qualifier*

qid will be of type List and contrain the results of the rull calls as elements.


- Oliver

2009/1/26 Sven Prevrhal <[email protected]>:
> I want to parse recipes and I have something like
>
>
>
> ingrediententry
>
>                 :               q=number uid=unit iid=ingredient
> qid=ingredient_qualifier*
>
>                 { …
>
>
>
> Where ingredient_qualifier can appear more than once. How do I accumulate a
> list of qualifiers that I can then process in the action to
>  ingrediententry?
>
> I tried
>
>
>
> ingrediententry
>
>                 @init {
>
>                                 List<int> li = new List<int>();
>
>                 }
>
>                 // ingredient returns an id
>
>                 :               q=number uid=unit iid=ingredient
> qid=ingredient_qualifier* {$li.Add($qid);}
>
>                 {…
>
>
>
> But that gives an missing attribute access error on rule scope for $qid…
>
>
>
> Cheers,
>
> Sven
>
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to