This is the same specification as JavaFX - just download the source code
for the JavaFX compiler and steal my solution from there. It is easy
enough but just takes a little thinking about and some code. You will not
get it right with syntactic predicates though.

Jim

> -----Original Message-----
> From: [email protected] [mailto:antlr-interest-
> [email protected]] On Behalf Of Gustaf Johansson
> Sent: Sunday, May 22, 2011 10:07 AM
> To: [email protected]
> Subject: [antlr-interest] Q: Peek at token without consumeing
>
> Hi,
>
> I have a tricky problem that i cant seem to get right.
>
> I have a static semantics rule which says " ';' is optional if
> preceding statement ends with '}' or the statement is last in list"
> Basically meaning either have LA(-1) == '}' or LA(1) == '}' or we
> should expect a ';'.
>
> This rule is used in many places throughout the grammar so a generic
> approach would be best.
>
> I would like this case to produce good error messages since missing ';'
> is quite common.
> Can i use a "standard" rule and mark it somehow to not consume a token
> if it shouldnt (like the below example)?
>
> end:
>         : ';'
>         | '}' { doNotConsume() }
>         | ( LA(-1) == '}' ) { doNotConsume() } ;
>
> BR Gustaf
>
> 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