[antlr-interest] V3 How comes this grammer discard whitespace?

Bill Mayfield antlr at telenet.be
Sat Dec 16 12:06:39 PST 2006


How comes this grammar accepts input "1      2      3" ? (remove quotes)


grammar SimpleCalc;

options {
    language=CSharp;
}

tokens {
    PLUS     = '+' ;
    MINUS    = '-' ;
    MULT    = '*' ;
    DIV    = '/' ;
}

@members {
    public static void Main(string[] args) {
        SimpleCalcLexer lex = new SimpleCalcLexer(new 
ANTLRFileStream(args[0]));
           CommonTokenStream tokens = new CommonTokenStream(lex);

        SimpleCalcParser parser = new SimpleCalcParser(tokens);

        try {
            parser.expr();
        } catch (RecognitionException e)  {
            Console.Error.WriteLine(e.StackTrace);
        }
    }
}

/*------------------------------------------------------------------
 * PARSER RULES
 *------------------------------------------------------------------*/

expr    : term ( ( PLUS | MINUS )  term )* ;
   
term    : factor ( ( MULT | DIV ) factor )* ;
   
factor    : NUMBER ;


/*------------------------------------------------------------------
 * LEXER RULES
 *------------------------------------------------------------------*/

NUMBER    : (DIGIT)+ ;
   
WHITESPACE : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+     { _channel = 
99; } ;
   
fragment DIGIT    : '0'..'9' ;


More information about the antlr-interest mailing list