On Fri, Feb 11, 2011 at 7:04 PM, Olivier Lefevre <lefev...@yahoo.com> wrote:

> Great! Not to abuse but would you know in which section of
> "The Definitive ANTLR Reference" this mentioned? I couldn't
> find it. What is this syntax called?
>

It's called a "validating semantic predicate" which is explained in chapter
12 and 13.


But in my real-world problem it was actually not a choice
> between rule1 and rule2 but a question of whether to allow
> an extra alternative in the z case without too much
> verbatim repetition, i.e. (again in pseudo-code):
>
> rule[boolean z] :
>   rule1 | rule2 | ... | rule23 | (z ? rule24 : nothing) ;
>
> That is, allow rule24 if z otherwise stop at rule23.


You can still do that:

rule [boolean z]
  :  {z}? (rule1 | rule2 | rule3 | ... | rule23 | rule24)
  |       (rule1 | rule2 | rule3 | ... | rule23)
  ;


Regards,

Bart.

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 il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to