1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
// This file is part of PyANTLR. See LICENSE.txt for license
// details..........Copyright (C) Wolfgang Haefelinger, 2004.
//
// $Id$
options {
language = Python;
}
class unicode_l extends Lexer;
options {
// Allow any char but \uFFFF (16 bit -1)
charVocabulary='\u0000'..'\uFFFE';
}
{
done = False
def uponEOF(self):
done=True
def another(self):
pass
}
ID : ID_START_LETTER ( ID_LETTER )*
;
WS : (' '|'\n') {$skip}
;
protected
ID_START_LETTER
: '$'
| '_'
| 'a'..'z'
| '\u0080'..'\ufffe'
;
protected
ID_LETTER
: ID_START_LETTER
{
// got a LETTER_ID
// handle it
// whatever
}
| '0'..'9'
;
// ANTLR should actually allow this here. Would enable me to write
// something like:
//{
// if __name__ == '__main__' :
// ## test lexer
//
//}
|