// $ANTLR 3.0.1 Cql.g3 2007-10-18 09:43:19

	package gr.uoa.di.driver.cql;


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

public class CqlLexer extends Lexer {
    public static final int WHITESPACE=7;
    public static final int T8=8;
    public static final int T9=9;
    public static final int Tokens=21;
    public static final int EOF=-1;
    public static final int T20=20;
    public static final int QUOTE=6;
    public static final int IDENTIFIER=4;
    public static final int T10=10;
    public static final int T11=11;
    public static final int T12=12;
    public static final int T13=13;
    public static final int T14=14;
    public static final int T15=15;
    public static final int T16=16;
    public static final int T17=17;
    public static final int T18=18;
    public static final int T19=19;
    public static final int STRING=5;
    public CqlLexer() {;} 
    public CqlLexer(CharStream input) {
        super(input);
    }
    public String getGrammarFileName() { return "Cql.g3"; }

    // $ANTLR start T8
    public final void mT8() throws RecognitionException {
        try {
            int _type = T8;
            // Cql.g3:10:4: ( '>' )
            // Cql.g3:10:6: '>'
            {
            match('>'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T8

    // $ANTLR start T9
    public final void mT9() throws RecognitionException {
        try {
            int _type = T9;
            // Cql.g3:11:4: ( '=' )
            // Cql.g3:11:6: '='
            {
            match('='); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T9

    // $ANTLR start T10
    public final void mT10() throws RecognitionException {
        try {
            int _type = T10;
            // Cql.g3:12:5: ( 'and' )
            // Cql.g3:12:7: 'and'
            {
            match("and"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T10

    // $ANTLR start T11
    public final void mT11() throws RecognitionException {
        try {
            int _type = T11;
            // Cql.g3:13:5: ( 'or' )
            // Cql.g3:13:7: 'or'
            {
            match("or"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T11

    // $ANTLR start T12
    public final void mT12() throws RecognitionException {
        try {
            int _type = T12;
            // Cql.g3:14:5: ( 'not' )
            // Cql.g3:14:7: 'not'
            {
            match("not"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T12

    // $ANTLR start T13
    public final void mT13() throws RecognitionException {
        try {
            int _type = T13;
            // Cql.g3:15:5: ( 'prox' )
            // Cql.g3:15:7: 'prox'
            {
            match("prox"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T13

    // $ANTLR start T14
    public final void mT14() throws RecognitionException {
        try {
            int _type = T14;
            // Cql.g3:16:5: ( '/' )
            // Cql.g3:16:7: '/'
            {
            match('/'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T14

    // $ANTLR start T15
    public final void mT15() throws RecognitionException {
        try {
            int _type = T15;
            // Cql.g3:17:5: ( '(' )
            // Cql.g3:17:7: '('
            {
            match('('); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T15

    // $ANTLR start T16
    public final void mT16() throws RecognitionException {
        try {
            int _type = T16;
            // Cql.g3:18:5: ( ')' )
            // Cql.g3:18:7: ')'
            {
            match(')'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T16

    // $ANTLR start T17
    public final void mT17() throws RecognitionException {
        try {
            int _type = T17;
            // Cql.g3:19:5: ( '<' )
            // Cql.g3:19:7: '<'
            {
            match('<'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T17

    // $ANTLR start T18
    public final void mT18() throws RecognitionException {
        try {
            int _type = T18;
            // Cql.g3:20:5: ( '>=' )
            // Cql.g3:20:7: '>='
            {
            match(">="); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T18

    // $ANTLR start T19
    public final void mT19() throws RecognitionException {
        try {
            int _type = T19;
            // Cql.g3:21:5: ( '<=' )
            // Cql.g3:21:7: '<='
            {
            match("<="); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T19

    // $ANTLR start T20
    public final void mT20() throws RecognitionException {
        try {
            int _type = T20;
            // Cql.g3:22:5: ( '<>' )
            // Cql.g3:22:7: '<>'
            {
            match("<>"); 


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end T20

    // $ANTLR start QUOTE
    public final void mQUOTE() throws RecognitionException {
        try {
            int _type = QUOTE;
            // Cql.g3:103:7: ( '\"' )
            // Cql.g3:103:9: '\"'
            {
            match('\"'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end QUOTE

    // $ANTLR start WHITESPACE
    public final void mWHITESPACE() throws RecognitionException {
        try {
            int _type = WHITESPACE;
            // Cql.g3:104:12: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' ) )
            // Cql.g3:104:14: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
                input.consume();

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

            skip();

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end WHITESPACE

    // $ANTLR start STRING
    public final void mSTRING() throws RecognitionException {
        try {
            int _type = STRING;
            // Cql.g3:114:8: ( QUOTE ( '\\\\' QUOTE | ~ ( QUOTE ) )* QUOTE )
            // Cql.g3:115:3: QUOTE ( '\\\\' QUOTE | ~ ( QUOTE ) )* QUOTE
            {
            mQUOTE(); 
            // Cql.g3:115:10: ( '\\\\' QUOTE | ~ ( QUOTE ) )*
            loop1:
            do {
                int alt1=3;
                int LA1_0 = input.LA(1);

                if ( (LA1_0=='\\') ) {
                    int LA1_2 = input.LA(2);

                    if ( (LA1_2=='\"') ) {
                        int LA1_4 = input.LA(3);

                        if ( ((LA1_4>='\u0000' && LA1_4<='\uFFFE')) ) {
                            alt1=1;
                        }

                        else {
                            alt1=2;
                        }

                    }
                    else if ( ((LA1_2>='\u0000' && LA1_2<='!')||(LA1_2>='#' && LA1_2<='\uFFFE')) ) {
                        alt1=2;
                    }


                }
                else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFE')) ) {
                    alt1=2;
                }


                switch (alt1) {
            	case 1 :
            	    // Cql.g3:115:12: '\\\\' QUOTE
            	    {
            	    match('\\'); 
            	    mQUOTE(); 

            	    }
            	    break;
            	case 2 :
            	    // Cql.g3:115:26: ~ ( QUOTE )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();

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


            	    }
            	    break;

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

            mQUOTE(); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end STRING

    // $ANTLR start IDENTIFIER
    public final void mIDENTIFIER() throws RecognitionException {
        try {
            int _type = IDENTIFIER;
            // Cql.g3:128:12: ( (~ ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' | '(' | ')' | '=' | '<' | '>' | '/' | '\"' ) )+ )
            // Cql.g3:129:3: (~ ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' | '(' | ')' | '=' | '<' | '>' | '/' | '\"' ) )+
            {
            // Cql.g3:129:3: (~ ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' | '(' | ')' | '=' | '<' | '>' | '/' | '\"' ) )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0>='\u0000' && LA2_0<='\b')||LA2_0=='\u000B'||(LA2_0>='\u000E' && LA2_0<='\u001F')||LA2_0=='!'||(LA2_0>='#' && LA2_0<='\'')||(LA2_0>='*' && LA2_0<='.')||(LA2_0>='0' && LA2_0<=';')||(LA2_0>='?' && LA2_0<='\uFFFE')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // Cql.g3:129:5: ~ ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' | '(' | ')' | '=' | '<' | '>' | '/' | '\"' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||input.LA(1)=='\u000B'||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||(input.LA(1)>='#' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='.')||(input.LA(1)>='0' && input.LA(1)<=';')||(input.LA(1)>='?' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();

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


            	    }
            	    break;

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


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end IDENTIFIER

    public void mTokens() throws RecognitionException {
        // Cql.g3:1:8: ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | T18 | T19 | T20 | QUOTE | WHITESPACE | STRING | IDENTIFIER )
        int alt3=17;
        int LA3_0 = input.LA(1);

        if ( (LA3_0=='>') ) {
            int LA3_1 = input.LA(2);

            if ( (LA3_1=='=') ) {
                alt3=11;
            }
            else {
                alt3=1;}
        }
        else if ( (LA3_0=='=') ) {
            alt3=2;
        }
        else if ( (LA3_0=='a') ) {
            int LA3_3 = input.LA(2);

            if ( (LA3_3=='n') ) {
                int LA3_16 = input.LA(3);

                if ( (LA3_16=='d') ) {
                    int LA3_25 = input.LA(4);

                    if ( ((LA3_25>='\u0000' && LA3_25<='\b')||LA3_25=='\u000B'||(LA3_25>='\u000E' && LA3_25<='\u001F')||LA3_25=='!'||(LA3_25>='#' && LA3_25<='\'')||(LA3_25>='*' && LA3_25<='.')||(LA3_25>='0' && LA3_25<=';')||(LA3_25>='?' && LA3_25<='\uFFFE')) ) {
                        alt3=17;
                    }
                    else {
                        alt3=3;}
                }
                else {
                    alt3=17;}
            }
            else {
                alt3=17;}
        }
        else if ( (LA3_0=='o') ) {
            int LA3_4 = input.LA(2);

            if ( (LA3_4=='r') ) {
                int LA3_17 = input.LA(3);

                if ( ((LA3_17>='\u0000' && LA3_17<='\b')||LA3_17=='\u000B'||(LA3_17>='\u000E' && LA3_17<='\u001F')||LA3_17=='!'||(LA3_17>='#' && LA3_17<='\'')||(LA3_17>='*' && LA3_17<='.')||(LA3_17>='0' && LA3_17<=';')||(LA3_17>='?' && LA3_17<='\uFFFE')) ) {
                    alt3=17;
                }
                else {
                    alt3=4;}
            }
            else {
                alt3=17;}
        }
        else if ( (LA3_0=='n') ) {
            int LA3_5 = input.LA(2);

            if ( (LA3_5=='o') ) {
                int LA3_18 = input.LA(3);

                if ( (LA3_18=='t') ) {
                    int LA3_27 = input.LA(4);

                    if ( ((LA3_27>='\u0000' && LA3_27<='\b')||LA3_27=='\u000B'||(LA3_27>='\u000E' && LA3_27<='\u001F')||LA3_27=='!'||(LA3_27>='#' && LA3_27<='\'')||(LA3_27>='*' && LA3_27<='.')||(LA3_27>='0' && LA3_27<=';')||(LA3_27>='?' && LA3_27<='\uFFFE')) ) {
                        alt3=17;
                    }
                    else {
                        alt3=5;}
                }
                else {
                    alt3=17;}
            }
            else {
                alt3=17;}
        }
        else if ( (LA3_0=='p') ) {
            int LA3_6 = input.LA(2);

            if ( (LA3_6=='r') ) {
                int LA3_19 = input.LA(3);

                if ( (LA3_19=='o') ) {
                    int LA3_28 = input.LA(4);

                    if ( (LA3_28=='x') ) {
                        int LA3_31 = input.LA(5);

                        if ( ((LA3_31>='\u0000' && LA3_31<='\b')||LA3_31=='\u000B'||(LA3_31>='\u000E' && LA3_31<='\u001F')||LA3_31=='!'||(LA3_31>='#' && LA3_31<='\'')||(LA3_31>='*' && LA3_31<='.')||(LA3_31>='0' && LA3_31<=';')||(LA3_31>='?' && LA3_31<='\uFFFE')) ) {
                            alt3=17;
                        }
                        else {
                            alt3=6;}
                    }
                    else {
                        alt3=17;}
                }
                else {
                    alt3=17;}
            }
            else {
                alt3=17;}
        }
        else if ( (LA3_0=='/') ) {
            alt3=7;
        }
        else if ( (LA3_0=='(') ) {
            alt3=8;
        }
        else if ( (LA3_0==')') ) {
            alt3=9;
        }
        else if ( (LA3_0=='<') ) {
            switch ( input.LA(2) ) {
            case '>':
                {
                alt3=13;
                }
                break;
            case '=':
                {
                alt3=12;
                }
                break;
            default:
                alt3=10;}

        }
        else if ( (LA3_0=='\"') ) {
            int LA3_11 = input.LA(2);

            if ( ((LA3_11>='\u0000' && LA3_11<='\uFFFE')) ) {
                alt3=16;
            }
            else {
                alt3=14;}
        }
        else if ( ((LA3_0>='\t' && LA3_0<='\n')||(LA3_0>='\f' && LA3_0<='\r')||LA3_0==' ') ) {
            alt3=15;
        }
        else if ( ((LA3_0>='\u0000' && LA3_0<='\b')||LA3_0=='\u000B'||(LA3_0>='\u000E' && LA3_0<='\u001F')||LA3_0=='!'||(LA3_0>='#' && LA3_0<='\'')||(LA3_0>='*' && LA3_0<='.')||(LA3_0>='0' && LA3_0<=';')||(LA3_0>='?' && LA3_0<='`')||(LA3_0>='b' && LA3_0<='m')||(LA3_0>='q' && LA3_0<='\uFFFE')) ) {
            alt3=17;
        }
        else {
            NoViableAltException nvae =
                new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | T18 | T19 | T20 | QUOTE | WHITESPACE | STRING | IDENTIFIER );", 3, 0, input);

            throw nvae;
        }
        switch (alt3) {
            case 1 :
                // Cql.g3:1:10: T8
                {
                mT8(); 

                }
                break;
            case 2 :
                // Cql.g3:1:13: T9
                {
                mT9(); 

                }
                break;
            case 3 :
                // Cql.g3:1:16: T10
                {
                mT10(); 

                }
                break;
            case 4 :
                // Cql.g3:1:20: T11
                {
                mT11(); 

                }
                break;
            case 5 :
                // Cql.g3:1:24: T12
                {
                mT12(); 

                }
                break;
            case 6 :
                // Cql.g3:1:28: T13
                {
                mT13(); 

                }
                break;
            case 7 :
                // Cql.g3:1:32: T14
                {
                mT14(); 

                }
                break;
            case 8 :
                // Cql.g3:1:36: T15
                {
                mT15(); 

                }
                break;
            case 9 :
                // Cql.g3:1:40: T16
                {
                mT16(); 

                }
                break;
            case 10 :
                // Cql.g3:1:44: T17
                {
                mT17(); 

                }
                break;
            case 11 :
                // Cql.g3:1:48: T18
                {
                mT18(); 

                }
                break;
            case 12 :
                // Cql.g3:1:52: T19
                {
                mT19(); 

                }
                break;
            case 13 :
                // Cql.g3:1:56: T20
                {
                mT20(); 

                }
                break;
            case 14 :
                // Cql.g3:1:60: QUOTE
                {
                mQUOTE(); 

                }
                break;
            case 15 :
                // Cql.g3:1:66: WHITESPACE
                {
                mWHITESPACE(); 

                }
                break;
            case 16 :
                // Cql.g3:1:77: STRING
                {
                mSTRING(); 

                }
                break;
            case 17 :
                // Cql.g3:1:84: IDENTIFIER
                {
                mIDENTIFIER(); 

                }
                break;

        }

    }


 

}