All Downloads are FREE. Search and download functionalities are using the official Maven repository.

oenix.phoenix-core.4.1.0.source-code.PhoenixSQLLexer Maven / Gradle / Ivy

There is a newer version: 5.2.1
Show newest version
// $ANTLR 3.5 PhoenixSQL.g 2014-08-29 13:59:48

/**
 * Copyright 2010 The Apache Software Foundation
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.phoenix.parse;
///CLOVER:OFF


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

@SuppressWarnings("all")
public class PhoenixSQLLexer extends Lexer {
	public static final int EOF=-1;
	public static final int ADD=4;
	public static final int ALL=5;
	public static final int ALTER=6;
	public static final int AND=7;
	public static final int ANY=8;
	public static final int ARRAY=9;
	public static final int AS=10;
	public static final int ASC=11;
	public static final int ASTERISK=12;
	public static final int AT=13;
	public static final int BETWEEN=14;
	public static final int BIND_NAME=15;
	public static final int BY=16;
	public static final int CACHE=17;
	public static final int CASE=18;
	public static final int CAST=19;
	public static final int CHAR=20;
	public static final int CHAR_ESC=21;
	public static final int COLON=22;
	public static final int COLUMN=23;
	public static final int COMMA=24;
	public static final int COMMENT_AND_HINT_END=25;
	public static final int COMMENT_START=26;
	public static final int CONCAT=27;
	public static final int CONSTRAINT=28;
	public static final int CREATE=29;
	public static final int CURRENT=30;
	public static final int CYCLE=31;
	public static final int DBL_QUOTE_CHAR=32;
	public static final int DECIMAL=33;
	public static final int DELETE=34;
	public static final int DESC=35;
	public static final int DIGIT=36;
	public static final int DISABLE=37;
	public static final int DISTINCT=38;
	public static final int DIVIDE=39;
	public static final int DOT=40;
	public static final int DOUBLE=41;
	public static final int DOUBLE_EQ=42;
	public static final int DOUBLE_QUOTE=43;
	public static final int DROP=44;
	public static final int ELSE=45;
	public static final int END=46;
	public static final int EOL=47;
	public static final int EQ=48;
	public static final int EXISTS=49;
	public static final int EXPLAIN=50;
	public static final int FALSE=51;
	public static final int FIELDCHAR=52;
	public static final int FIRST=53;
	public static final int FOR=54;
	public static final int FROM=55;
	public static final int FULL=56;
	public static final int GROUP=57;
	public static final int GT=58;
	public static final int HAVING=59;
	public static final int HINT_START=60;
	public static final int IF=61;
	public static final int IN=62;
	public static final int INCLUDE=63;
	public static final int INCREMENT=64;
	public static final int INDEX=65;
	public static final int INNER=66;
	public static final int INTO=67;
	public static final int IS=68;
	public static final int JOIN=69;
	public static final int KEY=70;
	public static final int LAST=71;
	public static final int LCURLY=72;
	public static final int LEFT=73;
	public static final int LETTER=74;
	public static final int LIKE=75;
	public static final int LIMIT=76;
	public static final int LOCAL=77;
	public static final int LONG=78;
	public static final int LPAREN=79;
	public static final int LSQUARE=80;
	public static final int LT=81;
	public static final int MAXVALUE=82;
	public static final int MINUS=83;
	public static final int MINVALUE=84;
	public static final int ML_COMMENT=85;
	public static final int ML_HINT=86;
	public static final int NAME=87;
	public static final int NEXT=88;
	public static final int NOEQ1=89;
	public static final int NOEQ2=90;
	public static final int NOT=91;
	public static final int NULL=92;
	public static final int NULLS=93;
	public static final int NUMBER=94;
	public static final int ON=95;
	public static final int OR=96;
	public static final int ORDER=97;
	public static final int OUTER=98;
	public static final int OUTER_JOIN=99;
	public static final int PERCENT=100;
	public static final int PLUS=101;
	public static final int POSINTEGER=102;
	public static final int PRIMARY=103;
	public static final int QUESTION=104;
	public static final int RCURLY=105;
	public static final int REBUILD=106;
	public static final int RIGHT=107;
	public static final int RPAREN=108;
	public static final int RSQUARE=109;
	public static final int SELECT=110;
	public static final int SEMICOLON=111;
	public static final int SEQUENCE=112;
	public static final int SET=113;
	public static final int SL_COMMENT=114;
	public static final int SL_COMMENT1=115;
	public static final int SL_COMMENT2=116;
	public static final int SOME=117;
	public static final int SPLIT=118;
	public static final int START=119;
	public static final int STRING_LITERAL=120;
	public static final int TABLE=121;
	public static final int TABLES=122;
	public static final int THEN=123;
	public static final int TILDE=124;
	public static final int TRUE=125;
	public static final int UNUSABLE=126;
	public static final int UPSERT=127;
	public static final int USABLE=128;
	public static final int VALUE=129;
	public static final int VALUES=130;
	public static final int VIEW=131;
	public static final int WHEN=132;
	public static final int WHERE=133;
	public static final int WITH=134;
	public static final int WITHIN=135;
	public static final int WS=136;




	// delegates
	// delegators
	public Lexer[] getDelegates() {
		return new Lexer[] {};
	}

	public PhoenixSQLLexer() {} 
	public PhoenixSQLLexer(CharStream input) {
		this(input, new RecognizerSharedState());
	}
	public PhoenixSQLLexer(CharStream input, RecognizerSharedState state) {
		super(input,state);
	}
	@Override public String getGrammarFileName() { return "PhoenixSQL.g"; }

	// $ANTLR start "ADD"
	public final void mADD() throws RecognitionException {
		try {
			int _type = ADD;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:29:5: ( 'add' )
			// PhoenixSQL.g:29:7: 'add'
			{
			match("add"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ADD"

	// $ANTLR start "ALL"
	public final void mALL() throws RecognitionException {
		try {
			int _type = ALL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:30:5: ( 'all' )
			// PhoenixSQL.g:30:7: 'all'
			{
			match("all"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ALL"

	// $ANTLR start "ALTER"
	public final void mALTER() throws RecognitionException {
		try {
			int _type = ALTER;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:31:7: ( 'alter' )
			// PhoenixSQL.g:31:9: 'alter'
			{
			match("alter"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ALTER"

	// $ANTLR start "AND"
	public final void mAND() throws RecognitionException {
		try {
			int _type = AND;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:32:5: ( 'and' )
			// PhoenixSQL.g:32:7: 'and'
			{
			match("and"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "AND"

	// $ANTLR start "ANY"
	public final void mANY() throws RecognitionException {
		try {
			int _type = ANY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:33:5: ( 'any' )
			// PhoenixSQL.g:33:7: 'any'
			{
			match("any"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ANY"

	// $ANTLR start "ARRAY"
	public final void mARRAY() throws RecognitionException {
		try {
			int _type = ARRAY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:34:7: ( 'array' )
			// PhoenixSQL.g:34:9: 'array'
			{
			match("array"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ARRAY"

	// $ANTLR start "AS"
	public final void mAS() throws RecognitionException {
		try {
			int _type = AS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:35:4: ( 'as' )
			// PhoenixSQL.g:35:6: 'as'
			{
			match("as"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "AS"

	// $ANTLR start "ASC"
	public final void mASC() throws RecognitionException {
		try {
			int _type = ASC;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:36:5: ( 'asc' )
			// PhoenixSQL.g:36:7: 'asc'
			{
			match("asc"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ASC"

	// $ANTLR start "BETWEEN"
	public final void mBETWEEN() throws RecognitionException {
		try {
			int _type = BETWEEN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:37:9: ( 'between' )
			// PhoenixSQL.g:37:11: 'between'
			{
			match("between"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "BETWEEN"

	// $ANTLR start "BY"
	public final void mBY() throws RecognitionException {
		try {
			int _type = BY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:38:4: ( 'by' )
			// PhoenixSQL.g:38:6: 'by'
			{
			match("by"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "BY"

	// $ANTLR start "CACHE"
	public final void mCACHE() throws RecognitionException {
		try {
			int _type = CACHE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:39:7: ( 'cache' )
			// PhoenixSQL.g:39:9: 'cache'
			{
			match("cache"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CACHE"

	// $ANTLR start "CASE"
	public final void mCASE() throws RecognitionException {
		try {
			int _type = CASE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:40:6: ( 'case' )
			// PhoenixSQL.g:40:8: 'case'
			{
			match("case"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CASE"

	// $ANTLR start "CAST"
	public final void mCAST() throws RecognitionException {
		try {
			int _type = CAST;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:41:6: ( 'cast' )
			// PhoenixSQL.g:41:8: 'cast'
			{
			match("cast"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CAST"

	// $ANTLR start "COLUMN"
	public final void mCOLUMN() throws RecognitionException {
		try {
			int _type = COLUMN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:42:8: ( 'column' )
			// PhoenixSQL.g:42:10: 'column'
			{
			match("column"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "COLUMN"

	// $ANTLR start "CONSTRAINT"
	public final void mCONSTRAINT() throws RecognitionException {
		try {
			int _type = CONSTRAINT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:43:12: ( 'constraint' )
			// PhoenixSQL.g:43:14: 'constraint'
			{
			match("constraint"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CONSTRAINT"

	// $ANTLR start "CREATE"
	public final void mCREATE() throws RecognitionException {
		try {
			int _type = CREATE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:44:8: ( 'create' )
			// PhoenixSQL.g:44:10: 'create'
			{
			match("create"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CREATE"

	// $ANTLR start "CURRENT"
	public final void mCURRENT() throws RecognitionException {
		try {
			int _type = CURRENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:45:9: ( 'current' )
			// PhoenixSQL.g:45:11: 'current'
			{
			match("current"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CURRENT"

	// $ANTLR start "CYCLE"
	public final void mCYCLE() throws RecognitionException {
		try {
			int _type = CYCLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:46:7: ( 'cycle' )
			// PhoenixSQL.g:46:9: 'cycle'
			{
			match("cycle"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CYCLE"

	// $ANTLR start "DELETE"
	public final void mDELETE() throws RecognitionException {
		try {
			int _type = DELETE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:47:8: ( 'delete' )
			// PhoenixSQL.g:47:10: 'delete'
			{
			match("delete"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DELETE"

	// $ANTLR start "DESC"
	public final void mDESC() throws RecognitionException {
		try {
			int _type = DESC;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:48:6: ( 'desc' )
			// PhoenixSQL.g:48:8: 'desc'
			{
			match("desc"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DESC"

	// $ANTLR start "DISABLE"
	public final void mDISABLE() throws RecognitionException {
		try {
			int _type = DISABLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:49:9: ( 'disable' )
			// PhoenixSQL.g:49:11: 'disable'
			{
			match("disable"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DISABLE"

	// $ANTLR start "DISTINCT"
	public final void mDISTINCT() throws RecognitionException {
		try {
			int _type = DISTINCT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:50:10: ( 'distinct' )
			// PhoenixSQL.g:50:12: 'distinct'
			{
			match("distinct"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DISTINCT"

	// $ANTLR start "DROP"
	public final void mDROP() throws RecognitionException {
		try {
			int _type = DROP;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:51:6: ( 'drop' )
			// PhoenixSQL.g:51:8: 'drop'
			{
			match("drop"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DROP"

	// $ANTLR start "ELSE"
	public final void mELSE() throws RecognitionException {
		try {
			int _type = ELSE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:52:6: ( 'else' )
			// PhoenixSQL.g:52:8: 'else'
			{
			match("else"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ELSE"

	// $ANTLR start "END"
	public final void mEND() throws RecognitionException {
		try {
			int _type = END;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:53:5: ( 'end' )
			// PhoenixSQL.g:53:7: 'end'
			{
			match("end"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "END"

	// $ANTLR start "EXISTS"
	public final void mEXISTS() throws RecognitionException {
		try {
			int _type = EXISTS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:54:8: ( 'exists' )
			// PhoenixSQL.g:54:10: 'exists'
			{
			match("exists"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "EXISTS"

	// $ANTLR start "EXPLAIN"
	public final void mEXPLAIN() throws RecognitionException {
		try {
			int _type = EXPLAIN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:55:9: ( 'explain' )
			// PhoenixSQL.g:55:11: 'explain'
			{
			match("explain"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "EXPLAIN"

	// $ANTLR start "FALSE"
	public final void mFALSE() throws RecognitionException {
		try {
			int _type = FALSE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:56:7: ( 'false' )
			// PhoenixSQL.g:56:9: 'false'
			{
			match("false"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FALSE"

	// $ANTLR start "FIRST"
	public final void mFIRST() throws RecognitionException {
		try {
			int _type = FIRST;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:57:7: ( 'first' )
			// PhoenixSQL.g:57:9: 'first'
			{
			match("first"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FIRST"

	// $ANTLR start "FOR"
	public final void mFOR() throws RecognitionException {
		try {
			int _type = FOR;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:58:5: ( 'for' )
			// PhoenixSQL.g:58:7: 'for'
			{
			match("for"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FOR"

	// $ANTLR start "FROM"
	public final void mFROM() throws RecognitionException {
		try {
			int _type = FROM;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:59:6: ( 'from' )
			// PhoenixSQL.g:59:8: 'from'
			{
			match("from"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FROM"

	// $ANTLR start "FULL"
	public final void mFULL() throws RecognitionException {
		try {
			int _type = FULL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:60:6: ( 'full' )
			// PhoenixSQL.g:60:8: 'full'
			{
			match("full"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FULL"

	// $ANTLR start "GROUP"
	public final void mGROUP() throws RecognitionException {
		try {
			int _type = GROUP;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:61:7: ( 'group' )
			// PhoenixSQL.g:61:9: 'group'
			{
			match("group"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "GROUP"

	// $ANTLR start "HAVING"
	public final void mHAVING() throws RecognitionException {
		try {
			int _type = HAVING;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:62:8: ( 'having' )
			// PhoenixSQL.g:62:10: 'having'
			{
			match("having"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "HAVING"

	// $ANTLR start "IF"
	public final void mIF() throws RecognitionException {
		try {
			int _type = IF;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:63:4: ( 'if' )
			// PhoenixSQL.g:63:6: 'if'
			{
			match("if"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "IF"

	// $ANTLR start "IN"
	public final void mIN() throws RecognitionException {
		try {
			int _type = IN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:64:4: ( 'in' )
			// PhoenixSQL.g:64:6: 'in'
			{
			match("in"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "IN"

	// $ANTLR start "INCLUDE"
	public final void mINCLUDE() throws RecognitionException {
		try {
			int _type = INCLUDE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:65:9: ( 'include' )
			// PhoenixSQL.g:65:11: 'include'
			{
			match("include"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INCLUDE"

	// $ANTLR start "INCREMENT"
	public final void mINCREMENT() throws RecognitionException {
		try {
			int _type = INCREMENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:66:11: ( 'increment' )
			// PhoenixSQL.g:66:13: 'increment'
			{
			match("increment"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INCREMENT"

	// $ANTLR start "INDEX"
	public final void mINDEX() throws RecognitionException {
		try {
			int _type = INDEX;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:67:7: ( 'index' )
			// PhoenixSQL.g:67:9: 'index'
			{
			match("index"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INDEX"

	// $ANTLR start "INNER"
	public final void mINNER() throws RecognitionException {
		try {
			int _type = INNER;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:68:7: ( 'inner' )
			// PhoenixSQL.g:68:9: 'inner'
			{
			match("inner"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INNER"

	// $ANTLR start "INTO"
	public final void mINTO() throws RecognitionException {
		try {
			int _type = INTO;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:69:6: ( 'into' )
			// PhoenixSQL.g:69:8: 'into'
			{
			match("into"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "INTO"

	// $ANTLR start "IS"
	public final void mIS() throws RecognitionException {
		try {
			int _type = IS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:70:4: ( 'is' )
			// PhoenixSQL.g:70:6: 'is'
			{
			match("is"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "IS"

	// $ANTLR start "JOIN"
	public final void mJOIN() throws RecognitionException {
		try {
			int _type = JOIN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:71:6: ( 'join' )
			// PhoenixSQL.g:71:8: 'join'
			{
			match("join"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "JOIN"

	// $ANTLR start "KEY"
	public final void mKEY() throws RecognitionException {
		try {
			int _type = KEY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:72:5: ( 'key' )
			// PhoenixSQL.g:72:7: 'key'
			{
			match("key"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "KEY"

	// $ANTLR start "LAST"
	public final void mLAST() throws RecognitionException {
		try {
			int _type = LAST;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:73:6: ( 'last' )
			// PhoenixSQL.g:73:8: 'last'
			{
			match("last"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LAST"

	// $ANTLR start "LEFT"
	public final void mLEFT() throws RecognitionException {
		try {
			int _type = LEFT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:74:6: ( 'left' )
			// PhoenixSQL.g:74:8: 'left'
			{
			match("left"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LEFT"

	// $ANTLR start "LIKE"
	public final void mLIKE() throws RecognitionException {
		try {
			int _type = LIKE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:75:6: ( 'like' )
			// PhoenixSQL.g:75:8: 'like'
			{
			match("like"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LIKE"

	// $ANTLR start "LIMIT"
	public final void mLIMIT() throws RecognitionException {
		try {
			int _type = LIMIT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:76:7: ( 'limit' )
			// PhoenixSQL.g:76:9: 'limit'
			{
			match("limit"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LIMIT"

	// $ANTLR start "LOCAL"
	public final void mLOCAL() throws RecognitionException {
		try {
			int _type = LOCAL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:77:7: ( 'local' )
			// PhoenixSQL.g:77:9: 'local'
			{
			match("local"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LOCAL"

	// $ANTLR start "MAXVALUE"
	public final void mMAXVALUE() throws RecognitionException {
		try {
			int _type = MAXVALUE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:78:10: ( 'maxvalue' )
			// PhoenixSQL.g:78:12: 'maxvalue'
			{
			match("maxvalue"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "MAXVALUE"

	// $ANTLR start "MINVALUE"
	public final void mMINVALUE() throws RecognitionException {
		try {
			int _type = MINVALUE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:79:10: ( 'minvalue' )
			// PhoenixSQL.g:79:12: 'minvalue'
			{
			match("minvalue"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "MINVALUE"

	// $ANTLR start "NEXT"
	public final void mNEXT() throws RecognitionException {
		try {
			int _type = NEXT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:80:6: ( 'next' )
			// PhoenixSQL.g:80:8: 'next'
			{
			match("next"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NEXT"

	// $ANTLR start "NOT"
	public final void mNOT() throws RecognitionException {
		try {
			int _type = NOT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:81:5: ( 'not' )
			// PhoenixSQL.g:81:7: 'not'
			{
			match("not"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NOT"

	// $ANTLR start "NULL"
	public final void mNULL() throws RecognitionException {
		try {
			int _type = NULL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:82:6: ( 'null' )
			// PhoenixSQL.g:82:8: 'null'
			{
			match("null"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NULL"

	// $ANTLR start "NULLS"
	public final void mNULLS() throws RecognitionException {
		try {
			int _type = NULLS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:83:7: ( 'nulls' )
			// PhoenixSQL.g:83:9: 'nulls'
			{
			match("nulls"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NULLS"

	// $ANTLR start "ON"
	public final void mON() throws RecognitionException {
		try {
			int _type = ON;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:84:4: ( 'on' )
			// PhoenixSQL.g:84:6: 'on'
			{
			match("on"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ON"

	// $ANTLR start "OR"
	public final void mOR() throws RecognitionException {
		try {
			int _type = OR;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:85:4: ( 'or' )
			// PhoenixSQL.g:85:6: 'or'
			{
			match("or"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "OR"

	// $ANTLR start "ORDER"
	public final void mORDER() throws RecognitionException {
		try {
			int _type = ORDER;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:86:7: ( 'order' )
			// PhoenixSQL.g:86:9: 'order'
			{
			match("order"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ORDER"

	// $ANTLR start "OUTER"
	public final void mOUTER() throws RecognitionException {
		try {
			int _type = OUTER;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:87:7: ( 'outer' )
			// PhoenixSQL.g:87:9: 'outer'
			{
			match("outer"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "OUTER"

	// $ANTLR start "PRIMARY"
	public final void mPRIMARY() throws RecognitionException {
		try {
			int _type = PRIMARY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:88:9: ( 'primary' )
			// PhoenixSQL.g:88:11: 'primary'
			{
			match("primary"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "PRIMARY"

	// $ANTLR start "REBUILD"
	public final void mREBUILD() throws RecognitionException {
		try {
			int _type = REBUILD;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:89:9: ( 'rebuild' )
			// PhoenixSQL.g:89:11: 'rebuild'
			{
			match("rebuild"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "REBUILD"

	// $ANTLR start "RIGHT"
	public final void mRIGHT() throws RecognitionException {
		try {
			int _type = RIGHT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:90:7: ( 'right' )
			// PhoenixSQL.g:90:9: 'right'
			{
			match("right"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "RIGHT"

	// $ANTLR start "SELECT"
	public final void mSELECT() throws RecognitionException {
		try {
			int _type = SELECT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:91:8: ( 'select' )
			// PhoenixSQL.g:91:10: 'select'
			{
			match("select"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SELECT"

	// $ANTLR start "SEQUENCE"
	public final void mSEQUENCE() throws RecognitionException {
		try {
			int _type = SEQUENCE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:92:10: ( 'sequence' )
			// PhoenixSQL.g:92:12: 'sequence'
			{
			match("sequence"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SEQUENCE"

	// $ANTLR start "SET"
	public final void mSET() throws RecognitionException {
		try {
			int _type = SET;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:93:5: ( 'set' )
			// PhoenixSQL.g:93:7: 'set'
			{
			match("set"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SET"

	// $ANTLR start "SOME"
	public final void mSOME() throws RecognitionException {
		try {
			int _type = SOME;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:94:6: ( 'some' )
			// PhoenixSQL.g:94:8: 'some'
			{
			match("some"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SOME"

	// $ANTLR start "SPLIT"
	public final void mSPLIT() throws RecognitionException {
		try {
			int _type = SPLIT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:95:7: ( 'split' )
			// PhoenixSQL.g:95:9: 'split'
			{
			match("split"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SPLIT"

	// $ANTLR start "START"
	public final void mSTART() throws RecognitionException {
		try {
			int _type = START;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:96:7: ( 'start' )
			// PhoenixSQL.g:96:9: 'start'
			{
			match("start"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "START"

	// $ANTLR start "TABLE"
	public final void mTABLE() throws RecognitionException {
		try {
			int _type = TABLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:97:7: ( 'table' )
			// PhoenixSQL.g:97:9: 'table'
			{
			match("table"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "TABLE"

	// $ANTLR start "TABLES"
	public final void mTABLES() throws RecognitionException {
		try {
			int _type = TABLES;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:98:8: ( 'tables' )
			// PhoenixSQL.g:98:10: 'tables'
			{
			match("tables"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "TABLES"

	// $ANTLR start "THEN"
	public final void mTHEN() throws RecognitionException {
		try {
			int _type = THEN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:99:6: ( 'then' )
			// PhoenixSQL.g:99:8: 'then'
			{
			match("then"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "THEN"

	// $ANTLR start "TRUE"
	public final void mTRUE() throws RecognitionException {
		try {
			int _type = TRUE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:100:6: ( 'true' )
			// PhoenixSQL.g:100:8: 'true'
			{
			match("true"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "TRUE"

	// $ANTLR start "UNUSABLE"
	public final void mUNUSABLE() throws RecognitionException {
		try {
			int _type = UNUSABLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:101:10: ( 'unusable' )
			// PhoenixSQL.g:101:12: 'unusable'
			{
			match("unusable"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "UNUSABLE"

	// $ANTLR start "UPSERT"
	public final void mUPSERT() throws RecognitionException {
		try {
			int _type = UPSERT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:102:8: ( 'upsert' )
			// PhoenixSQL.g:102:10: 'upsert'
			{
			match("upsert"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "UPSERT"

	// $ANTLR start "USABLE"
	public final void mUSABLE() throws RecognitionException {
		try {
			int _type = USABLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:103:8: ( 'usable' )
			// PhoenixSQL.g:103:10: 'usable'
			{
			match("usable"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "USABLE"

	// $ANTLR start "VALUE"
	public final void mVALUE() throws RecognitionException {
		try {
			int _type = VALUE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:104:7: ( 'value' )
			// PhoenixSQL.g:104:9: 'value'
			{
			match("value"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "VALUE"

	// $ANTLR start "VALUES"
	public final void mVALUES() throws RecognitionException {
		try {
			int _type = VALUES;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:105:8: ( 'values' )
			// PhoenixSQL.g:105:10: 'values'
			{
			match("values"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "VALUES"

	// $ANTLR start "VIEW"
	public final void mVIEW() throws RecognitionException {
		try {
			int _type = VIEW;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:106:6: ( 'view' )
			// PhoenixSQL.g:106:8: 'view'
			{
			match("view"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "VIEW"

	// $ANTLR start "WHEN"
	public final void mWHEN() throws RecognitionException {
		try {
			int _type = WHEN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:107:6: ( 'when' )
			// PhoenixSQL.g:107:8: 'when'
			{
			match("when"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WHEN"

	// $ANTLR start "WHERE"
	public final void mWHERE() throws RecognitionException {
		try {
			int _type = WHERE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:108:7: ( 'where' )
			// PhoenixSQL.g:108:9: 'where'
			{
			match("where"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WHERE"

	// $ANTLR start "WITH"
	public final void mWITH() throws RecognitionException {
		try {
			int _type = WITH;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:109:6: ( 'with' )
			// PhoenixSQL.g:109:8: 'with'
			{
			match("with"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WITH"

	// $ANTLR start "WITHIN"
	public final void mWITHIN() throws RecognitionException {
		try {
			int _type = WITHIN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:110:8: ( 'within' )
			// PhoenixSQL.g:110:10: 'within'
			{
			match("within"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WITHIN"

	// $ANTLR start "HINT_START"
	public final void mHINT_START() throws RecognitionException {
		try {
			int _type = HINT_START;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:933:11: ( '/*+' )
			// PhoenixSQL.g:933:13: '/*+'
			{
			match("/*+"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "HINT_START"

	// $ANTLR start "COMMENT_START"
	public final void mCOMMENT_START() throws RecognitionException {
		try {
			int _type = COMMENT_START;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:934:14: ( '/*' )
			// PhoenixSQL.g:934:16: '/*'
			{
			match("/*"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "COMMENT_START"

	// $ANTLR start "COMMENT_AND_HINT_END"
	public final void mCOMMENT_AND_HINT_END() throws RecognitionException {
		try {
			int _type = COMMENT_AND_HINT_END;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:935:21: ( '*/' )
			// PhoenixSQL.g:935:23: '*/'
			{
			match("*/"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "COMMENT_AND_HINT_END"

	// $ANTLR start "SL_COMMENT1"
	public final void mSL_COMMENT1() throws RecognitionException {
		try {
			int _type = SL_COMMENT1;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:936:12: ( '//' )
			// PhoenixSQL.g:936:14: '//'
			{
			match("//"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SL_COMMENT1"

	// $ANTLR start "SL_COMMENT2"
	public final void mSL_COMMENT2() throws RecognitionException {
		try {
			int _type = SL_COMMENT2;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:937:12: ( '--' )
			// PhoenixSQL.g:937:14: '--'
			{
			match("--"); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SL_COMMENT2"

	// $ANTLR start "BIND_NAME"
	public final void mBIND_NAME() throws RecognitionException {
		try {
			int _type = BIND_NAME;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:941:5: ( COLON ( LETTER | DIGIT | '_' )+ )
			// PhoenixSQL.g:941:7: COLON ( LETTER | DIGIT | '_' )+
			{
			mCOLON(); 

			// PhoenixSQL.g:941:13: ( LETTER | DIGIT | '_' )+
			int cnt1=0;
			loop1:
			while (true) {
				int alt1=2;
				int LA1_0 = input.LA(1);
				if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
					alt1=1;
				}

				switch (alt1) {
				case 1 :
					// PhoenixSQL.g:
					{
					if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(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;
					}
					}
					break;

				default :
					if ( cnt1 >= 1 ) break loop1;
					EarlyExitException eee = new EarlyExitException(1, input);
					throw eee;
				}
				cnt1++;
			}

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "BIND_NAME"

	// $ANTLR start "NAME"
	public final void mNAME() throws RecognitionException {
		try {
			int _type = NAME;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:947:5: ( LETTER ( FIELDCHAR )* ( '\\\"' ( DBL_QUOTE_CHAR )* '\\\"' )? | '\\\"' ( DBL_QUOTE_CHAR )* '\\\"' )
			int alt6=2;
			int LA6_0 = input.LA(1);
			if ( ((LA6_0 >= 'A' && LA6_0 <= 'Z')||(LA6_0 >= 'a' && LA6_0 <= 'z')) ) {
				alt6=1;
			}
			else if ( (LA6_0=='\"') ) {
				alt6=2;
			}

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

			switch (alt6) {
				case 1 :
					// PhoenixSQL.g:947:10: LETTER ( FIELDCHAR )* ( '\\\"' ( DBL_QUOTE_CHAR )* '\\\"' )?
					{
					mLETTER(); 

					// PhoenixSQL.g:947:17: ( FIELDCHAR )*
					loop2:
					while (true) {
						int alt2=2;
						int LA2_0 = input.LA(1);
						if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'Z')||LA2_0=='_'||(LA2_0 >= 'a' && LA2_0 <= 'z')||(LA2_0 >= '\u0080' && LA2_0 <= '\uFFFE')) ) {
							alt2=1;
						}

						switch (alt2) {
						case 1 :
							// PhoenixSQL.g:
							{
							if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u0080' && input.LA(1) <= '\uFFFE') ) {
								input.consume();
							}
							else {
								MismatchedSetException mse = new MismatchedSetException(null,input);
								recover(mse);
								throw mse;
							}
							}
							break;

						default :
							break loop2;
						}
					}

					// PhoenixSQL.g:947:30: ( '\\\"' ( DBL_QUOTE_CHAR )* '\\\"' )?
					int alt4=2;
					int LA4_0 = input.LA(1);
					if ( (LA4_0=='\"') ) {
						alt4=1;
					}
					switch (alt4) {
						case 1 :
							// PhoenixSQL.g:947:31: '\\\"' ( DBL_QUOTE_CHAR )* '\\\"'
							{
							match('\"'); 
							// PhoenixSQL.g:947:36: ( DBL_QUOTE_CHAR )*
							loop3:
							while (true) {
								int alt3=2;
								int LA3_0 = input.LA(1);
								if ( ((LA3_0 >= '\u0000' && LA3_0 <= '!')||(LA3_0 >= '#' && LA3_0 <= '\uFFFF')) ) {
									alt3=1;
								}

								switch (alt3) {
								case 1 :
									// PhoenixSQL.g:947:37: DBL_QUOTE_CHAR
									{
									mDBL_QUOTE_CHAR(); 

									}
									break;

								default :
									break loop3;
								}
							}

							match('\"'); 
							}
							break;

					}

					}
					break;
				case 2 :
					// PhoenixSQL.g:948:10: '\\\"' ( DBL_QUOTE_CHAR )* '\\\"'
					{
					match('\"'); 
					// PhoenixSQL.g:948:15: ( DBL_QUOTE_CHAR )*
					loop5:
					while (true) {
						int alt5=2;
						int LA5_0 = input.LA(1);
						if ( ((LA5_0 >= '\u0000' && LA5_0 <= '!')||(LA5_0 >= '#' && LA5_0 <= '\uFFFF')) ) {
							alt5=1;
						}

						switch (alt5) {
						case 1 :
							// PhoenixSQL.g:948:16: DBL_QUOTE_CHAR
							{
							mDBL_QUOTE_CHAR(); 

							}
							break;

						default :
							break loop5;
						}
					}

					match('\"'); 
					}
					break;

			}
			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NAME"

	// $ANTLR start "NUMBER"
	public final void mNUMBER() throws RecognitionException {
		try {
			int _type = NUMBER;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:953:5: ( POSINTEGER )
			// PhoenixSQL.g:953:9: POSINTEGER
			{
			mPOSINTEGER(); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NUMBER"

	// $ANTLR start "LONG"
	public final void mLONG() throws RecognitionException {
		try {
			int _type = LONG;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:957:5: ( POSINTEGER ( 'L' | 'l' ) )
			// PhoenixSQL.g:957:9: POSINTEGER ( 'L' | 'l' )
			{
			mPOSINTEGER(); 

			if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LONG"

	// $ANTLR start "DECIMAL"
	public final void mDECIMAL() throws RecognitionException {
		try {
			int _type = DECIMAL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:962:5: ( ( POSINTEGER )? '.' POSINTEGER )
			// PhoenixSQL.g:962:9: ( POSINTEGER )? '.' POSINTEGER
			{
			// PhoenixSQL.g:962:9: ( POSINTEGER )?
			int alt7=2;
			int LA7_0 = input.LA(1);
			if ( ((LA7_0 >= '0' && LA7_0 <= '9')) ) {
				alt7=1;
			}
			switch (alt7) {
				case 1 :
					// PhoenixSQL.g:962:9: POSINTEGER
					{
					mPOSINTEGER(); 

					}
					break;

			}

			match('.'); 
			mPOSINTEGER(); 

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DECIMAL"

	// $ANTLR start "DOUBLE"
	public final void mDOUBLE() throws RecognitionException {
		try {
			int _type = DOUBLE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:966:5: ( DECIMAL ( 'D' | 'd' ) )
			// PhoenixSQL.g:966:9: DECIMAL ( 'D' | 'd' )
			{
			mDECIMAL(); 

			if ( input.LA(1)=='D'||input.LA(1)=='d' ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DOUBLE"

	// $ANTLR start "DOUBLE_QUOTE"
	public final void mDOUBLE_QUOTE() throws RecognitionException {
		try {
			int _type = DOUBLE_QUOTE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:970:5: ( '\"' )
			// PhoenixSQL.g:970:9: '\"'
			{
			match('\"'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DOUBLE_QUOTE"

	// $ANTLR start "EQ"
	public final void mEQ() throws RecognitionException {
		try {
			int _type = EQ;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:974:5: ( '=' )
			// PhoenixSQL.g:974:9: '='
			{
			match('='); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "EQ"

	// $ANTLR start "LT"
	public final void mLT() throws RecognitionException {
		try {
			int _type = LT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:978:5: ( '<' )
			// PhoenixSQL.g:978:9: '<'
			{
			match('<'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LT"

	// $ANTLR start "GT"
	public final void mGT() throws RecognitionException {
		try {
			int _type = GT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:982:5: ( '>' )
			// PhoenixSQL.g:982:9: '>'
			{
			match('>'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "GT"

	// $ANTLR start "DOUBLE_EQ"
	public final void mDOUBLE_EQ() throws RecognitionException {
		try {
			int _type = DOUBLE_EQ;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:986:5: ( '=' '=' )
			// PhoenixSQL.g:986:9: '=' '='
			{
			match('='); 
			match('='); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DOUBLE_EQ"

	// $ANTLR start "NOEQ1"
	public final void mNOEQ1() throws RecognitionException {
		try {
			int _type = NOEQ1;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:990:5: ( '!' '=' )
			// PhoenixSQL.g:990:9: '!' '='
			{
			match('!'); 
			match('='); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NOEQ1"

	// $ANTLR start "NOEQ2"
	public final void mNOEQ2() throws RecognitionException {
		try {
			int _type = NOEQ2;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:994:5: ( '<' '>' )
			// PhoenixSQL.g:994:9: '<' '>'
			{
			match('<'); 
			match('>'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "NOEQ2"

	// $ANTLR start "CONCAT"
	public final void mCONCAT() throws RecognitionException {
		try {
			int _type = CONCAT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:998:5: ( '|' '|' )
			// PhoenixSQL.g:998:9: '|' '|'
			{
			match('|'); 
			match('|'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CONCAT"

	// $ANTLR start "COMMA"
	public final void mCOMMA() throws RecognitionException {
		try {
			int _type = COMMA;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1002:5: ( ',' )
			// PhoenixSQL.g:1002:9: ','
			{
			match(','); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "COMMA"

	// $ANTLR start "LPAREN"
	public final void mLPAREN() throws RecognitionException {
		try {
			int _type = LPAREN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1006:5: ( '(' )
			// PhoenixSQL.g:1006:9: '('
			{
			match('('); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LPAREN"

	// $ANTLR start "RPAREN"
	public final void mRPAREN() throws RecognitionException {
		try {
			int _type = RPAREN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1010:5: ( ')' )
			// PhoenixSQL.g:1010:9: ')'
			{
			match(')'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "RPAREN"

	// $ANTLR start "SEMICOLON"
	public final void mSEMICOLON() throws RecognitionException {
		try {
			int _type = SEMICOLON;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1014:5: ( ';' )
			// PhoenixSQL.g:1014:9: ';'
			{
			match(';'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SEMICOLON"

	// $ANTLR start "COLON"
	public final void mCOLON() throws RecognitionException {
		try {
			int _type = COLON;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1018:5: ( ':' )
			// PhoenixSQL.g:1018:9: ':'
			{
			match(':'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "COLON"

	// $ANTLR start "QUESTION"
	public final void mQUESTION() throws RecognitionException {
		try {
			int _type = QUESTION;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1022:5: ( '?' )
			// PhoenixSQL.g:1022:9: '?'
			{
			match('?'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "QUESTION"

	// $ANTLR start "LSQUARE"
	public final void mLSQUARE() throws RecognitionException {
		try {
			int _type = LSQUARE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1026:5: ( '[' )
			// PhoenixSQL.g:1026:9: '['
			{
			match('['); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LSQUARE"

	// $ANTLR start "RSQUARE"
	public final void mRSQUARE() throws RecognitionException {
		try {
			int _type = RSQUARE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1030:5: ( ']' )
			// PhoenixSQL.g:1030:9: ']'
			{
			match(']'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "RSQUARE"

	// $ANTLR start "LCURLY"
	public final void mLCURLY() throws RecognitionException {
		try {
			int _type = LCURLY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1034:5: ( '{' )
			// PhoenixSQL.g:1034:9: '{'
			{
			match('{'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LCURLY"

	// $ANTLR start "RCURLY"
	public final void mRCURLY() throws RecognitionException {
		try {
			int _type = RCURLY;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1038:5: ( '}' )
			// PhoenixSQL.g:1038:9: '}'
			{
			match('}'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "RCURLY"

	// $ANTLR start "AT"
	public final void mAT() throws RecognitionException {
		try {
			int _type = AT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1042:5: ( '@' )
			// PhoenixSQL.g:1042:9: '@'
			{
			match('@'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "AT"

	// $ANTLR start "TILDE"
	public final void mTILDE() throws RecognitionException {
		try {
			int _type = TILDE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1046:5: ( '~' )
			// PhoenixSQL.g:1046:9: '~'
			{
			match('~'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "TILDE"

	// $ANTLR start "PLUS"
	public final void mPLUS() throws RecognitionException {
		try {
			int _type = PLUS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1050:5: ( '+' )
			// PhoenixSQL.g:1050:9: '+'
			{
			match('+'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "PLUS"

	// $ANTLR start "MINUS"
	public final void mMINUS() throws RecognitionException {
		try {
			int _type = MINUS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1054:5: ( '-' )
			// PhoenixSQL.g:1054:9: '-'
			{
			match('-'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "MINUS"

	// $ANTLR start "ASTERISK"
	public final void mASTERISK() throws RecognitionException {
		try {
			int _type = ASTERISK;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1058:5: ( '*' )
			// PhoenixSQL.g:1058:9: '*'
			{
			match('*'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ASTERISK"

	// $ANTLR start "DIVIDE"
	public final void mDIVIDE() throws RecognitionException {
		try {
			int _type = DIVIDE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1062:5: ( '/' )
			// PhoenixSQL.g:1062:9: '/'
			{
			match('/'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DIVIDE"

	// $ANTLR start "PERCENT"
	public final void mPERCENT() throws RecognitionException {
		try {
			int _type = PERCENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1066:5: ( '%' )
			// PhoenixSQL.g:1066:9: '%'
			{
			match('%'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "PERCENT"

	// $ANTLR start "OUTER_JOIN"
	public final void mOUTER_JOIN() throws RecognitionException {
		try {
			int _type = OUTER_JOIN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1070:5: ( '(' '+' ')' )
			// PhoenixSQL.g:1070:7: '(' '+' ')'
			{
			match('('); 
			match('+'); 
			match(')'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "OUTER_JOIN"

	// $ANTLR start "FIELDCHAR"
	public final void mFIELDCHAR() throws RecognitionException {
		try {
			// PhoenixSQL.g:1076:5: ( LETTER | DIGIT | '_' | '\\u0080' .. '\\ufffe' )
			// PhoenixSQL.g:
			{
			if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u0080' && input.LA(1) <= '\uFFFE') ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "FIELDCHAR"

	// $ANTLR start "LETTER"
	public final void mLETTER() throws RecognitionException {
		try {
			// PhoenixSQL.g:1085:5: ( 'a' .. 'z' | 'A' .. 'Z' )
			// PhoenixSQL.g:
			{
			if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "LETTER"

	// $ANTLR start "POSINTEGER"
	public final void mPOSINTEGER() throws RecognitionException {
		try {
			// PhoenixSQL.g:1091:5: ( ( DIGIT )+ )
			// PhoenixSQL.g:1091:9: ( DIGIT )+
			{
			// PhoenixSQL.g:1091:9: ( DIGIT )+
			int cnt8=0;
			loop8:
			while (true) {
				int alt8=2;
				int LA8_0 = input.LA(1);
				if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
					alt8=1;
				}

				switch (alt8) {
				case 1 :
					// PhoenixSQL.g:
					{
					if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
						input.consume();
					}
					else {
						MismatchedSetException mse = new MismatchedSetException(null,input);
						recover(mse);
						throw mse;
					}
					}
					break;

				default :
					if ( cnt8 >= 1 ) break loop8;
					EarlyExitException eee = new EarlyExitException(8, input);
					throw eee;
				}
				cnt8++;
			}

			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "POSINTEGER"

	// $ANTLR start "DIGIT"
	public final void mDIGIT() throws RecognitionException {
		try {
			// PhoenixSQL.g:1096:5: ( '0' .. '9' )
			// PhoenixSQL.g:
			{
			if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DIGIT"

	// $ANTLR start "STRING_LITERAL"
	public final void mSTRING_LITERAL() throws RecognitionException {
		try {
			int _type = STRING_LITERAL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			CommonToken t=null;

			 StringBuilder sb = new StringBuilder(); 
			// PhoenixSQL.g:1101:5: ( '\\'' (t= CHAR |t= CHAR_ESC )* '\\'' )
			// PhoenixSQL.g:1101:9: '\\'' (t= CHAR |t= CHAR_ESC )* '\\''
			{
			match('\''); 
			// PhoenixSQL.g:1102:5: (t= CHAR |t= CHAR_ESC )*
			loop9:
			while (true) {
				int alt9=3;
				int LA9_0 = input.LA(1);
				if ( (LA9_0=='\'') ) {
					int LA9_1 = input.LA(2);
					if ( (LA9_1=='\'') ) {
						alt9=2;
					}

				}
				else if ( ((LA9_0 >= '\u0000' && LA9_0 <= '&')||(LA9_0 >= '(' && LA9_0 <= '[')||(LA9_0 >= ']' && LA9_0 <= '\uFFFF')) ) {
					alt9=1;
				}
				else if ( (LA9_0=='\\') ) {
					alt9=2;
				}

				switch (alt9) {
				case 1 :
					// PhoenixSQL.g:1102:7: t= CHAR
					{
					int tStart1510 = getCharIndex();
					int tStartLine1510 = getLine();
					int tStartCharPos1510 = getCharPositionInLine();
					mCHAR(); 
					t = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, tStart1510, getCharIndex()-1);
					t.setLine(tStartLine1510);
					t.setCharPositionInLine(tStartCharPos1510);

					 sb.append(t.getText()); 
					}
					break;
				case 2 :
					// PhoenixSQL.g:1103:7: t= CHAR_ESC
					{
					int tStart1522 = getCharIndex();
					int tStartLine1522 = getLine();
					int tStartCharPos1522 = getCharPositionInLine();
					mCHAR_ESC(); 
					t = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, tStart1522, getCharIndex()-1);
					t.setLine(tStartLine1522);
					t.setCharPositionInLine(tStartCharPos1522);

					 sb.append(getText()); 
					}
					break;

				default :
					break loop9;
				}
			}

			match('\''); 
			 setText(sb.toString()); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "STRING_LITERAL"

	// $ANTLR start "CHAR"
	public final void mCHAR() throws RecognitionException {
		try {
			// PhoenixSQL.g:1110:5: ( (~ ( '\\'' | '\\\\' ) )+ )
			// PhoenixSQL.g:1110:9: (~ ( '\\'' | '\\\\' ) )+
			{
			// PhoenixSQL.g:1110:9: (~ ( '\\'' | '\\\\' ) )+
			int cnt10=0;
			loop10:
			while (true) {
				int alt10=2;
				int LA10_0 = input.LA(1);
				if ( ((LA10_0 >= '\u0000' && LA10_0 <= '&')||(LA10_0 >= '(' && LA10_0 <= '[')||(LA10_0 >= ']' && LA10_0 <= '\uFFFF')) ) {
					alt10=1;
				}

				switch (alt10) {
				case 1 :
					// PhoenixSQL.g:
					{
					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 :
					if ( cnt10 >= 1 ) break loop10;
					EarlyExitException eee = new EarlyExitException(10, input);
					throw eee;
				}
				cnt10++;
			}

			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CHAR"

	// $ANTLR start "DBL_QUOTE_CHAR"
	public final void mDBL_QUOTE_CHAR() throws RecognitionException {
		try {
			// PhoenixSQL.g:1115:5: ( (~ ( '\\\"' ) )+ )
			// PhoenixSQL.g:1115:9: (~ ( '\\\"' ) )+
			{
			// PhoenixSQL.g:1115:9: (~ ( '\\\"' ) )+
			int cnt11=0;
			loop11:
			while (true) {
				int alt11=2;
				int LA11_0 = input.LA(1);
				if ( ((LA11_0 >= '\u0000' && LA11_0 <= '!')||(LA11_0 >= '#' && LA11_0 <= '\uFFFF')) ) {
					alt11=1;
				}

				switch (alt11) {
				case 1 :
					// PhoenixSQL.g:
					{
					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;
					}
					}
					break;

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

			}

		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DBL_QUOTE_CHAR"

	// $ANTLR start "CHAR_ESC"
	public final void mCHAR_ESC() throws RecognitionException {
		try {
			// PhoenixSQL.g:1121:5: ( '\\\\' ( 'n' | 'r' | 't' | 'b' | 'f' | '\\\"' | '\\'' | '\\\\' | '_' | '%' ) | '\\'\\'' )
			int alt13=2;
			int LA13_0 = input.LA(1);
			if ( (LA13_0=='\\') ) {
				alt13=1;
			}
			else if ( (LA13_0=='\'') ) {
				alt13=2;
			}

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

			switch (alt13) {
				case 1 :
					// PhoenixSQL.g:1121:9: '\\\\' ( 'n' | 'r' | 't' | 'b' | 'f' | '\\\"' | '\\'' | '\\\\' | '_' | '%' )
					{
					match('\\'); 
					// PhoenixSQL.g:1122:9: ( 'n' | 'r' | 't' | 'b' | 'f' | '\\\"' | '\\'' | '\\\\' | '_' | '%' )
					int alt12=10;
					switch ( input.LA(1) ) {
					case 'n':
						{
						alt12=1;
						}
						break;
					case 'r':
						{
						alt12=2;
						}
						break;
					case 't':
						{
						alt12=3;
						}
						break;
					case 'b':
						{
						alt12=4;
						}
						break;
					case 'f':
						{
						alt12=5;
						}
						break;
					case '\"':
						{
						alt12=6;
						}
						break;
					case '\'':
						{
						alt12=7;
						}
						break;
					case '\\':
						{
						alt12=8;
						}
						break;
					case '_':
						{
						alt12=9;
						}
						break;
					case '%':
						{
						alt12=10;
						}
						break;
					default:
						NoViableAltException nvae =
							new NoViableAltException("", 12, 0, input);
						throw nvae;
					}
					switch (alt12) {
						case 1 :
							// PhoenixSQL.g:1122:11: 'n'
							{
							match('n'); 
							 setText("\n"); 
							}
							break;
						case 2 :
							// PhoenixSQL.g:1123:11: 'r'
							{
							match('r'); 
							 setText("\r"); 
							}
							break;
						case 3 :
							// PhoenixSQL.g:1124:11: 't'
							{
							match('t'); 
							 setText("\t"); 
							}
							break;
						case 4 :
							// PhoenixSQL.g:1125:11: 'b'
							{
							match('b'); 
							 setText("\b"); 
							}
							break;
						case 5 :
							// PhoenixSQL.g:1126:11: 'f'
							{
							match('f'); 
							 setText("\f"); 
							}
							break;
						case 6 :
							// PhoenixSQL.g:1127:11: '\\\"'
							{
							match('\"'); 
							 setText("\""); 
							}
							break;
						case 7 :
							// PhoenixSQL.g:1128:11: '\\''
							{
							match('\''); 
							 setText("\'"); 
							}
							break;
						case 8 :
							// PhoenixSQL.g:1129:11: '\\\\'
							{
							match('\\'); 
							 setText("\\"); 
							}
							break;
						case 9 :
							// PhoenixSQL.g:1130:11: '_'
							{
							match('_'); 
							 setText("\\_"); 
							}
							break;
						case 10 :
							// PhoenixSQL.g:1131:11: '%'
							{
							match('%'); 
							 setText("\\%"); 
							}
							break;

					}

					}
					break;
				case 2 :
					// PhoenixSQL.g:1133:9: '\\'\\''
					{
					match("''"); 

					 setText("\'"); 
					}
					break;

			}
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "CHAR_ESC"

	// $ANTLR start "WS"
	public final void mWS() throws RecognitionException {
		try {
			int _type = WS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1137:5: ( ( ' ' | '\\t' ) )
			// PhoenixSQL.g:1137:9: ( ' ' | '\\t' )
			{
			if ( input.LA(1)=='\t'||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 {
			// do for sure before leaving
		}
	}
	// $ANTLR end "WS"

	// $ANTLR start "EOL"
	public final void mEOL() throws RecognitionException {
		try {
			int _type = EOL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1141:5: ( ( '\\r' | '\\n' ) )
			// PhoenixSQL.g:1141:8: ( '\\r' | '\\n' )
			{
			if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
				input.consume();
			}
			else {
				MismatchedSetException mse = new MismatchedSetException(null,input);
				recover(mse);
				throw mse;
			}
			 skip(); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "EOL"

	// $ANTLR start "ML_HINT"
	public final void mML_HINT() throws RecognitionException {
		try {
			int _type = ML_HINT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			CommonToken h=null;
			int t;

			 StringBuilder sb = new StringBuilder(); 
			// PhoenixSQL.g:1148:5: (h= HINT_START ( options {greedy=false; } :t= . )* COMMENT_AND_HINT_END )
			// PhoenixSQL.g:1148:7: h= HINT_START ( options {greedy=false; } :t= . )* COMMENT_AND_HINT_END
			{
			int hStart1874 = getCharIndex();
			int hStartLine1874 = getLine();
			int hStartCharPos1874 = getCharPositionInLine();
			mHINT_START(); 
			h = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, hStart1874, getCharIndex()-1);
			h.setLine(hStartLine1874);
			h.setCharPositionInLine(hStartCharPos1874);

			// PhoenixSQL.g:1148:20: ( options {greedy=false; } :t= . )*
			loop14:
			while (true) {
				int alt14=2;
				int LA14_0 = input.LA(1);
				if ( (LA14_0=='*') ) {
					int LA14_1 = input.LA(2);
					if ( (LA14_1=='/') ) {
						alt14=2;
					}
					else if ( ((LA14_1 >= '\u0000' && LA14_1 <= '.')||(LA14_1 >= '0' && LA14_1 <= '\uFFFF')) ) {
						alt14=1;
					}

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

				switch (alt14) {
				case 1 :
					// PhoenixSQL.g:1148:48: t= .
					{
					t = input.LA(1);
					matchAny(); 
					}
					break;

				default :
					break loop14;
				}
			}

			 sb.append(getText()); 
			mCOMMENT_AND_HINT_END(); 

			 setText(sb.substring(h.getText().length())); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ML_HINT"

	// $ANTLR start "ML_COMMENT"
	public final void mML_COMMENT() throws RecognitionException {
		try {
			int _type = ML_COMMENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1153:5: ( COMMENT_START (~ PLUS ) ( options {greedy=false; } : . )* COMMENT_AND_HINT_END )
			// PhoenixSQL.g:1153:7: COMMENT_START (~ PLUS ) ( options {greedy=false; } : . )* COMMENT_AND_HINT_END
			{
			mCOMMENT_START(); 

			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;
			}
			// PhoenixSQL.g:1153:29: ( options {greedy=false; } : . )*
			loop15:
			while (true) {
				int alt15=2;
				int LA15_0 = input.LA(1);
				if ( (LA15_0=='*') ) {
					int LA15_1 = input.LA(2);
					if ( (LA15_1=='/') ) {
						alt15=2;
					}
					else if ( ((LA15_1 >= '\u0000' && LA15_1 <= '.')||(LA15_1 >= '0' && LA15_1 <= '\uFFFF')) ) {
						alt15=1;
					}

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

				switch (alt15) {
				case 1 :
					// PhoenixSQL.g:1153:57: .
					{
					matchAny(); 
					}
					break;

				default :
					break loop15;
				}
			}

			mCOMMENT_AND_HINT_END(); 

			 skip(); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "ML_COMMENT"

	// $ANTLR start "SL_COMMENT"
	public final void mSL_COMMENT() throws RecognitionException {
		try {
			int _type = SL_COMMENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1158:5: ( ( SL_COMMENT1 | SL_COMMENT2 ) ( options {greedy=false; } : . )* EOL )
			// PhoenixSQL.g:1158:7: ( SL_COMMENT1 | SL_COMMENT2 ) ( options {greedy=false; } : . )* EOL
			{
			// PhoenixSQL.g:1158:7: ( SL_COMMENT1 | SL_COMMENT2 )
			int alt16=2;
			int LA16_0 = input.LA(1);
			if ( (LA16_0=='/') ) {
				alt16=1;
			}
			else if ( (LA16_0=='-') ) {
				alt16=2;
			}

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

			switch (alt16) {
				case 1 :
					// PhoenixSQL.g:1158:8: SL_COMMENT1
					{
					mSL_COMMENT1(); 

					}
					break;
				case 2 :
					// PhoenixSQL.g:1158:22: SL_COMMENT2
					{
					mSL_COMMENT2(); 

					}
					break;

			}

			// PhoenixSQL.g:1158:35: ( options {greedy=false; } : . )*
			loop17:
			while (true) {
				int alt17=2;
				int LA17_0 = input.LA(1);
				if ( (LA17_0=='\n'||LA17_0=='\r') ) {
					alt17=2;
				}
				else if ( ((LA17_0 >= '\u0000' && LA17_0 <= '\t')||(LA17_0 >= '\u000B' && LA17_0 <= '\f')||(LA17_0 >= '\u000E' && LA17_0 <= '\uFFFF')) ) {
					alt17=1;
				}

				switch (alt17) {
				case 1 :
					// PhoenixSQL.g:1158:63: .
					{
					matchAny(); 
					}
					break;

				default :
					break loop17;
				}
			}

			mEOL(); 

			 skip(); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "SL_COMMENT"

	// $ANTLR start "DOT"
	public final void mDOT() throws RecognitionException {
		try {
			int _type = DOT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// PhoenixSQL.g:1163:5: ( '.' )
			// PhoenixSQL.g:1163:7: '.'
			{
			match('.'); 
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "DOT"

	@Override
	public void mTokens() throws RecognitionException {
		// PhoenixSQL.g:1:8: ( ADD | ALL | ALTER | AND | ANY | ARRAY | AS | ASC | BETWEEN | BY | CACHE | CASE | CAST | COLUMN | CONSTRAINT | CREATE | CURRENT | CYCLE | DELETE | DESC | DISABLE | DISTINCT | DROP | ELSE | END | EXISTS | EXPLAIN | FALSE | FIRST | FOR | FROM | FULL | GROUP | HAVING | IF | IN | INCLUDE | INCREMENT | INDEX | INNER | INTO | IS | JOIN | KEY | LAST | LEFT | LIKE | LIMIT | LOCAL | MAXVALUE | MINVALUE | NEXT | NOT | NULL | NULLS | ON | OR | ORDER | OUTER | PRIMARY | REBUILD | RIGHT | SELECT | SEQUENCE | SET | SOME | SPLIT | START | TABLE | TABLES | THEN | TRUE | UNUSABLE | UPSERT | USABLE | VALUE | VALUES | VIEW | WHEN | WHERE | WITH | WITHIN | HINT_START | COMMENT_START | COMMENT_AND_HINT_END | SL_COMMENT1 | SL_COMMENT2 | BIND_NAME | NAME | NUMBER | LONG | DECIMAL | DOUBLE | DOUBLE_QUOTE | EQ | LT | GT | DOUBLE_EQ | NOEQ1 | NOEQ2 | CONCAT | COMMA | LPAREN | RPAREN | SEMICOLON | COLON | QUESTION | LSQUARE | RSQUARE | LCURLY | RCURLY | AT | TILDE | PLUS | MINUS | ASTERISK | DIVIDE | PERCENT | OUTER_JOIN | STRING_LITERAL | WS | EOL | ML_HINT | ML_COMMENT | SL_COMMENT | DOT )
		int alt18=126;
		alt18 = dfa18.predict(input);
		switch (alt18) {
			case 1 :
				// PhoenixSQL.g:1:10: ADD
				{
				mADD(); 

				}
				break;
			case 2 :
				// PhoenixSQL.g:1:14: ALL
				{
				mALL(); 

				}
				break;
			case 3 :
				// PhoenixSQL.g:1:18: ALTER
				{
				mALTER(); 

				}
				break;
			case 4 :
				// PhoenixSQL.g:1:24: AND
				{
				mAND(); 

				}
				break;
			case 5 :
				// PhoenixSQL.g:1:28: ANY
				{
				mANY(); 

				}
				break;
			case 6 :
				// PhoenixSQL.g:1:32: ARRAY
				{
				mARRAY(); 

				}
				break;
			case 7 :
				// PhoenixSQL.g:1:38: AS
				{
				mAS(); 

				}
				break;
			case 8 :
				// PhoenixSQL.g:1:41: ASC
				{
				mASC(); 

				}
				break;
			case 9 :
				// PhoenixSQL.g:1:45: BETWEEN
				{
				mBETWEEN(); 

				}
				break;
			case 10 :
				// PhoenixSQL.g:1:53: BY
				{
				mBY(); 

				}
				break;
			case 11 :
				// PhoenixSQL.g:1:56: CACHE
				{
				mCACHE(); 

				}
				break;
			case 12 :
				// PhoenixSQL.g:1:62: CASE
				{
				mCASE(); 

				}
				break;
			case 13 :
				// PhoenixSQL.g:1:67: CAST
				{
				mCAST(); 

				}
				break;
			case 14 :
				// PhoenixSQL.g:1:72: COLUMN
				{
				mCOLUMN(); 

				}
				break;
			case 15 :
				// PhoenixSQL.g:1:79: CONSTRAINT
				{
				mCONSTRAINT(); 

				}
				break;
			case 16 :
				// PhoenixSQL.g:1:90: CREATE
				{
				mCREATE(); 

				}
				break;
			case 17 :
				// PhoenixSQL.g:1:97: CURRENT
				{
				mCURRENT(); 

				}
				break;
			case 18 :
				// PhoenixSQL.g:1:105: CYCLE
				{
				mCYCLE(); 

				}
				break;
			case 19 :
				// PhoenixSQL.g:1:111: DELETE
				{
				mDELETE(); 

				}
				break;
			case 20 :
				// PhoenixSQL.g:1:118: DESC
				{
				mDESC(); 

				}
				break;
			case 21 :
				// PhoenixSQL.g:1:123: DISABLE
				{
				mDISABLE(); 

				}
				break;
			case 22 :
				// PhoenixSQL.g:1:131: DISTINCT
				{
				mDISTINCT(); 

				}
				break;
			case 23 :
				// PhoenixSQL.g:1:140: DROP
				{
				mDROP(); 

				}
				break;
			case 24 :
				// PhoenixSQL.g:1:145: ELSE
				{
				mELSE(); 

				}
				break;
			case 25 :
				// PhoenixSQL.g:1:150: END
				{
				mEND(); 

				}
				break;
			case 26 :
				// PhoenixSQL.g:1:154: EXISTS
				{
				mEXISTS(); 

				}
				break;
			case 27 :
				// PhoenixSQL.g:1:161: EXPLAIN
				{
				mEXPLAIN(); 

				}
				break;
			case 28 :
				// PhoenixSQL.g:1:169: FALSE
				{
				mFALSE(); 

				}
				break;
			case 29 :
				// PhoenixSQL.g:1:175: FIRST
				{
				mFIRST(); 

				}
				break;
			case 30 :
				// PhoenixSQL.g:1:181: FOR
				{
				mFOR(); 

				}
				break;
			case 31 :
				// PhoenixSQL.g:1:185: FROM
				{
				mFROM(); 

				}
				break;
			case 32 :
				// PhoenixSQL.g:1:190: FULL
				{
				mFULL(); 

				}
				break;
			case 33 :
				// PhoenixSQL.g:1:195: GROUP
				{
				mGROUP(); 

				}
				break;
			case 34 :
				// PhoenixSQL.g:1:201: HAVING
				{
				mHAVING(); 

				}
				break;
			case 35 :
				// PhoenixSQL.g:1:208: IF
				{
				mIF(); 

				}
				break;
			case 36 :
				// PhoenixSQL.g:1:211: IN
				{
				mIN(); 

				}
				break;
			case 37 :
				// PhoenixSQL.g:1:214: INCLUDE
				{
				mINCLUDE(); 

				}
				break;
			case 38 :
				// PhoenixSQL.g:1:222: INCREMENT
				{
				mINCREMENT(); 

				}
				break;
			case 39 :
				// PhoenixSQL.g:1:232: INDEX
				{
				mINDEX(); 

				}
				break;
			case 40 :
				// PhoenixSQL.g:1:238: INNER
				{
				mINNER(); 

				}
				break;
			case 41 :
				// PhoenixSQL.g:1:244: INTO
				{
				mINTO(); 

				}
				break;
			case 42 :
				// PhoenixSQL.g:1:249: IS
				{
				mIS(); 

				}
				break;
			case 43 :
				// PhoenixSQL.g:1:252: JOIN
				{
				mJOIN(); 

				}
				break;
			case 44 :
				// PhoenixSQL.g:1:257: KEY
				{
				mKEY(); 

				}
				break;
			case 45 :
				// PhoenixSQL.g:1:261: LAST
				{
				mLAST(); 

				}
				break;
			case 46 :
				// PhoenixSQL.g:1:266: LEFT
				{
				mLEFT(); 

				}
				break;
			case 47 :
				// PhoenixSQL.g:1:271: LIKE
				{
				mLIKE(); 

				}
				break;
			case 48 :
				// PhoenixSQL.g:1:276: LIMIT
				{
				mLIMIT(); 

				}
				break;
			case 49 :
				// PhoenixSQL.g:1:282: LOCAL
				{
				mLOCAL(); 

				}
				break;
			case 50 :
				// PhoenixSQL.g:1:288: MAXVALUE
				{
				mMAXVALUE(); 

				}
				break;
			case 51 :
				// PhoenixSQL.g:1:297: MINVALUE
				{
				mMINVALUE(); 

				}
				break;
			case 52 :
				// PhoenixSQL.g:1:306: NEXT
				{
				mNEXT(); 

				}
				break;
			case 53 :
				// PhoenixSQL.g:1:311: NOT
				{
				mNOT(); 

				}
				break;
			case 54 :
				// PhoenixSQL.g:1:315: NULL
				{
				mNULL(); 

				}
				break;
			case 55 :
				// PhoenixSQL.g:1:320: NULLS
				{
				mNULLS(); 

				}
				break;
			case 56 :
				// PhoenixSQL.g:1:326: ON
				{
				mON(); 

				}
				break;
			case 57 :
				// PhoenixSQL.g:1:329: OR
				{
				mOR(); 

				}
				break;
			case 58 :
				// PhoenixSQL.g:1:332: ORDER
				{
				mORDER(); 

				}
				break;
			case 59 :
				// PhoenixSQL.g:1:338: OUTER
				{
				mOUTER(); 

				}
				break;
			case 60 :
				// PhoenixSQL.g:1:344: PRIMARY
				{
				mPRIMARY(); 

				}
				break;
			case 61 :
				// PhoenixSQL.g:1:352: REBUILD
				{
				mREBUILD(); 

				}
				break;
			case 62 :
				// PhoenixSQL.g:1:360: RIGHT
				{
				mRIGHT(); 

				}
				break;
			case 63 :
				// PhoenixSQL.g:1:366: SELECT
				{
				mSELECT(); 

				}
				break;
			case 64 :
				// PhoenixSQL.g:1:373: SEQUENCE
				{
				mSEQUENCE(); 

				}
				break;
			case 65 :
				// PhoenixSQL.g:1:382: SET
				{
				mSET(); 

				}
				break;
			case 66 :
				// PhoenixSQL.g:1:386: SOME
				{
				mSOME(); 

				}
				break;
			case 67 :
				// PhoenixSQL.g:1:391: SPLIT
				{
				mSPLIT(); 

				}
				break;
			case 68 :
				// PhoenixSQL.g:1:397: START
				{
				mSTART(); 

				}
				break;
			case 69 :
				// PhoenixSQL.g:1:403: TABLE
				{
				mTABLE(); 

				}
				break;
			case 70 :
				// PhoenixSQL.g:1:409: TABLES
				{
				mTABLES(); 

				}
				break;
			case 71 :
				// PhoenixSQL.g:1:416: THEN
				{
				mTHEN(); 

				}
				break;
			case 72 :
				// PhoenixSQL.g:1:421: TRUE
				{
				mTRUE(); 

				}
				break;
			case 73 :
				// PhoenixSQL.g:1:426: UNUSABLE
				{
				mUNUSABLE(); 

				}
				break;
			case 74 :
				// PhoenixSQL.g:1:435: UPSERT
				{
				mUPSERT(); 

				}
				break;
			case 75 :
				// PhoenixSQL.g:1:442: USABLE
				{
				mUSABLE(); 

				}
				break;
			case 76 :
				// PhoenixSQL.g:1:449: VALUE
				{
				mVALUE(); 

				}
				break;
			case 77 :
				// PhoenixSQL.g:1:455: VALUES
				{
				mVALUES(); 

				}
				break;
			case 78 :
				// PhoenixSQL.g:1:462: VIEW
				{
				mVIEW(); 

				}
				break;
			case 79 :
				// PhoenixSQL.g:1:467: WHEN
				{
				mWHEN(); 

				}
				break;
			case 80 :
				// PhoenixSQL.g:1:472: WHERE
				{
				mWHERE(); 

				}
				break;
			case 81 :
				// PhoenixSQL.g:1:478: WITH
				{
				mWITH(); 

				}
				break;
			case 82 :
				// PhoenixSQL.g:1:483: WITHIN
				{
				mWITHIN(); 

				}
				break;
			case 83 :
				// PhoenixSQL.g:1:490: HINT_START
				{
				mHINT_START(); 

				}
				break;
			case 84 :
				// PhoenixSQL.g:1:501: COMMENT_START
				{
				mCOMMENT_START(); 

				}
				break;
			case 85 :
				// PhoenixSQL.g:1:515: COMMENT_AND_HINT_END
				{
				mCOMMENT_AND_HINT_END(); 

				}
				break;
			case 86 :
				// PhoenixSQL.g:1:536: SL_COMMENT1
				{
				mSL_COMMENT1(); 

				}
				break;
			case 87 :
				// PhoenixSQL.g:1:548: SL_COMMENT2
				{
				mSL_COMMENT2(); 

				}
				break;
			case 88 :
				// PhoenixSQL.g:1:560: BIND_NAME
				{
				mBIND_NAME(); 

				}
				break;
			case 89 :
				// PhoenixSQL.g:1:570: NAME
				{
				mNAME(); 

				}
				break;
			case 90 :
				// PhoenixSQL.g:1:575: NUMBER
				{
				mNUMBER(); 

				}
				break;
			case 91 :
				// PhoenixSQL.g:1:582: LONG
				{
				mLONG(); 

				}
				break;
			case 92 :
				// PhoenixSQL.g:1:587: DECIMAL
				{
				mDECIMAL(); 

				}
				break;
			case 93 :
				// PhoenixSQL.g:1:595: DOUBLE
				{
				mDOUBLE(); 

				}
				break;
			case 94 :
				// PhoenixSQL.g:1:602: DOUBLE_QUOTE
				{
				mDOUBLE_QUOTE(); 

				}
				break;
			case 95 :
				// PhoenixSQL.g:1:615: EQ
				{
				mEQ(); 

				}
				break;
			case 96 :
				// PhoenixSQL.g:1:618: LT
				{
				mLT(); 

				}
				break;
			case 97 :
				// PhoenixSQL.g:1:621: GT
				{
				mGT(); 

				}
				break;
			case 98 :
				// PhoenixSQL.g:1:624: DOUBLE_EQ
				{
				mDOUBLE_EQ(); 

				}
				break;
			case 99 :
				// PhoenixSQL.g:1:634: NOEQ1
				{
				mNOEQ1(); 

				}
				break;
			case 100 :
				// PhoenixSQL.g:1:640: NOEQ2
				{
				mNOEQ2(); 

				}
				break;
			case 101 :
				// PhoenixSQL.g:1:646: CONCAT
				{
				mCONCAT(); 

				}
				break;
			case 102 :
				// PhoenixSQL.g:1:653: COMMA
				{
				mCOMMA(); 

				}
				break;
			case 103 :
				// PhoenixSQL.g:1:659: LPAREN
				{
				mLPAREN(); 

				}
				break;
			case 104 :
				// PhoenixSQL.g:1:666: RPAREN
				{
				mRPAREN(); 

				}
				break;
			case 105 :
				// PhoenixSQL.g:1:673: SEMICOLON
				{
				mSEMICOLON(); 

				}
				break;
			case 106 :
				// PhoenixSQL.g:1:683: COLON
				{
				mCOLON(); 

				}
				break;
			case 107 :
				// PhoenixSQL.g:1:689: QUESTION
				{
				mQUESTION(); 

				}
				break;
			case 108 :
				// PhoenixSQL.g:1:698: LSQUARE
				{
				mLSQUARE(); 

				}
				break;
			case 109 :
				// PhoenixSQL.g:1:706: RSQUARE
				{
				mRSQUARE(); 

				}
				break;
			case 110 :
				// PhoenixSQL.g:1:714: LCURLY
				{
				mLCURLY(); 

				}
				break;
			case 111 :
				// PhoenixSQL.g:1:721: RCURLY
				{
				mRCURLY(); 

				}
				break;
			case 112 :
				// PhoenixSQL.g:1:728: AT
				{
				mAT(); 

				}
				break;
			case 113 :
				// PhoenixSQL.g:1:731: TILDE
				{
				mTILDE(); 

				}
				break;
			case 114 :
				// PhoenixSQL.g:1:737: PLUS
				{
				mPLUS(); 

				}
				break;
			case 115 :
				// PhoenixSQL.g:1:742: MINUS
				{
				mMINUS(); 

				}
				break;
			case 116 :
				// PhoenixSQL.g:1:748: ASTERISK
				{
				mASTERISK(); 

				}
				break;
			case 117 :
				// PhoenixSQL.g:1:757: DIVIDE
				{
				mDIVIDE(); 

				}
				break;
			case 118 :
				// PhoenixSQL.g:1:764: PERCENT
				{
				mPERCENT(); 

				}
				break;
			case 119 :
				// PhoenixSQL.g:1:772: OUTER_JOIN
				{
				mOUTER_JOIN(); 

				}
				break;
			case 120 :
				// PhoenixSQL.g:1:783: STRING_LITERAL
				{
				mSTRING_LITERAL(); 

				}
				break;
			case 121 :
				// PhoenixSQL.g:1:798: WS
				{
				mWS(); 

				}
				break;
			case 122 :
				// PhoenixSQL.g:1:801: EOL
				{
				mEOL(); 

				}
				break;
			case 123 :
				// PhoenixSQL.g:1:805: ML_HINT
				{
				mML_HINT(); 

				}
				break;
			case 124 :
				// PhoenixSQL.g:1:813: ML_COMMENT
				{
				mML_COMMENT(); 

				}
				break;
			case 125 :
				// PhoenixSQL.g:1:824: SL_COMMENT
				{
				mSL_COMMENT(); 

				}
				break;
			case 126 :
				// PhoenixSQL.g:1:835: DOT
				{
				mDOT(); 

				}
				break;

		}
	}


	protected DFA18 dfa18 = new DFA18(this);
	static final String DFA18_eotS =
		"\1\uffff\26\33\1\161\1\163\1\165\1\166\1\uffff\1\170\1\171\1\175\1\177"+
		"\1\u0081\4\uffff\1\u0083\16\uffff\4\33\1\u008b\1\33\1\u008d\22\33\1\u00a4"+
		"\1\u00a9\1\u00aa\13\33\1\u00b7\1\u00b9\22\33\1\u00cf\1\u00d1\3\uffff\1"+
		"\u00d3\7\uffff\1\u00d4\7\uffff\1\u00d6\1\u00d7\1\33\1\u00d9\1\u00da\1"+
		"\33\1\u00dc\1\uffff\1\33\1\uffff\14\33\1\u00ec\4\33\1\u00f1\4\33\1\uffff"+
		"\4\33\2\uffff\1\33\1\u00fc\10\33\1\u0105\1\33\1\uffff\1\33\1\uffff\6\33"+
		"\1\u010e\15\33\1\u011d\11\uffff\1\33\2\uffff\1\33\1\uffff\2\33\1\u0123"+
		"\1\u0124\6\33\1\u012b\2\33\1\u012e\1\u012f\1\uffff\4\33\1\uffff\1\u0134"+
		"\1\u0135\6\33\1\u013c\1\u013d\1\uffff\1\u013e\1\u013f\1\u0140\4\33\1\u0145"+
		"\1\uffff\1\u0147\7\33\1\uffff\1\u014f\3\33\1\u0153\1\u0154\4\33\1\u0159"+
		"\1\u015a\1\33\1\u015d\2\uffff\1\u015e\1\u015f\1\33\1\u0161\2\uffff\4\33"+
		"\1\u0166\1\33\1\uffff\2\33\2\uffff\2\33\1\u016c\1\u016d\2\uffff\1\u016e"+
		"\3\33\1\u0172\1\u0173\5\uffff\1\u0174\1\u0175\2\33\1\uffff\1\u0178\1\uffff"+
		"\1\u0179\1\u017a\2\33\1\u017d\2\33\1\uffff\1\u0180\1\u0181\1\u0183\2\uffff"+
		"\3\33\1\u0188\2\uffff\1\u0189\1\33\3\uffff\1\33\1\uffff\1\u018c\1\33\1"+
		"\u018e\1\33\1\uffff\1\u0190\2\33\1\u0193\1\33\3\uffff\1\u0195\2\33\4\uffff"+
		"\2\33\3\uffff\2\33\1\uffff\1\u019c\1\33\2\uffff\1\u019e\1\uffff\1\33\1"+
		"\u01a0\1\u01a1\1\u01a2\2\uffff\1\u01a3\1\u01a4\1\uffff\1\33\1\uffff\1"+
		"\u01a6\1\uffff\1\u01a7\1\33\1\uffff\1\u01a9\1\uffff\1\u01aa\3\33\1\u01ae"+
		"\1\u01af\1\uffff\1\33\1\uffff\1\33\5\uffff\1\33\2\uffff\1\u01b3\2\uffff"+
		"\1\33\1\u01b5\1\u01b6\2\uffff\1\u01b7\1\u01b8\1\33\1\uffff\1\u01ba\4\uffff"+
		"\1\u01bb\2\uffff";
	static final String DFA18_eofS =
		"\u01bc\uffff";
	static final String DFA18_minS =
		"\1\11\1\144\1\145\1\141\1\145\1\154\1\141\1\162\1\141\1\146\1\157\1\145"+
		"\2\141\1\145\1\156\1\162\2\145\1\141\1\156\1\141\1\150\1\52\1\57\1\55"+
		"\1\60\1\uffff\1\0\1\56\1\60\1\75\1\76\4\uffff\1\53\16\uffff\1\144\1\154"+
		"\1\144\1\162\1\42\1\164\1\42\1\143\1\154\1\145\1\162\1\143\1\154\1\163"+
		"\1\157\1\163\1\144\1\151\1\154\2\162\1\157\1\154\1\157\1\166\3\42\1\151"+
		"\1\171\1\163\1\146\1\153\1\143\1\170\1\156\1\170\1\164\1\154\2\42\1\164"+
		"\1\151\1\142\1\147\1\154\1\155\1\154\1\141\1\142\1\145\2\165\1\163\1\141"+
		"\1\154\2\145\1\164\2\0\3\uffff\1\0\6\uffff\2\60\7\uffff\2\42\1\145\2\42"+
		"\1\141\1\42\1\uffff\1\167\1\uffff\1\150\1\145\1\165\1\163\1\141\1\162"+
		"\1\154\1\145\1\143\1\141\1\160\1\145\1\42\1\163\1\154\2\163\1\42\1\155"+
		"\1\154\1\165\1\151\1\uffff\1\154\2\145\1\157\2\uffff\1\156\1\42\2\164"+
		"\1\145\1\151\1\141\2\166\1\164\1\42\1\154\1\uffff\1\145\1\uffff\1\145"+
		"\1\155\1\165\1\150\1\145\1\165\1\42\1\145\1\151\1\162\1\154\1\156\1\145"+
		"\1\163\1\145\1\142\1\165\1\167\1\156\1\150\1\0\11\uffff\1\162\2\uffff"+
		"\1\171\1\uffff\2\145\2\42\1\155\2\164\2\145\1\164\1\42\1\142\1\151\2\42"+
		"\1\uffff\1\164\1\141\1\145\1\164\1\uffff\2\42\1\160\1\156\1\165\1\145"+
		"\1\170\1\162\2\42\1\uffff\3\42\1\164\1\154\2\141\1\42\1\uffff\1\42\2\162"+
		"\1\141\1\151\1\164\1\143\1\145\1\uffff\1\42\2\164\1\145\2\42\1\141\1\162"+
		"\1\154\1\145\2\42\1\145\1\42\2\uffff\2\42\1\145\1\42\2\uffff\1\156\1\162"+
		"\1\145\1\156\1\42\1\145\1\uffff\1\154\1\156\2\uffff\1\163\1\151\2\42\2"+
		"\uffff\1\42\1\147\1\144\1\155\2\42\5\uffff\2\42\2\154\1\uffff\1\42\1\uffff"+
		"\2\42\1\162\1\154\1\42\1\164\1\156\1\uffff\3\42\2\uffff\1\142\1\164\1"+
		"\145\1\42\2\uffff\1\42\1\156\3\uffff\1\156\1\uffff\1\42\1\141\1\42\1\164"+
		"\1\uffff\1\42\1\145\1\143\1\42\1\156\3\uffff\1\42\2\145\4\uffff\2\165"+
		"\3\uffff\1\171\1\144\1\uffff\1\42\1\143\2\uffff\1\42\1\uffff\1\154\3\42"+
		"\2\uffff\2\42\1\uffff\1\151\1\uffff\1\42\1\uffff\1\42\1\164\1\uffff\1"+
		"\42\1\uffff\1\42\1\156\2\145\2\42\1\uffff\1\145\1\uffff\1\145\5\uffff"+
		"\1\156\2\uffff\1\42\2\uffff\1\164\2\42\2\uffff\2\42\1\164\1\uffff\1\42"+
		"\4\uffff\1\42\2\uffff";
	static final String DFA18_maxS =
		"\1\176\1\163\2\171\1\162\1\170\1\165\1\162\1\141\1\163\1\157\1\145\1\157"+
		"\1\151\2\165\1\162\1\151\1\164\1\162\1\163\2\151\2\57\1\55\1\172\1\uffff"+
		"\1\uffff\1\154\1\71\1\75\1\76\4\uffff\1\53\16\uffff\1\144\1\164\1\171"+
		"\1\162\1\ufffe\1\164\1\ufffe\1\163\1\156\1\145\1\162\1\143\2\163\1\157"+
		"\1\163\1\144\1\160\1\154\2\162\1\157\1\154\1\157\1\166\3\ufffe\1\151\1"+
		"\171\1\163\1\146\1\155\1\143\1\170\1\156\1\170\1\164\1\154\2\ufffe\1\164"+
		"\1\151\1\142\1\147\1\164\1\155\1\154\1\141\1\142\1\145\2\165\1\163\1\141"+
		"\1\154\2\145\1\164\2\uffff\3\uffff\1\uffff\6\uffff\1\71\1\144\7\uffff"+
		"\2\ufffe\1\145\2\ufffe\1\141\1\ufffe\1\uffff\1\167\1\uffff\1\150\1\164"+
		"\1\165\1\163\1\141\1\162\1\154\1\145\1\143\1\164\1\160\1\145\1\ufffe\1"+
		"\163\1\154\2\163\1\ufffe\1\155\1\154\1\165\1\151\1\uffff\1\162\2\145\1"+
		"\157\2\uffff\1\156\1\ufffe\2\164\1\145\1\151\1\141\2\166\1\164\1\ufffe"+
		"\1\154\1\uffff\1\145\1\uffff\1\145\1\155\1\165\1\150\1\145\1\165\1\ufffe"+
		"\1\145\1\151\1\162\1\154\1\156\1\145\1\163\1\145\1\142\1\165\1\167\1\162"+
		"\1\150\1\uffff\11\uffff\1\162\2\uffff\1\171\1\uffff\2\145\2\ufffe\1\155"+
		"\2\164\2\145\1\164\1\ufffe\1\142\1\151\2\ufffe\1\uffff\1\164\1\141\1\145"+
		"\1\164\1\uffff\2\ufffe\1\160\1\156\1\165\1\145\1\170\1\162\2\ufffe\1\uffff"+
		"\3\ufffe\1\164\1\154\2\141\1\ufffe\1\uffff\1\ufffe\2\162\1\141\1\151\1"+
		"\164\1\143\1\145\1\uffff\1\ufffe\2\164\1\145\2\ufffe\1\141\1\162\1\154"+
		"\1\145\2\ufffe\1\145\1\ufffe\2\uffff\2\ufffe\1\145\1\ufffe\2\uffff\1\156"+
		"\1\162\1\145\1\156\1\ufffe\1\145\1\uffff\1\154\1\156\2\uffff\1\163\1\151"+
		"\2\ufffe\2\uffff\1\ufffe\1\147\1\144\1\155\2\ufffe\5\uffff\2\ufffe\2\154"+
		"\1\uffff\1\ufffe\1\uffff\2\ufffe\1\162\1\154\1\ufffe\1\164\1\156\1\uffff"+
		"\3\ufffe\2\uffff\1\142\1\164\1\145\1\ufffe\2\uffff\1\ufffe\1\156\3\uffff"+
		"\1\156\1\uffff\1\ufffe\1\141\1\ufffe\1\164\1\uffff\1\ufffe\1\145\1\143"+
		"\1\ufffe\1\156\3\uffff\1\ufffe\2\145\4\uffff\2\165\3\uffff\1\171\1\144"+
		"\1\uffff\1\ufffe\1\143\2\uffff\1\ufffe\1\uffff\1\154\3\ufffe\2\uffff\2"+
		"\ufffe\1\uffff\1\151\1\uffff\1\ufffe\1\uffff\1\ufffe\1\164\1\uffff\1\ufffe"+
		"\1\uffff\1\ufffe\1\156\2\145\2\ufffe\1\uffff\1\145\1\uffff\1\145\5\uffff"+
		"\1\156\2\uffff\1\ufffe\2\uffff\1\164\2\ufffe\2\uffff\2\ufffe\1\164\1\uffff"+
		"\1\ufffe\4\uffff\1\ufffe\2\uffff";
	static final String DFA18_acceptS =
		"\33\uffff\1\131\5\uffff\1\141\1\143\1\145\1\146\1\uffff\1\150\1\151\1"+
		"\153\1\154\1\155\1\156\1\157\1\160\1\161\1\162\1\166\1\170\1\171\1\172"+
		"\75\uffff\1\165\1\125\1\164\1\uffff\1\163\1\152\1\130\1\136\1\132\1\133"+
		"\2\uffff\1\176\1\142\1\137\1\144\1\140\1\167\1\147\7\uffff\1\7\1\uffff"+
		"\1\12\26\uffff\1\43\4\uffff\1\44\1\52\14\uffff\1\70\1\uffff\1\71\25\uffff"+
		"\1\124\1\174\1\126\1\175\1\127\1\134\1\135\1\1\1\2\1\uffff\1\4\1\5\1\uffff"+
		"\1\10\17\uffff\1\31\4\uffff\1\36\12\uffff\1\54\10\uffff\1\65\10\uffff"+
		"\1\101\16\uffff\1\123\1\173\4\uffff\1\14\1\15\6\uffff\1\24\2\uffff\1\27"+
		"\1\30\4\uffff\1\37\1\40\6\uffff\1\51\1\53\1\55\1\56\1\57\4\uffff\1\64"+
		"\1\uffff\1\66\7\uffff\1\102\3\uffff\1\107\1\110\4\uffff\1\116\1\117\2"+
		"\uffff\1\121\1\3\1\6\1\uffff\1\13\4\uffff\1\22\5\uffff\1\34\1\35\1\41"+
		"\3\uffff\1\47\1\50\1\60\1\61\2\uffff\1\67\1\72\1\73\2\uffff\1\76\2\uffff"+
		"\1\103\1\104\1\uffff\1\105\4\uffff\1\114\1\120\2\uffff\1\16\1\uffff\1"+
		"\20\1\uffff\1\23\2\uffff\1\32\1\uffff\1\42\6\uffff\1\77\1\uffff\1\106"+
		"\1\uffff\1\112\1\113\1\115\1\122\1\11\1\uffff\1\21\1\25\1\uffff\1\33\1"+
		"\45\3\uffff\1\74\1\75\3\uffff\1\26\1\uffff\1\62\1\63\1\100\1\111\1\uffff"+
		"\1\46\1\17";
	static final String DFA18_specialS =
		"\34\uffff\1\4\122\uffff\1\0\1\1\3\uffff\1\3\131\uffff\1\2\u00ed\uffff}>";
	static final String[] DFA18_transitionS = {
			"\1\62\1\63\2\uffff\1\63\22\uffff\1\62\1\42\1\34\2\uffff\1\60\1\uffff"+
			"\1\61\1\45\1\46\1\30\1\57\1\44\1\31\1\36\1\27\12\35\1\32\1\47\1\40\1"+
			"\37\1\41\1\50\1\55\32\33\1\51\1\uffff\1\52\3\uffff\1\1\1\2\1\3\1\4\1"+
			"\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\33\1\21\1\22"+
			"\1\23\1\24\1\25\1\26\3\33\1\53\1\43\1\54\1\56",
			"\1\64\7\uffff\1\65\1\uffff\1\66\3\uffff\1\67\1\70",
			"\1\71\23\uffff\1\72",
			"\1\73\15\uffff\1\74\2\uffff\1\75\2\uffff\1\76\3\uffff\1\77",
			"\1\100\3\uffff\1\101\10\uffff\1\102",
			"\1\103\1\uffff\1\104\11\uffff\1\105",
			"\1\106\7\uffff\1\107\5\uffff\1\110\2\uffff\1\111\2\uffff\1\112",
			"\1\113",
			"\1\114",
			"\1\115\7\uffff\1\116\4\uffff\1\117",
			"\1\120",
			"\1\121",
			"\1\122\3\uffff\1\123\3\uffff\1\124\5\uffff\1\125",
			"\1\126\7\uffff\1\127",
			"\1\130\11\uffff\1\131\5\uffff\1\132",
			"\1\133\3\uffff\1\134\2\uffff\1\135",
			"\1\136",
			"\1\137\3\uffff\1\140",
			"\1\141\11\uffff\1\142\1\143\3\uffff\1\144",
			"\1\145\6\uffff\1\146\11\uffff\1\147",
			"\1\150\1\uffff\1\151\2\uffff\1\152",
			"\1\153\7\uffff\1\154",
			"\1\155\1\156",
			"\1\157\4\uffff\1\160",
			"\1\162",
			"\1\164",
			"\12\167\7\uffff\32\167\4\uffff\1\167\1\uffff\32\167",
			"",
			"\0\33",
			"\1\173\1\uffff\12\35\22\uffff\1\172\37\uffff\1\172",
			"\12\174",
			"\1\176",
			"\1\u0080",
			"",
			"",
			"",
			"",
			"\1\u0082",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u0084",
			"\1\u0085\7\uffff\1\u0086",
			"\1\u0087\24\uffff\1\u0088",
			"\1\u0089",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\2\33\1\u008a"+
			"\27\33\5\uffff\uff7f\33",
			"\1\u008c",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u008e\17\uffff\1\u008f",
			"\1\u0090\1\uffff\1\u0091",
			"\1\u0092",
			"\1\u0093",
			"\1\u0094",
			"\1\u0095\6\uffff\1\u0096",
			"\1\u0097",
			"\1\u0098",
			"\1\u0099",
			"\1\u009a",
			"\1\u009b\6\uffff\1\u009c",
			"\1\u009d",
			"\1\u009e",
			"\1\u009f",
			"\1\u00a0",
			"\1\u00a1",
			"\1\u00a2",
			"\1\u00a3",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\2\33\1\u00a5"+
			"\1\u00a6\11\33\1\u00a7\5\33\1\u00a8\6\33\5\uffff\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00ab",
			"\1\u00ac",
			"\1\u00ad",
			"\1\u00ae",
			"\1\u00af\1\uffff\1\u00b0",
			"\1\u00b1",
			"\1\u00b2",
			"\1\u00b3",
			"\1\u00b4",
			"\1\u00b5",
			"\1\u00b6",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\3\33\1\u00b8"+
			"\26\33\5\uffff\uff7f\33",
			"\1\u00ba",
			"\1\u00bb",
			"\1\u00bc",
			"\1\u00bd",
			"\1\u00be\4\uffff\1\u00bf\2\uffff\1\u00c0",
			"\1\u00c1",
			"\1\u00c2",
			"\1\u00c3",
			"\1\u00c4",
			"\1\u00c5",
			"\1\u00c6",
			"\1\u00c7",
			"\1\u00c8",
			"\1\u00c9",
			"\1\u00ca",
			"\1\u00cb",
			"\1\u00cc",
			"\1\u00cd",
			"\53\u00d0\1\u00ce\uffd4\u00d0",
			"\0\u00d2",
			"",
			"",
			"",
			"\0\u00d2",
			"",
			"",
			"",
			"",
			"",
			"",
			"\12\174",
			"\12\174\12\uffff\1\u00d5\37\uffff\1\u00d5",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00d8",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00db",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\u00dd",
			"",
			"\1\u00de",
			"\1\u00df\16\uffff\1\u00e0",
			"\1\u00e1",
			"\1\u00e2",
			"\1\u00e3",
			"\1\u00e4",
			"\1\u00e5",
			"\1\u00e6",
			"\1\u00e7",
			"\1\u00e8\22\uffff\1\u00e9",
			"\1\u00ea",
			"\1\u00eb",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00ed",
			"\1\u00ee",
			"\1\u00ef",
			"\1\u00f0",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00f2",
			"\1\u00f3",
			"\1\u00f4",
			"\1\u00f5",
			"",
			"\1\u00f6\5\uffff\1\u00f7",
			"\1\u00f8",
			"\1\u00f9",
			"\1\u00fa",
			"",
			"",
			"\1\u00fb",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u00fd",
			"\1\u00fe",
			"\1\u00ff",
			"\1\u0100",
			"\1\u0101",
			"\1\u0102",
			"\1\u0103",
			"\1\u0104",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0106",
			"",
			"\1\u0107",
			"",
			"\1\u0108",
			"\1\u0109",
			"\1\u010a",
			"\1\u010b",
			"\1\u010c",
			"\1\u010d",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u010f",
			"\1\u0110",
			"\1\u0111",
			"\1\u0112",
			"\1\u0113",
			"\1\u0114",
			"\1\u0115",
			"\1\u0116",
			"\1\u0117",
			"\1\u0118",
			"\1\u0119",
			"\1\u011a\3\uffff\1\u011b",
			"\1\u011c",
			"\0\u011e",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\u011f",
			"",
			"",
			"\1\u0120",
			"",
			"\1\u0121",
			"\1\u0122",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0125",
			"\1\u0126",
			"\1\u0127",
			"\1\u0128",
			"\1\u0129",
			"\1\u012a",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u012c",
			"\1\u012d",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\u0130",
			"\1\u0131",
			"\1\u0132",
			"\1\u0133",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0136",
			"\1\u0137",
			"\1\u0138",
			"\1\u0139",
			"\1\u013a",
			"\1\u013b",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0141",
			"\1\u0142",
			"\1\u0143",
			"\1\u0144",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\22\33\1\u0146"+
			"\7\33\5\uffff\uff7f\33",
			"\1\u0148",
			"\1\u0149",
			"\1\u014a",
			"\1\u014b",
			"\1\u014c",
			"\1\u014d",
			"\1\u014e",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0150",
			"\1\u0151",
			"\1\u0152",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0155",
			"\1\u0156",
			"\1\u0157",
			"\1\u0158",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u015b",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\10\33\1\u015c"+
			"\21\33\5\uffff\uff7f\33",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0160",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"\1\u0162",
			"\1\u0163",
			"\1\u0164",
			"\1\u0165",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0167",
			"",
			"\1\u0168",
			"\1\u0169",
			"",
			"",
			"\1\u016a",
			"\1\u016b",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u016f",
			"\1\u0170",
			"\1\u0171",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0176",
			"\1\u0177",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u017b",
			"\1\u017c",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u017e",
			"\1\u017f",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\22\33\1\u0182"+
			"\7\33\5\uffff\uff7f\33",
			"",
			"",
			"\1\u0184",
			"\1\u0185",
			"\1\u0186",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\22\33\1\u0187"+
			"\7\33\5\uffff\uff7f\33",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u018a",
			"",
			"",
			"",
			"\1\u018b",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u018d",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u018f",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0191",
			"\1\u0192",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0194",
			"",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u0196",
			"\1\u0197",
			"",
			"",
			"",
			"",
			"\1\u0198",
			"\1\u0199",
			"",
			"",
			"",
			"\1\u019a",
			"\1\u019b",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u019d",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\u019f",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\u01a5",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u01a8",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u01ab",
			"\1\u01ac",
			"\1\u01ad",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"\1\u01b0",
			"",
			"\1\u01b1",
			"",
			"",
			"",
			"",
			"",
			"\1\u01b2",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"\1\u01b4",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"\1\u01b9",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			"",
			"",
			"",
			"\1\33\15\uffff\12\33\7\uffff\32\33\4\uffff\1\33\1\uffff\32\33\5\uffff"+
			"\uff7f\33",
			"",
			""
	};

	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= '\u0000' && LA18_111 <= '*')||(LA18_111 >= ',' && LA18_111 <= '\uFFFF')) ) {s = 208;}
						else s = 207;
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA18_112 = input.LA(1);
						s = -1;
						if ( ((LA18_112 >= '\u0000' && LA18_112 <= '\uFFFF')) ) {s = 210;}
						else s = 209;
						if ( s>=0 ) return s;
						break;

					case 2 : 
						int LA18_206 = input.LA(1);
						s = -1;
						if ( ((LA18_206 >= '\u0000' && LA18_206 <= '\uFFFF')) ) {s = 286;}
						else s = 285;
						if ( s>=0 ) return s;
						break;

					case 3 : 
						int LA18_116 = input.LA(1);
						s = -1;
						if ( ((LA18_116 >= '\u0000' && LA18_116 <= '\uFFFF')) ) {s = 210;}
						else s = 211;
						if ( s>=0 ) return s;
						break;

					case 4 : 
						int LA18_28 = input.LA(1);
						s = -1;
						if ( ((LA18_28 >= '\u0000' && LA18_28 <= '\uFFFF')) ) {s = 27;}
						else s = 120;
						if ( s>=0 ) return s;
						break;
			}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 18, _s, input);
			error(nvae);
			throw nvae;
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy