[antlr-interest] Fwd:  Empty complement set?
    Bart Kiers 
    bkiers at gmail.com
       
    Wed Mar 31 03:03:41 PDT 2010
    
    
  
---------- Forwarded message ----------
From: Bart Kiers <bkiers at gmail.com>
Date: Wed, Mar 31, 2010 at 12:01 PM
Subject: Re: [antlr-interest] Empty complement set?
To: antlr-interest at antlr.org
On Wed, Mar 31, 2010 at 11:47 AM, Anton Bychkov <bychkov.anton at gmail.com>wrote:
> ...
>
> There is also a strange thing in rule view, it looks like antlr does
> not see LParen and RParen in twiddle operator.
> I attached screenshot with it.
>
Ah, I see. There are no other tokens than '(' and ')' defined, so
~(LParen|RParen) is wrong. Try adding a "fall through" DOT in your lexer
grammar:
skipper
       @init {
               int braceCount = 1;
       }
       : (
       LParen
       {
               braceCount ++;
       }
       | RParen
       {
               braceCount --;
               if(braceCount == 0)
               {
                       LTOKEN = EOF_TOKEN;
               }
       }
       | Other
       ) *
       ;
LParen : '(' ;
RParen : ')' ;
Other  :  .  ;
Or like this:
LParen : '(';
RParen : ')';
Other  : ~(LParen | RParen);
    
    
More information about the antlr-interest
mailing list