[antlr-interest] Specifying literals in the Lexer
Remi Koutcherawy
remi.koutcherawy at wanadoo.fr
Wed Aug 28 13:31:47 PDT 2002
Hi
> I really do want to specify one or two of my keywords in the lexer
> instead of the parser. This is because the keywords contain '[', ']'
> characters that are valid characters in my IDENTIFIER expression.
I had the almost same problem parsing Fortran to identify ".EQ." as a token and not
a wrong float number.
I had to declare it as a token AND as a rule in the lexer :
class LexF90 extends Lexer;
k = 3;
testLiterals=true;
caseSensitive=false;
caseSensitiveLiterals=false;
}
tokens {
EQ = ".eq.";
}
EQ : ".eq.";
NUM : ('0'..'9')+ ('.' ('0'..'9')*)? (EXPONENT)?
| '.' ('0'..'9')+ (EXPONENT)? ;
protected EXPONENT:('e') ('+'|'-')? ('0'..'9')+;
Rémi
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list