You cannot use set complements in parser rules. That is for lexer rules only. 
In the next release, ANTLR will tell you about this. But don't use 'literals' 
while you are learning as it is too easy to get confused as to what they mean 
in terms of lexer vs parser.

Jim

> -----Original Message-----
> From: [email protected] [mailto:antlr-interest-
> [email protected]] On Behalf Of Anton Bychkov
> Sent: Wednesday, March 31, 2010 2:21 AM
> To: [email protected]
> Subject: [antlr-interest] Empty complement set?
> 
> Hi.
> 
> The following grammar does not generate target code.
> It says "error(139): skipper.g: set complement is empty".
> 
> grammar skipper;
> 
> options
> {
>       language = C;
> }
> 
> skipper
>       @init {
>               int braceCount = 1;
>       }
>       : (
>       '('
>       {
>               braceCount ++;
>       }
>       | ')'
>       {
>               braceCount --;
>               if(braceCount == 0)
>               {
>                       LTOKEN = EOF_TOKEN;
>               }
>       }
>       | ~('('|')')
>       ) *
>       ;
> 
> What's wrong with it?
> 
> 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