[antlr-interest] Empty complement set?

Jim Idle jimi at temporal-wave.com
Wed Mar 31 07:38:35 PDT 2010


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: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> bounces at antlr.org] On Behalf Of Anton Bychkov
> Sent: Wednesday, March 31, 2010 2:21 AM
> To: antlr-interest at antlr.org
> 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





More information about the antlr-interest mailing list