SQLLexer.java

// $ANTLR 3.2 Sep 23, 2009 12:02:23 SQL.g 2010-03-01 02:47:55

package edu.hawaii.ics.yucheng;

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class SQLLexer extends Lexer {
    public static final int EXPONENT=30;
    public static final int SQLTIME=60;
    public static final int SQLNOT=53;
    public static final int SQLTABLE=58;
    public static final int OCTAL_ESC=33;
    public static final int SQLDATE=40;
    public static final int CHAR=73;
    public static final int NONSEMICOLON=74;
    public static final int SQLPRIMARY=55;
    public static final int SQLTEXT=59;
    public static final int SQLTINYINT=62;
    public static final int FLOAT=69;
    public static final int SQLKEY=47;
    public static final int ID=67;
    public static final int EOF=-1;
    public static final int SQLINT=46;
    public static final int SQLSELECT=56;
    public static final int ESC_SEQ=34;
    public static final int SQLDATETIME=41;
    public static final int SQLTINYTEXT=63;
    public static final int SQLMEDIUMINT=51;
    public static final int SQLSMALLINT=57;
    public static final int SQLYEAR=66;
    public static final int SQLNULL=54;
    public static final int DIGIT=35;
    public static final int COMMENT=70;
    public static final int D=7;
    public static final int SQLVARCHAR=64;
    public static final int E=8;
    public static final int SQLDECIMAL=42;
    public static final int F=9;
    public static final int G=10;
    public static final int SQLLONGBLOB=48;
    public static final int A=5;
    public static final int B=4;
    public static final int SQLBIGINT=36;
    public static final int SQLLONGTEXT=49;
    public static final int C=6;
    public static final int L=15;
    public static final int M=16;
    public static final int N=17;
    public static final int O=18;
    public static final int H=11;
    public static final int SQLFROM=45;
    public static final int UNICODE_ESC=32;
    public static final int I=12;
    public static final int J=13;
    public static final int K=14;
    public static final int U=24;
    public static final int T=23;
    public static final int HEX_DIGIT=31;
    public static final int W=26;
    public static final int V=25;
    public static final int SQLCHAR=38;
    public static final int Q=20;
    public static final int INT=68;
    public static final int P=19;
    public static final int S=22;
    public static final int R=21;
    public static final int SQLCREATE=39;
    public static final int Y=28;
    public static final int X=27;
    public static final int SQLWHERE=65;
    public static final int Z=29;
    public static final int SQLFLOAT=44;
    public static final int WS=72;
    public static final int SQLTIMESTAMP=61;
    public static final int SQLBLOB=37;
    public static final int SQLMEDIUMTEXT=52;
    public static final int T__76=76;
    public static final int T__75=75;
    public static final int SQLMEDIUMBLOB=50;
    public static final int SQLDOUBLE=43;
    public static final int T__79=79;
    public static final int T__78=78;
    public static final int STRING=71;
    public static final int T__77=77;

    // delegates
    // delegators

    public SQLLexer() {;} 
    public SQLLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public SQLLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "SQL.g"; }

    // $ANTLR start "T__75"
    public final void mT__75() throws RecognitionException {
        try {
            int _type = T__75;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:6:7: ( '(' )
            // SQL.g:6:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__75"

    // $ANTLR start "T__76"
    public final void mT__76() throws RecognitionException {
        try {
            int _type = T__76;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:7:7: ( ')' )
            // SQL.g:7:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__76"

    // $ANTLR start "T__77"
    public final void mT__77() throws RecognitionException {
        try {
            int _type = T__77;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:8:7: ( ',' )
            // SQL.g:8:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__77"

    // $ANTLR start "T__78"
    public final void mT__78() throws RecognitionException {
        try {
            int _type = T__78;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:9:7: ( '*' )
            // SQL.g:9:9: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__78"

    // $ANTLR start "T__79"
    public final void mT__79() throws RecognitionException {
        try {
            int _type = T__79;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:10:7: ( ';' )
            // SQL.g:10:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__79"

    // $ANTLR start "B"
    public final void mB() throws RecognitionException {
        try {
            // SQL.g:21:25: ( ( 'b' | 'B' ) )
            // SQL.g:21:27: ( 'b' | 'B' )
            {
            if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "B"

    // $ANTLR start "A"
    public final void mA() throws RecognitionException {
        try {
            // SQL.g:22:25: ( ( 'a' | 'A' ) )
            // SQL.g:22:27: ( 'a' | 'A' )
            {
            if ( input.LA(1)=='A'||input.LA(1)=='a' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "A"

    // $ANTLR start "C"
    public final void mC() throws RecognitionException {
        try {
            // SQL.g:23:25: ( ( 'c' | 'C' ) )
            // SQL.g:23:27: ( 'c' | 'C' )
            {
            if ( input.LA(1)=='C'||input.LA(1)=='c' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "C"

    // $ANTLR start "D"
    public final void mD() throws RecognitionException {
        try {
            // SQL.g:24:25: ( ( 'd' | 'D' ) )
            // SQL.g:24:27: ( 'd' | 'D' )
            {
            if ( input.LA(1)=='D'||input.LA(1)=='d' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "D"

    // $ANTLR start "E"
    public final void mE() throws RecognitionException {
        try {
            // SQL.g:25:25: ( ( 'e' | 'E' ) )
            // SQL.g:25:27: ( 'e' | 'E' )
            {
            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "E"

    // $ANTLR start "F"
    public final void mF() throws RecognitionException {
        try {
            // SQL.g:26:25: ( ( 'f' | 'F' ) )
            // SQL.g:26:27: ( 'f' | 'F' )
            {
            if ( input.LA(1)=='F'||input.LA(1)=='f' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "F"

    // $ANTLR start "G"
    public final void mG() throws RecognitionException {
        try {
            // SQL.g:27:25: ( ( 'g' | 'G' ) )
            // SQL.g:27:27: ( 'g' | 'G' )
            {
            if ( input.LA(1)=='G'||input.LA(1)=='g' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "G"

    // $ANTLR start "H"
    public final void mH() throws RecognitionException {
        try {
            // SQL.g:28:25: ( ( 'h' | 'H' ) )
            // SQL.g:28:27: ( 'h' | 'H' )
            {
            if ( input.LA(1)=='H'||input.LA(1)=='h' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "H"

    // $ANTLR start "I"
    public final void mI() throws RecognitionException {
        try {
            // SQL.g:29:25: ( ( 'i' | 'I' ) )
            // SQL.g:29:27: ( 'i' | 'I' )
            {
            if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "I"

    // $ANTLR start "J"
    public final void mJ() throws RecognitionException {
        try {
            // SQL.g:30:25: ( ( 'j' | 'J' ) )
            // SQL.g:30:27: ( 'j' | 'J' )
            {
            if ( input.LA(1)=='J'||input.LA(1)=='j' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "J"

    // $ANTLR start "K"
    public final void mK() throws RecognitionException {
        try {
            // SQL.g:31:25: ( ( 'k' | 'K' ) )
            // SQL.g:31:27: ( 'k' | 'K' )
            {
            if ( input.LA(1)=='K'||input.LA(1)=='k' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "K"

    // $ANTLR start "L"
    public final void mL() throws RecognitionException {
        try {
            // SQL.g:32:25: ( ( 'l' | 'L' ) )
            // SQL.g:32:27: ( 'l' | 'L' )
            {
            if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "L"

    // $ANTLR start "M"
    public final void mM() throws RecognitionException {
        try {
            // SQL.g:33:25: ( ( 'm' | 'M' ) )
            // SQL.g:33:27: ( 'm' | 'M' )
            {
            if ( input.LA(1)=='M'||input.LA(1)=='m' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "M"

    // $ANTLR start "N"
    public final void mN() throws RecognitionException {
        try {
            // SQL.g:34:25: ( ( 'n' | 'N' ) )
            // SQL.g:34:27: ( 'n' | 'N' )
            {
            if ( input.LA(1)=='N'||input.LA(1)=='n' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "N"

    // $ANTLR start "O"
    public final void mO() throws RecognitionException {
        try {
            // SQL.g:35:25: ( ( 'o' | 'O' ) )
            // SQL.g:35:27: ( 'o' | 'O' )
            {
            if ( input.LA(1)=='O'||input.LA(1)=='o' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "O"

    // $ANTLR start "P"
    public final void mP() throws RecognitionException {
        try {
            // SQL.g:36:25: ( ( 'p' | 'P' ) )
            // SQL.g:36:27: ( 'p' | 'P' )
            {
            if ( input.LA(1)=='P'||input.LA(1)=='p' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "P"

    // $ANTLR start "Q"
    public final void mQ() throws RecognitionException {
        try {
            // SQL.g:37:25: ( ( 'q' | 'Q' ) )
            // SQL.g:37:27: ( 'q' | 'Q' )
            {
            if ( input.LA(1)=='Q'||input.LA(1)=='q' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Q"

    // $ANTLR start "R"
    public final void mR() throws RecognitionException {
        try {
            // SQL.g:38:25: ( ( 'r' | 'R' ) )
            // SQL.g:38:27: ( 'r' | 'R' )
            {
            if ( input.LA(1)=='R'||input.LA(1)=='r' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "R"

    // $ANTLR start "S"
    public final void mS() throws RecognitionException {
        try {
            // SQL.g:39:25: ( ( 's' | 'S' ) )
            // SQL.g:39:27: ( 's' | 'S' )
            {
            if ( input.LA(1)=='S'||input.LA(1)=='s' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "S"

    // $ANTLR start "T"
    public final void mT() throws RecognitionException {
        try {
            // SQL.g:40:25: ( ( 't' | 'T' ) )
            // SQL.g:40:27: ( 't' | 'T' )
            {
            if ( input.LA(1)=='T'||input.LA(1)=='t' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "T"

    // $ANTLR start "U"
    public final void mU() throws RecognitionException {
        try {
            // SQL.g:41:25: ( ( 'u' | 'U' ) )
            // SQL.g:41:27: ( 'u' | 'U' )
            {
            if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "U"

    // $ANTLR start "V"
    public final void mV() throws RecognitionException {
        try {
            // SQL.g:42:25: ( ( 'v' | 'V' ) )
            // SQL.g:42:27: ( 'v' | 'V' )
            {
            if ( input.LA(1)=='V'||input.LA(1)=='v' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "V"

    // $ANTLR start "W"
    public final void mW() throws RecognitionException {
        try {
            // SQL.g:43:25: ( ( 'w' | 'W' ) )
            // SQL.g:43:27: ( 'w' | 'W' )
            {
            if ( input.LA(1)=='W'||input.LA(1)=='w' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "W"

    // $ANTLR start "X"
    public final void mX() throws RecognitionException {
        try {
            // SQL.g:44:25: ( ( 'x' | 'X' ) )
            // SQL.g:44:27: ( 'x' | 'X' )
            {
            if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "X"

    // $ANTLR start "Y"
    public final void mY() throws RecognitionException {
        try {
            // SQL.g:45:25: ( ( 'y' | 'Y' ) )
            // SQL.g:45:27: ( 'y' | 'Y' )
            {
            if ( input.LA(1)=='Y'||input.LA(1)=='y' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Y"

    // $ANTLR start "Z"
    public final void mZ() throws RecognitionException {
        try {
            // SQL.g:46:25: ( ( 'z' | 'Z' ) )
            // SQL.g:46:27: ( 'z' | 'Z' )
            {
            if ( input.LA(1)=='Z'||input.LA(1)=='z' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "Z"

    // $ANTLR start "EXPONENT"
    public final void mEXPONENT() throws RecognitionException {
        try {
            // SQL.g:48:25: ( E ( '+' | '-' )? ( '0' .. '9' )+ )
            // SQL.g:48:27: E ( '+' | '-' )? ( '0' .. '9' )+
            {
            mE(); 
            // SQL.g:48:29: ( '+' | '-' )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0=='+'||LA1_0=='-') ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // SQL.g:
                    {
                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }

            // SQL.g:48:40: ( '0' .. '9' )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // SQL.g:48:41: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            }

        }
        finally {
        }
    }
    // $ANTLR end "EXPONENT"

    // $ANTLR start "HEX_DIGIT"
    public final void mHEX_DIGIT() throws RecognitionException {
        try {
            // SQL.g:51:25: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
            // SQL.g:51:27: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
            {
            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "HEX_DIGIT"

    // $ANTLR start "ESC_SEQ"
    public final void mESC_SEQ() throws RecognitionException {
        try {
            // SQL.g:54:25: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
            int alt3=3;
            int LA3_0 = input.LA(1);

            if ( (LA3_0=='\\') ) {
                switch ( input.LA(2) ) {
                case '\"':
                case '\'':
                case '\\':
                case 'b':
                case 'f':
                case 'n':
                case 'r':
                case 't':
                    {
                    alt3=1;
                    }
                    break;
                case 'u':
                    {
                    alt3=2;
                    }
                    break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                    {
                    alt3=3;
                    }
                    break;
                default:
                    NoViableAltException nvae =
                        new NoViableAltException("", 3, 1, input);

                    throw nvae;
                }

            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // SQL.g:54:27: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                    {
                    match('\\'); 
                    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;
                case 2 :
                    // SQL.g:55:27: UNICODE_ESC
                    {
                    mUNICODE_ESC(); 

                    }
                    break;
                case 3 :
                    // SQL.g:56:27: OCTAL_ESC
                    {
                    mOCTAL_ESC(); 

                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "ESC_SEQ"

    // $ANTLR start "OCTAL_ESC"
    public final void mOCTAL_ESC() throws RecognitionException {
        try {
            // SQL.g:59:25: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
            int alt4=3;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='\\') ) {
                int LA4_1 = input.LA(2);

                if ( ((LA4_1>='0' && LA4_1<='3')) ) {
                    int LA4_2 = input.LA(3);

                    if ( ((LA4_2>='0' && LA4_2<='7')) ) {
                        int LA4_4 = input.LA(4);

                        if ( ((LA4_4>='0' && LA4_4<='7')) ) {
                            alt4=1;
                        }
                        else {
                            alt4=2;}
                    }
                    else {
                        alt4=3;}
                }
                else if ( ((LA4_1>='4' && LA4_1<='7')) ) {
                    int LA4_3 = input.LA(3);

                    if ( ((LA4_3>='0' && LA4_3<='7')) ) {
                        alt4=2;
                    }
                    else {
                        alt4=3;}
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 4, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // SQL.g:59:27: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 
                    // SQL.g:59:32: ( '0' .. '3' )
                    // SQL.g:59:33: '0' .. '3'
                    {
                    matchRange('0','3'); 

                    }

                    // SQL.g:59:43: ( '0' .. '7' )
                    // SQL.g:59:44: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }

                    // SQL.g:59:54: ( '0' .. '7' )
                    // SQL.g:59:55: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;
                case 2 :
                    // SQL.g:60:27: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 
                    // SQL.g:60:32: ( '0' .. '7' )
                    // SQL.g:60:33: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }

                    // SQL.g:60:43: ( '0' .. '7' )
                    // SQL.g:60:44: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;
                case 3 :
                    // SQL.g:61:27: '\\\\' ( '0' .. '7' )
                    {
                    match('\\'); 
                    // SQL.g:61:32: ( '0' .. '7' )
                    // SQL.g:61:33: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "OCTAL_ESC"

    // $ANTLR start "UNICODE_ESC"
    public final void mUNICODE_ESC() throws RecognitionException {
        try {
            // SQL.g:64:25: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
            // SQL.g:64:27: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
            {
            match('\\'); 
            match('u'); 
            mHEX_DIGIT(); 
            mHEX_DIGIT(); 
            mHEX_DIGIT(); 
            mHEX_DIGIT(); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "UNICODE_ESC"

    // $ANTLR start "DIGIT"
    public final void mDIGIT() throws RecognitionException {
        try {
            // SQL.g:67:25: ( '0' .. '9' )
            // SQL.g:67:27: '0' .. '9'
            {
            matchRange('0','9'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end "DIGIT"

    // $ANTLR start "SQLBIGINT"
    public final void mSQLBIGINT() throws RecognitionException {
        try {
            int _type = SQLBIGINT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:70:25: ( B I G I N T )
            // SQL.g:70:27: B I G I N T
            {
            mB(); 
            mI(); 
            mG(); 
            mI(); 
            mN(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLBIGINT"

    // $ANTLR start "SQLBLOB"
    public final void mSQLBLOB() throws RecognitionException {
        try {
            int _type = SQLBLOB;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:73:25: ( B L O B )
            // SQL.g:73:27: B L O B
            {
            mB(); 
            mL(); 
            mO(); 
            mB(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLBLOB"

    // $ANTLR start "SQLCHAR"
    public final void mSQLCHAR() throws RecognitionException {
        try {
            int _type = SQLCHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:76:25: ( C H A R )
            // SQL.g:76:27: C H A R
            {
            mC(); 
            mH(); 
            mA(); 
            mR(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLCHAR"

    // $ANTLR start "SQLCREATE"
    public final void mSQLCREATE() throws RecognitionException {
        try {
            int _type = SQLCREATE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:79:25: ( C R E A T E )
            // SQL.g:79:27: C R E A T E
            {
            mC(); 
            mR(); 
            mE(); 
            mA(); 
            mT(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLCREATE"

    // $ANTLR start "SQLDATE"
    public final void mSQLDATE() throws RecognitionException {
        try {
            int _type = SQLDATE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:82:25: ( D A T E )
            // SQL.g:82:27: D A T E
            {
            mD(); 
            mA(); 
            mT(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLDATE"

    // $ANTLR start "SQLDATETIME"
    public final void mSQLDATETIME() throws RecognitionException {
        try {
            int _type = SQLDATETIME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:85:25: ( D A T E T I M E )
            // SQL.g:85:27: D A T E T I M E
            {
            mD(); 
            mA(); 
            mT(); 
            mE(); 
            mT(); 
            mI(); 
            mM(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLDATETIME"

    // $ANTLR start "SQLDECIMAL"
    public final void mSQLDECIMAL() throws RecognitionException {
        try {
            int _type = SQLDECIMAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:88:25: ( D E C I M A L )
            // SQL.g:88:27: D E C I M A L
            {
            mD(); 
            mE(); 
            mC(); 
            mI(); 
            mM(); 
            mA(); 
            mL(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLDECIMAL"

    // $ANTLR start "SQLDOUBLE"
    public final void mSQLDOUBLE() throws RecognitionException {
        try {
            int _type = SQLDOUBLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:91:25: ( D O U B L E )
            // SQL.g:91:27: D O U B L E
            {
            mD(); 
            mO(); 
            mU(); 
            mB(); 
            mL(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLDOUBLE"

    // $ANTLR start "SQLFLOAT"
    public final void mSQLFLOAT() throws RecognitionException {
        try {
            int _type = SQLFLOAT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:94:25: ( F L O A T )
            // SQL.g:94:27: F L O A T
            {
            mF(); 
            mL(); 
            mO(); 
            mA(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLFLOAT"

    // $ANTLR start "SQLFROM"
    public final void mSQLFROM() throws RecognitionException {
        try {
            int _type = SQLFROM;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:97:25: ( F R O M )
            // SQL.g:97:27: F R O M
            {
            mF(); 
            mR(); 
            mO(); 
            mM(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLFROM"

    // $ANTLR start "SQLINT"
    public final void mSQLINT() throws RecognitionException {
        try {
            int _type = SQLINT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:100:25: ( I N T | I N T E G E R )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0=='I'||LA5_0=='i') ) {
                int LA5_1 = input.LA(2);

                if ( (LA5_1=='N'||LA5_1=='n') ) {
                    int LA5_2 = input.LA(3);

                    if ( (LA5_2=='T'||LA5_2=='t') ) {
                        int LA5_3 = input.LA(4);

                        if ( (LA5_3=='E'||LA5_3=='e') ) {
                            alt5=2;
                        }
                        else {
                            alt5=1;}
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 5, 2, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 5, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // SQL.g:100:27: I N T
                    {
                    mI(); 
                    mN(); 
                    mT(); 

                    }
                    break;
                case 2 :
                    // SQL.g:101:27: I N T E G E R
                    {
                    mI(); 
                    mN(); 
                    mT(); 
                    mE(); 
                    mG(); 
                    mE(); 
                    mR(); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLINT"

    // $ANTLR start "SQLKEY"
    public final void mSQLKEY() throws RecognitionException {
        try {
            int _type = SQLKEY;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:104:25: ( K E Y )
            // SQL.g:104:27: K E Y
            {
            mK(); 
            mE(); 
            mY(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLKEY"

    // $ANTLR start "SQLLONGBLOB"
    public final void mSQLLONGBLOB() throws RecognitionException {
        try {
            int _type = SQLLONGBLOB;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:107:25: ( L O N G B L O B )
            // SQL.g:107:27: L O N G B L O B
            {
            mL(); 
            mO(); 
            mN(); 
            mG(); 
            mB(); 
            mL(); 
            mO(); 
            mB(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLLONGBLOB"

    // $ANTLR start "SQLLONGTEXT"
    public final void mSQLLONGTEXT() throws RecognitionException {
        try {
            int _type = SQLLONGTEXT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:110:25: ( L O N G T E X T )
            // SQL.g:110:27: L O N G T E X T
            {
            mL(); 
            mO(); 
            mN(); 
            mG(); 
            mT(); 
            mE(); 
            mX(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLLONGTEXT"

    // $ANTLR start "SQLMEDIUMBLOB"
    public final void mSQLMEDIUMBLOB() throws RecognitionException {
        try {
            int _type = SQLMEDIUMBLOB;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:113:25: ( M E D I U M B L O B )
            // SQL.g:113:27: M E D I U M B L O B
            {
            mM(); 
            mE(); 
            mD(); 
            mI(); 
            mU(); 
            mM(); 
            mB(); 
            mL(); 
            mO(); 
            mB(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLMEDIUMBLOB"

    // $ANTLR start "SQLMEDIUMINT"
    public final void mSQLMEDIUMINT() throws RecognitionException {
        try {
            int _type = SQLMEDIUMINT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:116:25: ( M E D I U M I N T )
            // SQL.g:116:27: M E D I U M I N T
            {
            mM(); 
            mE(); 
            mD(); 
            mI(); 
            mU(); 
            mM(); 
            mI(); 
            mN(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLMEDIUMINT"

    // $ANTLR start "SQLMEDIUMTEXT"
    public final void mSQLMEDIUMTEXT() throws RecognitionException {
        try {
            int _type = SQLMEDIUMTEXT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:119:25: ( M E D I U M T E X T )
            // SQL.g:119:27: M E D I U M T E X T
            {
            mM(); 
            mE(); 
            mD(); 
            mI(); 
            mU(); 
            mM(); 
            mT(); 
            mE(); 
            mX(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLMEDIUMTEXT"

    // $ANTLR start "SQLNOT"
    public final void mSQLNOT() throws RecognitionException {
        try {
            int _type = SQLNOT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:122:25: ( N O T )
            // SQL.g:122:27: N O T
            {
            mN(); 
            mO(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLNOT"

    // $ANTLR start "SQLNULL"
    public final void mSQLNULL() throws RecognitionException {
        try {
            int _type = SQLNULL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:125:25: ( N U L L )
            // SQL.g:125:27: N U L L
            {
            mN(); 
            mU(); 
            mL(); 
            mL(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLNULL"

    // $ANTLR start "SQLPRIMARY"
    public final void mSQLPRIMARY() throws RecognitionException {
        try {
            int _type = SQLPRIMARY;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:128:25: ( P R I M A R Y )
            // SQL.g:128:27: P R I M A R Y
            {
            mP(); 
            mR(); 
            mI(); 
            mM(); 
            mA(); 
            mR(); 
            mY(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLPRIMARY"

    // $ANTLR start "SQLSELECT"
    public final void mSQLSELECT() throws RecognitionException {
        try {
            int _type = SQLSELECT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:131:25: ( S E L E C T )
            // SQL.g:131:27: S E L E C T
            {
            mS(); 
            mE(); 
            mL(); 
            mE(); 
            mC(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLSELECT"

    // $ANTLR start "SQLSMALLINT"
    public final void mSQLSMALLINT() throws RecognitionException {
        try {
            int _type = SQLSMALLINT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:134:25: ( S M A L L I N T )
            // SQL.g:134:27: S M A L L I N T
            {
            mS(); 
            mM(); 
            mA(); 
            mL(); 
            mL(); 
            mI(); 
            mN(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLSMALLINT"

    // $ANTLR start "SQLTABLE"
    public final void mSQLTABLE() throws RecognitionException {
        try {
            int _type = SQLTABLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:137:25: ( T A B L E )
            // SQL.g:137:27: T A B L E
            {
            mT(); 
            mA(); 
            mB(); 
            mL(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTABLE"

    // $ANTLR start "SQLTEXT"
    public final void mSQLTEXT() throws RecognitionException {
        try {
            int _type = SQLTEXT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:140:25: ( T E X T )
            // SQL.g:140:27: T E X T
            {
            mT(); 
            mE(); 
            mX(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTEXT"

    // $ANTLR start "SQLTIME"
    public final void mSQLTIME() throws RecognitionException {
        try {
            int _type = SQLTIME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:143:25: ( T I M E )
            // SQL.g:143:27: T I M E
            {
            mT(); 
            mI(); 
            mM(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTIME"

    // $ANTLR start "SQLTIMESTAMP"
    public final void mSQLTIMESTAMP() throws RecognitionException {
        try {
            int _type = SQLTIMESTAMP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:146:25: ( T I M E S T A M P )
            // SQL.g:146:27: T I M E S T A M P
            {
            mT(); 
            mI(); 
            mM(); 
            mE(); 
            mS(); 
            mT(); 
            mA(); 
            mM(); 
            mP(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTIMESTAMP"

    // $ANTLR start "SQLTINYINT"
    public final void mSQLTINYINT() throws RecognitionException {
        try {
            int _type = SQLTINYINT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:149:25: ( T I N Y I N T )
            // SQL.g:149:27: T I N Y I N T
            {
            mT(); 
            mI(); 
            mN(); 
            mY(); 
            mI(); 
            mN(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTINYINT"

    // $ANTLR start "SQLTINYTEXT"
    public final void mSQLTINYTEXT() throws RecognitionException {
        try {
            int _type = SQLTINYTEXT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:152:25: ( T I N Y T E X T )
            // SQL.g:152:27: T I N Y T E X T
            {
            mT(); 
            mI(); 
            mN(); 
            mY(); 
            mT(); 
            mE(); 
            mX(); 
            mT(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLTINYTEXT"

    // $ANTLR start "SQLVARCHAR"
    public final void mSQLVARCHAR() throws RecognitionException {
        try {
            int _type = SQLVARCHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:155:25: ( V A R C H A R )
            // SQL.g:155:27: V A R C H A R
            {
            mV(); 
            mA(); 
            mR(); 
            mC(); 
            mH(); 
            mA(); 
            mR(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLVARCHAR"

    // $ANTLR start "SQLWHERE"
    public final void mSQLWHERE() throws RecognitionException {
        try {
            int _type = SQLWHERE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:158:25: ( W H E R E )
            // SQL.g:158:27: W H E R E
            {
            mW(); 
            mH(); 
            mE(); 
            mR(); 
            mE(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLWHERE"

    // $ANTLR start "SQLYEAR"
    public final void mSQLYEAR() throws RecognitionException {
        try {
            int _type = SQLYEAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:161:25: ( Y E A R )
            // SQL.g:161:27: Y E A R
            {
            mY(); 
            mE(); 
            mA(); 
            mR(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SQLYEAR"

    // $ANTLR start "ID"
    public final void mID() throws RecognitionException {
        try {
            int _type = ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:164:25: ( ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+ | '\\'' ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+ '\\'' )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='a' && LA10_0<='z')) ) {
                alt10=1;
            }
            else if ( (LA10_0=='\'') ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // SQL.g:164:27: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+
                    {
                    // SQL.g:164:27: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+
                    int cnt7=0;
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( ((LA7_0>='A' && LA7_0<='Z')||LA7_0=='_'||(LA7_0>='a' && LA7_0<='z')) ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // SQL.g:164:28: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* )
                    	    {
                    	    if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}

                    	    // SQL.g:164:54: ( ( DIGIT )* )
                    	    // SQL.g:164:55: ( DIGIT )*
                    	    {
                    	    // SQL.g:164:55: ( DIGIT )*
                    	    loop6:
                    	    do {
                    	        int alt6=2;
                    	        int LA6_0 = input.LA(1);

                    	        if ( ((LA6_0>='0' && LA6_0<='9')) ) {
                    	            alt6=1;
                    	        }


                    	        switch (alt6) {
                    	    	case 1 :
                    	    	    // SQL.g:164:56: DIGIT
                    	    	    {
                    	    	    mDIGIT(); 

                    	    	    }
                    	    	    break;

                    	    	default :
                    	    	    break loop6;
                    	        }
                    	    } while (true);


                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt7 >= 1 ) break loop7;
                                EarlyExitException eee =
                                    new EarlyExitException(7, input);
                                throw eee;
                        }
                        cnt7++;
                    } while (true);


                    }
                    break;
                case 2 :
                    // SQL.g:165:27: '\\'' ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+ '\\''
                    {
                    match('\''); 
                    // SQL.g:165:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* ) )+
                    int cnt9=0;
                    loop9:
                    do {
                        int alt9=2;
                        int LA9_0 = input.LA(1);

                        if ( ((LA9_0>='A' && LA9_0<='Z')||LA9_0=='_'||(LA9_0>='a' && LA9_0<='z')) ) {
                            alt9=1;
                        }


                        switch (alt9) {
                    	case 1 :
                    	    // SQL.g:165:33: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( DIGIT )* )
                    	    {
                    	    if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}

                    	    // SQL.g:165:59: ( ( DIGIT )* )
                    	    // SQL.g:165:60: ( DIGIT )*
                    	    {
                    	    // SQL.g:165:60: ( DIGIT )*
                    	    loop8:
                    	    do {
                    	        int alt8=2;
                    	        int LA8_0 = input.LA(1);

                    	        if ( ((LA8_0>='0' && LA8_0<='9')) ) {
                    	            alt8=1;
                    	        }


                    	        switch (alt8) {
                    	    	case 1 :
                    	    	    // SQL.g:165:61: DIGIT
                    	    	    {
                    	    	    mDIGIT(); 

                    	    	    }
                    	    	    break;

                    	    	default :
                    	    	    break loop8;
                    	        }
                    	    } while (true);


                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt9 >= 1 ) break loop9;
                                EarlyExitException eee =
                                    new EarlyExitException(9, input);
                                throw eee;
                        }
                        cnt9++;
                    } while (true);

                    match('\''); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "ID"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:168:25: ( ( '0' .. '9' )+ )
            // SQL.g:168:27: ( '0' .. '9' )+
            {
            // SQL.g:168:27: ( '0' .. '9' )+
            int cnt11=0;
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( ((LA11_0>='0' && LA11_0<='9')) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // SQL.g:168:27: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    if ( cnt11 >= 1 ) break loop11;
                        EarlyExitException eee =
                            new EarlyExitException(11, input);
                        throw eee;
                }
                cnt11++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "FLOAT"
    public final void mFLOAT() throws RecognitionException {
        try {
            int _type = FLOAT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:171:25: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT )
            int alt18=3;
            alt18 = dfa18.predict(input);
            switch (alt18) {
                case 1 :
                    // SQL.g:171:27: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )?
                    {
                    // SQL.g:171:27: ( '0' .. '9' )+
                    int cnt12=0;
                    loop12:
                    do {
                        int alt12=2;
                        int LA12_0 = input.LA(1);

                        if ( ((LA12_0>='0' && LA12_0<='9')) ) {
                            alt12=1;
                        }


                        switch (alt12) {
                    	case 1 :
                    	    // SQL.g:171:28: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt12 >= 1 ) break loop12;
                                EarlyExitException eee =
                                    new EarlyExitException(12, input);
                                throw eee;
                        }
                        cnt12++;
                    } while (true);

                    match('.'); 
                    // SQL.g:171:43: ( '0' .. '9' )*
                    loop13:
                    do {
                        int alt13=2;
                        int LA13_0 = input.LA(1);

                        if ( ((LA13_0>='0' && LA13_0<='9')) ) {
                            alt13=1;
                        }


                        switch (alt13) {
                    	case 1 :
                    	    // SQL.g:171:44: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    break loop13;
                        }
                    } while (true);

                    // SQL.g:171:55: ( EXPONENT )?
                    int alt14=2;
                    int LA14_0 = input.LA(1);

                    if ( (LA14_0=='E'||LA14_0=='e') ) {
                        alt14=1;
                    }
                    switch (alt14) {
                        case 1 :
                            // SQL.g:171:55: EXPONENT
                            {
                            mEXPONENT(); 

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // SQL.g:172:27: '.' ( '0' .. '9' )+ ( EXPONENT )?
                    {
                    match('.'); 
                    // SQL.g:172:31: ( '0' .. '9' )+
                    int cnt15=0;
                    loop15:
                    do {
                        int alt15=2;
                        int LA15_0 = input.LA(1);

                        if ( ((LA15_0>='0' && LA15_0<='9')) ) {
                            alt15=1;
                        }


                        switch (alt15) {
                    	case 1 :
                    	    // SQL.g:172:32: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt15 >= 1 ) break loop15;
                                EarlyExitException eee =
                                    new EarlyExitException(15, input);
                                throw eee;
                        }
                        cnt15++;
                    } while (true);

                    // SQL.g:172:43: ( EXPONENT )?
                    int alt16=2;
                    int LA16_0 = input.LA(1);

                    if ( (LA16_0=='E'||LA16_0=='e') ) {
                        alt16=1;
                    }
                    switch (alt16) {
                        case 1 :
                            // SQL.g:172:43: EXPONENT
                            {
                            mEXPONENT(); 

                            }
                            break;

                    }


                    }
                    break;
                case 3 :
                    // SQL.g:173:27: ( '0' .. '9' )+ EXPONENT
                    {
                    // SQL.g:173:27: ( '0' .. '9' )+
                    int cnt17=0;
                    loop17:
                    do {
                        int alt17=2;
                        int LA17_0 = input.LA(1);

                        if ( ((LA17_0>='0' && LA17_0<='9')) ) {
                            alt17=1;
                        }


                        switch (alt17) {
                    	case 1 :
                    	    // SQL.g:173:28: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt17 >= 1 ) break loop17;
                                EarlyExitException eee =
                                    new EarlyExitException(17, input);
                                throw eee;
                        }
                        cnt17++;
                    } while (true);

                    mEXPONENT(); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "FLOAT"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:176:25: ( '--' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '/*' ( options {greedy=false; } : . )* '*/' )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0=='-') ) {
                alt22=1;
            }
            else if ( (LA22_0=='/') ) {
                alt22=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // SQL.g:176:27: '--' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
                    {
                    match("--"); 

                    // SQL.g:176:32: (~ ( '\\n' | '\\r' ) )*
                    loop19:
                    do {
                        int alt19=2;
                        int LA19_0 = input.LA(1);

                        if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\uFFFF')) ) {
                            alt19=1;
                        }


                        switch (alt19) {
                    	case 1 :
                    	    // SQL.g:176:32: ~ ( '\\n' | '\\r' )
                    	    {
                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}


                    	    }
                    	    break;

                    	default :
                    	    break loop19;
                        }
                    } while (true);

                    // SQL.g:176:46: ( '\\r' )?
                    int alt20=2;
                    int LA20_0 = input.LA(1);

                    if ( (LA20_0=='\r') ) {
                        alt20=1;
                    }
                    switch (alt20) {
                        case 1 :
                            // SQL.g:176:46: '\\r'
                            {
                            match('\r'); 

                            }
                            break;

                    }

                    match('\n'); 
                    _channel=HIDDEN;

                    }
                    break;
                case 2 :
                    // SQL.g:177:27: '/*' ( options {greedy=false; } : . )* '*/'
                    {
                    match("/*"); 

                    // SQL.g:177:32: ( options {greedy=false; } : . )*
                    loop21:
                    do {
                        int alt21=2;
                        int LA21_0 = input.LA(1);

                        if ( (LA21_0=='*') ) {
                            int LA21_1 = input.LA(2);

                            if ( (LA21_1=='/') ) {
                                alt21=2;
                            }
                            else if ( ((LA21_1>='\u0000' && LA21_1<='.')||(LA21_1>='0' && LA21_1<='\uFFFF')) ) {
                                alt21=1;
                            }


                        }
                        else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) ) {
                            alt21=1;
                        }


                        switch (alt21) {
                    	case 1 :
                    	    // SQL.g:177:60: .
                    	    {
                    	    matchAny(); 

                    	    }
                    	    break;

                    	default :
                    	    break loop21;
                        }
                    } while (true);

                    match("*/"); 

                    _channel=HIDDEN;

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "STRING"
    public final void mSTRING() throws RecognitionException {
        try {
            int _type = STRING;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:180:25: ( '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"' )
            // SQL.g:180:27: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'
            {
            match('\"'); 
            // SQL.g:180:31: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*
            loop23:
            do {
                int alt23=3;
                int LA23_0 = input.LA(1);

                if ( (LA23_0=='\\') ) {
                    alt23=1;
                }
                else if ( ((LA23_0>='\u0000' && LA23_0<='!')||(LA23_0>='#' && LA23_0<='[')||(LA23_0>=']' && LA23_0<='\uFFFF')) ) {
                    alt23=2;
                }


                switch (alt23) {
            	case 1 :
            	    // SQL.g:180:33: ESC_SEQ
            	    {
            	    mESC_SEQ(); 

            	    }
            	    break;
            	case 2 :
            	    // SQL.g:180:43: ~ ( '\\\\' | '\"' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "STRING"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:183:25: ( ( ' ' | '\\t' | '\\r' | '\\n' ) )
            // SQL.g:183:27: ( ' ' | '\\t' | '\\r' | '\\n' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "CHAR"
    public final void mCHAR() throws RecognitionException {
        try {
            int _type = CHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:186:25: ( '\\'' ( ESC_SEQ | ~ ( '\\'' | '\\\\' ) ) '\\'' )
            // SQL.g:186:27: '\\'' ( ESC_SEQ | ~ ( '\\'' | '\\\\' ) ) '\\''
            {
            match('\''); 
            // SQL.g:186:32: ( ESC_SEQ | ~ ( '\\'' | '\\\\' ) )
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0=='\\') ) {
                alt24=1;
            }
            else if ( ((LA24_0>='\u0000' && LA24_0<='&')||(LA24_0>='(' && LA24_0<='[')||(LA24_0>=']' && LA24_0<='\uFFFF')) ) {
                alt24=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 24, 0, input);

                throw nvae;
            }
            switch (alt24) {
                case 1 :
                    // SQL.g:186:34: ESC_SEQ
                    {
                    mESC_SEQ(); 

                    }
                    break;
                case 2 :
                    // SQL.g:186:44: ~ ( '\\'' | '\\\\' )
                    {
                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }

            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "CHAR"

    // $ANTLR start "NONSEMICOLON"
    public final void mNONSEMICOLON() throws RecognitionException {
        try {
            int _type = NONSEMICOLON;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // SQL.g:190:25: (~ ( ';' ) )
            // SQL.g:190:27: ~ ( ';' )
            {
            if ( (input.LA(1)>='\u0000' && input.LA(1)<=':')||(input.LA(1)>='<' && input.LA(1)<='\uFFFF') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "NONSEMICOLON"

    public void mTokens() throws RecognitionException {
        // SQL.g:1:8: ( T__75 | T__76 | T__77 | T__78 | T__79 | SQLBIGINT | SQLBLOB | SQLCHAR | SQLCREATE | SQLDATE | SQLDATETIME | SQLDECIMAL | SQLDOUBLE | SQLFLOAT | SQLFROM | SQLINT | SQLKEY | SQLLONGBLOB | SQLLONGTEXT | SQLMEDIUMBLOB | SQLMEDIUMINT | SQLMEDIUMTEXT | SQLNOT | SQLNULL | SQLPRIMARY | SQLSELECT | SQLSMALLINT | SQLTABLE | SQLTEXT | SQLTIME | SQLTIMESTAMP | SQLTINYINT | SQLTINYTEXT | SQLVARCHAR | SQLWHERE | SQLYEAR | ID | INT | FLOAT | COMMENT | STRING | WS | CHAR | NONSEMICOLON )
        int alt25=44;
        alt25 = dfa25.predict(input);
        switch (alt25) {
            case 1 :
                // SQL.g:1:10: T__75
                {
                mT__75(); 

                }
                break;
            case 2 :
                // SQL.g:1:16: T__76
                {
                mT__76(); 

                }
                break;
            case 3 :
                // SQL.g:1:22: T__77
                {
                mT__77(); 

                }
                break;
            case 4 :
                // SQL.g:1:28: T__78
                {
                mT__78(); 

                }
                break;
            case 5 :
                // SQL.g:1:34: T__79
                {
                mT__79(); 

                }
                break;
            case 6 :
                // SQL.g:1:40: SQLBIGINT
                {
                mSQLBIGINT(); 

                }
                break;
            case 7 :
                // SQL.g:1:50: SQLBLOB
                {
                mSQLBLOB(); 

                }
                break;
            case 8 :
                // SQL.g:1:58: SQLCHAR
                {
                mSQLCHAR(); 

                }
                break;
            case 9 :
                // SQL.g:1:66: SQLCREATE
                {
                mSQLCREATE(); 

                }
                break;
            case 10 :
                // SQL.g:1:76: SQLDATE
                {
                mSQLDATE(); 

                }
                break;
            case 11 :
                // SQL.g:1:84: SQLDATETIME
                {
                mSQLDATETIME(); 

                }
                break;
            case 12 :
                // SQL.g:1:96: SQLDECIMAL
                {
                mSQLDECIMAL(); 

                }
                break;
            case 13 :
                // SQL.g:1:107: SQLDOUBLE
                {
                mSQLDOUBLE(); 

                }
                break;
            case 14 :
                // SQL.g:1:117: SQLFLOAT
                {
                mSQLFLOAT(); 

                }
                break;
            case 15 :
                // SQL.g:1:126: SQLFROM
                {
                mSQLFROM(); 

                }
                break;
            case 16 :
                // SQL.g:1:134: SQLINT
                {
                mSQLINT(); 

                }
                break;
            case 17 :
                // SQL.g:1:141: SQLKEY
                {
                mSQLKEY(); 

                }
                break;
            case 18 :
                // SQL.g:1:148: SQLLONGBLOB
                {
                mSQLLONGBLOB(); 

                }
                break;
            case 19 :
                // SQL.g:1:160: SQLLONGTEXT
                {
                mSQLLONGTEXT(); 

                }
                break;
            case 20 :
                // SQL.g:1:172: SQLMEDIUMBLOB
                {
                mSQLMEDIUMBLOB(); 

                }
                break;
            case 21 :
                // SQL.g:1:186: SQLMEDIUMINT
                {
                mSQLMEDIUMINT(); 

                }
                break;
            case 22 :
                // SQL.g:1:199: SQLMEDIUMTEXT
                {
                mSQLMEDIUMTEXT(); 

                }
                break;
            case 23 :
                // SQL.g:1:213: SQLNOT
                {
                mSQLNOT(); 

                }
                break;
            case 24 :
                // SQL.g:1:220: SQLNULL
                {
                mSQLNULL(); 

                }
                break;
            case 25 :
                // SQL.g:1:228: SQLPRIMARY
                {
                mSQLPRIMARY(); 

                }
                break;
            case 26 :
                // SQL.g:1:239: SQLSELECT
                {
                mSQLSELECT(); 

                }
                break;
            case 27 :
                // SQL.g:1:249: SQLSMALLINT
                {
                mSQLSMALLINT(); 

                }
                break;
            case 28 :
                // SQL.g:1:261: SQLTABLE
                {
                mSQLTABLE(); 

                }
                break;
            case 29 :
                // SQL.g:1:270: SQLTEXT
                {
                mSQLTEXT(); 

                }
                break;
            case 30 :
                // SQL.g:1:278: SQLTIME
                {
                mSQLTIME(); 

                }
                break;
            case 31 :
                // SQL.g:1:286: SQLTIMESTAMP
                {
                mSQLTIMESTAMP(); 

                }
                break;
            case 32 :
                // SQL.g:1:299: SQLTINYINT
                {
                mSQLTINYINT(); 

                }
                break;
            case 33 :
                // SQL.g:1:310: SQLTINYTEXT
                {
                mSQLTINYTEXT(); 

                }
                break;
            case 34 :
                // SQL.g:1:322: SQLVARCHAR
                {
                mSQLVARCHAR(); 

                }
                break;
            case 35 :
                // SQL.g:1:333: SQLWHERE
                {
                mSQLWHERE(); 

                }
                break;
            case 36 :
                // SQL.g:1:342: SQLYEAR
                {
                mSQLYEAR(); 

                }
                break;
            case 37 :
                // SQL.g:1:350: ID
                {
                mID(); 

                }
                break;
            case 38 :
                // SQL.g:1:353: INT
                {
                mINT(); 

                }
                break;
            case 39 :
                // SQL.g:1:357: FLOAT
                {
                mFLOAT(); 

                }
                break;
            case 40 :
                // SQL.g:1:363: COMMENT
                {
                mCOMMENT(); 

                }
                break;
            case 41 :
                // SQL.g:1:371: STRING
                {
                mSTRING(); 

                }
                break;
            case 42 :
                // SQL.g:1:378: WS
                {
                mWS(); 

                }
                break;
            case 43 :
                // SQL.g:1:381: CHAR
                {
                mCHAR(); 

                }
                break;
            case 44 :
                // SQL.g:1:386: NONSEMICOLON
                {
                mNONSEMICOLON(); 

                }
                break;

        }

    }


    protected DFA18 dfa18 = new DFA18(this);
    protected DFA25 dfa25 = new DFA25(this);
    static final String DFA18_eotS =
        "\5\uffff";
    static final String DFA18_eofS =
        "\5\uffff";
    static final String DFA18_minS =
        "\2\56\3\uffff";
    static final String DFA18_maxS =
        "\1\71\1\145\3\uffff";
    static final String DFA18_acceptS =
        "\2\uffff\1\2\1\1\1\3";
    static final String DFA18_specialS =
        "\5\uffff}>";
    static final String[] DFA18_transitionS = {
            "\1\2\1\uffff\12\1",
            "\1\3\1\uffff\12\1\13\uffff\1\4\37\uffff\1\4",
            "",
            "",
            ""
    };

    static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
    static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
    static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
    static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
    static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
    static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
    static final short[][] DFA18_transition;

    static {
        int numStates = DFA18_transitionS.length;
        DFA18_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
        }
    }

    class DFA18 extends DFA {

        public DFA18(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 18;
            this.eot = DFA18_eot;
            this.eof = DFA18_eof;
            this.min = DFA18_min;
            this.max = DFA18_max;
            this.accept = DFA18_accept;
            this.special = DFA18_special;
            this.transition = DFA18_transition;
        }
        public String getDescription() {
            return "171:1: FLOAT : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT );";
        }
    }
    static final String DFA25_eotS =
        "\6\uffff\17\42\1\uffff\1\35\1\77\4\35\7\uffff\30\42\3\uffff\1\77"+
        "\4\uffff\11\42\1\146\1\150\3\42\1\154\12\42\1\uffff\1\42\1\170\1"+
        "\42\1\172\1\173\2\42\1\177\1\42\1\uffff\1\42\1\uffff\2\42\1\u0085"+
        "\1\uffff\3\42\1\u0089\2\42\1\u008e\2\42\1\u0091\1\42\1\uffff\1\42"+
        "\2\uffff\3\42\1\uffff\1\u0097\4\42\1\uffff\3\42\1\uffff\3\42\1\u00a2"+
        "\1\uffff\1\42\1\u00a4\1\uffff\1\u00a5\1\u00a6\1\42\1\u00a8\1\42"+
        "\1\uffff\6\42\1\u00b2\3\42\1\uffff\1\42\3\uffff\1\42\1\uffff\1\u00b8"+
        "\1\146\5\42\1\u00be\1\42\1\uffff\2\42\1\u00c2\1\u00c3\1\u00c4\1"+
        "\uffff\1\u00c5\1\u00c6\3\42\1\uffff\1\u00ca\1\42\1\u00cc\5\uffff"+
        "\2\42\1\u00cf\1\uffff\1\u00d0\1\uffff\1\u00d1\1\u00d2\4\uffff";
    static final String DFA25_eofS =
        "\u00d3\uffff";
    static final String DFA25_minS =
        "\1\0\5\uffff\1\111\1\110\1\101\1\114\1\116\1\105\1\117\1\105\1"+
        "\117\1\122\1\105\2\101\1\110\1\105\1\uffff\1\0\1\56\1\60\1\55\1"+
        "\52\1\0\7\uffff\1\107\1\117\1\105\1\101\1\124\1\125\1\103\2\117"+
        "\1\124\1\131\1\116\1\104\1\114\1\124\1\111\1\101\1\114\1\115\1\102"+
        "\1\130\1\122\1\105\1\101\1\uffff\1\47\1\uffff\1\56\4\uffff\1\111"+
        "\1\102\1\101\1\122\1\105\1\102\1\111\1\115\1\101\2\60\1\107\1\111"+
        "\1\114\1\60\1\115\1\114\2\105\1\131\1\114\1\124\1\103\2\122\1\uffff"+
        "\1\116\1\60\1\124\2\60\1\114\1\115\1\60\1\124\1\uffff\1\107\1\uffff"+
        "\1\102\1\125\1\60\1\uffff\1\101\1\114\1\103\1\60\1\111\1\105\1\60"+
        "\1\110\1\105\1\60\1\124\1\uffff\1\105\2\uffff\1\111\1\105\1\101"+
        "\1\uffff\1\60\1\105\1\114\1\105\1\115\1\uffff\1\122\1\111\1\124"+
        "\1\uffff\1\124\1\105\1\116\1\60\1\uffff\1\101\1\60\1\uffff\2\60"+
        "\1\115\1\60\1\114\1\uffff\1\122\1\117\1\130\1\102\1\131\1\116\1"+
        "\60\1\101\1\130\1\124\1\uffff\1\122\3\uffff\1\105\1\uffff\2\60\1"+
        "\102\1\124\1\105\1\114\1\116\1\60\1\124\1\uffff\1\115\1\124\3\60"+
        "\1\uffff\2\60\1\130\1\117\1\124\1\uffff\1\60\1\120\1\60\5\uffff"+
        "\1\124\1\102\1\60\1\uffff\1\60\1\uffff\2\60\4\uffff";
    static final String DFA25_maxS =
        "\1\uffff\5\uffff\1\154\1\162\1\157\1\162\1\156\1\145\1\157\1\145"+
        "\1\165\1\162\1\155\1\151\1\141\1\150\1\145\1\uffff\1\uffff\1\145"+
        "\1\71\1\55\1\52\1\uffff\7\uffff\1\147\1\157\1\145\1\141\1\164\1"+
        "\165\1\143\2\157\1\164\1\171\1\156\1\144\1\154\1\164\1\151\1\141"+
        "\1\154\1\156\1\142\1\170\1\162\1\145\1\141\1\uffff\1\172\1\uffff"+
        "\1\145\4\uffff\1\151\1\142\1\141\1\162\1\145\1\142\1\151\1\155\1"+
        "\141\2\172\1\147\1\151\1\154\1\172\1\155\1\154\2\145\1\171\1\154"+
        "\1\164\1\143\2\162\1\uffff\1\156\1\172\1\164\2\172\1\154\1\155\1"+
        "\172\1\164\1\uffff\1\147\1\uffff\1\164\1\165\1\172\1\uffff\1\141"+
        "\1\154\1\143\1\172\1\164\1\145\1\172\1\150\1\145\1\172\1\164\1\uffff"+
        "\1\145\2\uffff\1\151\1\145\1\141\1\uffff\1\172\1\145\1\154\1\145"+
        "\1\155\1\uffff\1\162\1\151\1\164\1\uffff\1\164\1\145\1\156\1\172"+
        "\1\uffff\1\141\1\172\1\uffff\2\172\1\155\1\172\1\154\1\uffff\1\162"+
        "\1\157\1\170\1\164\1\171\1\156\1\172\1\141\1\170\1\164\1\uffff\1"+
        "\162\3\uffff\1\145\1\uffff\2\172\1\142\1\164\1\145\1\154\1\156\1"+
        "\172\1\164\1\uffff\1\155\1\164\3\172\1\uffff\2\172\1\170\1\157\1"+
        "\164\1\uffff\1\172\1\160\1\172\5\uffff\1\164\1\142\1\172\1\uffff"+
        "\1\172\1\uffff\2\172\4\uffff";
    static final String DFA25_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\5\17\uffff\1\45\6\uffff\1\52\1\54\1"+
        "\1\1\2\1\3\1\4\1\45\30\uffff\1\53\1\uffff\1\47\1\uffff\1\46\1\50"+
        "\1\51\1\52\31\uffff\1\45\11\uffff\1\20\1\uffff\1\21\3\uffff\1\27"+
        "\13\uffff\1\7\1\uffff\1\10\1\12\3\uffff\1\17\5\uffff\1\30\3\uffff"+
        "\1\36\4\uffff\1\35\2\uffff\1\44\5\uffff\1\16\12\uffff\1\34\1\uffff"+
        "\1\43\1\6\1\11\1\uffff\1\15\11\uffff\1\32\5\uffff\1\14\5\uffff\1"+
        "\31\3\uffff\1\40\1\42\1\13\1\22\1\23\3\uffff\1\33\1\uffff\1\41\2"+
        "\uffff\1\25\1\37\1\26\1\24";
    static final String DFA25_specialS =
        "\1\1\25\uffff\1\0\4\uffff\1\2\u00b7\uffff}>";
    static final String[] DFA25_transitionS = {
            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\33\4\35\1\26\1\1\1"+
            "\2\1\4\1\35\1\3\1\31\1\30\1\32\12\27\1\35\1\5\5\35\1\25\1\6"+
            "\1\7\1\10\1\25\1\11\2\25\1\12\1\25\1\13\1\14\1\15\1\16\1\25"+
            "\1\17\2\25\1\20\1\21\1\25\1\22\1\23\1\25\1\24\1\25\4\35\1\25"+
            "\1\35\1\25\1\6\1\7\1\10\1\25\1\11\2\25\1\12\1\25\1\13\1\14\1"+
            "\15\1\16\1\25\1\17\2\25\1\20\1\21\1\25\1\22\1\23\1\25\1\24\1"+
            "\25\uff85\35",
            "",
            "",
            "",
            "",
            "",
            "\1\43\2\uffff\1\44\34\uffff\1\43\2\uffff\1\44",
            "\1\46\11\uffff\1\45\25\uffff\1\46\11\uffff\1\45",
            "\1\47\3\uffff\1\51\11\uffff\1\50\21\uffff\1\47\3\uffff\1\51"+
            "\11\uffff\1\50",
            "\1\53\5\uffff\1\52\31\uffff\1\53\5\uffff\1\52",
            "\1\54\37\uffff\1\54",
            "\1\55\37\uffff\1\55",
            "\1\56\37\uffff\1\56",
            "\1\57\37\uffff\1\57",
            "\1\61\5\uffff\1\60\31\uffff\1\61\5\uffff\1\60",
            "\1\62\37\uffff\1\62",
            "\1\64\7\uffff\1\63\27\uffff\1\64\7\uffff\1\63",
            "\1\66\3\uffff\1\67\3\uffff\1\65\27\uffff\1\66\3\uffff\1\67"+
            "\3\uffff\1\65",
            "\1\70\37\uffff\1\70",
            "\1\71\37\uffff\1\71",
            "\1\72\37\uffff\1\72",
            "",
            "\47\73\1\uffff\31\73\32\74\4\73\1\74\1\73\32\74\uff85\73",
            "\1\75\1\uffff\12\76\13\uffff\1\75\37\uffff\1\75",
            "\12\75",
            "\1\100",
            "\1\100",
            "\0\101",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\103\37\uffff\1\103",
            "\1\104\37\uffff\1\104",
            "\1\105\37\uffff\1\105",
            "\1\106\37\uffff\1\106",
            "\1\107\37\uffff\1\107",
            "\1\110\37\uffff\1\110",
            "\1\111\37\uffff\1\111",
            "\1\112\37\uffff\1\112",
            "\1\113\37\uffff\1\113",
            "\1\114\37\uffff\1\114",
            "\1\115\37\uffff\1\115",
            "\1\116\37\uffff\1\116",
            "\1\117\37\uffff\1\117",
            "\1\120\37\uffff\1\120",
            "\1\121\37\uffff\1\121",
            "\1\122\37\uffff\1\122",
            "\1\123\37\uffff\1\123",
            "\1\124\37\uffff\1\124",
            "\1\125\1\126\36\uffff\1\125\1\126",
            "\1\127\37\uffff\1\127",
            "\1\130\37\uffff\1\130",
            "\1\131\37\uffff\1\131",
            "\1\132\37\uffff\1\132",
            "\1\133\37\uffff\1\133",
            "",
            "\1\134\10\uffff\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32"+
            "\42",
            "",
            "\1\75\1\uffff\12\76\13\uffff\1\75\37\uffff\1\75",
            "",
            "",
            "",
            "",
            "\1\135\37\uffff\1\135",
            "\1\136\37\uffff\1\136",
            "\1\137\37\uffff\1\137",
            "\1\140\37\uffff\1\140",
            "\1\141\37\uffff\1\141",
            "\1\142\37\uffff\1\142",
            "\1\143\37\uffff\1\143",
            "\1\144\37\uffff\1\144",
            "\1\145\37\uffff\1\145",
            "\12\42\7\uffff\4\42\1\147\25\42\4\uffff\1\42\1\uffff\4\42"+
            "\1\147\25\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\151\37\uffff\1\151",
            "\1\152\37\uffff\1\152",
            "\1\153\37\uffff\1\153",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\155\37\uffff\1\155",
            "\1\156\37\uffff\1\156",
            "\1\157\37\uffff\1\157",
            "\1\160\37\uffff\1\160",
            "\1\161\37\uffff\1\161",
            "\1\162\37\uffff\1\162",
            "\1\163\37\uffff\1\163",
            "\1\164\37\uffff\1\164",
            "\1\165\37\uffff\1\165",
            "\1\166\37\uffff\1\166",
            "",
            "\1\167\37\uffff\1\167",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\171\37\uffff\1\171",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\23\42\1\174\6\42\4\uffff\1\42\1\uffff\23\42"+
            "\1\174\6\42",
            "\1\175\37\uffff\1\175",
            "\1\176\37\uffff\1\176",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0080\37\uffff\1\u0080",
            "",
            "\1\u0081\37\uffff\1\u0081",
            "",
            "\1\u0082\21\uffff\1\u0083\15\uffff\1\u0082\21\uffff\1\u0083",
            "\1\u0084\37\uffff\1\u0084",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u0086\37\uffff\1\u0086",
            "\1\u0087\37\uffff\1\u0087",
            "\1\u0088\37\uffff\1\u0088",
            "\12\42\7\uffff\22\42\1\u008a\7\42\4\uffff\1\42\1\uffff\22"+
            "\42\1\u008a\7\42",
            "\1\u008c\12\uffff\1\u008b\24\uffff\1\u008c\12\uffff\1\u008b",
            "\1\u008d\37\uffff\1\u008d",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u008f\37\uffff\1\u008f",
            "\1\u0090\37\uffff\1\u0090",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0092\37\uffff\1\u0092",
            "",
            "\1\u0093\37\uffff\1\u0093",
            "",
            "",
            "\1\u0094\37\uffff\1\u0094",
            "\1\u0095\37\uffff\1\u0095",
            "\1\u0096\37\uffff\1\u0096",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0098\37\uffff\1\u0098",
            "\1\u0099\37\uffff\1\u0099",
            "\1\u009a\37\uffff\1\u009a",
            "\1\u009b\37\uffff\1\u009b",
            "",
            "\1\u009c\37\uffff\1\u009c",
            "\1\u009d\37\uffff\1\u009d",
            "\1\u009e\37\uffff\1\u009e",
            "",
            "\1\u009f\37\uffff\1\u009f",
            "\1\u00a0\37\uffff\1\u00a0",
            "\1\u00a1\37\uffff\1\u00a1",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00a3\37\uffff\1\u00a3",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00a7\37\uffff\1\u00a7",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00a9\37\uffff\1\u00a9",
            "",
            "\1\u00aa\37\uffff\1\u00aa",
            "\1\u00ab\37\uffff\1\u00ab",
            "\1\u00ac\37\uffff\1\u00ac",
            "\1\u00ae\6\uffff\1\u00af\12\uffff\1\u00ad\15\uffff\1\u00ae"+
            "\6\uffff\1\u00af\12\uffff\1\u00ad",
            "\1\u00b0\37\uffff\1\u00b0",
            "\1\u00b1\37\uffff\1\u00b1",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00b3\37\uffff\1\u00b3",
            "\1\u00b4\37\uffff\1\u00b4",
            "\1\u00b5\37\uffff\1\u00b5",
            "",
            "\1\u00b6\37\uffff\1\u00b6",
            "",
            "",
            "",
            "\1\u00b7\37\uffff\1\u00b7",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00b9\37\uffff\1\u00b9",
            "\1\u00ba\37\uffff\1\u00ba",
            "\1\u00bb\37\uffff\1\u00bb",
            "\1\u00bc\37\uffff\1\u00bc",
            "\1\u00bd\37\uffff\1\u00bd",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00bf\37\uffff\1\u00bf",
            "",
            "\1\u00c0\37\uffff\1\u00c0",
            "\1\u00c1\37\uffff\1\u00c1",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00c7\37\uffff\1\u00c7",
            "\1\u00c8\37\uffff\1\u00c8",
            "\1\u00c9\37\uffff\1\u00c9",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00cb\37\uffff\1\u00cb",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "",
            "",
            "",
            "\1\u00cd\37\uffff\1\u00cd",
            "\1\u00ce\37\uffff\1\u00ce",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA25_eot = DFA.unpackEncodedString(DFA25_eotS);
    static final short[] DFA25_eof = DFA.unpackEncodedString(DFA25_eofS);
    static final char[] DFA25_min = DFA.unpackEncodedStringToUnsignedChars(DFA25_minS);
    static final char[] DFA25_max = DFA.unpackEncodedStringToUnsignedChars(DFA25_maxS);
    static final short[] DFA25_accept = DFA.unpackEncodedString(DFA25_acceptS);
    static final short[] DFA25_special = DFA.unpackEncodedString(DFA25_specialS);
    static final short[][] DFA25_transition;

    static {
        int numStates = DFA25_transitionS.length;
        DFA25_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA25_transition[i] = DFA.unpackEncodedString(DFA25_transitionS[i]);
        }
    }

    class DFA25 extends DFA {

        public DFA25(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 25;
            this.eot = DFA25_eot;
            this.eof = DFA25_eof;
            this.min = DFA25_min;
            this.max = DFA25_max;
            this.accept = DFA25_accept;
            this.special = DFA25_special;
            this.transition = DFA25_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__75 | T__76 | T__77 | T__78 | T__79 | SQLBIGINT | SQLBLOB | SQLCHAR | SQLCREATE | SQLDATE | SQLDATETIME | SQLDECIMAL | SQLDOUBLE | SQLFLOAT | SQLFROM | SQLINT | SQLKEY | SQLLONGBLOB | SQLLONGTEXT | SQLMEDIUMBLOB | SQLMEDIUMINT | SQLMEDIUMTEXT | SQLNOT | SQLNULL | SQLPRIMARY | SQLSELECT | SQLSMALLINT | SQLTABLE | SQLTEXT | SQLTIME | SQLTIMESTAMP | SQLTINYINT | SQLTINYTEXT | SQLVARCHAR | SQLWHERE | SQLYEAR | ID | INT | FLOAT | COMMENT | STRING | WS | CHAR | NONSEMICOLON );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA25_22 = input.LA(1);

                        s = -1;
                        if ( ((LA25_22>='\u0000' && LA25_22<='&')||(LA25_22>='(' && LA25_22<='@')||(LA25_22>='[' && LA25_22<='^')||LA25_22=='`'||(LA25_22>='{' && LA25_22<='\uFFFF')) ) {s = 59;}

                        else if ( ((LA25_22>='A' && LA25_22<='Z')||LA25_22=='_'||(LA25_22>='a' && LA25_22<='z')) ) {s = 60;}

                        else s = 29;

                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA25_0 = input.LA(1);

                        s = -1;
                        if ( (LA25_0=='(') ) {s = 1;}

                        else if ( (LA25_0==')') ) {s = 2;}

                        else if ( (LA25_0==',') ) {s = 3;}

                        else if ( (LA25_0=='*') ) {s = 4;}

                        else if ( (LA25_0==';') ) {s = 5;}

                        else if ( (LA25_0=='B'||LA25_0=='b') ) {s = 6;}

                        else if ( (LA25_0=='C'||LA25_0=='c') ) {s = 7;}

                        else if ( (LA25_0=='D'||LA25_0=='d') ) {s = 8;}

                        else if ( (LA25_0=='F'||LA25_0=='f') ) {s = 9;}

                        else if ( (LA25_0=='I'||LA25_0=='i') ) {s = 10;}

                        else if ( (LA25_0=='K'||LA25_0=='k') ) {s = 11;}

                        else if ( (LA25_0=='L'||LA25_0=='l') ) {s = 12;}

                        else if ( (LA25_0=='M'||LA25_0=='m') ) {s = 13;}

                        else if ( (LA25_0=='N'||LA25_0=='n') ) {s = 14;}

                        else if ( (LA25_0=='P'||LA25_0=='p') ) {s = 15;}

                        else if ( (LA25_0=='S'||LA25_0=='s') ) {s = 16;}

                        else if ( (LA25_0=='T'||LA25_0=='t') ) {s = 17;}

                        else if ( (LA25_0=='V'||LA25_0=='v') ) {s = 18;}

                        else if ( (LA25_0=='W'||LA25_0=='w') ) {s = 19;}

                        else if ( (LA25_0=='Y'||LA25_0=='y') ) {s = 20;}

                        else if ( (LA25_0=='A'||LA25_0=='E'||(LA25_0>='G' && LA25_0<='H')||LA25_0=='J'||LA25_0=='O'||(LA25_0>='Q' && LA25_0<='R')||LA25_0=='U'||LA25_0=='X'||LA25_0=='Z'||LA25_0=='_'||LA25_0=='a'||LA25_0=='e'||(LA25_0>='g' && LA25_0<='h')||LA25_0=='j'||LA25_0=='o'||(LA25_0>='q' && LA25_0<='r')||LA25_0=='u'||LA25_0=='x'||LA25_0=='z') ) {s = 21;}

                        else if ( (LA25_0=='\'') ) {s = 22;}

                        else if ( ((LA25_0>='0' && LA25_0<='9')) ) {s = 23;}

                        else if ( (LA25_0=='.') ) {s = 24;}

                        else if ( (LA25_0=='-') ) {s = 25;}

                        else if ( (LA25_0=='/') ) {s = 26;}

                        else if ( (LA25_0=='\"') ) {s = 27;}

                        else if ( ((LA25_0>='\t' && LA25_0<='\n')||LA25_0=='\r'||LA25_0==' ') ) {s = 28;}

                        else if ( ((LA25_0>='\u0000' && LA25_0<='\b')||(LA25_0>='\u000B' && LA25_0<='\f')||(LA25_0>='\u000E' && LA25_0<='\u001F')||LA25_0=='!'||(LA25_0>='#' && LA25_0<='&')||LA25_0=='+'||LA25_0==':'||(LA25_0>='<' && LA25_0<='@')||(LA25_0>='[' && LA25_0<='^')||LA25_0=='`'||(LA25_0>='{' && LA25_0<='\uFFFF')) ) {s = 29;}

                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA25_27 = input.LA(1);

                        s = -1;
                        if ( ((LA25_27>='\u0000' && LA25_27<='\uFFFF')) ) {s = 65;}

                        else s = 29;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 25, _s, input);
            error(nvae);
            throw nvae;
        }
    }
 

}
Valid HTML 4.01 Valid CSS