ANTLRTokdefLexer.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:18k
- package antlr;
- /*
- * ANTLR-generated file resulting from grammar tokdef.g
- *
- * Terence Parr, MageLang Institute
- * ANTLR Version 2.7.0a2; 1989-1999
- */
- import java.io.InputStream;
- import java.io.Reader;
- import antlr.TokenStreamException;
- import antlr.TokenStreamIOException;
- import antlr.CharStreamException;
- import antlr.CharStreamIOException;
- import java.util.Hashtable;
- import antlr.CharScanner;
- import antlr.InputBuffer;
- import antlr.ByteBuffer;
- import antlr.CharBuffer;
- import antlr.Token;
- import antlr.CommonToken;
- import antlr.RecognitionException;
- import antlr.NoViableAltForCharException;
- import antlr.MismatchedCharException;
- import antlr.TokenStream;
- import antlr.ANTLRHashString;
- import antlr.LexerSharedInputState;
- import antlr.collections.impl.BitSet;
- public class ANTLRTokdefLexer extends antlr.CharScanner implements ANTLRTokdefParserTokenTypes, TokenStream
- {
- private static final long _tokenSet_0_data_[] = { -9224L, 9223372036854775807L, 0L, 0L };
- public static final BitSet _tokenSet_0 = new BitSet(_tokenSet_0_data_);
- private static final long _tokenSet_1_data_[] = { -140737488355336L, 9223372036854775807L, 0L, 0L };
- public static final BitSet _tokenSet_1 = new BitSet(_tokenSet_1_data_);
-
-
- public ANTLRTokdefLexer(InputBuffer ib) {
- this(new LexerSharedInputState(ib));
- }
- public ANTLRTokdefLexer(LexerSharedInputState state) {
- super(state);
- literals = new Hashtable();
- caseSensitiveLiterals = true;
- setCaseSensitive(true);
- }
- public ANTLRTokdefLexer(InputStream in) {
- this(new ByteBuffer(in));
- }
- public ANTLRTokdefLexer(Reader in) {
- this(new CharBuffer(in));
- }
- public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = ASSIGN;
- int _saveIndex;
-
- match('=');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = DIGIT;
- int _saveIndex;
-
- matchRange('0','9');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = ESC;
- int _saveIndex;
-
- match('\');
- {
- switch ( LA(1)) {
- case 'n':
- {
- match('n');
- break;
- }
- case 'r':
- {
- match('r');
- break;
- }
- case 't':
- {
- match('t');
- break;
- }
- case 'b':
- {
- match('b');
- break;
- }
- case 'f':
- {
- match('f');
- break;
- }
- case '"':
- {
- match('"');
- break;
- }
- case ''':
- {
- match(''');
- break;
- }
- case '\':
- {
- match('\');
- break;
- }
- case '0': case '1': case '2': case '3':
- {
- {
- matchRange('0','3');
- }
- {
- if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
- mDIGIT(false);
- {
- if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
- mDIGIT(false);
- }
- else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
- }
- else {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
-
- }
- }
- else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
- }
- else {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
-
- }
- break;
- }
- case '4': case '5': case '6': case '7':
- {
- {
- matchRange('4','7');
- }
- {
- if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '3' && LA(2) <= '~'))) {
- mDIGIT(false);
- }
- else if (((LA(1) >= '3' && LA(1) <= '~')) && (true)) {
- }
- else {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
-
- }
- break;
- }
- case 'u':
- {
- match('u');
- mXDIGIT(false);
- mXDIGIT(false);
- mXDIGIT(false);
- mXDIGIT(false);
- break;
- }
- default:
- {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
- }
- }
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mID(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = ID;
- int _saveIndex;
-
- {
- switch ( LA(1)) {
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p':
- case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- {
- matchRange('a','z');
- break;
- }
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F': case 'G': case 'H':
- case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P':
- case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- {
- matchRange('A','Z');
- break;
- }
- default:
- {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
- }
- }
- {
- _loop37:
- do {
- switch ( LA(1)) {
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p':
- case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- {
- matchRange('a','z');
- break;
- }
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F': case 'G': case 'H':
- case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P':
- case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- {
- matchRange('A','Z');
- break;
- }
- case '_':
- {
- match('_');
- break;
- }
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- case '8': case '9':
- {
- matchRange('0','9');
- break;
- }
- default:
- {
- break _loop37;
- }
- }
- } while (true);
- }
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mINT(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = INT;
- int _saveIndex;
-
- {
- int _cnt40=0;
- _loop40:
- do {
- if (((LA(1) >= '0' && LA(1) <= '9'))) {
- mDIGIT(false);
- }
- else {
- if ( _cnt40>=1 ) { break _loop40; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}
- }
-
- _cnt40++;
- } while (true);
- }
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = LPAREN;
- int _saveIndex;
-
- match('(');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mML_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = ML_COMMENT;
- int _saveIndex;
-
- match("/*");
- {
- _loop17:
- do {
- switch ( LA(1)) {
- case 'n':
- {
- match('n');
- newline();
- break;
- }
- case '3': case '4': case '5': case '6':
- case '7': case '10': case 't': case '13':
- case '14': case 'r': case '16': case '17':
- case '20': case '21': case '22': case '23':
- case '24': case '25': case '26': case '27':
- case '30': case '31': case '32': case '33':
- case '34': case '35': case '36': case '37':
- case ' ': case '!': case '"': case '#':
- case '$': case '%': case '&': case ''':
- case '(': case ')': case '+': case ',':
- case '-': case '.': case '/': case '0':
- case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8':
- case '9': case ':': case ';': case '<':
- case '=': case '>': case '?': case '@':
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F': case 'G': case 'H':
- case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P':
- case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z': case '[': case '\':
- case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p':
- case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z': case '{': case '|':
- case '}': case '~':
- {
- matchNot('*');
- break;
- }
- default:
- if ((LA(1)=='*') && (_tokenSet_1.member(LA(2)))) {
- match('*');
- matchNot('/');
- }
- else {
- break _loop17;
- }
- }
- } while (true);
- }
- match("*/");
- _ttype = Token.SKIP;
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = RPAREN;
- int _saveIndex;
-
- match(')');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = SL_COMMENT;
- int _saveIndex;
-
- match("//");
- {
- _loop12:
- do {
- if ((_tokenSet_0.member(LA(1)))) {
- {
- match(_tokenSet_0);
- }
- }
- else {
- break _loop12;
- }
-
- } while (true);
- }
- {
- switch ( LA(1)) {
- case 'n':
- {
- match('n');
- break;
- }
- case 'r':
- {
- match('r');
- {
- if ((LA(1)=='n')) {
- match('n');
- }
- else {
- }
-
- }
- break;
- }
- default:
- {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
- }
- }
- _ttype = Token.SKIP; newline();
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mSTRING(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = STRING;
- int _saveIndex;
-
- match('"');
- {
- _loop23:
- do {
- switch ( LA(1)) {
- case '\':
- {
- mESC(false);
- break;
- }
- case '3': case '4': case '5': case '6':
- case '7': case '10': case 't': case 'n':
- case '13': case '14': case 'r': case '16':
- case '17': case '20': case '21': case '22':
- case '23': case '24': case '25': case '26':
- case '27': case '30': case '31': case '32':
- case '33': case '34': case '35': case '36':
- case '37': case ' ': case '!': case '#':
- case '$': case '%': case '&': case ''':
- case '(': case ')': case '*': case '+':
- case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- case '8': case '9': case ':': case ';':
- case '<': case '=': case '>': case '?':
- case '@': case 'A': case 'B': case 'C':
- case 'D': case 'E': case 'F': case 'G':
- case 'H': case 'I': case 'J': case 'K':
- case 'L': case 'M': case 'N': case 'O':
- case 'P': case 'Q': case 'R': case 'S':
- case 'T': case 'U': case 'V': case 'W':
- case 'X': case 'Y': case 'Z': case '[':
- case ']': case '^': case '_': case '`':
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p':
- case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z': case '{': case '|':
- case '}': case '~':
- {
- matchNot('"');
- break;
- }
- default:
- {
- break _loop23;
- }
- }
- } while (true);
- }
- match('"');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- protected final void mVOCAB(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = VOCAB;
- int _saveIndex;
-
- matchRange('3','176');
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = WS;
- int _saveIndex;
-
- {
- switch ( LA(1)) {
- case ' ':
- {
- match(' ');
- break;
- }
- case 't':
- {
- match('t');
- break;
- }
- case 'r':
- {
- match('r');
- {
- if ((LA(1)=='n')) {
- match('n');
- }
- else {
- }
-
- }
- newline();
- break;
- }
- case 'n':
- {
- match('n');
- newline();
- break;
- }
- default:
- {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
- }
- }
- _ttype = Token.SKIP;
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- protected final void mXDIGIT(boolean _createToken) throws RecognitionException, CharStreamException {
- int _ttype; Token _token=null; int _begin=text.length();
- _ttype = XDIGIT;
- int _saveIndex;
-
- switch ( LA(1)) {
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- case '8': case '9':
- {
- matchRange('0','9');
- break;
- }
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f':
- {
- matchRange('a','f');
- break;
- }
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F':
- {
- matchRange('A','F');
- break;
- }
- default:
- {
- throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
- }
- }
- if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
- _token = makeToken(_ttype);
- _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
- }
- _returnToken = _token;
- }
- public Token nextToken() throws TokenStreamException {
- Token _rettoken=null;
- tryAgain:
- for (;;) {
- Token _token = null;
- int _ttype = Token.INVALID_TYPE;
- resetText();
- try {
- try { // for error handling
- switch ( LA(1)) {
- case 't': case 'n': case 'r': case ' ':
- {
- mWS(true);
- _rettoken=_returnToken;
- break;
- }
- case '(':
- {
- mLPAREN(true);
- _rettoken=_returnToken;
- break;
- }
- case ')':
- {
- mRPAREN(true);
- _rettoken=_returnToken;
- break;
- }
- case '=':
- {
- mASSIGN(true);
- _rettoken=_returnToken;
- break;
- }
- case '"':
- {
- mSTRING(true);
- _rettoken=_returnToken;
- break;
- }
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F': case 'G': case 'H':
- case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P':
- case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z': case 'a': case 'b':
- case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j':
- case 'k': case 'l': case 'm': case 'n':
- case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v':
- case 'w': case 'x': case 'y': case 'z':
- {
- mID(true);
- _rettoken=_returnToken;
- break;
- }
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- case '8': case '9':
- {
- mINT(true);
- _rettoken=_returnToken;
- break;
- }
- default:
- if ((LA(1)=='/') && (LA(2)=='/')) {
- mSL_COMMENT(true);
- _rettoken=_returnToken;
- }
- else if ((LA(1)=='/') && (LA(2)=='*')) {
- mML_COMMENT(true);
- _rettoken=_returnToken;
- }
- else {
- if (LA(1)==EOF_CHAR) {_returnToken = makeToken(Token.EOF_TYPE);}
- else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());}
- }
- }
- if ( _returnToken==null ) continue tryAgain; // found SKIP token
- _ttype = _returnToken.getType();
- _returnToken.setType(_ttype);
- return _returnToken;
- }
- catch (RecognitionException e) {
- reportError(e);
- consume();
- }
- }
-
- catch (CharStreamException cse) {
- if ( cse instanceof CharStreamIOException ) {
- throw new TokenStreamIOException(((CharStreamIOException)cse).io);
- }
- else {
- throw new TokenStreamException(cse.getMessage());
- }
- }
- }
- }
- }