PLParser.java
// Generated from org/apache/doris/nereids/PLParser.g4 by ANTLR 4.13.1
package org.apache.doris.nereids;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"})
public class PLParser extends Parser {
static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
ACTION=1, ALLOCATE=2, ANSI_NULLS=3, ANSI_PADDING=4, ASSOCIATE=5, AVG=6,
BATCHSIZE=7, BINARY_DOUBLE=8, BINARY_FLOAT=9, BINARY_INTEGER=10, BIT=11,
BODY=12, BREAK=13, BYTE=14, CALLER=15, CASCADE=16, CASESPECIFIC=17, CLIENT=18,
CLOSE=19, CLUSTERED=20, CMP=21, COLLECTION=22, COMPRESS=23, CONCAT=24,
CONDITION=25, CONSTANT=26, CONTINUE=27, COUNT_BIG=28, CREATOR=29, CS=30,
CURRENT_SCHEMA=31, CURSOR=32, DAYS=33, DEC=34, DECLARE=35, DEFINED=36,
DEFINER=37, DEFINITION=38, DELIMITED=39, DELIMITER=40, DIAGNOSTICS=41,
DIR=42, DIRECTORY=43, DISTRIBUTE=44, ELSEIF=45, ELSIF=46, ESCAPED=47,
EXEC=48, EXCEPTION=49, EXCLUSIVE=50, EXIT=51, FALLBACK=52, FETCH=53, FILES=54,
FOUND=55, GET=56, GO=57, HANDLER=58, HOST=59, IDENTITY=60, INCLUDE=61,
INITRANS=62, INOUT=63, INT2=64, INT4=65, INT8=66, INVOKER=67, ISOPEN=68,
ITEMS=69, KEEP=70, LANGUAGE=71, LEAVE=72, LOCATOR=73, LOCATORS=74, LOCKS=75,
LOG=76, LOGGED=77, LOGGING=78, LOOP=79, MATCHED=80, MAXTRANS=81, MESSAGE_TEXT=82,
MICROSECOND=83, MICROSECONDS=84, MULTISET=85, NCHAR=86, NEW=87, NVARCHAR=88,
NOCOUNT=89, NOCOMPRESS=90, NOLOGGING=91, NONE=92, NOTFOUND=93, NUMERIC=94,
NUMBER=95, OBJECT=96, OFF=97, OUT=98, OWNER=99, PACKAGE=100, PCTFREE=101,
PCTUSED=102, PLS_INTEGER=103, PRECISION=104, PRESERVE=105, PRINT=106,
QUALIFY=107, QUERY_BAND=108, QUIT=109, QUOTED_IDENTIFIER=110, RAISE=111,
RESIGNAL=112, RESTRICT=113, RESULT=114, RESULT_SET_LOCATOR=115, RETURN=116,
REVERSE=117, ROWTYPE=118, ROW_COUNT=119, RR=120, RS=121, PWD=122, SECONDS=123,
SECURITY=124, SEGMENT=125, SEL=126, SESSIONS=127, SHARE=128, SIGNAL=129,
SIMPLE_DOUBLE=130, SIMPLE_FLOAT=131, SIMPLE_INTEGER=132, SMALLDATETIME=133,
SQL=134, SQLEXCEPTION=135, SQLINSERT=136, SQLSTATE=137, SQLWARNING=138,
STATISTICS=139, STEP=140, STORED=141, SUBDIR=142, SUBSTRING=143, SUMMARY=144,
SYS_REFCURSOR=145, TABLESPACE=146, TEXTIMAGE_ON=147, TITLE=148, TOP=149,
UR=150, VAR=151, VARCHAR2=152, VARYING=153, VOLATILE=154, WHILE=155, WITHOUT=156,
XACT_ABORT=157, XML=158, YES=159, ACTIVITY_COUNT=160, CUME_DIST=161, DENSE_RANK=162,
FIRST_VALUE=163, LAG=164, LAST_VALUE=165, LEAD=166, MAX_PART_STRING=167,
MIN_PART_STRING=168, MAX_PART_INT=169, MIN_PART_INT=170, MAX_PART_DATE=171,
MIN_PART_DATE=172, PART_COUNT=173, PART_LOC=174, RANK=175, ROW_NUMBER=176,
STDEV=177, SYSDATE=178, VARIANCE=179, DOT2=180, SEMICOLON=181, LEFT_PAREN=182,
RIGHT_PAREN=183, COMMA=184, DOT=185, DOTDOTDOT=186, LEFT_BRACKET=187,
RIGHT_BRACKET=188, LEFT_BRACE=189, RIGHT_BRACE=190, ACCOUNT_LOCK=191,
ACCOUNT_UNLOCK=192, ACTIONS=193, ADD=194, ADMIN=195, AFTER=196, AGG_STATE=197,
AGGREGATE=198, ALIAS=199, ALL=200, ALTER=201, ANALYZE=202, ANALYZED=203,
AND=204, ANTI=205, APPEND=206, ARRAY=207, AS=208, ASC=209, AT=210, AUTHORS=211,
AUTO=212, AUTO_INCREMENT=213, ALWAYS=214, BACKEND=215, BACKENDS=216, BACKUP=217,
BEGIN=218, BELONG=219, BETWEEN=220, BIGINT=221, BIN=222, BINARY=223, BINLOG=224,
BITAND=225, BITMAP=226, BITMAP_EMPTY=227, BITMAP_UNION=228, BITOR=229,
BITXOR=230, BLOB=231, BOOLEAN=232, BRIEF=233, BROKER=234, BUCKETS=235,
BUILD=236, BUILTIN=237, BULK=238, BY=239, CACHE=240, CACHED=241, CALL=242,
CANCEL=243, CASE=244, CAST=245, CATALOG=246, CATALOGS=247, CHAIN=248,
CHAR=249, CHARSET=250, CHECK=251, CLEAN=252, CLUSTER=253, CLUSTERS=254,
COLLATE=255, COLLATION=256, COLLECT=257, COLOCATE=258, COLUMN=259, COLUMNS=260,
COMMENT=261, COMMIT=262, COMMITTED=263, COMPACT=264, COMPLETE=265, COMPRESS_TYPE=266,
COMPUTE=267, CONDITIONS=268, CONFIG=269, CONNECTION=270, CONNECTION_ID=271,
CONSISTENT=272, CONSTRAINT=273, CONSTRAINTS=274, CONVERT=275, CONVERT_LSC=276,
COPY=277, COUNT=278, CREATE=279, CREATION=280, CRON=281, CROSS=282, CUBE=283,
CURRENT=284, CURRENT_CATALOG=285, CURRENT_DATE=286, CURRENT_TIME=287,
CURRENT_TIMESTAMP=288, CURRENT_USER=289, DATA=290, DATABASE=291, DATABASES=292,
DATE=293, DATETIME=294, DATETIMEV2=295, DATEV2=296, DATETIMEV1=297, DATEV1=298,
DAY=299, DECIMAL=300, DECIMALV2=301, DECIMALV3=302, DECOMMISSION=303,
DEFAULT=304, DEFERRED=305, DELETE=306, DEMAND=307, DESC=308, DESCRIBE=309,
DIAGNOSE=310, DIAGNOSIS=311, DICTIONARIES=312, DICTIONARY=313, DISK=314,
DISTINCT=315, DISTINCTPC=316, DISTINCTPCSA=317, DISTRIBUTED=318, DISTRIBUTION=319,
DIV=320, DO=321, DORIS_INTERNAL_TABLE_ID=322, DOUBLE=323, DROP=324, DROPP=325,
DUAL=326, DUMP=327, DUPLICATE=328, DYNAMIC=329, E=330, ELSE=331, ENABLE=332,
ENCRYPTKEY=333, ENCRYPTKEYS=334, END=335, ENDS=336, ENGINE=337, ENGINES=338,
ENTER=339, ERRORS=340, EVENTS=341, EVERY=342, EXCEPT=343, EXCLUDE=344,
EXECUTE=345, EXISTS=346, EXPIRED=347, EXPLAIN=348, EXPORT=349, EXTENDED=350,
EXTERNAL=351, EXTRACT=352, FAILED_LOGIN_ATTEMPTS=353, FALSE=354, FAST=355,
FEATURE=356, FIELDS=357, FILE=358, FILTER=359, FIRST=360, FLOAT=361, FOLLOWER=362,
FOLLOWING=363, FOR=364, FOREIGN=365, FORCE=366, FORMAT=367, FREE=368,
FROM=369, FRONTEND=370, FRONTENDS=371, FULL=372, FUNCTION=373, FUNCTIONS=374,
GENERATED=375, GENERIC=376, GLOBAL=377, GRANT=378, GRANTS=379, GRAPH=380,
GROUP=381, GROUPING=382, GROUPS=383, HASH=384, HASH_MAP=385, HAVING=386,
HDFS=387, HELP=388, HISTOGRAM=389, HLL=390, HLL_UNION=391, HOSTNAME=392,
HOTSPOT=393, HOUR=394, HUB=395, IDENTIFIED=396, IF=397, IGNORE=398, IMMEDIATE=399,
IN=400, INCREMENTAL=401, INDEX=402, INDEXES=403, INFILE=404, INNER=405,
INSERT=406, INSTALL=407, INT=408, INTEGER=409, INTERMEDIATE=410, INTERSECT=411,
INTERVAL=412, INTO=413, INVERTED=414, IP_TRIE=415, IPV4=416, IPV6=417,
IS=418, IS_NOT_NULL_PRED=419, IS_NULL_PRED=420, ISNULL=421, ISOLATION=422,
JOB=423, JOBS=424, JOIN=425, JSON=426, JSONB=427, KEY=428, KEYS=429, KILL=430,
LABEL=431, LARGEINT=432, LAYOUT=433, LAST=434, LATERAL=435, LDAP=436,
LDAP_ADMIN_PASSWORD=437, LEFT=438, LESS=439, LEVEL=440, LIKE=441, LIMIT=442,
LINES=443, LINK=444, LIST=445, LOAD=446, LOCAL=447, LOCALTIME=448, LOCALTIMESTAMP=449,
LOCATION=450, LOCK=451, LOGICAL=452, LOW_PRIORITY=453, MANUAL=454, MAP=455,
MATCH=456, MATCH_ALL=457, MATCH_ANY=458, MATCH_PHRASE=459, MATCH_PHRASE_EDGE=460,
MATCH_PHRASE_PREFIX=461, MATCH_REGEXP=462, MATERIALIZED=463, MAX=464,
MAXVALUE=465, MEMO=466, MERGE=467, MIGRATE=468, MIGRATIONS=469, MIN=470,
MINUS=471, MINUTE=472, MODIFY=473, MONTH=474, MTMV=475, NAME=476, NAMES=477,
NATURAL=478, NEGATIVE=479, NEVER=480, NEXT=481, NGRAM_BF=482, NO=483,
NO_USE_MV=484, NON_NULLABLE=485, NOT=486, NULL=487, NULLS=488, OBSERVER=489,
OF=490, OFFSET=491, ON=492, ONLY=493, OPEN=494, OPTIMIZED=495, OR=496,
ORDER=497, OUTER=498, OUTFILE=499, OVER=500, OVERWRITE=501, PARAMETER=502,
PARSED=503, PARTITION=504, PARTITIONS=505, PASSWORD=506, PASSWORD_EXPIRE=507,
PASSWORD_HISTORY=508, PASSWORD_LOCK_TIME=509, PASSWORD_REUSE=510, PATH=511,
PAUSE=512, PERCENT=513, PERIOD=514, PERMISSIVE=515, PHYSICAL=516, PI=517,
PLACEHOLDER=518, PLAN=519, PLAY=520, PRIVILEGES=521, PROCESS=522, PLUGIN=523,
PLUGINS=524, POLICY=525, PRECEDING=526, PREPARE=527, PRIMARY=528, PROC=529,
PROCEDURE=530, PROCESSLIST=531, PROFILE=532, PROPERTIES=533, PROPERTY=534,
QUANTILE_STATE=535, QUANTILE_UNION=536, QUERY=537, QUEUED=538, QUOTA=539,
QUARTER=540, RANDOM=541, RANGE=542, READ=543, REAL=544, REBALANCE=545,
RECENT=546, RECOVER=547, RECYCLE=548, REFRESH=549, REFERENCES=550, REGEXP=551,
RELEASE=552, RENAME=553, REPAIR=554, REPEATABLE=555, REPLACE=556, REPLACE_IF_NOT_NULL=557,
REPLAYER=558, REPLICA=559, REPOSITORIES=560, REPOSITORY=561, RESOURCE=562,
RESOURCES=563, RESTORE=564, RESTRICTIVE=565, RESUME=566, RETURNS=567,
REVOKE=568, REWRITTEN=569, RIGHT=570, RLIKE=571, ROLE=572, ROLES=573,
ROLLBACK=574, ROLLUP=575, ROUTINE=576, ROW=577, ROWS=578, S3=579, SAMPLE=580,
SCHEDULE=581, SCHEDULER=582, SCHEMA=583, SCHEMAS=584, SECOND=585, SELECT=586,
SEMI=587, SERIALIZABLE=588, SESSION=589, SESSION_USER=590, SET=591, SETS=592,
SET_SESSION_VARIABLE=593, SHAPE=594, SHOW=595, SIGNED=596, SKEW=597, SMALLINT=598,
SNAPSHOT=599, SONAME=600, SPLIT=601, SQL_BLOCK_RULE=602, STAGE=603, STAGES=604,
START=605, STARTS=606, STATS=607, STATUS=608, STOP=609, STORAGE=610, STREAM=611,
STREAMING=612, STRING=613, STRUCT=614, SUM=615, SUPERUSER=616, SWITCH=617,
SYNC=618, SYSTEM=619, TABLE=620, TABLES=621, TABLESAMPLE=622, TABLET=623,
TABLETS=624, TASK=625, TASKS=626, TEMPORARY=627, TERMINATED=628, TEXT=629,
THAN=630, THEN=631, TIME=632, TIMESTAMP=633, TINYINT=634, TO=635, TRANSACTION=636,
TRASH=637, TREE=638, TRIGGERS=639, TRIM=640, TRUE=641, TRUNCATE=642, TYPE=643,
TYPECAST=644, TYPES=645, UNBOUNDED=646, UNCOMMITTED=647, UNINSTALL=648,
UNION=649, UNIQUE=650, UNLOCK=651, UNSET=652, UNSIGNED=653, UP=654, UPDATE=655,
USE=656, USER=657, USE_MV=658, USING=659, VALUE=660, VALUES=661, VARCHAR=662,
VARIABLE=663, VARIABLES=664, VARIANT=665, VAULT=666, VAULTS=667, VERBOSE=668,
VERSION=669, VIEW=670, VIEWS=671, WARM=672, WARNINGS=673, WEEK=674, WHEN=675,
WHERE=676, WHITELIST=677, WITH=678, WORK=679, WORKLOAD=680, WRITE=681,
XOR=682, YEAR=683, EQ=684, NSEQ=685, NEQ=686, LT=687, LTE=688, GT=689,
GTE=690, PLUS=691, SUBTRACT=692, ASTERISK=693, SLASH=694, MOD=695, TILDE=696,
AMPERSAND=697, LOGICALAND=698, LOGICALNOT=699, PIPE=700, DOUBLEPIPES=701,
HAT=702, COLON=703, ARROW=704, HINT_START=705, HINT_END=706, COMMENT_START=707,
ATSIGN=708, DOUBLEATSIGN=709, STRING_LITERAL=710, LEADING_STRING=711,
BIGINT_LITERAL=712, SMALLINT_LITERAL=713, TINYINT_LITERAL=714, INTEGER_VALUE=715,
EXPONENT_VALUE=716, DECIMAL_VALUE=717, BIGDECIMAL_LITERAL=718, IDENTIFIER=719,
BACKQUOTED_IDENTIFIER=720, SIMPLE_COMMENT=721, BRACKETED_COMMENT=722,
FROM_DUAL=723, WS=724, UNRECOGNIZED=725;
public static final int
RULE_program = 0, RULE_block = 1, RULE_begin_end_block = 2, RULE_single_block_stmt = 3,
RULE_block_end = 4, RULE_procedure_block = 5, RULE_doris_statement = 6,
RULE_stmt = 7, RULE_semicolon_stmt = 8, RULE_exception_block = 9, RULE_exception_block_item = 10,
RULE_null_stmt = 11, RULE_expr_stmt = 12, RULE_assignment_stmt = 13, RULE_assignment_stmt_item = 14,
RULE_assignment_stmt_single_item = 15, RULE_assignment_stmt_collection_item = 16,
RULE_assignment_stmt_multiple_item = 17, RULE_assignment_stmt_select_item = 18,
RULE_allocate_cursor_stmt = 19, RULE_associate_locator_stmt = 20, RULE_break_stmt = 21,
RULE_call_stmt = 22, RULE_declare_stmt = 23, RULE_declare_block = 24,
RULE_declare_block_inplace = 25, RULE_declare_stmt_item = 26, RULE_declare_var_item = 27,
RULE_declare_condition_item = 28, RULE_declare_cursor_item = 29, RULE_cursor_with_return = 30,
RULE_cursor_without_return = 31, RULE_declare_handler_item = 32, RULE_dtype = 33,
RULE_dtype_len = 34, RULE_dtype_attr = 35, RULE_dtype_default = 36, RULE_create_function_stmt = 37,
RULE_create_function_return = 38, RULE_create_package_stmt = 39, RULE_package_spec = 40,
RULE_package_spec_item = 41, RULE_create_package_body_stmt = 42, RULE_package_body = 43,
RULE_package_body_item = 44, RULE_create_procedure_stmt = 45, RULE_drop_procedure_stmt = 46,
RULE_show_procedure_stmt = 47, RULE_show_create_procedure_stmt = 48, RULE_show_config_stmt = 49,
RULE_create_routine_params = 50, RULE_create_routine_param_item = 51,
RULE_create_routine_options = 52, RULE_create_routine_option = 53, RULE_exec_stmt = 54,
RULE_if_stmt = 55, RULE_if_plsql_stmt = 56, RULE_if_tsql_stmt = 57, RULE_if_bteq_stmt = 58,
RULE_elseif_block = 59, RULE_else_block = 60, RULE_include_stmt = 61,
RULE_exit_stmt = 62, RULE_get_diag_stmt = 63, RULE_get_diag_stmt_item = 64,
RULE_get_diag_stmt_exception_item = 65, RULE_get_diag_stmt_rowcount_item = 66,
RULE_leave_stmt = 67, RULE_map_object_stmt = 68, RULE_open_stmt = 69,
RULE_fetch_stmt = 70, RULE_fetch_limit = 71, RULE_close_stmt = 72, RULE_print_stmt = 73,
RULE_quit_stmt = 74, RULE_raise_stmt = 75, RULE_resignal_stmt = 76, RULE_return_stmt = 77,
RULE_set_session_option = 78, RULE_set_doris_session_option = 79, RULE_set_current_schema_option = 80,
RULE_set_mssql_session_option = 81, RULE_set_teradata_session_option = 82,
RULE_signal_stmt = 83, RULE_values_into_stmt = 84, RULE_while_stmt = 85,
RULE_unconditional_loop_stmt = 86, RULE_for_cursor_stmt = 87, RULE_for_range_stmt = 88,
RULE_label_stmt = 89, RULE_using_clause = 90, RULE_bool_expr = 91, RULE_bool_expr_atom = 92,
RULE_bool_expr_unary = 93, RULE_bool_expr_binary = 94, RULE_bool_expr_logical_operator = 95,
RULE_bool_expr_binary_operator = 96, RULE_expr = 97, RULE_expr_atom = 98,
RULE_expr_interval = 99, RULE_interval_item = 100, RULE_expr_concat = 101,
RULE_expr_concat_item = 102, RULE_expr_case = 103, RULE_expr_case_simple = 104,
RULE_expr_case_searched = 105, RULE_expr_cursor_attribute = 106, RULE_expr_agg_window_func = 107,
RULE_expr_func_all_distinct = 108, RULE_order_by_clause = 109, RULE_expr_func_over_clause = 110,
RULE_expr_func_partition_by_clause = 111, RULE_expr_spec_func = 112, RULE_expr_func = 113,
RULE_expr_dot = 114, RULE_expr_dot_method_call = 115, RULE_expr_dot_property_access = 116,
RULE_expr_func_params = 117, RULE_func_param = 118, RULE_host_pl = 119,
RULE_host_cmd = 120, RULE_host_stmt = 121, RULE_file_name = 122, RULE_date_literal = 123,
RULE_timestamp_literal = 124, RULE_ident_pl = 125, RULE_qident = 126,
RULE_string = 127, RULE_int_number = 128, RULE_dec_number = 129, RULE_bool_literal = 130,
RULE_null_const = 131, RULE_non_reserved_words = 132, RULE_multiStatements = 133,
RULE_singleStatement = 134, RULE_statement = 135, RULE_statementBase = 136,
RULE_unsupportedStatement = 137, RULE_materializedViewStatement = 138,
RULE_supportedJobStatement = 139, RULE_constraintStatement = 140, RULE_supportedDmlStatement = 141,
RULE_supportedCreateStatement = 142, RULE_dictionaryColumnDefs = 143,
RULE_dictionaryColumnDef = 144, RULE_supportedAlterStatement = 145, RULE_supportedDropStatement = 146,
RULE_supportedShowStatement = 147, RULE_supportedLoadStatement = 148,
RULE_supportedKillStatement = 149, RULE_supportedOtherStatement = 150,
RULE_unsupportedOtherStatement = 151, RULE_warmUpItem = 152, RULE_lockTable = 153,
RULE_unsupportedShowStatement = 154, RULE_createRoutineLoad = 155, RULE_unsupportedLoadStatement = 156,
RULE_loadProperty = 157, RULE_importSequenceStatement = 158, RULE_importDeleteOnStatement = 159,
RULE_importWhereStatement = 160, RULE_importPrecedingFilterStatement = 161,
RULE_importColumnsStatement = 162, RULE_importColumnDesc = 163, RULE_channelDescriptions = 164,
RULE_channelDescription = 165, RULE_supportedRefreshStatement = 166, RULE_supportedCleanStatement = 167,
RULE_unsupportedRefreshStatement = 168, RULE_supportedCancelStatement = 169,
RULE_unsupportedCancelStatement = 170, RULE_supportedAdminStatement = 171,
RULE_supportedRecoverStatement = 172, RULE_unsupportedAdminStatement = 173,
RULE_baseTableRef = 174, RULE_wildWhere = 175, RULE_supportedTransactionStatement = 176,
RULE_supportedGrantRevokeStatement = 177, RULE_privilege = 178, RULE_privilegeList = 179,
RULE_unsupportedAlterStatement = 180, RULE_alterSystemClause = 181, RULE_dropRollupClause = 182,
RULE_addRollupClause = 183, RULE_alterTableClause = 184, RULE_columnPosition = 185,
RULE_toRollup = 186, RULE_fromRollup = 187, RULE_supportedStatsStatement = 188,
RULE_unsupportedStatsStatement = 189, RULE_analyzeProperties = 190, RULE_workloadPolicyActions = 191,
RULE_workloadPolicyAction = 192, RULE_workloadPolicyConditions = 193,
RULE_workloadPolicyCondition = 194, RULE_storageBackend = 195, RULE_passwordOption = 196,
RULE_functionArguments = 197, RULE_dataTypeList = 198, RULE_supportedSetStatement = 199,
RULE_optionWithType = 200, RULE_optionWithoutType = 201, RULE_variable = 202,
RULE_transactionAccessMode = 203, RULE_isolationLevel = 204, RULE_supportedUnsetStatement = 205,
RULE_supportedUseStatement = 206, RULE_unsupportedUseStatement = 207,
RULE_stageAndPattern = 208, RULE_supportedDescribeStatement = 209, RULE_constraint = 210,
RULE_partitionSpec = 211, RULE_partitionTable = 212, RULE_identityOrFunctionList = 213,
RULE_identityOrFunction = 214, RULE_dataDesc = 215, RULE_statementScope = 216,
RULE_buildMode = 217, RULE_refreshTrigger = 218, RULE_refreshSchedule = 219,
RULE_refreshMethod = 220, RULE_mvPartition = 221, RULE_identifierOrText = 222,
RULE_identifierOrTextOrAsterisk = 223, RULE_multipartIdentifierOrAsterisk = 224,
RULE_identifierOrAsterisk = 225, RULE_userIdentify = 226, RULE_grantUserIdentify = 227,
RULE_explain = 228, RULE_explainCommand = 229, RULE_planType = 230, RULE_replayCommand = 231,
RULE_replayType = 232, RULE_mergeType = 233, RULE_preFilterClause = 234,
RULE_deleteOnClause = 235, RULE_sequenceColClause = 236, RULE_colFromPath = 237,
RULE_colMappingList = 238, RULE_mappingExpr = 239, RULE_withRemoteStorageSystem = 240,
RULE_resourceDesc = 241, RULE_mysqlDataDesc = 242, RULE_skipLines = 243,
RULE_outFileClause = 244, RULE_query = 245, RULE_queryTerm = 246, RULE_setQuantifier = 247,
RULE_queryPrimary = 248, RULE_querySpecification = 249, RULE_cte = 250,
RULE_aliasQuery = 251, RULE_columnAliases = 252, RULE_selectClause = 253,
RULE_selectColumnClause = 254, RULE_whereClause = 255, RULE_fromClause = 256,
RULE_intoClause = 257, RULE_bulkCollectClause = 258, RULE_tableRow = 259,
RULE_relations = 260, RULE_relation = 261, RULE_joinRelation = 262, RULE_distributeType = 263,
RULE_relationHint = 264, RULE_aggClause = 265, RULE_groupingElement = 266,
RULE_groupingSet = 267, RULE_havingClause = 268, RULE_qualifyClause = 269,
RULE_selectHint = 270, RULE_hintStatement = 271, RULE_hintAssignment = 272,
RULE_updateAssignment = 273, RULE_updateAssignmentSeq = 274, RULE_lateralView = 275,
RULE_queryOrganization = 276, RULE_sortClause = 277, RULE_sortItem = 278,
RULE_limitClause = 279, RULE_partitionClause = 280, RULE_joinType = 281,
RULE_joinCriteria = 282, RULE_identifierList = 283, RULE_identifierSeq = 284,
RULE_optScanParams = 285, RULE_relationPrimary = 286, RULE_materializedViewName = 287,
RULE_propertyClause = 288, RULE_propertyItemList = 289, RULE_propertyItem = 290,
RULE_propertyKey = 291, RULE_propertyValue = 292, RULE_tableAlias = 293,
RULE_multipartIdentifier = 294, RULE_simpleColumnDefs = 295, RULE_simpleColumnDef = 296,
RULE_columnDefs = 297, RULE_columnDef = 298, RULE_indexDefs = 299, RULE_indexDef = 300,
RULE_partitionsDef = 301, RULE_partitionDef = 302, RULE_lessThanPartitionDef = 303,
RULE_fixedPartitionDef = 304, RULE_stepPartitionDef = 305, RULE_inPartitionDef = 306,
RULE_partitionValueList = 307, RULE_partitionValueDef = 308, RULE_rollupDefs = 309,
RULE_rollupDef = 310, RULE_aggTypeDef = 311, RULE_tabletList = 312, RULE_inlineTable = 313,
RULE_namedExpression = 314, RULE_namedExpressionSeq = 315, RULE_expression = 316,
RULE_lambdaExpression = 317, RULE_booleanExpression = 318, RULE_rowConstructor = 319,
RULE_rowConstructorItem = 320, RULE_predicate = 321, RULE_valueExpression = 322,
RULE_primaryExpression = 323, RULE_exceptOrReplace = 324, RULE_castDataType = 325,
RULE_functionCallExpression = 326, RULE_functionIdentifier = 327, RULE_functionNameIdentifier = 328,
RULE_windowSpec = 329, RULE_windowFrame = 330, RULE_frameUnits = 331,
RULE_frameBoundary = 332, RULE_qualifiedName = 333, RULE_specifiedPartition = 334,
RULE_constant = 335, RULE_comparisonOperator = 336, RULE_booleanValue = 337,
RULE_whenClause = 338, RULE_interval = 339, RULE_unitIdentifier = 340,
RULE_dataTypeWithNullable = 341, RULE_dataType = 342, RULE_primitiveColType = 343,
RULE_complexColTypeList = 344, RULE_complexColType = 345, RULE_commentSpec = 346,
RULE_sample = 347, RULE_sampleMethod = 348, RULE_tableSnapshot = 349,
RULE_errorCapturingIdentifier = 350, RULE_errorCapturingIdentifierExtra = 351,
RULE_identifier = 352, RULE_strictIdentifier = 353, RULE_quotedIdentifier = 354,
RULE_number = 355, RULE_nonReserved = 356;
private static String[] makeRuleNames() {
return new String[] {
"program", "block", "begin_end_block", "single_block_stmt", "block_end",
"procedure_block", "doris_statement", "stmt", "semicolon_stmt", "exception_block",
"exception_block_item", "null_stmt", "expr_stmt", "assignment_stmt",
"assignment_stmt_item", "assignment_stmt_single_item", "assignment_stmt_collection_item",
"assignment_stmt_multiple_item", "assignment_stmt_select_item", "allocate_cursor_stmt",
"associate_locator_stmt", "break_stmt", "call_stmt", "declare_stmt",
"declare_block", "declare_block_inplace", "declare_stmt_item", "declare_var_item",
"declare_condition_item", "declare_cursor_item", "cursor_with_return",
"cursor_without_return", "declare_handler_item", "dtype", "dtype_len",
"dtype_attr", "dtype_default", "create_function_stmt", "create_function_return",
"create_package_stmt", "package_spec", "package_spec_item", "create_package_body_stmt",
"package_body", "package_body_item", "create_procedure_stmt", "drop_procedure_stmt",
"show_procedure_stmt", "show_create_procedure_stmt", "show_config_stmt",
"create_routine_params", "create_routine_param_item", "create_routine_options",
"create_routine_option", "exec_stmt", "if_stmt", "if_plsql_stmt", "if_tsql_stmt",
"if_bteq_stmt", "elseif_block", "else_block", "include_stmt", "exit_stmt",
"get_diag_stmt", "get_diag_stmt_item", "get_diag_stmt_exception_item",
"get_diag_stmt_rowcount_item", "leave_stmt", "map_object_stmt", "open_stmt",
"fetch_stmt", "fetch_limit", "close_stmt", "print_stmt", "quit_stmt",
"raise_stmt", "resignal_stmt", "return_stmt", "set_session_option", "set_doris_session_option",
"set_current_schema_option", "set_mssql_session_option", "set_teradata_session_option",
"signal_stmt", "values_into_stmt", "while_stmt", "unconditional_loop_stmt",
"for_cursor_stmt", "for_range_stmt", "label_stmt", "using_clause", "bool_expr",
"bool_expr_atom", "bool_expr_unary", "bool_expr_binary", "bool_expr_logical_operator",
"bool_expr_binary_operator", "expr", "expr_atom", "expr_interval", "interval_item",
"expr_concat", "expr_concat_item", "expr_case", "expr_case_simple", "expr_case_searched",
"expr_cursor_attribute", "expr_agg_window_func", "expr_func_all_distinct",
"order_by_clause", "expr_func_over_clause", "expr_func_partition_by_clause",
"expr_spec_func", "expr_func", "expr_dot", "expr_dot_method_call", "expr_dot_property_access",
"expr_func_params", "func_param", "host_pl", "host_cmd", "host_stmt",
"file_name", "date_literal", "timestamp_literal", "ident_pl", "qident",
"string", "int_number", "dec_number", "bool_literal", "null_const", "non_reserved_words",
"multiStatements", "singleStatement", "statement", "statementBase", "unsupportedStatement",
"materializedViewStatement", "supportedJobStatement", "constraintStatement",
"supportedDmlStatement", "supportedCreateStatement", "dictionaryColumnDefs",
"dictionaryColumnDef", "supportedAlterStatement", "supportedDropStatement",
"supportedShowStatement", "supportedLoadStatement", "supportedKillStatement",
"supportedOtherStatement", "unsupportedOtherStatement", "warmUpItem",
"lockTable", "unsupportedShowStatement", "createRoutineLoad", "unsupportedLoadStatement",
"loadProperty", "importSequenceStatement", "importDeleteOnStatement",
"importWhereStatement", "importPrecedingFilterStatement", "importColumnsStatement",
"importColumnDesc", "channelDescriptions", "channelDescription", "supportedRefreshStatement",
"supportedCleanStatement", "unsupportedRefreshStatement", "supportedCancelStatement",
"unsupportedCancelStatement", "supportedAdminStatement", "supportedRecoverStatement",
"unsupportedAdminStatement", "baseTableRef", "wildWhere", "supportedTransactionStatement",
"supportedGrantRevokeStatement", "privilege", "privilegeList", "unsupportedAlterStatement",
"alterSystemClause", "dropRollupClause", "addRollupClause", "alterTableClause",
"columnPosition", "toRollup", "fromRollup", "supportedStatsStatement",
"unsupportedStatsStatement", "analyzeProperties", "workloadPolicyActions",
"workloadPolicyAction", "workloadPolicyConditions", "workloadPolicyCondition",
"storageBackend", "passwordOption", "functionArguments", "dataTypeList",
"supportedSetStatement", "optionWithType", "optionWithoutType", "variable",
"transactionAccessMode", "isolationLevel", "supportedUnsetStatement",
"supportedUseStatement", "unsupportedUseStatement", "stageAndPattern",
"supportedDescribeStatement", "constraint", "partitionSpec", "partitionTable",
"identityOrFunctionList", "identityOrFunction", "dataDesc", "statementScope",
"buildMode", "refreshTrigger", "refreshSchedule", "refreshMethod", "mvPartition",
"identifierOrText", "identifierOrTextOrAsterisk", "multipartIdentifierOrAsterisk",
"identifierOrAsterisk", "userIdentify", "grantUserIdentify", "explain",
"explainCommand", "planType", "replayCommand", "replayType", "mergeType",
"preFilterClause", "deleteOnClause", "sequenceColClause", "colFromPath",
"colMappingList", "mappingExpr", "withRemoteStorageSystem", "resourceDesc",
"mysqlDataDesc", "skipLines", "outFileClause", "query", "queryTerm",
"setQuantifier", "queryPrimary", "querySpecification", "cte", "aliasQuery",
"columnAliases", "selectClause", "selectColumnClause", "whereClause",
"fromClause", "intoClause", "bulkCollectClause", "tableRow", "relations",
"relation", "joinRelation", "distributeType", "relationHint", "aggClause",
"groupingElement", "groupingSet", "havingClause", "qualifyClause", "selectHint",
"hintStatement", "hintAssignment", "updateAssignment", "updateAssignmentSeq",
"lateralView", "queryOrganization", "sortClause", "sortItem", "limitClause",
"partitionClause", "joinType", "joinCriteria", "identifierList", "identifierSeq",
"optScanParams", "relationPrimary", "materializedViewName", "propertyClause",
"propertyItemList", "propertyItem", "propertyKey", "propertyValue", "tableAlias",
"multipartIdentifier", "simpleColumnDefs", "simpleColumnDef", "columnDefs",
"columnDef", "indexDefs", "indexDef", "partitionsDef", "partitionDef",
"lessThanPartitionDef", "fixedPartitionDef", "stepPartitionDef", "inPartitionDef",
"partitionValueList", "partitionValueDef", "rollupDefs", "rollupDef",
"aggTypeDef", "tabletList", "inlineTable", "namedExpression", "namedExpressionSeq",
"expression", "lambdaExpression", "booleanExpression", "rowConstructor",
"rowConstructorItem", "predicate", "valueExpression", "primaryExpression",
"exceptOrReplace", "castDataType", "functionCallExpression", "functionIdentifier",
"functionNameIdentifier", "windowSpec", "windowFrame", "frameUnits",
"frameBoundary", "qualifiedName", "specifiedPartition", "constant", "comparisonOperator",
"booleanValue", "whenClause", "interval", "unitIdentifier", "dataTypeWithNullable",
"dataType", "primitiveColType", "complexColTypeList", "complexColType",
"commentSpec", "sample", "sampleMethod", "tableSnapshot", "errorCapturingIdentifier",
"errorCapturingIdentifierExtra", "identifier", "strictIdentifier", "quotedIdentifier",
"number", "nonReserved"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, "'ACTION'", "'ALLOCATE'", "'ANSI_NULLS'", "'ANSI_PADDING'", "'ASSOCIATE'",
"'AVG'", "'BATCHSIZE'", "'BINARY_DOUBLE'", "'BINARY_FLOAT'", "'BINARY_INTEGER'",
"'BIT'", "'BODY'", "'BREAK'", "'BYTE'", "'CALLER'", "'CASCADE'", "'CASESPECIFIC'",
"'CLIENT'", "'CLOSE'", "'CLUSTERED'", "'CMP'", "'COLLECTION'", "'COMPRESS'",
"'CONCAT'", "'CONDITION'", "'CONSTANT'", "'CONTINUE'", "'COUNT_BIG'",
"'CREATOR'", "'CS'", "'CURRENT_SCHEMA'", "'CURSOR'", "'DAYS'", "'DEC'",
"'DECLARE'", "'DEFINED'", "'DEFINER'", "'DEFINITION'", "'DELIMITED'",
"'DELIMITER'", "'DIAGNOSTICS'", "'DIR'", "'DIRECTORY'", "'DISTRIBUTE'",
"'ELSEIF'", "'ELSIF'", "'ESCAPED'", "'EXEC'", "'EXCEPTION'", "'EXCLUSIVE'",
"'EXIT'", "'FALLBACK'", "'FETCH'", "'FILES'", "'FOUND'", "'GET'", "'GO'",
"'HANDLER'", "'HOST'", "'IDENTITY'", "'INCLUDE'", "'INITRANS'", "'INOUT'",
"'INT2'", "'INT4'", "'INT8'", "'INVOKER'", "'ISOPEN'", "'ITEMS'", "'KEEP'",
"'LANGUAGE'", "'LEAVE'", "'LOCATOR'", "'LOCATORS'", "'LOCKS'", "'LOG'",
"'LOGGED'", "'LOGGING'", "'LOOP'", "'MATCHED'", "'MAXTRANS'", "'MESSAGE_TEXT'",
"'MICROSECOND'", "'MICROSECONDS'", "'MULTISET'", "'NCHAR'", "'NEW'",
"'NVARCHAR'", "'NOCOUNT'", "'NOCOMPRESS'", "'NOLOGGING'", "'NONE'", "'NOTFOUND'",
"'NUMERIC'", "'NUMBER'", "'OBJECT'", "'OFF'", "'OUT'", "'OWNER'", "'PACKAGE'",
"'PCTFREE'", "'PCTUSED'", "'PLS_INTEGER'", "'PRECISION'", "'PRESERVE'",
"'PRINT'", "'QUALIFY'", "'QUERY_BAND'", "'QUIT'", "'QUOTED_IDENTIFIER'",
"'RAISE'", "'RESIGNAL'", "'RESTRICT'", "'RESULT'", "'RESULT_SET_LOCATOR'",
"'RETURN'", "'REVERSE'", "'ROWTYPE'", "'ROW_COUNT'", "'RR'", "'RS'",
"'PWD'", "'SECONDS'", "'SECURITY'", "'SEGMENT'", "'SEL'", "'SESSIONS'",
"'SHARE'", "'SIGNAL'", "'SIMPLE_DOUBLE'", "'SIMPLE_FLOAT'", "'SIMPLE_INTEGER'",
"'SMALLDATETIME'", "'SQL'", "'SQLEXCEPTION'", "'SQLINSERT'", "'SQLSTATE'",
"'SQLWARNING'", "'STATISTICS'", "'STEP'", "'STORED'", "'SUBDIR'", "'SUBSTRING'",
"'SUMMARY'", "'SYS_REFCURSOR'", "'TABLESPACE'", "'TEXTIMAGE_ON'", "'TITLE'",
"'TOP'", "'UR'", "'VAR'", "'VARCHAR2'", "'VARYING'", "'VOLATILE'", "'WHILE'",
"'WITHOUT'", "'XACT_ABORT'", "'XML'", "'YES'", "'ACTIVITY_COUNT'", "'CUME_DIST'",
"'DENSE_RANK'", "'FIRST_VALUE'", "'LAG'", "'LAST_VALUE'", "'LEAD'", "'MAX_PART_STRING'",
"'MIN_PART_STRING'", "'MAX_PART_INT'", "'MIN_PART_INT'", "'MAX_PART_DATE'",
"'MIN_PART_DATE'", "'PART_COUNT'", "'PART_LOC'", "'RANK'", "'ROW_NUMBER'",
"'STDEV'", "'SYSDATE'", "'VARIANCE'", "'..'", "';'", "'('", "')'", "','",
"'.'", "'...'", "'['", "']'", "'{'", "'}'", "'ACCOUNT_LOCK'", "'ACCOUNT_UNLOCK'",
"'ACTIONS'", "'ADD'", "'ADMIN'", "'AFTER'", "'AGG_STATE'", "'AGGREGATE'",
"'ALIAS'", "'ALL'", "'ALTER'", "'ANALYZE'", "'ANALYZED'", "'AND'", "'ANTI'",
"'APPEND'", "'ARRAY'", "'AS'", "'ASC'", "'AT'", "'AUTHORS'", "'AUTO'",
"'AUTO_INCREMENT'", "'ALWAYS'", "'BACKEND'", "'BACKENDS'", "'BACKUP'",
"'BEGIN'", "'BELONG'", "'BETWEEN'", "'BIGINT'", "'BIN'", "'BINARY'",
"'BINLOG'", "'BITAND'", "'BITMAP'", "'BITMAP_EMPTY'", "'BITMAP_UNION'",
"'BITOR'", "'BITXOR'", "'BLOB'", "'BOOLEAN'", "'BRIEF'", "'BROKER'",
"'BUCKETS'", "'BUILD'", "'BUILTIN'", "'BULK'", "'BY'", "'CACHE'", "'CACHED'",
"'CALL'", "'CANCEL'", "'CASE'", "'CAST'", "'CATALOG'", "'CATALOGS'",
"'CHAIN'", null, "'CHARSET'", "'CHECK'", "'CLEAN'", "'CLUSTER'", "'CLUSTERS'",
"'COLLATE'", "'COLLATION'", "'COLLECT'", "'COLOCATE'", "'COLUMN'", "'COLUMNS'",
"'COMMENT'", "'COMMIT'", "'COMMITTED'", "'COMPACT'", "'COMPLETE'", "'COMPRESS_TYPE'",
"'COMPUTE'", "'CONDITIONS'", "'CONFIG'", "'CONNECTION'", "'CONNECTION_ID'",
"'CONSISTENT'", "'CONSTRAINT'", "'CONSTRAINTS'", "'CONVERT'", "'CONVERT_LIGHT_SCHEMA_CHANGE_PROCESS'",
"'COPY'", "'COUNT'", "'CREATE'", "'CREATION'", "'CRON'", "'CROSS'", "'CUBE'",
"'CURRENT'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", "'CURRENT_TIME'",
"'CURRENT_TIMESTAMP'", "'CURRENT_USER'", "'DATA'", "'DATABASE'", "'DATABASES'",
"'DATE'", "'DATETIME'", "'DATETIMEV2'", "'DATEV2'", "'DATETIMEV1'", "'DATEV1'",
"'DAY'", "'DECIMAL'", "'DECIMALV2'", "'DECIMALV3'", "'DECOMMISSION'",
"'DEFAULT'", "'DEFERRED'", "'DELETE'", "'DEMAND'", "'DESC'", "'DESCRIBE'",
"'DIAGNOSE'", "'DIAGNOSIS'", "'DICTIONARIES'", "'DICTIONARY'", "'DISK'",
"'DISTINCT'", "'DISTINCTPC'", "'DISTINCTPCSA'", "'DISTRIBUTED'", "'DISTRIBUTION'",
"'DIV'", "'DO'", "'DORIS_INTERNAL_TABLE_ID'", "'DOUBLE'", "'DROP'", "'DROPP'",
"'DUAL'", "'DUMP'", "'DUPLICATE'", "'DYNAMIC'", "'E'", "'ELSE'", "'ENABLE'",
"'ENCRYPTKEY'", "'ENCRYPTKEYS'", "'END'", "'ENDS'", "'ENGINE'", "'ENGINES'",
"'ENTER'", "'ERRORS'", "'EVENTS'", "'EVERY'", "'EXCEPT'", "'EXCLUDE'",
"'EXECUTE'", "'EXISTS'", "'EXPIRED'", "'EXPLAIN'", "'EXPORT'", "'EXTENDED'",
"'EXTERNAL'", "'EXTRACT'", "'FAILED_LOGIN_ATTEMPTS'", "'FALSE'", "'FAST'",
"'FEATURE'", "'FIELDS'", "'FILE'", "'FILTER'", "'FIRST'", "'FLOAT'",
"'FOLLOWER'", "'FOLLOWING'", "'FOR'", "'FOREIGN'", "'FORCE'", "'FORMAT'",
"'FREE'", "'FROM'", "'FRONTEND'", "'FRONTENDS'", "'FULL'", "'FUNCTION'",
"'FUNCTIONS'", "'GENERATED'", "'GENERIC'", "'GLOBAL'", "'GRANT'", "'GRANTS'",
"'GRAPH'", "'GROUP'", "'GROUPING'", "'GROUPS'", "'HASH'", "'HASH_MAP'",
"'HAVING'", "'HDFS'", "'HELP'", "'HISTOGRAM'", "'HLL'", "'HLL_UNION'",
"'HOSTNAME'", "'HOTSPOT'", "'HOUR'", "'HUB'", "'IDENTIFIED'", "'IF'",
"'IGNORE'", "'IMMEDIATE'", "'IN'", "'INCREMENTAL'", "'INDEX'", "'INDEXES'",
"'INFILE'", "'INNER'", "'INSERT'", "'INSTALL'", "'INT'", "'INTEGER'",
"'INTERMEDIATE'", "'INTERSECT'", "'INTERVAL'", "'INTO'", "'INVERTED'",
"'IP_TRIE'", "'IPV4'", "'IPV6'", "'IS'", "'IS_NOT_NULL_PRED'", "'IS_NULL_PRED'",
"'ISNULL'", "'ISOLATION'", "'JOB'", "'JOBS'", "'JOIN'", "'JSON'", "'JSONB'",
"'KEY'", "'KEYS'", "'KILL'", "'LABEL'", "'LARGEINT'", "'LAYOUT'", "'LAST'",
"'LATERAL'", "'LDAP'", "'LDAP_ADMIN_PASSWORD'", "'LEFT'", "'LESS'", "'LEVEL'",
"'LIKE'", "'LIMIT'", "'LINES'", "'LINK'", "'LIST'", "'LOAD'", "'LOCAL'",
"'LOCALTIME'", "'LOCALTIMESTAMP'", "'LOCATION'", "'LOCK'", "'LOGICAL'",
"'LOW_PRIORITY'", "'MANUAL'", "'MAP'", "'MATCH'", "'MATCH_ALL'", "'MATCH_ANY'",
"'MATCH_PHRASE'", "'MATCH_PHRASE_EDGE'", "'MATCH_PHRASE_PREFIX'", "'MATCH_REGEXP'",
"'MATERIALIZED'", "'MAX'", "'MAXVALUE'", "'MEMO'", "'MERGE'", "'MIGRATE'",
"'MIGRATIONS'", "'MIN'", "'MINUS'", "'MINUTE'", "'MODIFY'", "'MONTH'",
"'MTMV'", "'NAME'", "'NAMES'", "'NATURAL'", "'NEGATIVE'", "'NEVER'",
"'NEXT'", "'NGRAM_BF'", "'NO'", "'NO_USE_MV'", "'NON_NULLABLE'", "'NOT'",
"'NULL'", "'NULLS'", "'OBSERVER'", "'OF'", "'OFFSET'", "'ON'", "'ONLY'",
"'OPEN'", "'OPTIMIZED'", "'OR'", "'ORDER'", "'OUTER'", "'OUTFILE'", "'OVER'",
"'OVERWRITE'", "'PARAMETER'", "'PARSED'", "'PARTITION'", "'PARTITIONS'",
"'PASSWORD'", "'PASSWORD_EXPIRE'", "'PASSWORD_HISTORY'", "'PASSWORD_LOCK_TIME'",
"'PASSWORD_REUSE'", "'PATH'", "'PAUSE'", "'PERCENT'", "'PERIOD'", "'PERMISSIVE'",
"'PHYSICAL'", "'PI'", "'?'", "'PLAN'", "'PLAY'", "'PRIVILEGES'", "'PROCESS'",
"'PLUGIN'", "'PLUGINS'", "'POLICY'", "'PRECEDING'", "'PREPARE'", "'PRIMARY'",
"'PROC'", "'PROCEDURE'", "'PROCESSLIST'", "'PROFILE'", "'PROPERTIES'",
"'PROPERTY'", "'QUANTILE_STATE'", "'QUANTILE_UNION'", "'QUERY'", "'QUEUED'",
"'QUOTA'", "'QUARTER'", "'RANDOM'", "'RANGE'", "'READ'", "'REAL'", "'REBALANCE'",
"'RECENT'", "'RECOVER'", "'RECYCLE'", "'REFRESH'", "'REFERENCES'", "'REGEXP'",
"'RELEASE'", "'RENAME'", "'REPAIR'", "'REPEATABLE'", "'REPLACE'", "'REPLACE_IF_NOT_NULL'",
"'REPLAYER'", "'REPLICA'", "'REPOSITORIES'", "'REPOSITORY'", "'RESOURCE'",
"'RESOURCES'", "'RESTORE'", "'RESTRICTIVE'", "'RESUME'", "'RETURNS'",
"'REVOKE'", "'REWRITTEN'", "'RIGHT'", "'RLIKE'", "'ROLE'", "'ROLES'",
"'ROLLBACK'", "'ROLLUP'", "'ROUTINE'", "'ROW'", "'ROWS'", "'S3'", "'SAMPLE'",
"'SCHEDULE'", "'SCHEDULER'", "'SCHEMA'", "'SCHEMAS'", "'SECOND'", "'SELECT'",
"'SEMI'", "'SERIALIZABLE'", "'SESSION'", "'SESSION_USER'", "'SET'", "'SETS'",
"'SET_SESSION_VARIABLE'", "'SHAPE'", "'SHOW'", "'SIGNED'", "'SKEW'",
"'SMALLINT'", "'SNAPSHOT'", "'SONAME'", "'SPLIT'", "'SQL_BLOCK_RULE'",
"'STAGE'", "'STAGES'", "'START'", "'STARTS'", "'STATS'", "'STATUS'",
"'STOP'", "'STORAGE'", "'STREAM'", "'STREAMING'", "'STRING'", "'STRUCT'",
"'SUM'", "'SUPERUSER'", "'SWITCH'", "'SYNC'", "'SYSTEM'", "'TABLE'",
"'TABLES'", "'TABLESAMPLE'", "'TABLET'", "'TABLETS'", "'TASK'", "'TASKS'",
"'TEMPORARY'", "'TERMINATED'", "'TEXT'", "'THAN'", "'THEN'", "'TIME'",
"'TIMESTAMP'", "'TINYINT'", "'TO'", "'TRANSACTION'", "'TRASH'", "'TREE'",
"'TRIGGERS'", "'TRIM'", "'TRUE'", "'TRUNCATE'", "'TYPE'", "'TYPE_CAST'",
"'TYPES'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNINSTALL'", "'UNION'",
"'UNIQUE'", "'UNLOCK'", "'UNSET'", "'UNSIGNED'", "'UP'", "'UPDATE'",
"'USE'", "'USER'", "'USE_MV'", "'USING'", "'VALUE'", "'VALUES'", "'VARCHAR'",
"'VARIABLE'", "'VARIABLES'", "'VARIANT'", "'VAULT'", "'VAULTS'", "'VERBOSE'",
"'VERSION'", "'VIEW'", "'VIEWS'", "'WARM'", "'WARNINGS'", "'WEEK'", "'WHEN'",
"'WHERE'", "'WHITELIST'", "'WITH'", "'WORK'", "'WORKLOAD'", "'WRITE'",
"'XOR'", "'YEAR'", null, "'<=>'", null, "'<'", null, "'>'", null, "'+'",
"'-'", "'*'", "'/'", "'%'", "'~'", "'&'", "'&&'", "'!'", "'|'", "'||'",
"'^'", "':'", "'->'", "'/*+'", "'*/'", "'/*'", "'@'", "'@@'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "ACTION", "ALLOCATE", "ANSI_NULLS", "ANSI_PADDING", "ASSOCIATE",
"AVG", "BATCHSIZE", "BINARY_DOUBLE", "BINARY_FLOAT", "BINARY_INTEGER",
"BIT", "BODY", "BREAK", "BYTE", "CALLER", "CASCADE", "CASESPECIFIC",
"CLIENT", "CLOSE", "CLUSTERED", "CMP", "COLLECTION", "COMPRESS", "CONCAT",
"CONDITION", "CONSTANT", "CONTINUE", "COUNT_BIG", "CREATOR", "CS", "CURRENT_SCHEMA",
"CURSOR", "DAYS", "DEC", "DECLARE", "DEFINED", "DEFINER", "DEFINITION",
"DELIMITED", "DELIMITER", "DIAGNOSTICS", "DIR", "DIRECTORY", "DISTRIBUTE",
"ELSEIF", "ELSIF", "ESCAPED", "EXEC", "EXCEPTION", "EXCLUSIVE", "EXIT",
"FALLBACK", "FETCH", "FILES", "FOUND", "GET", "GO", "HANDLER", "HOST",
"IDENTITY", "INCLUDE", "INITRANS", "INOUT", "INT2", "INT4", "INT8", "INVOKER",
"ISOPEN", "ITEMS", "KEEP", "LANGUAGE", "LEAVE", "LOCATOR", "LOCATORS",
"LOCKS", "LOG", "LOGGED", "LOGGING", "LOOP", "MATCHED", "MAXTRANS", "MESSAGE_TEXT",
"MICROSECOND", "MICROSECONDS", "MULTISET", "NCHAR", "NEW", "NVARCHAR",
"NOCOUNT", "NOCOMPRESS", "NOLOGGING", "NONE", "NOTFOUND", "NUMERIC",
"NUMBER", "OBJECT", "OFF", "OUT", "OWNER", "PACKAGE", "PCTFREE", "PCTUSED",
"PLS_INTEGER", "PRECISION", "PRESERVE", "PRINT", "QUALIFY", "QUERY_BAND",
"QUIT", "QUOTED_IDENTIFIER", "RAISE", "RESIGNAL", "RESTRICT", "RESULT",
"RESULT_SET_LOCATOR", "RETURN", "REVERSE", "ROWTYPE", "ROW_COUNT", "RR",
"RS", "PWD", "SECONDS", "SECURITY", "SEGMENT", "SEL", "SESSIONS", "SHARE",
"SIGNAL", "SIMPLE_DOUBLE", "SIMPLE_FLOAT", "SIMPLE_INTEGER", "SMALLDATETIME",
"SQL", "SQLEXCEPTION", "SQLINSERT", "SQLSTATE", "SQLWARNING", "STATISTICS",
"STEP", "STORED", "SUBDIR", "SUBSTRING", "SUMMARY", "SYS_REFCURSOR",
"TABLESPACE", "TEXTIMAGE_ON", "TITLE", "TOP", "UR", "VAR", "VARCHAR2",
"VARYING", "VOLATILE", "WHILE", "WITHOUT", "XACT_ABORT", "XML", "YES",
"ACTIVITY_COUNT", "CUME_DIST", "DENSE_RANK", "FIRST_VALUE", "LAG", "LAST_VALUE",
"LEAD", "MAX_PART_STRING", "MIN_PART_STRING", "MAX_PART_INT", "MIN_PART_INT",
"MAX_PART_DATE", "MIN_PART_DATE", "PART_COUNT", "PART_LOC", "RANK", "ROW_NUMBER",
"STDEV", "SYSDATE", "VARIANCE", "DOT2", "SEMICOLON", "LEFT_PAREN", "RIGHT_PAREN",
"COMMA", "DOT", "DOTDOTDOT", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
"RIGHT_BRACE", "ACCOUNT_LOCK", "ACCOUNT_UNLOCK", "ACTIONS", "ADD", "ADMIN",
"AFTER", "AGG_STATE", "AGGREGATE", "ALIAS", "ALL", "ALTER", "ANALYZE",
"ANALYZED", "AND", "ANTI", "APPEND", "ARRAY", "AS", "ASC", "AT", "AUTHORS",
"AUTO", "AUTO_INCREMENT", "ALWAYS", "BACKEND", "BACKENDS", "BACKUP",
"BEGIN", "BELONG", "BETWEEN", "BIGINT", "BIN", "BINARY", "BINLOG", "BITAND",
"BITMAP", "BITMAP_EMPTY", "BITMAP_UNION", "BITOR", "BITXOR", "BLOB",
"BOOLEAN", "BRIEF", "BROKER", "BUCKETS", "BUILD", "BUILTIN", "BULK",
"BY", "CACHE", "CACHED", "CALL", "CANCEL", "CASE", "CAST", "CATALOG",
"CATALOGS", "CHAIN", "CHAR", "CHARSET", "CHECK", "CLEAN", "CLUSTER",
"CLUSTERS", "COLLATE", "COLLATION", "COLLECT", "COLOCATE", "COLUMN",
"COLUMNS", "COMMENT", "COMMIT", "COMMITTED", "COMPACT", "COMPLETE", "COMPRESS_TYPE",
"COMPUTE", "CONDITIONS", "CONFIG", "CONNECTION", "CONNECTION_ID", "CONSISTENT",
"CONSTRAINT", "CONSTRAINTS", "CONVERT", "CONVERT_LSC", "COPY", "COUNT",
"CREATE", "CREATION", "CRON", "CROSS", "CUBE", "CURRENT", "CURRENT_CATALOG",
"CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
"DATA", "DATABASE", "DATABASES", "DATE", "DATETIME", "DATETIMEV2", "DATEV2",
"DATETIMEV1", "DATEV1", "DAY", "DECIMAL", "DECIMALV2", "DECIMALV3", "DECOMMISSION",
"DEFAULT", "DEFERRED", "DELETE", "DEMAND", "DESC", "DESCRIBE", "DIAGNOSE",
"DIAGNOSIS", "DICTIONARIES", "DICTIONARY", "DISK", "DISTINCT", "DISTINCTPC",
"DISTINCTPCSA", "DISTRIBUTED", "DISTRIBUTION", "DIV", "DO", "DORIS_INTERNAL_TABLE_ID",
"DOUBLE", "DROP", "DROPP", "DUAL", "DUMP", "DUPLICATE", "DYNAMIC", "E",
"ELSE", "ENABLE", "ENCRYPTKEY", "ENCRYPTKEYS", "END", "ENDS", "ENGINE",
"ENGINES", "ENTER", "ERRORS", "EVENTS", "EVERY", "EXCEPT", "EXCLUDE",
"EXECUTE", "EXISTS", "EXPIRED", "EXPLAIN", "EXPORT", "EXTENDED", "EXTERNAL",
"EXTRACT", "FAILED_LOGIN_ATTEMPTS", "FALSE", "FAST", "FEATURE", "FIELDS",
"FILE", "FILTER", "FIRST", "FLOAT", "FOLLOWER", "FOLLOWING", "FOR", "FOREIGN",
"FORCE", "FORMAT", "FREE", "FROM", "FRONTEND", "FRONTENDS", "FULL", "FUNCTION",
"FUNCTIONS", "GENERATED", "GENERIC", "GLOBAL", "GRANT", "GRANTS", "GRAPH",
"GROUP", "GROUPING", "GROUPS", "HASH", "HASH_MAP", "HAVING", "HDFS",
"HELP", "HISTOGRAM", "HLL", "HLL_UNION", "HOSTNAME", "HOTSPOT", "HOUR",
"HUB", "IDENTIFIED", "IF", "IGNORE", "IMMEDIATE", "IN", "INCREMENTAL",
"INDEX", "INDEXES", "INFILE", "INNER", "INSERT", "INSTALL", "INT", "INTEGER",
"INTERMEDIATE", "INTERSECT", "INTERVAL", "INTO", "INVERTED", "IP_TRIE",
"IPV4", "IPV6", "IS", "IS_NOT_NULL_PRED", "IS_NULL_PRED", "ISNULL", "ISOLATION",
"JOB", "JOBS", "JOIN", "JSON", "JSONB", "KEY", "KEYS", "KILL", "LABEL",
"LARGEINT", "LAYOUT", "LAST", "LATERAL", "LDAP", "LDAP_ADMIN_PASSWORD",
"LEFT", "LESS", "LEVEL", "LIKE", "LIMIT", "LINES", "LINK", "LIST", "LOAD",
"LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK", "LOGICAL",
"LOW_PRIORITY", "MANUAL", "MAP", "MATCH", "MATCH_ALL", "MATCH_ANY", "MATCH_PHRASE",
"MATCH_PHRASE_EDGE", "MATCH_PHRASE_PREFIX", "MATCH_REGEXP", "MATERIALIZED",
"MAX", "MAXVALUE", "MEMO", "MERGE", "MIGRATE", "MIGRATIONS", "MIN", "MINUS",
"MINUTE", "MODIFY", "MONTH", "MTMV", "NAME", "NAMES", "NATURAL", "NEGATIVE",
"NEVER", "NEXT", "NGRAM_BF", "NO", "NO_USE_MV", "NON_NULLABLE", "NOT",
"NULL", "NULLS", "OBSERVER", "OF", "OFFSET", "ON", "ONLY", "OPEN", "OPTIMIZED",
"OR", "ORDER", "OUTER", "OUTFILE", "OVER", "OVERWRITE", "PARAMETER",
"PARSED", "PARTITION", "PARTITIONS", "PASSWORD", "PASSWORD_EXPIRE", "PASSWORD_HISTORY",
"PASSWORD_LOCK_TIME", "PASSWORD_REUSE", "PATH", "PAUSE", "PERCENT", "PERIOD",
"PERMISSIVE", "PHYSICAL", "PI", "PLACEHOLDER", "PLAN", "PLAY", "PRIVILEGES",
"PROCESS", "PLUGIN", "PLUGINS", "POLICY", "PRECEDING", "PREPARE", "PRIMARY",
"PROC", "PROCEDURE", "PROCESSLIST", "PROFILE", "PROPERTIES", "PROPERTY",
"QUANTILE_STATE", "QUANTILE_UNION", "QUERY", "QUEUED", "QUOTA", "QUARTER",
"RANDOM", "RANGE", "READ", "REAL", "REBALANCE", "RECENT", "RECOVER",
"RECYCLE", "REFRESH", "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPAIR",
"REPEATABLE", "REPLACE", "REPLACE_IF_NOT_NULL", "REPLAYER", "REPLICA",
"REPOSITORIES", "REPOSITORY", "RESOURCE", "RESOURCES", "RESTORE", "RESTRICTIVE",
"RESUME", "RETURNS", "REVOKE", "REWRITTEN", "RIGHT", "RLIKE", "ROLE",
"ROLES", "ROLLBACK", "ROLLUP", "ROUTINE", "ROW", "ROWS", "S3", "SAMPLE",
"SCHEDULE", "SCHEDULER", "SCHEMA", "SCHEMAS", "SECOND", "SELECT", "SEMI",
"SERIALIZABLE", "SESSION", "SESSION_USER", "SET", "SETS", "SET_SESSION_VARIABLE",
"SHAPE", "SHOW", "SIGNED", "SKEW", "SMALLINT", "SNAPSHOT", "SONAME",
"SPLIT", "SQL_BLOCK_RULE", "STAGE", "STAGES", "START", "STARTS", "STATS",
"STATUS", "STOP", "STORAGE", "STREAM", "STREAMING", "STRING", "STRUCT",
"SUM", "SUPERUSER", "SWITCH", "SYNC", "SYSTEM", "TABLE", "TABLES", "TABLESAMPLE",
"TABLET", "TABLETS", "TASK", "TASKS", "TEMPORARY", "TERMINATED", "TEXT",
"THAN", "THEN", "TIME", "TIMESTAMP", "TINYINT", "TO", "TRANSACTION",
"TRASH", "TREE", "TRIGGERS", "TRIM", "TRUE", "TRUNCATE", "TYPE", "TYPECAST",
"TYPES", "UNBOUNDED", "UNCOMMITTED", "UNINSTALL", "UNION", "UNIQUE",
"UNLOCK", "UNSET", "UNSIGNED", "UP", "UPDATE", "USE", "USER", "USE_MV",
"USING", "VALUE", "VALUES", "VARCHAR", "VARIABLE", "VARIABLES", "VARIANT",
"VAULT", "VAULTS", "VERBOSE", "VERSION", "VIEW", "VIEWS", "WARM", "WARNINGS",
"WEEK", "WHEN", "WHERE", "WHITELIST", "WITH", "WORK", "WORKLOAD", "WRITE",
"XOR", "YEAR", "EQ", "NSEQ", "NEQ", "LT", "LTE", "GT", "GTE", "PLUS",
"SUBTRACT", "ASTERISK", "SLASH", "MOD", "TILDE", "AMPERSAND", "LOGICALAND",
"LOGICALNOT", "PIPE", "DOUBLEPIPES", "HAT", "COLON", "ARROW", "HINT_START",
"HINT_END", "COMMENT_START", "ATSIGN", "DOUBLEATSIGN", "STRING_LITERAL",
"LEADING_STRING", "BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL",
"INTEGER_VALUE", "EXPONENT_VALUE", "DECIMAL_VALUE", "BIGDECIMAL_LITERAL",
"IDENTIFIER", "BACKQUOTED_IDENTIFIER", "SIMPLE_COMMENT", "BRACKETED_COMMENT",
"FROM_DUAL", "WS", "UNRECOGNIZED"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "<INVALID>";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "PLParser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public boolean ansiSQLSyntax = false;
public PLParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class ProgramContext extends ParserRuleContext {
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode EOF() { return getToken(PLParser.EOF, 0); }
public ProgramContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_program; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterProgram(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitProgram(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitProgram(this);
else return visitor.visitChildren(this);
}
}
public final ProgramContext program() throws RecognitionException {
ProgramContext _localctx = new ProgramContext(_ctx, getState());
enterRule(_localctx, 0, RULE_program);
try {
enterOuterAlt(_localctx, 1);
{
setState(714);
block();
setState(715);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BlockContext extends ParserRuleContext {
public List<Begin_end_blockContext> begin_end_block() {
return getRuleContexts(Begin_end_blockContext.class);
}
public Begin_end_blockContext begin_end_block(int i) {
return getRuleContext(Begin_end_blockContext.class,i);
}
public List<StmtContext> stmt() {
return getRuleContexts(StmtContext.class);
}
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public List<TerminalNode> GO() { return getTokens(PLParser.GO); }
public TerminalNode GO(int i) {
return getToken(PLParser.GO, i);
}
public BlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBlock(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBlock(this);
else return visitor.visitChildren(this);
}
}
public final BlockContext block() throws RecognitionException {
BlockContext _localctx = new BlockContext(_ctx, getState());
enterRule(_localctx, 2, RULE_block);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(724);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(719);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
case 1:
{
setState(717);
begin_end_block();
}
break;
case 2:
{
setState(718);
stmt();
}
break;
}
setState(722);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
{
setState(721);
match(GO);
}
break;
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(726);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,2,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Begin_end_blockContext extends ParserRuleContext {
public TerminalNode BEGIN() { return getToken(PLParser.BEGIN, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public Block_endContext block_end() {
return getRuleContext(Block_endContext.class,0);
}
public Declare_blockContext declare_block() {
return getRuleContext(Declare_blockContext.class,0);
}
public Exception_blockContext exception_block() {
return getRuleContext(Exception_blockContext.class,0);
}
public Begin_end_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_begin_end_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBegin_end_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBegin_end_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBegin_end_block(this);
else return visitor.visitChildren(this);
}
}
public final Begin_end_blockContext begin_end_block() throws RecognitionException {
Begin_end_blockContext _localctx = new Begin_end_blockContext(_ctx, getState());
enterRule(_localctx, 4, RULE_begin_end_block);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(729);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DECLARE) {
{
setState(728);
declare_block();
}
}
setState(731);
match(BEGIN);
setState(732);
block();
setState(734);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
case 1:
{
setState(733);
exception_block();
}
break;
}
setState(736);
block_end();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Single_block_stmtContext extends ParserRuleContext {
public TerminalNode BEGIN() { return getToken(PLParser.BEGIN, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public Block_endContext block_end() {
return getRuleContext(Block_endContext.class,0);
}
public Exception_blockContext exception_block() {
return getRuleContext(Exception_blockContext.class,0);
}
public StmtContext stmt() {
return getRuleContext(StmtContext.class,0);
}
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public Single_block_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_single_block_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSingle_block_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSingle_block_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSingle_block_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Single_block_stmtContext single_block_stmt() throws RecognitionException {
Single_block_stmtContext _localctx = new Single_block_stmtContext(_ctx, getState());
enterRule(_localctx, 6, RULE_single_block_stmt);
try {
setState(749);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(738);
match(BEGIN);
setState(739);
block();
setState(741);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
case 1:
{
setState(740);
exception_block();
}
break;
}
setState(743);
block_end();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(745);
stmt();
setState(747);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
case 1:
{
setState(746);
match(SEMICOLON);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Block_endContext extends ParserRuleContext {
public TerminalNode END() { return getToken(PLParser.END, 0); }
public Block_endContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_block_end; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBlock_end(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBlock_end(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBlock_end(this);
else return visitor.visitChildren(this);
}
}
public final Block_endContext block_end() throws RecognitionException {
Block_endContext _localctx = new Block_endContext(_ctx, getState());
enterRule(_localctx, 8, RULE_block_end);
try {
enterOuterAlt(_localctx, 1);
{
setState(751);
if (!(!_input.LT(2).getText().equalsIgnoreCase("TRANSACTION"))) throw new FailedPredicateException(this, "!_input.LT(2).getText().equalsIgnoreCase(\"TRANSACTION\")");
setState(752);
match(END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Procedure_blockContext extends ParserRuleContext {
public Begin_end_blockContext begin_end_block() {
return getRuleContext(Begin_end_blockContext.class,0);
}
public List<StmtContext> stmt() {
return getRuleContexts(StmtContext.class);
}
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public TerminalNode GO() { return getToken(PLParser.GO, 0); }
public Procedure_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_procedure_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterProcedure_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitProcedure_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitProcedure_block(this);
else return visitor.visitChildren(this);
}
}
public final Procedure_blockContext procedure_block() throws RecognitionException {
Procedure_blockContext _localctx = new Procedure_blockContext(_ctx, getState());
enterRule(_localctx, 10, RULE_procedure_block);
try {
int _alt;
setState(763);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(754);
begin_end_block();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(756);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(755);
stmt();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(758);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,8,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(761);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
{
setState(760);
match(GO);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Doris_statementContext extends ParserRuleContext {
public StatementBaseContext statementBase() {
return getRuleContext(StatementBaseContext.class,0);
}
public Doris_statementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_doris_statement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDoris_statement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDoris_statement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDoris_statement(this);
else return visitor.visitChildren(this);
}
}
public final Doris_statementContext doris_statement() throws RecognitionException {
Doris_statementContext _localctx = new Doris_statementContext(_ctx, getState());
enterRule(_localctx, 12, RULE_doris_statement);
try {
enterOuterAlt(_localctx, 1);
{
setState(765);
statementBase();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StmtContext extends ParserRuleContext {
public Doris_statementContext doris_statement() {
return getRuleContext(Doris_statementContext.class,0);
}
public Assignment_stmtContext assignment_stmt() {
return getRuleContext(Assignment_stmtContext.class,0);
}
public Allocate_cursor_stmtContext allocate_cursor_stmt() {
return getRuleContext(Allocate_cursor_stmtContext.class,0);
}
public Associate_locator_stmtContext associate_locator_stmt() {
return getRuleContext(Associate_locator_stmtContext.class,0);
}
public Break_stmtContext break_stmt() {
return getRuleContext(Break_stmtContext.class,0);
}
public Call_stmtContext call_stmt() {
return getRuleContext(Call_stmtContext.class,0);
}
public Close_stmtContext close_stmt() {
return getRuleContext(Close_stmtContext.class,0);
}
public Create_function_stmtContext create_function_stmt() {
return getRuleContext(Create_function_stmtContext.class,0);
}
public Create_package_stmtContext create_package_stmt() {
return getRuleContext(Create_package_stmtContext.class,0);
}
public Create_package_body_stmtContext create_package_body_stmt() {
return getRuleContext(Create_package_body_stmtContext.class,0);
}
public Create_procedure_stmtContext create_procedure_stmt() {
return getRuleContext(Create_procedure_stmtContext.class,0);
}
public Declare_stmtContext declare_stmt() {
return getRuleContext(Declare_stmtContext.class,0);
}
public Drop_procedure_stmtContext drop_procedure_stmt() {
return getRuleContext(Drop_procedure_stmtContext.class,0);
}
public Show_procedure_stmtContext show_procedure_stmt() {
return getRuleContext(Show_procedure_stmtContext.class,0);
}
public Show_create_procedure_stmtContext show_create_procedure_stmt() {
return getRuleContext(Show_create_procedure_stmtContext.class,0);
}
public Show_config_stmtContext show_config_stmt() {
return getRuleContext(Show_config_stmtContext.class,0);
}
public Exec_stmtContext exec_stmt() {
return getRuleContext(Exec_stmtContext.class,0);
}
public Exit_stmtContext exit_stmt() {
return getRuleContext(Exit_stmtContext.class,0);
}
public Fetch_stmtContext fetch_stmt() {
return getRuleContext(Fetch_stmtContext.class,0);
}
public For_cursor_stmtContext for_cursor_stmt() {
return getRuleContext(For_cursor_stmtContext.class,0);
}
public For_range_stmtContext for_range_stmt() {
return getRuleContext(For_range_stmtContext.class,0);
}
public If_stmtContext if_stmt() {
return getRuleContext(If_stmtContext.class,0);
}
public Include_stmtContext include_stmt() {
return getRuleContext(Include_stmtContext.class,0);
}
public Get_diag_stmtContext get_diag_stmt() {
return getRuleContext(Get_diag_stmtContext.class,0);
}
public Leave_stmtContext leave_stmt() {
return getRuleContext(Leave_stmtContext.class,0);
}
public Map_object_stmtContext map_object_stmt() {
return getRuleContext(Map_object_stmtContext.class,0);
}
public Open_stmtContext open_stmt() {
return getRuleContext(Open_stmtContext.class,0);
}
public Print_stmtContext print_stmt() {
return getRuleContext(Print_stmtContext.class,0);
}
public Quit_stmtContext quit_stmt() {
return getRuleContext(Quit_stmtContext.class,0);
}
public Raise_stmtContext raise_stmt() {
return getRuleContext(Raise_stmtContext.class,0);
}
public Resignal_stmtContext resignal_stmt() {
return getRuleContext(Resignal_stmtContext.class,0);
}
public Return_stmtContext return_stmt() {
return getRuleContext(Return_stmtContext.class,0);
}
public Signal_stmtContext signal_stmt() {
return getRuleContext(Signal_stmtContext.class,0);
}
public Values_into_stmtContext values_into_stmt() {
return getRuleContext(Values_into_stmtContext.class,0);
}
public While_stmtContext while_stmt() {
return getRuleContext(While_stmtContext.class,0);
}
public Unconditional_loop_stmtContext unconditional_loop_stmt() {
return getRuleContext(Unconditional_loop_stmtContext.class,0);
}
public Label_stmtContext label_stmt() {
return getRuleContext(Label_stmtContext.class,0);
}
public Host_plContext host_pl() {
return getRuleContext(Host_plContext.class,0);
}
public Null_stmtContext null_stmt() {
return getRuleContext(Null_stmtContext.class,0);
}
public Expr_stmtContext expr_stmt() {
return getRuleContext(Expr_stmtContext.class,0);
}
public Semicolon_stmtContext semicolon_stmt() {
return getRuleContext(Semicolon_stmtContext.class,0);
}
public StmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStmt(this);
else return visitor.visitChildren(this);
}
}
public final StmtContext stmt() throws RecognitionException {
StmtContext _localctx = new StmtContext(_ctx, getState());
enterRule(_localctx, 14, RULE_stmt);
try {
setState(808);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(767);
doris_statement();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(768);
assignment_stmt();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(769);
allocate_cursor_stmt();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(770);
associate_locator_stmt();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(771);
break_stmt();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(772);
call_stmt();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(773);
close_stmt();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(774);
create_function_stmt();
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(775);
create_package_stmt();
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(776);
create_package_body_stmt();
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(777);
create_procedure_stmt();
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(778);
declare_stmt();
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(779);
drop_procedure_stmt();
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(780);
show_procedure_stmt();
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(781);
show_create_procedure_stmt();
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(782);
show_config_stmt();
}
break;
case 17:
enterOuterAlt(_localctx, 17);
{
setState(783);
exec_stmt();
}
break;
case 18:
enterOuterAlt(_localctx, 18);
{
setState(784);
exit_stmt();
}
break;
case 19:
enterOuterAlt(_localctx, 19);
{
setState(785);
fetch_stmt();
}
break;
case 20:
enterOuterAlt(_localctx, 20);
{
setState(786);
for_cursor_stmt();
}
break;
case 21:
enterOuterAlt(_localctx, 21);
{
setState(787);
for_range_stmt();
}
break;
case 22:
enterOuterAlt(_localctx, 22);
{
setState(788);
if_stmt();
}
break;
case 23:
enterOuterAlt(_localctx, 23);
{
setState(789);
include_stmt();
}
break;
case 24:
enterOuterAlt(_localctx, 24);
{
setState(790);
get_diag_stmt();
}
break;
case 25:
enterOuterAlt(_localctx, 25);
{
setState(791);
leave_stmt();
}
break;
case 26:
enterOuterAlt(_localctx, 26);
{
setState(792);
map_object_stmt();
}
break;
case 27:
enterOuterAlt(_localctx, 27);
{
setState(793);
open_stmt();
}
break;
case 28:
enterOuterAlt(_localctx, 28);
{
setState(794);
print_stmt();
}
break;
case 29:
enterOuterAlt(_localctx, 29);
{
setState(795);
quit_stmt();
}
break;
case 30:
enterOuterAlt(_localctx, 30);
{
setState(796);
raise_stmt();
}
break;
case 31:
enterOuterAlt(_localctx, 31);
{
setState(797);
resignal_stmt();
}
break;
case 32:
enterOuterAlt(_localctx, 32);
{
setState(798);
return_stmt();
}
break;
case 33:
enterOuterAlt(_localctx, 33);
{
setState(799);
signal_stmt();
}
break;
case 34:
enterOuterAlt(_localctx, 34);
{
setState(800);
values_into_stmt();
}
break;
case 35:
enterOuterAlt(_localctx, 35);
{
setState(801);
while_stmt();
}
break;
case 36:
enterOuterAlt(_localctx, 36);
{
setState(802);
unconditional_loop_stmt();
}
break;
case 37:
enterOuterAlt(_localctx, 37);
{
setState(803);
label_stmt();
}
break;
case 38:
enterOuterAlt(_localctx, 38);
{
setState(804);
host_pl();
}
break;
case 39:
enterOuterAlt(_localctx, 39);
{
setState(805);
null_stmt();
}
break;
case 40:
enterOuterAlt(_localctx, 40);
{
setState(806);
expr_stmt();
}
break;
case 41:
enterOuterAlt(_localctx, 41);
{
setState(807);
semicolon_stmt();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Semicolon_stmtContext extends ParserRuleContext {
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public TerminalNode SLASH() { return getToken(PLParser.SLASH, 0); }
public Semicolon_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_semicolon_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSemicolon_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSemicolon_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSemicolon_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Semicolon_stmtContext semicolon_stmt() throws RecognitionException {
Semicolon_stmtContext _localctx = new Semicolon_stmtContext(_ctx, getState());
enterRule(_localctx, 16, RULE_semicolon_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(810);
_la = _input.LA(1);
if ( !(_la==SEMICOLON || _la==SLASH || _la==ATSIGN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Exception_blockContext extends ParserRuleContext {
public TerminalNode EXCEPTION() { return getToken(PLParser.EXCEPTION, 0); }
public List<Exception_block_itemContext> exception_block_item() {
return getRuleContexts(Exception_block_itemContext.class);
}
public Exception_block_itemContext exception_block_item(int i) {
return getRuleContext(Exception_block_itemContext.class,i);
}
public Exception_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exception_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterException_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitException_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitException_block(this);
else return visitor.visitChildren(this);
}
}
public final Exception_blockContext exception_block() throws RecognitionException {
Exception_blockContext _localctx = new Exception_blockContext(_ctx, getState());
enterRule(_localctx, 18, RULE_exception_block);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(812);
match(EXCEPTION);
setState(814);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(813);
exception_block_item();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(816);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,12,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Exception_block_itemContext extends ParserRuleContext {
public List<TerminalNode> WHEN() { return getTokens(PLParser.WHEN); }
public TerminalNode WHEN(int i) {
return getToken(PLParser.WHEN, i);
}
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public Exception_block_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exception_block_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterException_block_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitException_block_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitException_block_item(this);
else return visitor.visitChildren(this);
}
}
public final Exception_block_itemContext exception_block_item() throws RecognitionException {
Exception_block_itemContext _localctx = new Exception_block_itemContext(_ctx, getState());
enterRule(_localctx, 20, RULE_exception_block_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(818);
match(WHEN);
setState(819);
match(IDENTIFIER);
setState(820);
match(THEN);
setState(821);
block();
setState(822);
_la = _input.LA(1);
if ( _la <= 0 || (_la==END || _la==WHEN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Null_stmtContext extends ParserRuleContext {
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public Null_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_null_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNull_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNull_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNull_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Null_stmtContext null_stmt() throws RecognitionException {
Null_stmtContext _localctx = new Null_stmtContext(_ctx, getState());
enterRule(_localctx, 22, RULE_null_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(824);
match(NULL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_stmtContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Expr_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Expr_stmtContext expr_stmt() throws RecognitionException {
Expr_stmtContext _localctx = new Expr_stmtContext(_ctx, getState());
enterRule(_localctx, 24, RULE_expr_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(826);
if (!(!_input.LT(1).getText().equalsIgnoreCase("GO"))) throw new FailedPredicateException(this, "!_input.LT(1).getText().equalsIgnoreCase(\"GO\")");
setState(827);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmtContext extends ParserRuleContext {
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public Set_session_optionContext set_session_option() {
return getRuleContext(Set_session_optionContext.class,0);
}
public List<Assignment_stmt_itemContext> assignment_stmt_item() {
return getRuleContexts(Assignment_stmt_itemContext.class);
}
public Assignment_stmt_itemContext assignment_stmt_item(int i) {
return getRuleContext(Assignment_stmt_itemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Assignment_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmtContext assignment_stmt() throws RecognitionException {
Assignment_stmtContext _localctx = new Assignment_stmtContext(_ctx, getState());
enterRule(_localctx, 26, RULE_assignment_stmt);
int _la;
try {
int _alt;
setState(842);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(829);
match(SET);
setState(830);
set_session_option();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(832);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SET) {
{
setState(831);
match(SET);
}
}
setState(834);
assignment_stmt_item();
setState(839);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,14,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(835);
match(COMMA);
setState(836);
assignment_stmt_item();
}
}
}
setState(841);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,14,_ctx);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmt_itemContext extends ParserRuleContext {
public Assignment_stmt_single_itemContext assignment_stmt_single_item() {
return getRuleContext(Assignment_stmt_single_itemContext.class,0);
}
public Assignment_stmt_multiple_itemContext assignment_stmt_multiple_item() {
return getRuleContext(Assignment_stmt_multiple_itemContext.class,0);
}
public Assignment_stmt_select_itemContext assignment_stmt_select_item() {
return getRuleContext(Assignment_stmt_select_itemContext.class,0);
}
public Assignment_stmt_collection_itemContext assignment_stmt_collection_item() {
return getRuleContext(Assignment_stmt_collection_itemContext.class,0);
}
public Assignment_stmt_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt_item(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmt_itemContext assignment_stmt_item() throws RecognitionException {
Assignment_stmt_itemContext _localctx = new Assignment_stmt_itemContext(_ctx, getState());
enterRule(_localctx, 28, RULE_assignment_stmt_item);
try {
setState(848);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(844);
assignment_stmt_single_item();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(845);
assignment_stmt_multiple_item();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(846);
assignment_stmt_select_item();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(847);
assignment_stmt_collection_item();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmt_single_itemContext extends ParserRuleContext {
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Assignment_stmt_single_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt_single_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt_single_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt_single_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt_single_item(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmt_single_itemContext assignment_stmt_single_item() throws RecognitionException {
Assignment_stmt_single_itemContext _localctx = new Assignment_stmt_single_itemContext(_ctx, getState());
enterRule(_localctx, 30, RULE_assignment_stmt_single_item);
int _la;
try {
setState(866);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(850);
ident_pl();
setState(852);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(851);
match(COLON);
}
}
setState(854);
match(EQ);
setState(855);
expr(0);
}
break;
case LEFT_PAREN:
enterOuterAlt(_localctx, 2);
{
setState(857);
match(LEFT_PAREN);
setState(858);
ident_pl();
setState(859);
match(RIGHT_PAREN);
setState(861);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(860);
match(COLON);
}
}
setState(863);
match(EQ);
setState(864);
expr(0);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmt_collection_itemContext extends ParserRuleContext {
public Expr_funcContext expr_func() {
return getRuleContext(Expr_funcContext.class,0);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Assignment_stmt_collection_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt_collection_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt_collection_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt_collection_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt_collection_item(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmt_collection_itemContext assignment_stmt_collection_item() throws RecognitionException {
Assignment_stmt_collection_itemContext _localctx = new Assignment_stmt_collection_itemContext(_ctx, getState());
enterRule(_localctx, 32, RULE_assignment_stmt_collection_item);
try {
enterOuterAlt(_localctx, 1);
{
setState(868);
expr_func();
setState(869);
match(COLON);
setState(870);
match(EQ);
setState(871);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmt_multiple_itemContext extends ParserRuleContext {
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public Assignment_stmt_multiple_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt_multiple_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt_multiple_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt_multiple_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt_multiple_item(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmt_multiple_itemContext assignment_stmt_multiple_item() throws RecognitionException {
Assignment_stmt_multiple_itemContext _localctx = new Assignment_stmt_multiple_itemContext(_ctx, getState());
enterRule(_localctx, 34, RULE_assignment_stmt_multiple_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(873);
match(LEFT_PAREN);
setState(874);
ident_pl();
setState(879);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(875);
match(COMMA);
setState(876);
ident_pl();
}
}
setState(881);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(882);
match(RIGHT_PAREN);
setState(884);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(883);
match(COLON);
}
}
setState(886);
match(EQ);
setState(887);
match(LEFT_PAREN);
setState(888);
expr(0);
setState(893);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(889);
match(COMMA);
setState(890);
expr(0);
}
}
setState(895);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(896);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Assignment_stmt_select_itemContext extends ParserRuleContext {
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Assignment_stmt_select_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment_stmt_select_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssignment_stmt_select_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssignment_stmt_select_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssignment_stmt_select_item(this);
else return visitor.visitChildren(this);
}
}
public final Assignment_stmt_select_itemContext assignment_stmt_select_item() throws RecognitionException {
Assignment_stmt_select_itemContext _localctx = new Assignment_stmt_select_itemContext(_ctx, getState());
enterRule(_localctx, 36, RULE_assignment_stmt_select_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(910);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
{
setState(898);
ident_pl();
}
break;
case LEFT_PAREN:
{
{
setState(899);
match(LEFT_PAREN);
setState(900);
ident_pl();
setState(905);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(901);
match(COMMA);
setState(902);
ident_pl();
}
}
setState(907);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(908);
match(RIGHT_PAREN);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(913);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(912);
match(COLON);
}
}
setState(915);
match(EQ);
setState(916);
match(LEFT_PAREN);
setState(917);
query();
setState(918);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Allocate_cursor_stmtContext extends ParserRuleContext {
public TerminalNode ALLOCATE() { return getToken(PLParser.ALLOCATE, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode CURSOR() { return getToken(PLParser.CURSOR, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode RESULT() { return getToken(PLParser.RESULT, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public Allocate_cursor_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_allocate_cursor_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAllocate_cursor_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAllocate_cursor_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAllocate_cursor_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Allocate_cursor_stmtContext allocate_cursor_stmt() throws RecognitionException {
Allocate_cursor_stmtContext _localctx = new Allocate_cursor_stmtContext(_ctx, getState());
enterRule(_localctx, 38, RULE_allocate_cursor_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(920);
match(ALLOCATE);
setState(921);
ident_pl();
setState(922);
match(CURSOR);
setState(923);
match(FOR);
setState(927);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RESULT:
{
{
setState(924);
match(RESULT);
setState(925);
match(SET);
}
}
break;
case PROCEDURE:
{
setState(926);
match(PROCEDURE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(929);
ident_pl();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Associate_locator_stmtContext extends ParserRuleContext {
public TerminalNode ASSOCIATE() { return getToken(PLParser.ASSOCIATE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode LOCATOR() { return getToken(PLParser.LOCATOR, 0); }
public TerminalNode LOCATORS() { return getToken(PLParser.LOCATORS, 0); }
public TerminalNode RESULT() { return getToken(PLParser.RESULT, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Associate_locator_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_associate_locator_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAssociate_locator_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAssociate_locator_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAssociate_locator_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Associate_locator_stmtContext associate_locator_stmt() throws RecognitionException {
Associate_locator_stmtContext _localctx = new Associate_locator_stmtContext(_ctx, getState());
enterRule(_localctx, 40, RULE_associate_locator_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(931);
match(ASSOCIATE);
setState(934);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RESULT) {
{
setState(932);
match(RESULT);
setState(933);
match(SET);
}
}
setState(936);
_la = _input.LA(1);
if ( !(_la==LOCATOR || _la==LOCATORS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(937);
match(LEFT_PAREN);
setState(938);
ident_pl();
setState(943);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(939);
match(COMMA);
setState(940);
ident_pl();
}
}
setState(945);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(946);
match(RIGHT_PAREN);
setState(947);
match(WITH);
setState(948);
match(PROCEDURE);
setState(949);
ident_pl();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Break_stmtContext extends ParserRuleContext {
public TerminalNode BREAK() { return getToken(PLParser.BREAK, 0); }
public Break_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_break_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBreak_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBreak_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBreak_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Break_stmtContext break_stmt() throws RecognitionException {
Break_stmtContext _localctx = new Break_stmtContext(_ctx, getState());
enterRule(_localctx, 42, RULE_break_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(951);
match(BREAK);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Call_stmtContext extends ParserRuleContext {
public TerminalNode CALL() { return getToken(PLParser.CALL, 0); }
public Expr_dotContext expr_dot() {
return getRuleContext(Expr_dotContext.class,0);
}
public Expr_funcContext expr_func() {
return getRuleContext(Expr_funcContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Call_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_call_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCall_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCall_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCall_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Call_stmtContext call_stmt() throws RecognitionException {
Call_stmtContext _localctx = new Call_stmtContext(_ctx, getState());
enterRule(_localctx, 44, RULE_call_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(953);
match(CALL);
setState(957);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
case 1:
{
setState(954);
expr_dot();
}
break;
case 2:
{
setState(955);
expr_func();
}
break;
case 3:
{
setState(956);
multipartIdentifier();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_stmtContext extends ParserRuleContext {
public TerminalNode DECLARE() { return getToken(PLParser.DECLARE, 0); }
public List<Declare_stmt_itemContext> declare_stmt_item() {
return getRuleContexts(Declare_stmt_itemContext.class);
}
public Declare_stmt_itemContext declare_stmt_item(int i) {
return getRuleContext(Declare_stmt_itemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Declare_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Declare_stmtContext declare_stmt() throws RecognitionException {
Declare_stmtContext _localctx = new Declare_stmtContext(_ctx, getState());
enterRule(_localctx, 46, RULE_declare_stmt);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(959);
match(DECLARE);
setState(960);
declare_stmt_item();
setState(965);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,30,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(961);
match(COMMA);
setState(962);
declare_stmt_item();
}
}
}
setState(967);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,30,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_blockContext extends ParserRuleContext {
public TerminalNode DECLARE() { return getToken(PLParser.DECLARE, 0); }
public List<Declare_stmt_itemContext> declare_stmt_item() {
return getRuleContexts(Declare_stmt_itemContext.class);
}
public Declare_stmt_itemContext declare_stmt_item(int i) {
return getRuleContext(Declare_stmt_itemContext.class,i);
}
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public Declare_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_block(this);
else return visitor.visitChildren(this);
}
}
public final Declare_blockContext declare_block() throws RecognitionException {
Declare_blockContext _localctx = new Declare_blockContext(_ctx, getState());
enterRule(_localctx, 48, RULE_declare_block);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(968);
match(DECLARE);
setState(969);
declare_stmt_item();
setState(970);
match(SEMICOLON);
setState(976);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,31,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(971);
declare_stmt_item();
setState(972);
match(SEMICOLON);
}
}
}
setState(978);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,31,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_block_inplaceContext extends ParserRuleContext {
public List<Declare_stmt_itemContext> declare_stmt_item() {
return getRuleContexts(Declare_stmt_itemContext.class);
}
public Declare_stmt_itemContext declare_stmt_item(int i) {
return getRuleContext(Declare_stmt_itemContext.class,i);
}
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public Declare_block_inplaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_block_inplace; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_block_inplace(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_block_inplace(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_block_inplace(this);
else return visitor.visitChildren(this);
}
}
public final Declare_block_inplaceContext declare_block_inplace() throws RecognitionException {
Declare_block_inplaceContext _localctx = new Declare_block_inplaceContext(_ctx, getState());
enterRule(_localctx, 50, RULE_declare_block_inplace);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(979);
declare_stmt_item();
setState(980);
match(SEMICOLON);
setState(986);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,32,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(981);
declare_stmt_item();
setState(982);
match(SEMICOLON);
}
}
}
setState(988);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,32,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_stmt_itemContext extends ParserRuleContext {
public Declare_cursor_itemContext declare_cursor_item() {
return getRuleContext(Declare_cursor_itemContext.class,0);
}
public Declare_condition_itemContext declare_condition_item() {
return getRuleContext(Declare_condition_itemContext.class,0);
}
public Declare_handler_itemContext declare_handler_item() {
return getRuleContext(Declare_handler_itemContext.class,0);
}
public Declare_var_itemContext declare_var_item() {
return getRuleContext(Declare_var_itemContext.class,0);
}
public Declare_stmt_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_stmt_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_stmt_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_stmt_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_stmt_item(this);
else return visitor.visitChildren(this);
}
}
public final Declare_stmt_itemContext declare_stmt_item() throws RecognitionException {
Declare_stmt_itemContext _localctx = new Declare_stmt_itemContext(_ctx, getState());
enterRule(_localctx, 52, RULE_declare_stmt_item);
try {
setState(993);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(989);
declare_cursor_item();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(990);
declare_condition_item();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(991);
declare_handler_item();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(992);
declare_var_item();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_var_itemContext extends ParserRuleContext {
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public DtypeContext dtype() {
return getRuleContext(DtypeContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public Dtype_lenContext dtype_len() {
return getRuleContext(Dtype_lenContext.class,0);
}
public List<Dtype_attrContext> dtype_attr() {
return getRuleContexts(Dtype_attrContext.class);
}
public Dtype_attrContext dtype_attr(int i) {
return getRuleContext(Dtype_attrContext.class,i);
}
public Dtype_defaultContext dtype_default() {
return getRuleContext(Dtype_defaultContext.class,0);
}
public TerminalNode CONSTANT() { return getToken(PLParser.CONSTANT, 0); }
public Declare_var_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_var_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_var_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_var_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_var_item(this);
else return visitor.visitChildren(this);
}
}
public final Declare_var_itemContext declare_var_item() throws RecognitionException {
Declare_var_itemContext _localctx = new Declare_var_itemContext(_ctx, getState());
enterRule(_localctx, 54, RULE_declare_var_item);
int _la;
try {
int _alt;
setState(1030);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(995);
ident_pl();
setState(1000);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(996);
match(COMMA);
setState(997);
ident_pl();
}
}
setState(1002);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1004);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(1003);
match(AS);
}
}
setState(1006);
dtype();
setState(1008);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
case 1:
{
setState(1007);
dtype_len();
}
break;
}
setState(1013);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,37,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1010);
dtype_attr();
}
}
}
setState(1015);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,37,_ctx);
}
setState(1017);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,38,_ctx) ) {
case 1:
{
setState(1016);
dtype_default();
}
break;
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1019);
ident_pl();
setState(1020);
match(CONSTANT);
setState(1022);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(1021);
match(AS);
}
}
setState(1024);
dtype();
setState(1026);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(1025);
dtype_len();
}
}
setState(1028);
dtype_default();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_condition_itemContext extends ParserRuleContext {
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode CONDITION() { return getToken(PLParser.CONDITION, 0); }
public Declare_condition_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_condition_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_condition_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_condition_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_condition_item(this);
else return visitor.visitChildren(this);
}
}
public final Declare_condition_itemContext declare_condition_item() throws RecognitionException {
Declare_condition_itemContext _localctx = new Declare_condition_itemContext(_ctx, getState());
enterRule(_localctx, 56, RULE_declare_condition_item);
try {
enterOuterAlt(_localctx, 1);
{
setState(1032);
ident_pl();
setState(1033);
match(CONDITION);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_cursor_itemContext extends ParserRuleContext {
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode CURSOR() { return getToken(PLParser.CURSOR, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Cursor_with_returnContext cursor_with_return() {
return getRuleContext(Cursor_with_returnContext.class,0);
}
public Cursor_without_returnContext cursor_without_return() {
return getRuleContext(Cursor_without_returnContext.class,0);
}
public Declare_cursor_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_cursor_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_cursor_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_cursor_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_cursor_item(this);
else return visitor.visitChildren(this);
}
}
public final Declare_cursor_itemContext declare_cursor_item() throws RecognitionException {
Declare_cursor_itemContext _localctx = new Declare_cursor_itemContext(_ctx, getState());
enterRule(_localctx, 58, RULE_declare_cursor_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1040);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
case 1:
{
setState(1035);
match(CURSOR);
setState(1036);
ident_pl();
}
break;
case 2:
{
setState(1037);
ident_pl();
setState(1038);
match(CURSOR);
}
break;
}
setState(1044);
_errHandler.sync(this);
switch (_input.LA(1)) {
case WITH:
{
setState(1042);
cursor_with_return();
}
break;
case WITHOUT:
{
setState(1043);
cursor_without_return();
}
break;
case AS:
case FOR:
case IS:
break;
default:
break;
}
setState(1046);
_la = _input.LA(1);
if ( !(_la==AS || _la==FOR || _la==IS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1049);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) {
case 1:
{
setState(1047);
query();
}
break;
case 2:
{
setState(1048);
expr(0);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Cursor_with_returnContext extends ParserRuleContext {
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode RETURN() { return getToken(PLParser.RETURN, 0); }
public TerminalNode ONLY() { return getToken(PLParser.ONLY, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode CALLER() { return getToken(PLParser.CALLER, 0); }
public TerminalNode CLIENT() { return getToken(PLParser.CLIENT, 0); }
public Cursor_with_returnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_cursor_with_return; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCursor_with_return(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCursor_with_return(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCursor_with_return(this);
else return visitor.visitChildren(this);
}
}
public final Cursor_with_returnContext cursor_with_return() throws RecognitionException {
Cursor_with_returnContext _localctx = new Cursor_with_returnContext(_ctx, getState());
enterRule(_localctx, 60, RULE_cursor_with_return);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1051);
match(WITH);
setState(1052);
match(RETURN);
setState(1054);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ONLY) {
{
setState(1053);
match(ONLY);
}
}
setState(1058);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TO) {
{
setState(1056);
match(TO);
setState(1057);
_la = _input.LA(1);
if ( !(_la==CALLER || _la==CLIENT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Cursor_without_returnContext extends ParserRuleContext {
public TerminalNode WITHOUT() { return getToken(PLParser.WITHOUT, 0); }
public TerminalNode RETURN() { return getToken(PLParser.RETURN, 0); }
public Cursor_without_returnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_cursor_without_return; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCursor_without_return(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCursor_without_return(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCursor_without_return(this);
else return visitor.visitChildren(this);
}
}
public final Cursor_without_returnContext cursor_without_return() throws RecognitionException {
Cursor_without_returnContext _localctx = new Cursor_without_returnContext(_ctx, getState());
enterRule(_localctx, 62, RULE_cursor_without_return);
try {
enterOuterAlt(_localctx, 1);
{
setState(1060);
match(WITHOUT);
setState(1061);
match(RETURN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Declare_handler_itemContext extends ParserRuleContext {
public TerminalNode HANDLER() { return getToken(PLParser.HANDLER, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public Single_block_stmtContext single_block_stmt() {
return getRuleContext(Single_block_stmtContext.class,0);
}
public TerminalNode CONTINUE() { return getToken(PLParser.CONTINUE, 0); }
public TerminalNode EXIT() { return getToken(PLParser.EXIT, 0); }
public TerminalNode SQLEXCEPTION() { return getToken(PLParser.SQLEXCEPTION, 0); }
public TerminalNode SQLWARNING() { return getToken(PLParser.SQLWARNING, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode FOUND() { return getToken(PLParser.FOUND, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public Declare_handler_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declare_handler_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeclare_handler_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeclare_handler_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeclare_handler_item(this);
else return visitor.visitChildren(this);
}
}
public final Declare_handler_itemContext declare_handler_item() throws RecognitionException {
Declare_handler_itemContext _localctx = new Declare_handler_itemContext(_ctx, getState());
enterRule(_localctx, 64, RULE_declare_handler_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1063);
_la = _input.LA(1);
if ( !(_la==CONTINUE || _la==EXIT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1064);
match(HANDLER);
setState(1065);
match(FOR);
setState(1071);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
case 1:
{
setState(1066);
match(SQLEXCEPTION);
}
break;
case 2:
{
setState(1067);
match(SQLWARNING);
}
break;
case 3:
{
setState(1068);
match(NOT);
setState(1069);
match(FOUND);
}
break;
case 4:
{
setState(1070);
ident_pl();
}
break;
}
setState(1073);
single_block_stmt();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DtypeContext extends ParserRuleContext {
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode BIGINT() { return getToken(PLParser.BIGINT, 0); }
public TerminalNode BINARY_DOUBLE() { return getToken(PLParser.BINARY_DOUBLE, 0); }
public TerminalNode BINARY_FLOAT() { return getToken(PLParser.BINARY_FLOAT, 0); }
public TerminalNode BINARY_INTEGER() { return getToken(PLParser.BINARY_INTEGER, 0); }
public TerminalNode BIT() { return getToken(PLParser.BIT, 0); }
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode DATETIME() { return getToken(PLParser.DATETIME, 0); }
public TerminalNode DEC() { return getToken(PLParser.DEC, 0); }
public TerminalNode DECIMAL() { return getToken(PLParser.DECIMAL, 0); }
public TerminalNode DOUBLE() { return getToken(PLParser.DOUBLE, 0); }
public TerminalNode PRECISION() { return getToken(PLParser.PRECISION, 0); }
public TerminalNode FLOAT() { return getToken(PLParser.FLOAT, 0); }
public TerminalNode INT() { return getToken(PLParser.INT, 0); }
public TerminalNode INT2() { return getToken(PLParser.INT2, 0); }
public TerminalNode INT4() { return getToken(PLParser.INT4, 0); }
public TerminalNode INT8() { return getToken(PLParser.INT8, 0); }
public TerminalNode INTEGER() { return getToken(PLParser.INTEGER, 0); }
public TerminalNode NCHAR() { return getToken(PLParser.NCHAR, 0); }
public TerminalNode NVARCHAR() { return getToken(PLParser.NVARCHAR, 0); }
public TerminalNode NUMBER() { return getToken(PLParser.NUMBER, 0); }
public TerminalNode NUMERIC() { return getToken(PLParser.NUMERIC, 0); }
public TerminalNode PLS_INTEGER() { return getToken(PLParser.PLS_INTEGER, 0); }
public TerminalNode REAL() { return getToken(PLParser.REAL, 0); }
public TerminalNode RESULT_SET_LOCATOR() { return getToken(PLParser.RESULT_SET_LOCATOR, 0); }
public TerminalNode VARYING() { return getToken(PLParser.VARYING, 0); }
public TerminalNode SIMPLE_FLOAT() { return getToken(PLParser.SIMPLE_FLOAT, 0); }
public TerminalNode SIMPLE_DOUBLE() { return getToken(PLParser.SIMPLE_DOUBLE, 0); }
public TerminalNode SIMPLE_INTEGER() { return getToken(PLParser.SIMPLE_INTEGER, 0); }
public TerminalNode SMALLINT() { return getToken(PLParser.SMALLINT, 0); }
public TerminalNode SMALLDATETIME() { return getToken(PLParser.SMALLDATETIME, 0); }
public TerminalNode STRING() { return getToken(PLParser.STRING, 0); }
public TerminalNode SYS_REFCURSOR() { return getToken(PLParser.SYS_REFCURSOR, 0); }
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public TerminalNode TINYINT() { return getToken(PLParser.TINYINT, 0); }
public TerminalNode VARCHAR() { return getToken(PLParser.VARCHAR, 0); }
public TerminalNode VARCHAR2() { return getToken(PLParser.VARCHAR2, 0); }
public TerminalNode XML() { return getToken(PLParser.XML, 0); }
public QidentContext qident() {
return getRuleContext(QidentContext.class,0);
}
public TerminalNode MOD() { return getToken(PLParser.MOD, 0); }
public TerminalNode TYPE() { return getToken(PLParser.TYPE, 0); }
public TerminalNode ROWTYPE() { return getToken(PLParser.ROWTYPE, 0); }
public DtypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dtype; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDtype(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDtype(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDtype(this);
else return visitor.visitChildren(this);
}
}
public final DtypeContext dtype() throws RecognitionException {
DtypeContext _localctx = new DtypeContext(_ctx, getState());
enterRule(_localctx, 66, RULE_dtype);
int _la;
try {
setState(1120);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1075);
match(CHAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1076);
match(BIGINT);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1077);
match(BINARY_DOUBLE);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1078);
match(BINARY_FLOAT);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1079);
match(BINARY_INTEGER);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1080);
match(BIT);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(1081);
match(DATE);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(1082);
match(DATETIME);
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(1083);
match(DEC);
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(1084);
match(DECIMAL);
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(1085);
match(DOUBLE);
setState(1087);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
{
setState(1086);
match(PRECISION);
}
break;
}
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(1089);
match(FLOAT);
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(1090);
match(INT);
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(1091);
match(INT2);
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(1092);
match(INT4);
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(1093);
match(INT8);
}
break;
case 17:
enterOuterAlt(_localctx, 17);
{
setState(1094);
match(INTEGER);
}
break;
case 18:
enterOuterAlt(_localctx, 18);
{
setState(1095);
match(NCHAR);
}
break;
case 19:
enterOuterAlt(_localctx, 19);
{
setState(1096);
match(NVARCHAR);
}
break;
case 20:
enterOuterAlt(_localctx, 20);
{
setState(1097);
match(NUMBER);
}
break;
case 21:
enterOuterAlt(_localctx, 21);
{
setState(1098);
match(NUMERIC);
}
break;
case 22:
enterOuterAlt(_localctx, 22);
{
setState(1099);
match(PLS_INTEGER);
}
break;
case 23:
enterOuterAlt(_localctx, 23);
{
setState(1100);
match(REAL);
}
break;
case 24:
enterOuterAlt(_localctx, 24);
{
setState(1101);
match(RESULT_SET_LOCATOR);
setState(1102);
match(VARYING);
}
break;
case 25:
enterOuterAlt(_localctx, 25);
{
setState(1103);
match(SIMPLE_FLOAT);
}
break;
case 26:
enterOuterAlt(_localctx, 26);
{
setState(1104);
match(SIMPLE_DOUBLE);
}
break;
case 27:
enterOuterAlt(_localctx, 27);
{
setState(1105);
match(SIMPLE_INTEGER);
}
break;
case 28:
enterOuterAlt(_localctx, 28);
{
setState(1106);
match(SMALLINT);
}
break;
case 29:
enterOuterAlt(_localctx, 29);
{
setState(1107);
match(SMALLDATETIME);
}
break;
case 30:
enterOuterAlt(_localctx, 30);
{
setState(1108);
match(STRING);
}
break;
case 31:
enterOuterAlt(_localctx, 31);
{
setState(1109);
match(SYS_REFCURSOR);
}
break;
case 32:
enterOuterAlt(_localctx, 32);
{
setState(1110);
match(TIMESTAMP);
}
break;
case 33:
enterOuterAlt(_localctx, 33);
{
setState(1111);
match(TINYINT);
}
break;
case 34:
enterOuterAlt(_localctx, 34);
{
setState(1112);
match(VARCHAR);
}
break;
case 35:
enterOuterAlt(_localctx, 35);
{
setState(1113);
match(VARCHAR2);
}
break;
case 36:
enterOuterAlt(_localctx, 36);
{
setState(1114);
match(XML);
}
break;
case 37:
enterOuterAlt(_localctx, 37);
{
setState(1115);
qident();
setState(1118);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) {
case 1:
{
setState(1116);
match(MOD);
setState(1117);
_la = _input.LA(1);
if ( !(_la==ROWTYPE || _la==TYPE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Dtype_lenContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public TerminalNode MAX() { return getToken(PLParser.MAX, 0); }
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode BYTE() { return getToken(PLParser.BYTE, 0); }
public Dtype_lenContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dtype_len; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDtype_len(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDtype_len(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDtype_len(this);
else return visitor.visitChildren(this);
}
}
public final Dtype_lenContext dtype_len() throws RecognitionException {
Dtype_lenContext _localctx = new Dtype_lenContext(_ctx, getState());
enterRule(_localctx, 68, RULE_dtype_len);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1122);
match(LEFT_PAREN);
setState(1123);
_la = _input.LA(1);
if ( !(_la==MAX || _la==INTEGER_VALUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1125);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BYTE || _la==CHAR) {
{
setState(1124);
_la = _input.LA(1);
if ( !(_la==BYTE || _la==CHAR) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(1129);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1127);
match(COMMA);
setState(1128);
match(INTEGER_VALUE);
}
}
setState(1131);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Dtype_attrContext extends ParserRuleContext {
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode CASESPECIFIC() { return getToken(PLParser.CASESPECIFIC, 0); }
public TerminalNode CS() { return getToken(PLParser.CS, 0); }
public Dtype_attrContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dtype_attr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDtype_attr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDtype_attr(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDtype_attr(this);
else return visitor.visitChildren(this);
}
}
public final Dtype_attrContext dtype_attr() throws RecognitionException {
Dtype_attrContext _localctx = new Dtype_attrContext(_ctx, getState());
enterRule(_localctx, 70, RULE_dtype_attr);
int _la;
try {
setState(1144);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1134);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1133);
match(NOT);
}
}
setState(1136);
match(NULL);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1137);
match(CHAR);
setState(1138);
match(SET);
setState(1139);
ident_pl();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1141);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1140);
match(NOT);
}
}
setState(1143);
_la = _input.LA(1);
if ( !(_la==CASESPECIFIC || _la==CS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Dtype_defaultContext extends ParserRuleContext {
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public Dtype_defaultContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dtype_default; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDtype_default(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDtype_default(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDtype_default(this);
else return visitor.visitChildren(this);
}
}
public final Dtype_defaultContext dtype_default() throws RecognitionException {
Dtype_defaultContext _localctx = new Dtype_defaultContext(_ctx, getState());
enterRule(_localctx, 72, RULE_dtype_default);
int _la;
try {
setState(1158);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EQ:
case COLON:
enterOuterAlt(_localctx, 1);
{
setState(1147);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(1146);
match(COLON);
}
}
setState(1149);
match(EQ);
setState(1150);
expr(0);
}
break;
case DEFAULT:
case WITH:
enterOuterAlt(_localctx, 2);
{
setState(1152);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(1151);
match(WITH);
}
}
setState(1154);
match(DEFAULT);
setState(1156);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) {
case 1:
{
setState(1155);
expr(0);
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_function_stmtContext extends ParserRuleContext {
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Create_function_returnContext create_function_return() {
return getRuleContext(Create_function_returnContext.class,0);
}
public Single_block_stmtContext single_block_stmt() {
return getRuleContext(Single_block_stmtContext.class,0);
}
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public Create_routine_paramsContext create_routine_params() {
return getRuleContext(Create_routine_paramsContext.class,0);
}
public Declare_block_inplaceContext declare_block_inplace() {
return getRuleContext(Declare_block_inplaceContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public Create_function_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_function_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_function_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_function_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_function_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Create_function_stmtContext create_function_stmt() throws RecognitionException {
Create_function_stmtContext _localctx = new Create_function_stmtContext(_ctx, getState());
enterRule(_localctx, 74, RULE_create_function_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1167);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALTER:
{
setState(1160);
match(ALTER);
}
break;
case CREATE:
{
setState(1161);
match(CREATE);
setState(1164);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(1162);
match(OR);
setState(1163);
match(REPLACE);
}
}
}
break;
case REPLACE:
{
setState(1166);
match(REPLACE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1169);
match(FUNCTION);
setState(1170);
multipartIdentifier();
setState(1172);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,62,_ctx) ) {
case 1:
{
setState(1171);
create_routine_params();
}
break;
}
setState(1174);
create_function_return();
setState(1176);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
case 1:
{
setState(1175);
_la = _input.LA(1);
if ( !(_la==AS || _la==IS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(1179);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) {
case 1:
{
setState(1178);
declare_block_inplace();
}
break;
}
setState(1181);
single_block_stmt();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_function_returnContext extends ParserRuleContext {
public DtypeContext dtype() {
return getRuleContext(DtypeContext.class,0);
}
public TerminalNode RETURN() { return getToken(PLParser.RETURN, 0); }
public TerminalNode RETURNS() { return getToken(PLParser.RETURNS, 0); }
public Dtype_lenContext dtype_len() {
return getRuleContext(Dtype_lenContext.class,0);
}
public Create_function_returnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_function_return; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_function_return(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_function_return(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_function_return(this);
else return visitor.visitChildren(this);
}
}
public final Create_function_returnContext create_function_return() throws RecognitionException {
Create_function_returnContext _localctx = new Create_function_returnContext(_ctx, getState());
enterRule(_localctx, 76, RULE_create_function_return);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1183);
_la = _input.LA(1);
if ( !(_la==RETURN || _la==RETURNS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1184);
dtype();
setState(1186);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) {
case 1:
{
setState(1185);
dtype_len();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_package_stmtContext extends ParserRuleContext {
public TerminalNode PACKAGE() { return getToken(PLParser.PACKAGE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Package_specContext package_spec() {
return getRuleContext(Package_specContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public Create_package_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_package_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_package_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_package_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_package_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Create_package_stmtContext create_package_stmt() throws RecognitionException {
Create_package_stmtContext _localctx = new Create_package_stmtContext(_ctx, getState());
enterRule(_localctx, 78, RULE_create_package_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1195);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALTER:
{
setState(1188);
match(ALTER);
}
break;
case CREATE:
{
setState(1189);
match(CREATE);
setState(1192);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(1190);
match(OR);
setState(1191);
match(REPLACE);
}
}
}
break;
case REPLACE:
{
setState(1194);
match(REPLACE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1197);
match(PACKAGE);
setState(1198);
multipartIdentifier();
setState(1199);
_la = _input.LA(1);
if ( !(_la==AS || _la==IS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1200);
package_spec();
setState(1201);
match(END);
setState(1205);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,68,_ctx) ) {
case 1:
{
setState(1202);
ident_pl();
setState(1203);
match(SEMICOLON);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Package_specContext extends ParserRuleContext {
public List<Package_spec_itemContext> package_spec_item() {
return getRuleContexts(Package_spec_itemContext.class);
}
public Package_spec_itemContext package_spec_item(int i) {
return getRuleContext(Package_spec_itemContext.class,i);
}
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public Package_specContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_package_spec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPackage_spec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPackage_spec(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPackage_spec(this);
else return visitor.visitChildren(this);
}
}
public final Package_specContext package_spec() throws RecognitionException {
Package_specContext _localctx = new Package_specContext(_ctx, getState());
enterRule(_localctx, 80, RULE_package_spec);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1207);
package_spec_item();
setState(1208);
match(SEMICOLON);
setState(1214);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,69,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1209);
package_spec_item();
setState(1210);
match(SEMICOLON);
}
}
}
setState(1216);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,69,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Package_spec_itemContext extends ParserRuleContext {
public Declare_stmt_itemContext declare_stmt_item() {
return getRuleContext(Declare_stmt_itemContext.class,0);
}
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public Create_function_returnContext create_function_return() {
return getRuleContext(Create_function_returnContext.class,0);
}
public Create_routine_paramsContext create_routine_params() {
return getRuleContext(Create_routine_paramsContext.class,0);
}
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public Package_spec_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_package_spec_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPackage_spec_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPackage_spec_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPackage_spec_item(this);
else return visitor.visitChildren(this);
}
}
public final Package_spec_itemContext package_spec_item() throws RecognitionException {
Package_spec_itemContext _localctx = new Package_spec_itemContext(_ctx, getState());
enterRule(_localctx, 82, RULE_package_spec_item);
int _la;
try {
setState(1230);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1217);
declare_stmt_item();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1218);
match(FUNCTION);
setState(1219);
ident_pl();
setState(1221);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
case 1:
{
setState(1220);
create_routine_params();
}
break;
}
setState(1223);
create_function_return();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1225);
_la = _input.LA(1);
if ( !(_la==PROC || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1226);
ident_pl();
setState(1228);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
case 1:
{
setState(1227);
create_routine_params();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_package_body_stmtContext extends ParserRuleContext {
public TerminalNode PACKAGE() { return getToken(PLParser.PACKAGE, 0); }
public TerminalNode BODY() { return getToken(PLParser.BODY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Package_bodyContext package_body() {
return getRuleContext(Package_bodyContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public Create_package_body_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_package_body_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_package_body_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_package_body_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_package_body_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Create_package_body_stmtContext create_package_body_stmt() throws RecognitionException {
Create_package_body_stmtContext _localctx = new Create_package_body_stmtContext(_ctx, getState());
enterRule(_localctx, 84, RULE_create_package_body_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1239);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALTER:
{
setState(1232);
match(ALTER);
}
break;
case CREATE:
{
setState(1233);
match(CREATE);
setState(1236);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(1234);
match(OR);
setState(1235);
match(REPLACE);
}
}
}
break;
case REPLACE:
{
setState(1238);
match(REPLACE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1241);
match(PACKAGE);
setState(1242);
match(BODY);
setState(1243);
multipartIdentifier();
setState(1244);
_la = _input.LA(1);
if ( !(_la==AS || _la==IS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1245);
package_body();
setState(1246);
match(END);
setState(1250);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) {
case 1:
{
setState(1247);
ident_pl();
setState(1248);
match(SEMICOLON);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Package_bodyContext extends ParserRuleContext {
public List<Package_body_itemContext> package_body_item() {
return getRuleContexts(Package_body_itemContext.class);
}
public Package_body_itemContext package_body_item(int i) {
return getRuleContext(Package_body_itemContext.class,i);
}
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public Package_bodyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_package_body; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPackage_body(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPackage_body(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPackage_body(this);
else return visitor.visitChildren(this);
}
}
public final Package_bodyContext package_body() throws RecognitionException {
Package_bodyContext _localctx = new Package_bodyContext(_ctx, getState());
enterRule(_localctx, 86, RULE_package_body);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1252);
package_body_item();
setState(1253);
match(SEMICOLON);
setState(1259);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,76,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1254);
package_body_item();
setState(1255);
match(SEMICOLON);
}
}
}
setState(1261);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,76,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Package_body_itemContext extends ParserRuleContext {
public Declare_stmt_itemContext declare_stmt_item() {
return getRuleContext(Declare_stmt_itemContext.class,0);
}
public Create_function_stmtContext create_function_stmt() {
return getRuleContext(Create_function_stmtContext.class,0);
}
public Create_procedure_stmtContext create_procedure_stmt() {
return getRuleContext(Create_procedure_stmtContext.class,0);
}
public Package_body_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_package_body_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPackage_body_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPackage_body_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPackage_body_item(this);
else return visitor.visitChildren(this);
}
}
public final Package_body_itemContext package_body_item() throws RecognitionException {
Package_body_itemContext _localctx = new Package_body_itemContext(_ctx, getState());
enterRule(_localctx, 88, RULE_package_body_item);
try {
setState(1265);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,77,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1262);
declare_stmt_item();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1263);
create_function_stmt();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1264);
create_procedure_stmt();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_procedure_stmtContext extends ParserRuleContext {
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Procedure_blockContext procedure_block() {
return getRuleContext(Procedure_blockContext.class,0);
}
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public Create_routine_paramsContext create_routine_params() {
return getRuleContext(Create_routine_paramsContext.class,0);
}
public Create_routine_optionsContext create_routine_options() {
return getRuleContext(Create_routine_optionsContext.class,0);
}
public Declare_block_inplaceContext declare_block_inplace() {
return getRuleContext(Declare_block_inplaceContext.class,0);
}
public Label_stmtContext label_stmt() {
return getRuleContext(Label_stmtContext.class,0);
}
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public Create_procedure_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_procedure_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_procedure_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_procedure_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_procedure_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Create_procedure_stmtContext create_procedure_stmt() throws RecognitionException {
Create_procedure_stmtContext _localctx = new Create_procedure_stmtContext(_ctx, getState());
enterRule(_localctx, 90, RULE_create_procedure_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1274);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALTER:
{
setState(1267);
match(ALTER);
}
break;
case CREATE:
{
setState(1268);
match(CREATE);
setState(1271);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(1269);
match(OR);
setState(1270);
match(REPLACE);
}
}
}
break;
case REPLACE:
{
setState(1273);
match(REPLACE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1276);
_la = _input.LA(1);
if ( !(_la==PROC || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1277);
multipartIdentifier();
setState(1279);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
case 1:
{
setState(1278);
create_routine_params();
}
break;
}
setState(1282);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
case 1:
{
setState(1281);
create_routine_options();
}
break;
}
setState(1285);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,82,_ctx) ) {
case 1:
{
setState(1284);
_la = _input.LA(1);
if ( !(_la==AS || _la==IS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(1288);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,83,_ctx) ) {
case 1:
{
setState(1287);
declare_block_inplace();
}
break;
}
setState(1291);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,84,_ctx) ) {
case 1:
{
setState(1290);
label_stmt();
}
break;
}
setState(1293);
procedure_block();
setState(1297);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
case 1:
{
setState(1294);
ident_pl();
setState(1295);
match(SEMICOLON);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Drop_procedure_stmtContext extends ParserRuleContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public Drop_procedure_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_drop_procedure_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDrop_procedure_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDrop_procedure_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDrop_procedure_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Drop_procedure_stmtContext drop_procedure_stmt() throws RecognitionException {
Drop_procedure_stmtContext _localctx = new Drop_procedure_stmtContext(_ctx, getState());
enterRule(_localctx, 92, RULE_drop_procedure_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1299);
match(DROP);
setState(1300);
_la = _input.LA(1);
if ( !(_la==PROC || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1303);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1301);
match(IF);
setState(1302);
match(EXISTS);
}
}
setState(1305);
((Drop_procedure_stmtContext)_localctx).name = multipartIdentifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Show_procedure_stmtContext extends ParserRuleContext {
public ValueExpressionContext pattern;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public Show_procedure_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_show_procedure_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShow_procedure_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShow_procedure_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShow_procedure_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Show_procedure_stmtContext show_procedure_stmt() throws RecognitionException {
Show_procedure_stmtContext _localctx = new Show_procedure_stmtContext(_ctx, getState());
enterRule(_localctx, 94, RULE_show_procedure_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1307);
match(SHOW);
setState(1308);
match(PROCEDURE);
setState(1309);
match(STATUS);
setState(1313);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) {
case 1:
{
setState(1310);
match(LIKE);
setState(1311);
((Show_procedure_stmtContext)_localctx).pattern = valueExpression(0);
}
break;
case 2:
{
setState(1312);
whereClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Show_create_procedure_stmtContext extends ParserRuleContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public Show_create_procedure_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_show_create_procedure_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShow_create_procedure_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShow_create_procedure_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShow_create_procedure_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Show_create_procedure_stmtContext show_create_procedure_stmt() throws RecognitionException {
Show_create_procedure_stmtContext _localctx = new Show_create_procedure_stmtContext(_ctx, getState());
enterRule(_localctx, 96, RULE_show_create_procedure_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1315);
match(SHOW);
setState(1316);
match(CREATE);
setState(1317);
match(PROCEDURE);
setState(1318);
((Show_create_procedure_stmtContext)_localctx).name = multipartIdentifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Show_config_stmtContext extends ParserRuleContext {
public Token type;
public ValueExpressionContext pattern;
public Token backendId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CONFIG() { return getToken(PLParser.CONFIG, 0); }
public TerminalNode FRONTEND() { return getToken(PLParser.FRONTEND, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public Show_config_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_show_config_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShow_config_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShow_config_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShow_config_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Show_config_stmtContext show_config_stmt() throws RecognitionException {
Show_config_stmtContext _localctx = new Show_config_stmtContext(_ctx, getState());
enterRule(_localctx, 98, RULE_show_config_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1320);
match(SHOW);
setState(1321);
((Show_config_stmtContext)_localctx).type = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==BACKEND || _la==FRONTEND) ) {
((Show_config_stmtContext)_localctx).type = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1322);
match(CONFIG);
setState(1325);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) {
case 1:
{
setState(1323);
match(LIKE);
setState(1324);
((Show_config_stmtContext)_localctx).pattern = valueExpression(0);
}
break;
}
setState(1329);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) {
case 1:
{
setState(1327);
match(FROM);
setState(1328);
((Show_config_stmtContext)_localctx).backendId = match(INTEGER_VALUE);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_routine_paramsContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<Create_routine_param_itemContext> create_routine_param_item() {
return getRuleContexts(Create_routine_param_itemContext.class);
}
public Create_routine_param_itemContext create_routine_param_item(int i) {
return getRuleContext(Create_routine_param_itemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Create_routine_paramsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_routine_params; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_routine_params(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_routine_params(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_routine_params(this);
else return visitor.visitChildren(this);
}
}
public final Create_routine_paramsContext create_routine_params() throws RecognitionException {
Create_routine_paramsContext _localctx = new Create_routine_paramsContext(_ctx, getState());
enterRule(_localctx, 100, RULE_create_routine_params);
int _la;
try {
int _alt;
setState(1353);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1331);
match(LEFT_PAREN);
setState(1332);
match(RIGHT_PAREN);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1333);
match(LEFT_PAREN);
setState(1334);
create_routine_param_item();
setState(1339);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1335);
match(COMMA);
setState(1336);
create_routine_param_item();
}
}
setState(1341);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1342);
match(RIGHT_PAREN);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1344);
if (!(!_input.LT(1).getText().equalsIgnoreCase("IS") &&
!_input.LT(1).getText().equalsIgnoreCase("AS") &&
!(_input.LT(1).getText().equalsIgnoreCase("DYNAMIC") && _input.LT(2).getText().equalsIgnoreCase("RESULT"))
)) throw new FailedPredicateException(this, "!_input.LT(1).getText().equalsIgnoreCase(\"IS\") &&\n !_input.LT(1).getText().equalsIgnoreCase(\"AS\") &&\n !(_input.LT(1).getText().equalsIgnoreCase(\"DYNAMIC\") && _input.LT(2).getText().equalsIgnoreCase(\"RESULT\"))\n ");
setState(1345);
create_routine_param_item();
setState(1350);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,91,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1346);
match(COMMA);
setState(1347);
create_routine_param_item();
}
}
}
setState(1352);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,91,_ctx);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_routine_param_itemContext extends ParserRuleContext {
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public DtypeContext dtype() {
return getRuleContext(DtypeContext.class,0);
}
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public TerminalNode OUT() { return getToken(PLParser.OUT, 0); }
public TerminalNode INOUT() { return getToken(PLParser.INOUT, 0); }
public Dtype_lenContext dtype_len() {
return getRuleContext(Dtype_lenContext.class,0);
}
public List<Dtype_attrContext> dtype_attr() {
return getRuleContexts(Dtype_attrContext.class);
}
public Dtype_attrContext dtype_attr(int i) {
return getRuleContext(Dtype_attrContext.class,i);
}
public Dtype_defaultContext dtype_default() {
return getRuleContext(Dtype_defaultContext.class,0);
}
public Create_routine_param_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_routine_param_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_routine_param_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_routine_param_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_routine_param_item(this);
else return visitor.visitChildren(this);
}
}
public final Create_routine_param_itemContext create_routine_param_item() throws RecognitionException {
Create_routine_param_itemContext _localctx = new Create_routine_param_itemContext(_ctx, getState());
enterRule(_localctx, 102, RULE_create_routine_param_item);
try {
int _alt;
setState(1397);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,101,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1360);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
case 1:
{
setState(1355);
match(IN);
}
break;
case 2:
{
setState(1356);
match(OUT);
}
break;
case 3:
{
setState(1357);
match(INOUT);
}
break;
case 4:
{
setState(1358);
match(IN);
setState(1359);
match(OUT);
}
break;
}
setState(1362);
ident_pl();
setState(1363);
dtype();
setState(1365);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) {
case 1:
{
setState(1364);
dtype_len();
}
break;
}
setState(1370);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,95,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1367);
dtype_attr();
}
}
}
setState(1372);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,95,_ctx);
}
setState(1374);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,96,_ctx) ) {
case 1:
{
setState(1373);
dtype_default();
}
break;
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1376);
ident_pl();
setState(1382);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) {
case 1:
{
setState(1377);
match(IN);
}
break;
case 2:
{
setState(1378);
match(OUT);
}
break;
case 3:
{
setState(1379);
match(INOUT);
}
break;
case 4:
{
setState(1380);
match(IN);
setState(1381);
match(OUT);
}
break;
}
setState(1384);
dtype();
setState(1386);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,98,_ctx) ) {
case 1:
{
setState(1385);
dtype_len();
}
break;
}
setState(1391);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,99,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1388);
dtype_attr();
}
}
}
setState(1393);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,99,_ctx);
}
setState(1395);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
case 1:
{
setState(1394);
dtype_default();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_routine_optionsContext extends ParserRuleContext {
public List<Create_routine_optionContext> create_routine_option() {
return getRuleContexts(Create_routine_optionContext.class);
}
public Create_routine_optionContext create_routine_option(int i) {
return getRuleContext(Create_routine_optionContext.class,i);
}
public Create_routine_optionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_routine_options; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_routine_options(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_routine_options(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_routine_options(this);
else return visitor.visitChildren(this);
}
}
public final Create_routine_optionsContext create_routine_options() throws RecognitionException {
Create_routine_optionsContext _localctx = new Create_routine_optionsContext(_ctx, getState());
enterRule(_localctx, 104, RULE_create_routine_options);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1400);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1399);
create_routine_option();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1402);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,102,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Create_routine_optionContext extends ParserRuleContext {
public TerminalNode LANGUAGE() { return getToken(PLParser.LANGUAGE, 0); }
public TerminalNode SQL() { return getToken(PLParser.SQL, 0); }
public TerminalNode SECURITY() { return getToken(PLParser.SECURITY, 0); }
public TerminalNode CREATOR() { return getToken(PLParser.CREATOR, 0); }
public TerminalNode DEFINER() { return getToken(PLParser.DEFINER, 0); }
public TerminalNode INVOKER() { return getToken(PLParser.INVOKER, 0); }
public TerminalNode OWNER() { return getToken(PLParser.OWNER, 0); }
public TerminalNode RESULT() { return getToken(PLParser.RESULT, 0); }
public TerminalNode SETS() { return getToken(PLParser.SETS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode DYNAMIC() { return getToken(PLParser.DYNAMIC, 0); }
public Create_routine_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_routine_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreate_routine_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreate_routine_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreate_routine_option(this);
else return visitor.visitChildren(this);
}
}
public final Create_routine_optionContext create_routine_option() throws RecognitionException {
Create_routine_optionContext _localctx = new Create_routine_optionContext(_ctx, getState());
enterRule(_localctx, 106, RULE_create_routine_option);
int _la;
try {
setState(1415);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LANGUAGE:
enterOuterAlt(_localctx, 1);
{
setState(1404);
match(LANGUAGE);
setState(1405);
match(SQL);
}
break;
case SQL:
enterOuterAlt(_localctx, 2);
{
setState(1406);
match(SQL);
setState(1407);
match(SECURITY);
setState(1408);
_la = _input.LA(1);
if ( !(_la==CREATOR || _la==DEFINER || _la==INVOKER || _la==OWNER) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case RESULT:
case DYNAMIC:
enterOuterAlt(_localctx, 3);
{
setState(1410);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DYNAMIC) {
{
setState(1409);
match(DYNAMIC);
}
}
setState(1412);
match(RESULT);
setState(1413);
match(SETS);
setState(1414);
match(INTEGER_VALUE);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Exec_stmtContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode EXEC() { return getToken(PLParser.EXEC, 0); }
public TerminalNode EXECUTE() { return getToken(PLParser.EXECUTE, 0); }
public TerminalNode IMMEDIATE() { return getToken(PLParser.IMMEDIATE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public Expr_func_paramsContext expr_func_params() {
return getRuleContext(Expr_func_paramsContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<TerminalNode> IDENTIFIER() { return getTokens(PLParser.IDENTIFIER); }
public TerminalNode IDENTIFIER(int i) {
return getToken(PLParser.IDENTIFIER, i);
}
public Using_clauseContext using_clause() {
return getRuleContext(Using_clauseContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Exec_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exec_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExec_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExec_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExec_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Exec_stmtContext exec_stmt() throws RecognitionException {
Exec_stmtContext _localctx = new Exec_stmtContext(_ctx, getState());
enterRule(_localctx, 108, RULE_exec_stmt);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1417);
_la = _input.LA(1);
if ( !(_la==EXEC || _la==EXECUTE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1419);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
case 1:
{
setState(1418);
match(IMMEDIATE);
}
break;
}
setState(1421);
expr(0);
setState(1427);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,106,_ctx) ) {
case 1:
{
setState(1422);
match(LEFT_PAREN);
setState(1423);
expr_func_params();
setState(1424);
match(RIGHT_PAREN);
}
break;
case 2:
{
setState(1426);
expr_func_params();
}
break;
}
setState(1438);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) {
case 1:
{
setState(1429);
match(INTO);
setState(1430);
match(IDENTIFIER);
setState(1435);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,107,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1431);
match(COMMA);
setState(1432);
match(IDENTIFIER);
}
}
}
setState(1437);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,107,_ctx);
}
}
break;
}
setState(1441);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,109,_ctx) ) {
case 1:
{
setState(1440);
using_clause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class If_stmtContext extends ParserRuleContext {
public If_plsql_stmtContext if_plsql_stmt() {
return getRuleContext(If_plsql_stmtContext.class,0);
}
public If_tsql_stmtContext if_tsql_stmt() {
return getRuleContext(If_tsql_stmtContext.class,0);
}
public If_bteq_stmtContext if_bteq_stmt() {
return getRuleContext(If_bteq_stmtContext.class,0);
}
public If_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIf_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIf_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIf_stmt(this);
else return visitor.visitChildren(this);
}
}
public final If_stmtContext if_stmt() throws RecognitionException {
If_stmtContext _localctx = new If_stmtContext(_ctx, getState());
enterRule(_localctx, 110, RULE_if_stmt);
try {
setState(1446);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1443);
if_plsql_stmt();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1444);
if_tsql_stmt();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1445);
if_bteq_stmt();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class If_plsql_stmtContext extends ParserRuleContext {
public List<TerminalNode> IF() { return getTokens(PLParser.IF); }
public TerminalNode IF(int i) {
return getToken(PLParser.IF, i);
}
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public List<Elseif_blockContext> elseif_block() {
return getRuleContexts(Elseif_blockContext.class);
}
public Elseif_blockContext elseif_block(int i) {
return getRuleContext(Elseif_blockContext.class,i);
}
public Else_blockContext else_block() {
return getRuleContext(Else_blockContext.class,0);
}
public If_plsql_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_plsql_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIf_plsql_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIf_plsql_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIf_plsql_stmt(this);
else return visitor.visitChildren(this);
}
}
public final If_plsql_stmtContext if_plsql_stmt() throws RecognitionException {
If_plsql_stmtContext _localctx = new If_plsql_stmtContext(_ctx, getState());
enterRule(_localctx, 112, RULE_if_plsql_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1448);
match(IF);
setState(1449);
bool_expr(0);
setState(1450);
match(THEN);
setState(1451);
block();
setState(1455);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ELSEIF || _la==ELSIF) {
{
{
setState(1452);
elseif_block();
}
}
setState(1457);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1459);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(1458);
else_block();
}
}
setState(1461);
match(END);
setState(1462);
match(IF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class If_tsql_stmtContext extends ParserRuleContext {
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public List<Single_block_stmtContext> single_block_stmt() {
return getRuleContexts(Single_block_stmtContext.class);
}
public Single_block_stmtContext single_block_stmt(int i) {
return getRuleContext(Single_block_stmtContext.class,i);
}
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public If_tsql_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_tsql_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIf_tsql_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIf_tsql_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIf_tsql_stmt(this);
else return visitor.visitChildren(this);
}
}
public final If_tsql_stmtContext if_tsql_stmt() throws RecognitionException {
If_tsql_stmtContext _localctx = new If_tsql_stmtContext(_ctx, getState());
enterRule(_localctx, 114, RULE_if_tsql_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1464);
match(IF);
setState(1465);
bool_expr(0);
setState(1466);
single_block_stmt();
setState(1469);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,113,_ctx) ) {
case 1:
{
setState(1467);
match(ELSE);
setState(1468);
single_block_stmt();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class If_bteq_stmtContext extends ParserRuleContext {
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public Single_block_stmtContext single_block_stmt() {
return getRuleContext(Single_block_stmtContext.class,0);
}
public If_bteq_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_bteq_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIf_bteq_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIf_bteq_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIf_bteq_stmt(this);
else return visitor.visitChildren(this);
}
}
public final If_bteq_stmtContext if_bteq_stmt() throws RecognitionException {
If_bteq_stmtContext _localctx = new If_bteq_stmtContext(_ctx, getState());
enterRule(_localctx, 116, RULE_if_bteq_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1471);
match(DOT);
setState(1472);
match(IF);
setState(1473);
bool_expr(0);
setState(1474);
match(THEN);
setState(1475);
single_block_stmt();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Elseif_blockContext extends ParserRuleContext {
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode ELSIF() { return getToken(PLParser.ELSIF, 0); }
public TerminalNode ELSEIF() { return getToken(PLParser.ELSEIF, 0); }
public Elseif_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elseif_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterElseif_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitElseif_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitElseif_block(this);
else return visitor.visitChildren(this);
}
}
public final Elseif_blockContext elseif_block() throws RecognitionException {
Elseif_blockContext _localctx = new Elseif_blockContext(_ctx, getState());
enterRule(_localctx, 118, RULE_elseif_block);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1477);
_la = _input.LA(1);
if ( !(_la==ELSEIF || _la==ELSIF) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1478);
bool_expr(0);
setState(1479);
match(THEN);
setState(1480);
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Else_blockContext extends ParserRuleContext {
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public Else_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_else_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterElse_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitElse_block(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitElse_block(this);
else return visitor.visitChildren(this);
}
}
public final Else_blockContext else_block() throws RecognitionException {
Else_blockContext _localctx = new Else_blockContext(_ctx, getState());
enterRule(_localctx, 120, RULE_else_block);
try {
enterOuterAlt(_localctx, 1);
{
setState(1482);
match(ELSE);
setState(1483);
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Include_stmtContext extends ParserRuleContext {
public TerminalNode INCLUDE() { return getToken(PLParser.INCLUDE, 0); }
public File_nameContext file_name() {
return getRuleContext(File_nameContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Include_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_include_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInclude_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInclude_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInclude_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Include_stmtContext include_stmt() throws RecognitionException {
Include_stmtContext _localctx = new Include_stmtContext(_ctx, getState());
enterRule(_localctx, 122, RULE_include_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1485);
match(INCLUDE);
setState(1488);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) {
case 1:
{
setState(1486);
file_name();
}
break;
case 2:
{
setState(1487);
expr(0);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Exit_stmtContext extends ParserRuleContext {
public TerminalNode EXIT() { return getToken(PLParser.EXIT, 0); }
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public TerminalNode WHEN() { return getToken(PLParser.WHEN, 0); }
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public Exit_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exit_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExit_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExit_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExit_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Exit_stmtContext exit_stmt() throws RecognitionException {
Exit_stmtContext _localctx = new Exit_stmtContext(_ctx, getState());
enterRule(_localctx, 124, RULE_exit_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1490);
match(EXIT);
setState(1492);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) {
case 1:
{
setState(1491);
match(IDENTIFIER);
}
break;
}
setState(1496);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) {
case 1:
{
setState(1494);
match(WHEN);
setState(1495);
bool_expr(0);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Get_diag_stmtContext extends ParserRuleContext {
public TerminalNode GET() { return getToken(PLParser.GET, 0); }
public TerminalNode DIAGNOSTICS() { return getToken(PLParser.DIAGNOSTICS, 0); }
public Get_diag_stmt_itemContext get_diag_stmt_item() {
return getRuleContext(Get_diag_stmt_itemContext.class,0);
}
public Get_diag_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_get_diag_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGet_diag_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGet_diag_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGet_diag_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Get_diag_stmtContext get_diag_stmt() throws RecognitionException {
Get_diag_stmtContext _localctx = new Get_diag_stmtContext(_ctx, getState());
enterRule(_localctx, 126, RULE_get_diag_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1498);
match(GET);
setState(1499);
match(DIAGNOSTICS);
setState(1500);
get_diag_stmt_item();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Get_diag_stmt_itemContext extends ParserRuleContext {
public Get_diag_stmt_exception_itemContext get_diag_stmt_exception_item() {
return getRuleContext(Get_diag_stmt_exception_itemContext.class,0);
}
public Get_diag_stmt_rowcount_itemContext get_diag_stmt_rowcount_item() {
return getRuleContext(Get_diag_stmt_rowcount_itemContext.class,0);
}
public Get_diag_stmt_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_get_diag_stmt_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGet_diag_stmt_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGet_diag_stmt_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGet_diag_stmt_item(this);
else return visitor.visitChildren(this);
}
}
public final Get_diag_stmt_itemContext get_diag_stmt_item() throws RecognitionException {
Get_diag_stmt_itemContext _localctx = new Get_diag_stmt_itemContext(_ctx, getState());
enterRule(_localctx, 128, RULE_get_diag_stmt_item);
try {
setState(1504);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,117,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1502);
get_diag_stmt_exception_item();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1503);
get_diag_stmt_rowcount_item();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Get_diag_stmt_exception_itemContext extends ParserRuleContext {
public TerminalNode EXCEPTION() { return getToken(PLParser.EXCEPTION, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public QidentContext qident() {
return getRuleContext(QidentContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode MESSAGE_TEXT() { return getToken(PLParser.MESSAGE_TEXT, 0); }
public Get_diag_stmt_exception_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_get_diag_stmt_exception_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGet_diag_stmt_exception_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGet_diag_stmt_exception_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGet_diag_stmt_exception_item(this);
else return visitor.visitChildren(this);
}
}
public final Get_diag_stmt_exception_itemContext get_diag_stmt_exception_item() throws RecognitionException {
Get_diag_stmt_exception_itemContext _localctx = new Get_diag_stmt_exception_itemContext(_ctx, getState());
enterRule(_localctx, 130, RULE_get_diag_stmt_exception_item);
try {
enterOuterAlt(_localctx, 1);
{
setState(1506);
match(EXCEPTION);
setState(1507);
match(INTEGER_VALUE);
setState(1508);
qident();
setState(1509);
match(EQ);
setState(1510);
match(MESSAGE_TEXT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Get_diag_stmt_rowcount_itemContext extends ParserRuleContext {
public QidentContext qident() {
return getRuleContext(QidentContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode ROW_COUNT() { return getToken(PLParser.ROW_COUNT, 0); }
public Get_diag_stmt_rowcount_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_get_diag_stmt_rowcount_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGet_diag_stmt_rowcount_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGet_diag_stmt_rowcount_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGet_diag_stmt_rowcount_item(this);
else return visitor.visitChildren(this);
}
}
public final Get_diag_stmt_rowcount_itemContext get_diag_stmt_rowcount_item() throws RecognitionException {
Get_diag_stmt_rowcount_itemContext _localctx = new Get_diag_stmt_rowcount_itemContext(_ctx, getState());
enterRule(_localctx, 132, RULE_get_diag_stmt_rowcount_item);
try {
enterOuterAlt(_localctx, 1);
{
setState(1512);
qident();
setState(1513);
match(EQ);
setState(1514);
match(ROW_COUNT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Leave_stmtContext extends ParserRuleContext {
public TerminalNode LEAVE() { return getToken(PLParser.LEAVE, 0); }
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public Leave_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_leave_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLeave_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLeave_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLeave_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Leave_stmtContext leave_stmt() throws RecognitionException {
Leave_stmtContext _localctx = new Leave_stmtContext(_ctx, getState());
enterRule(_localctx, 134, RULE_leave_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1516);
match(LEAVE);
setState(1518);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,118,_ctx) ) {
case 1:
{
setState(1517);
match(IDENTIFIER);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Map_object_stmtContext extends ParserRuleContext {
public TerminalNode MAP() { return getToken(PLParser.MAP, 0); }
public TerminalNode OBJECT() { return getToken(PLParser.OBJECT, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode AT() { return getToken(PLParser.AT, 0); }
public Map_object_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_map_object_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMap_object_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMap_object_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMap_object_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Map_object_stmtContext map_object_stmt() throws RecognitionException {
Map_object_stmtContext _localctx = new Map_object_stmtContext(_ctx, getState());
enterRule(_localctx, 136, RULE_map_object_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1520);
match(MAP);
setState(1521);
match(OBJECT);
setState(1522);
ident_pl();
setState(1525);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,119,_ctx) ) {
case 1:
{
setState(1523);
match(TO);
setState(1524);
ident_pl();
}
break;
}
setState(1529);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) {
case 1:
{
setState(1527);
match(AT);
setState(1528);
ident_pl();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Open_stmtContext extends ParserRuleContext {
public TerminalNode OPEN() { return getToken(PLParser.OPEN, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Open_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_open_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterOpen_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitOpen_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitOpen_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Open_stmtContext open_stmt() throws RecognitionException {
Open_stmtContext _localctx = new Open_stmtContext(_ctx, getState());
enterRule(_localctx, 138, RULE_open_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1531);
match(OPEN);
setState(1532);
ident_pl();
setState(1538);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,122,_ctx) ) {
case 1:
{
setState(1533);
match(FOR);
setState(1536);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,121,_ctx) ) {
case 1:
{
setState(1534);
query();
}
break;
case 2:
{
setState(1535);
expr(0);
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Fetch_stmtContext extends ParserRuleContext {
public TerminalNode FETCH() { return getToken(PLParser.FETCH, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BulkCollectClauseContext bulkCollectClause() {
return getRuleContext(BulkCollectClauseContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Fetch_limitContext fetch_limit() {
return getRuleContext(Fetch_limitContext.class,0);
}
public Fetch_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fetch_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFetch_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFetch_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFetch_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Fetch_stmtContext fetch_stmt() throws RecognitionException {
Fetch_stmtContext _localctx = new Fetch_stmtContext(_ctx, getState());
enterRule(_localctx, 140, RULE_fetch_stmt);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1540);
match(FETCH);
setState(1542);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM) {
{
setState(1541);
match(FROM);
}
}
setState(1544);
ident_pl();
setState(1546);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BULK) {
{
setState(1545);
bulkCollectClause();
}
}
setState(1548);
match(INTO);
setState(1549);
ident_pl();
setState(1554);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,125,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1550);
match(COMMA);
setState(1551);
ident_pl();
}
}
}
setState(1556);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,125,_ctx);
}
setState(1558);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) {
case 1:
{
setState(1557);
fetch_limit();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Fetch_limitContext extends ParserRuleContext {
public TerminalNode LIMIT() { return getToken(PLParser.LIMIT, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Fetch_limitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fetch_limit; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFetch_limit(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFetch_limit(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFetch_limit(this);
else return visitor.visitChildren(this);
}
}
public final Fetch_limitContext fetch_limit() throws RecognitionException {
Fetch_limitContext _localctx = new Fetch_limitContext(_ctx, getState());
enterRule(_localctx, 142, RULE_fetch_limit);
try {
enterOuterAlt(_localctx, 1);
{
setState(1560);
match(LIMIT);
setState(1561);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Close_stmtContext extends ParserRuleContext {
public TerminalNode CLOSE() { return getToken(PLParser.CLOSE, 0); }
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public Close_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_close_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterClose_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitClose_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitClose_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Close_stmtContext close_stmt() throws RecognitionException {
Close_stmtContext _localctx = new Close_stmtContext(_ctx, getState());
enterRule(_localctx, 144, RULE_close_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1563);
match(CLOSE);
setState(1564);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Print_stmtContext extends ParserRuleContext {
public TerminalNode PRINT() { return getToken(PLParser.PRINT, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Print_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_print_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPrint_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPrint_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPrint_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Print_stmtContext print_stmt() throws RecognitionException {
Print_stmtContext _localctx = new Print_stmtContext(_ctx, getState());
enterRule(_localctx, 146, RULE_print_stmt);
try {
setState(1573);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,127,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1566);
match(PRINT);
setState(1567);
expr(0);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1568);
match(PRINT);
setState(1569);
match(LEFT_PAREN);
setState(1570);
expr(0);
setState(1571);
match(RIGHT_PAREN);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Quit_stmtContext extends ParserRuleContext {
public TerminalNode QUIT() { return getToken(PLParser.QUIT, 0); }
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Quit_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_quit_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQuit_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQuit_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQuit_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Quit_stmtContext quit_stmt() throws RecognitionException {
Quit_stmtContext _localctx = new Quit_stmtContext(_ctx, getState());
enterRule(_localctx, 148, RULE_quit_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1576);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DOT) {
{
setState(1575);
match(DOT);
}
}
setState(1578);
match(QUIT);
setState(1580);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,129,_ctx) ) {
case 1:
{
setState(1579);
expr(0);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Raise_stmtContext extends ParserRuleContext {
public TerminalNode RAISE() { return getToken(PLParser.RAISE, 0); }
public Raise_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_raise_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRaise_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRaise_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRaise_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Raise_stmtContext raise_stmt() throws RecognitionException {
Raise_stmtContext _localctx = new Raise_stmtContext(_ctx, getState());
enterRule(_localctx, 150, RULE_raise_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1582);
match(RAISE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Resignal_stmtContext extends ParserRuleContext {
public TerminalNode RESIGNAL() { return getToken(PLParser.RESIGNAL, 0); }
public TerminalNode SQLSTATE() { return getToken(PLParser.SQLSTATE, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode VALUE() { return getToken(PLParser.VALUE, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode MESSAGE_TEXT() { return getToken(PLParser.MESSAGE_TEXT, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public Resignal_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_resignal_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResignal_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResignal_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResignal_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Resignal_stmtContext resignal_stmt() throws RecognitionException {
Resignal_stmtContext _localctx = new Resignal_stmtContext(_ctx, getState());
enterRule(_localctx, 152, RULE_resignal_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1584);
match(RESIGNAL);
setState(1596);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,132,_ctx) ) {
case 1:
{
setState(1585);
match(SQLSTATE);
setState(1587);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,130,_ctx) ) {
case 1:
{
setState(1586);
match(VALUE);
}
break;
}
setState(1589);
expr(0);
setState(1594);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) {
case 1:
{
setState(1590);
match(SET);
setState(1591);
match(MESSAGE_TEXT);
setState(1592);
match(EQ);
setState(1593);
expr(0);
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Return_stmtContext extends ParserRuleContext {
public TerminalNode RETURN() { return getToken(PLParser.RETURN, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Return_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_return_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReturn_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReturn_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReturn_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Return_stmtContext return_stmt() throws RecognitionException {
Return_stmtContext _localctx = new Return_stmtContext(_ctx, getState());
enterRule(_localctx, 154, RULE_return_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1598);
match(RETURN);
setState(1600);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) {
case 1:
{
setState(1599);
expr(0);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Set_session_optionContext extends ParserRuleContext {
public Set_doris_session_optionContext set_doris_session_option() {
return getRuleContext(Set_doris_session_optionContext.class,0);
}
public Set_current_schema_optionContext set_current_schema_option() {
return getRuleContext(Set_current_schema_optionContext.class,0);
}
public Set_mssql_session_optionContext set_mssql_session_option() {
return getRuleContext(Set_mssql_session_optionContext.class,0);
}
public Set_teradata_session_optionContext set_teradata_session_option() {
return getRuleContext(Set_teradata_session_optionContext.class,0);
}
public Set_session_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_set_session_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSet_session_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSet_session_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSet_session_option(this);
else return visitor.visitChildren(this);
}
}
public final Set_session_optionContext set_session_option() throws RecognitionException {
Set_session_optionContext _localctx = new Set_session_optionContext(_ctx, getState());
enterRule(_localctx, 156, RULE_set_session_option);
try {
setState(1606);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,134,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1602);
set_doris_session_option();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1603);
set_current_schema_option();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1604);
set_mssql_session_option();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1605);
set_teradata_session_option();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Set_doris_session_optionContext extends ParserRuleContext {
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode GLOBAL() { return getToken(PLParser.GLOBAL, 0); }
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public TerminalNode SESSION() { return getToken(PLParser.SESSION, 0); }
public Set_doris_session_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_set_doris_session_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSet_doris_session_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSet_doris_session_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSet_doris_session_option(this);
else return visitor.visitChildren(this);
}
}
public final Set_doris_session_optionContext set_doris_session_option() throws RecognitionException {
Set_doris_session_optionContext _localctx = new Set_doris_session_optionContext(_ctx, getState());
enterRule(_localctx, 158, RULE_set_doris_session_option);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1609);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,135,_ctx) ) {
case 1:
{
setState(1608);
_la = _input.LA(1);
if ( !(_la==GLOBAL || _la==LOCAL || _la==SESSION) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(1611);
ident_pl();
setState(1612);
match(EQ);
setState(1613);
ident_pl();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Set_current_schema_optionContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode CURRENT_SCHEMA() { return getToken(PLParser.CURRENT_SCHEMA, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public TerminalNode CURRENT() { return getToken(PLParser.CURRENT, 0); }
public Set_current_schema_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_set_current_schema_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSet_current_schema_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSet_current_schema_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSet_current_schema_option(this);
else return visitor.visitChildren(this);
}
}
public final Set_current_schema_optionContext set_current_schema_option() throws RecognitionException {
Set_current_schema_optionContext _localctx = new Set_current_schema_optionContext(_ctx, getState());
enterRule(_localctx, 160, RULE_set_current_schema_option);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1620);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CURRENT:
case SCHEMA:
{
{
setState(1616);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CURRENT) {
{
setState(1615);
match(CURRENT);
}
}
setState(1618);
match(SCHEMA);
}
}
break;
case CURRENT_SCHEMA:
{
setState(1619);
match(CURRENT_SCHEMA);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1623);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ) {
{
setState(1622);
match(EQ);
}
}
setState(1625);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Set_mssql_session_optionContext extends ParserRuleContext {
public TerminalNode ANSI_NULLS() { return getToken(PLParser.ANSI_NULLS, 0); }
public TerminalNode ANSI_PADDING() { return getToken(PLParser.ANSI_PADDING, 0); }
public TerminalNode NOCOUNT() { return getToken(PLParser.NOCOUNT, 0); }
public TerminalNode QUOTED_IDENTIFIER() { return getToken(PLParser.QUOTED_IDENTIFIER, 0); }
public TerminalNode XACT_ABORT() { return getToken(PLParser.XACT_ABORT, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode OFF() { return getToken(PLParser.OFF, 0); }
public Set_mssql_session_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_set_mssql_session_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSet_mssql_session_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSet_mssql_session_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSet_mssql_session_option(this);
else return visitor.visitChildren(this);
}
}
public final Set_mssql_session_optionContext set_mssql_session_option() throws RecognitionException {
Set_mssql_session_optionContext _localctx = new Set_mssql_session_optionContext(_ctx, getState());
enterRule(_localctx, 162, RULE_set_mssql_session_option);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1627);
_la = _input.LA(1);
if ( !(_la==ANSI_NULLS || _la==ANSI_PADDING || _la==NOCOUNT || _la==QUOTED_IDENTIFIER || _la==XACT_ABORT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1628);
_la = _input.LA(1);
if ( !(_la==OFF || _la==ON) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Set_teradata_session_optionContext extends ParserRuleContext {
public TerminalNode QUERY_BAND() { return getToken(PLParser.QUERY_BAND, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public TerminalNode SESSION() { return getToken(PLParser.SESSION, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode NONE() { return getToken(PLParser.NONE, 0); }
public TerminalNode UPDATE() { return getToken(PLParser.UPDATE, 0); }
public Set_teradata_session_optionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_set_teradata_session_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSet_teradata_session_option(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSet_teradata_session_option(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSet_teradata_session_option(this);
else return visitor.visitChildren(this);
}
}
public final Set_teradata_session_optionContext set_teradata_session_option() throws RecognitionException {
Set_teradata_session_optionContext _localctx = new Set_teradata_session_optionContext(_ctx, getState());
enterRule(_localctx, 164, RULE_set_teradata_session_option);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1630);
match(QUERY_BAND);
setState(1631);
match(EQ);
setState(1634);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,139,_ctx) ) {
case 1:
{
setState(1632);
expr(0);
}
break;
case 2:
{
setState(1633);
match(NONE);
}
break;
}
setState(1637);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UPDATE) {
{
setState(1636);
match(UPDATE);
}
}
setState(1639);
match(FOR);
setState(1640);
_la = _input.LA(1);
if ( !(_la==SESSION || _la==TRANSACTION) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Signal_stmtContext extends ParserRuleContext {
public TerminalNode SIGNAL() { return getToken(PLParser.SIGNAL, 0); }
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public Signal_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_signal_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSignal_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSignal_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSignal_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Signal_stmtContext signal_stmt() throws RecognitionException {
Signal_stmtContext _localctx = new Signal_stmtContext(_ctx, getState());
enterRule(_localctx, 166, RULE_signal_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1642);
match(SIGNAL);
setState(1643);
ident_pl();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Values_into_stmtContext extends ParserRuleContext {
public TerminalNode VALUES() { return getToken(PLParser.VALUES, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public Values_into_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_values_into_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterValues_into_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitValues_into_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitValues_into_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Values_into_stmtContext values_into_stmt() throws RecognitionException {
Values_into_stmtContext _localctx = new Values_into_stmtContext(_ctx, getState());
enterRule(_localctx, 168, RULE_values_into_stmt);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1645);
match(VALUES);
setState(1647);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,141,_ctx) ) {
case 1:
{
setState(1646);
match(LEFT_PAREN);
}
break;
}
setState(1649);
expr(0);
setState(1654);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1650);
match(COMMA);
setState(1651);
expr(0);
}
}
setState(1656);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1658);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RIGHT_PAREN) {
{
setState(1657);
match(RIGHT_PAREN);
}
}
setState(1660);
match(INTO);
setState(1662);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(1661);
match(LEFT_PAREN);
}
}
setState(1664);
ident_pl();
setState(1669);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,145,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1665);
match(COMMA);
setState(1666);
ident_pl();
}
}
}
setState(1671);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,145,_ctx);
}
setState(1673);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) {
case 1:
{
setState(1672);
match(RIGHT_PAREN);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class While_stmtContext extends ParserRuleContext {
public List<TerminalNode> WHILE() { return getTokens(PLParser.WHILE); }
public TerminalNode WHILE(int i) {
return getToken(PLParser.WHILE, i);
}
public Bool_exprContext bool_expr() {
return getRuleContext(Bool_exprContext.class,0);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode DO() { return getToken(PLParser.DO, 0); }
public List<TerminalNode> LOOP() { return getTokens(PLParser.LOOP); }
public TerminalNode LOOP(int i) {
return getToken(PLParser.LOOP, i);
}
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public TerminalNode BEGIN() { return getToken(PLParser.BEGIN, 0); }
public While_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_while_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWhile_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWhile_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWhile_stmt(this);
else return visitor.visitChildren(this);
}
}
public final While_stmtContext while_stmt() throws RecognitionException {
While_stmtContext _localctx = new While_stmtContext(_ctx, getState());
enterRule(_localctx, 170, RULE_while_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1675);
match(WHILE);
setState(1676);
bool_expr(0);
setState(1677);
_la = _input.LA(1);
if ( !(_la==LOOP || _la==BEGIN || _la==DO || _la==THEN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1678);
block();
setState(1679);
match(END);
setState(1681);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) {
case 1:
{
setState(1680);
_la = _input.LA(1);
if ( !(_la==LOOP || _la==WHILE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Unconditional_loop_stmtContext extends ParserRuleContext {
public List<TerminalNode> LOOP() { return getTokens(PLParser.LOOP); }
public TerminalNode LOOP(int i) {
return getToken(PLParser.LOOP, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public Unconditional_loop_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unconditional_loop_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnconditional_loop_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnconditional_loop_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnconditional_loop_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Unconditional_loop_stmtContext unconditional_loop_stmt() throws RecognitionException {
Unconditional_loop_stmtContext _localctx = new Unconditional_loop_stmtContext(_ctx, getState());
enterRule(_localctx, 172, RULE_unconditional_loop_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(1683);
match(LOOP);
setState(1684);
block();
setState(1685);
match(END);
setState(1686);
match(LOOP);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_cursor_stmtContext extends ParserRuleContext {
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public List<TerminalNode> LOOP() { return getTokens(PLParser.LOOP); }
public TerminalNode LOOP(int i) {
return getToken(PLParser.LOOP, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public For_cursor_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_cursor_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFor_cursor_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFor_cursor_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFor_cursor_stmt(this);
else return visitor.visitChildren(this);
}
}
public final For_cursor_stmtContext for_cursor_stmt() throws RecognitionException {
For_cursor_stmtContext _localctx = new For_cursor_stmtContext(_ctx, getState());
enterRule(_localctx, 174, RULE_for_cursor_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1688);
match(FOR);
setState(1689);
match(IDENTIFIER);
setState(1690);
match(IN);
setState(1692);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,148,_ctx) ) {
case 1:
{
setState(1691);
match(LEFT_PAREN);
}
break;
}
setState(1694);
query();
setState(1696);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RIGHT_PAREN) {
{
setState(1695);
match(RIGHT_PAREN);
}
}
setState(1698);
match(LOOP);
setState(1699);
block();
setState(1700);
match(END);
setState(1701);
match(LOOP);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_range_stmtContext extends ParserRuleContext {
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode DOT2() { return getToken(PLParser.DOT2, 0); }
public List<TerminalNode> LOOP() { return getTokens(PLParser.LOOP); }
public TerminalNode LOOP(int i) {
return getToken(PLParser.LOOP, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode REVERSE() { return getToken(PLParser.REVERSE, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public TerminalNode STEP() { return getToken(PLParser.STEP, 0); }
public For_range_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_range_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFor_range_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFor_range_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFor_range_stmt(this);
else return visitor.visitChildren(this);
}
}
public final For_range_stmtContext for_range_stmt() throws RecognitionException {
For_range_stmtContext _localctx = new For_range_stmtContext(_ctx, getState());
enterRule(_localctx, 176, RULE_for_range_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1703);
match(FOR);
setState(1704);
match(IDENTIFIER);
setState(1705);
match(IN);
setState(1707);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,150,_ctx) ) {
case 1:
{
setState(1706);
match(REVERSE);
}
break;
}
setState(1709);
expr(0);
setState(1710);
match(DOT2);
setState(1711);
expr(0);
setState(1714);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STEP || _la==BY) {
{
setState(1712);
_la = _input.LA(1);
if ( !(_la==STEP || _la==BY) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1713);
expr(0);
}
}
setState(1716);
match(LOOP);
setState(1717);
block();
setState(1718);
match(END);
setState(1719);
match(LOOP);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Label_stmtContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public List<TerminalNode> LT() { return getTokens(PLParser.LT); }
public TerminalNode LT(int i) {
return getToken(PLParser.LT, i);
}
public List<TerminalNode> GT() { return getTokens(PLParser.GT); }
public TerminalNode GT(int i) {
return getToken(PLParser.GT, i);
}
public Label_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_label_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLabel_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLabel_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLabel_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Label_stmtContext label_stmt() throws RecognitionException {
Label_stmtContext _localctx = new Label_stmtContext(_ctx, getState());
enterRule(_localctx, 178, RULE_label_stmt);
try {
setState(1728);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(1721);
match(IDENTIFIER);
setState(1722);
match(COLON);
}
break;
case LT:
enterOuterAlt(_localctx, 2);
{
setState(1723);
match(LT);
setState(1724);
match(LT);
setState(1725);
match(IDENTIFIER);
setState(1726);
match(GT);
setState(1727);
match(GT);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Using_clauseContext extends ParserRuleContext {
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Using_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_using_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUsing_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUsing_clause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUsing_clause(this);
else return visitor.visitChildren(this);
}
}
public final Using_clauseContext using_clause() throws RecognitionException {
Using_clauseContext _localctx = new Using_clauseContext(_ctx, getState());
enterRule(_localctx, 180, RULE_using_clause);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1730);
match(USING);
setState(1731);
expr(0);
setState(1736);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,153,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1732);
match(COMMA);
setState(1733);
expr(0);
}
}
}
setState(1738);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,153,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_exprContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<Bool_exprContext> bool_expr() {
return getRuleContexts(Bool_exprContext.class);
}
public Bool_exprContext bool_expr(int i) {
return getRuleContext(Bool_exprContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public Bool_expr_atomContext bool_expr_atom() {
return getRuleContext(Bool_expr_atomContext.class,0);
}
public Bool_expr_logical_operatorContext bool_expr_logical_operator() {
return getRuleContext(Bool_expr_logical_operatorContext.class,0);
}
public Bool_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr(this);
else return visitor.visitChildren(this);
}
}
public final Bool_exprContext bool_expr() throws RecognitionException {
return bool_expr(0);
}
private Bool_exprContext bool_expr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
Bool_exprContext _localctx = new Bool_exprContext(_ctx, _parentState);
Bool_exprContext _prevctx = _localctx;
int _startState = 182;
enterRecursionRule(_localctx, 182, RULE_bool_expr, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1748);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,155,_ctx) ) {
case 1:
{
setState(1741);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1740);
match(NOT);
}
}
setState(1743);
match(LEFT_PAREN);
setState(1744);
bool_expr(0);
setState(1745);
match(RIGHT_PAREN);
}
break;
case 2:
{
setState(1747);
bool_expr_atom();
}
break;
}
_ctx.stop = _input.LT(-1);
setState(1756);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,156,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new Bool_exprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_bool_expr);
setState(1750);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(1751);
bool_expr_logical_operator();
setState(1752);
bool_expr(3);
}
}
}
setState(1758);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,156,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_expr_atomContext extends ParserRuleContext {
public Bool_expr_unaryContext bool_expr_unary() {
return getRuleContext(Bool_expr_unaryContext.class,0);
}
public Bool_expr_binaryContext bool_expr_binary() {
return getRuleContext(Bool_expr_binaryContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Bool_expr_atomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr_atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr_atom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr_atom(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr_atom(this);
else return visitor.visitChildren(this);
}
}
public final Bool_expr_atomContext bool_expr_atom() throws RecognitionException {
Bool_expr_atomContext _localctx = new Bool_expr_atomContext(_ctx, getState());
enterRule(_localctx, 184, RULE_bool_expr_atom);
try {
setState(1762);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,157,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1759);
bool_expr_unary();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1760);
bool_expr_binary();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1761);
expr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_expr_unaryContext extends ParserRuleContext {
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode BETWEEN() { return getToken(PLParser.BETWEEN, 0); }
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public Bool_expr_unaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr_unary; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr_unary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr_unary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr_unary(this);
else return visitor.visitChildren(this);
}
}
public final Bool_expr_unaryContext bool_expr_unary() throws RecognitionException {
Bool_expr_unaryContext _localctx = new Bool_expr_unaryContext(_ctx, getState());
enterRule(_localctx, 186, RULE_bool_expr_unary);
int _la;
try {
setState(1777);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,159,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1764);
expr(0);
setState(1765);
match(IS);
setState(1767);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1766);
match(NOT);
}
}
setState(1769);
match(NULL);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1771);
expr(0);
setState(1772);
match(BETWEEN);
setState(1773);
expr(0);
setState(1774);
match(AND);
setState(1775);
expr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_expr_binaryContext extends ParserRuleContext {
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public Bool_expr_binary_operatorContext bool_expr_binary_operator() {
return getRuleContext(Bool_expr_binary_operatorContext.class,0);
}
public Bool_expr_binaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr_binary; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr_binary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr_binary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr_binary(this);
else return visitor.visitChildren(this);
}
}
public final Bool_expr_binaryContext bool_expr_binary() throws RecognitionException {
Bool_expr_binaryContext _localctx = new Bool_expr_binaryContext(_ctx, getState());
enterRule(_localctx, 188, RULE_bool_expr_binary);
try {
enterOuterAlt(_localctx, 1);
{
setState(1779);
expr(0);
setState(1780);
bool_expr_binary_operator();
setState(1781);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_expr_logical_operatorContext extends ParserRuleContext {
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public Bool_expr_logical_operatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr_logical_operator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr_logical_operator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr_logical_operator(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr_logical_operator(this);
else return visitor.visitChildren(this);
}
}
public final Bool_expr_logical_operatorContext bool_expr_logical_operator() throws RecognitionException {
Bool_expr_logical_operatorContext _localctx = new Bool_expr_logical_operatorContext(_ctx, getState());
enterRule(_localctx, 190, RULE_bool_expr_logical_operator);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1783);
_la = _input.LA(1);
if ( !(_la==AND || _la==OR) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_expr_binary_operatorContext extends ParserRuleContext {
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode NEQ() { return getToken(PLParser.NEQ, 0); }
public TerminalNode LT() { return getToken(PLParser.LT, 0); }
public TerminalNode LTE() { return getToken(PLParser.LTE, 0); }
public TerminalNode GT() { return getToken(PLParser.GT, 0); }
public TerminalNode GTE() { return getToken(PLParser.GTE, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode RLIKE() { return getToken(PLParser.RLIKE, 0); }
public TerminalNode REGEXP() { return getToken(PLParser.REGEXP, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public Bool_expr_binary_operatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_expr_binary_operator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_expr_binary_operator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_expr_binary_operator(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_expr_binary_operator(this);
else return visitor.visitChildren(this);
}
}
public final Bool_expr_binary_operatorContext bool_expr_binary_operator() throws RecognitionException {
Bool_expr_binary_operatorContext _localctx = new Bool_expr_binary_operatorContext(_ctx, getState());
enterRule(_localctx, 192, RULE_bool_expr_binary_operator);
int _la;
try {
setState(1795);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EQ:
enterOuterAlt(_localctx, 1);
{
setState(1785);
match(EQ);
}
break;
case NEQ:
enterOuterAlt(_localctx, 2);
{
setState(1786);
match(NEQ);
}
break;
case LT:
enterOuterAlt(_localctx, 3);
{
setState(1787);
match(LT);
}
break;
case LTE:
enterOuterAlt(_localctx, 4);
{
setState(1788);
match(LTE);
}
break;
case GT:
enterOuterAlt(_localctx, 5);
{
setState(1789);
match(GT);
}
break;
case GTE:
enterOuterAlt(_localctx, 6);
{
setState(1790);
match(GTE);
}
break;
case LIKE:
case NOT:
case REGEXP:
case RLIKE:
enterOuterAlt(_localctx, 7);
{
setState(1792);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1791);
match(NOT);
}
}
setState(1794);
_la = _input.LA(1);
if ( !(_la==LIKE || _la==REGEXP || _la==RLIKE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExprContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public Expr_intervalContext expr_interval() {
return getRuleContext(Expr_intervalContext.class,0);
}
public Expr_concatContext expr_concat() {
return getRuleContext(Expr_concatContext.class,0);
}
public Expr_dotContext expr_dot() {
return getRuleContext(Expr_dotContext.class,0);
}
public Expr_caseContext expr_case() {
return getRuleContext(Expr_caseContext.class,0);
}
public Expr_cursor_attributeContext expr_cursor_attribute() {
return getRuleContext(Expr_cursor_attributeContext.class,0);
}
public Expr_agg_window_funcContext expr_agg_window_func() {
return getRuleContext(Expr_agg_window_funcContext.class,0);
}
public Expr_spec_funcContext expr_spec_func() {
return getRuleContext(Expr_spec_funcContext.class,0);
}
public Expr_funcContext expr_func() {
return getRuleContext(Expr_funcContext.class,0);
}
public Expr_atomContext expr_atom() {
return getRuleContext(Expr_atomContext.class,0);
}
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode SLASH() { return getToken(PLParser.SLASH, 0); }
public TerminalNode PLUS() { return getToken(PLParser.PLUS, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public Interval_itemContext interval_item() {
return getRuleContext(Interval_itemContext.class,0);
}
public ExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr(this);
else return visitor.visitChildren(this);
}
}
public final ExprContext expr() throws RecognitionException {
return expr(0);
}
private ExprContext expr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
ExprContext _localctx = new ExprContext(_ctx, _parentState);
ExprContext _prevctx = _localctx;
int _startState = 194;
enterRecursionRule(_localctx, 194, RULE_expr, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1815);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) {
case 1:
{
setState(1798);
match(LEFT_PAREN);
setState(1799);
query();
setState(1800);
match(RIGHT_PAREN);
}
break;
case 2:
{
setState(1802);
match(LEFT_PAREN);
setState(1803);
expr(0);
setState(1804);
match(RIGHT_PAREN);
}
break;
case 3:
{
setState(1806);
expr_interval();
}
break;
case 4:
{
setState(1807);
expr_concat();
}
break;
case 5:
{
setState(1808);
expr_dot();
}
break;
case 6:
{
setState(1809);
expr_case();
}
break;
case 7:
{
setState(1810);
expr_cursor_attribute();
}
break;
case 8:
{
setState(1811);
expr_agg_window_func();
}
break;
case 9:
{
setState(1812);
expr_spec_func();
}
break;
case 10:
{
setState(1813);
expr_func();
}
break;
case 11:
{
setState(1814);
expr_atom();
}
break;
}
_ctx.stop = _input.LT(-1);
setState(1827);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,164,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(1825);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) {
case 1:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(1817);
if (!(precpred(_ctx, 13))) throw new FailedPredicateException(this, "precpred(_ctx, 13)");
setState(1818);
_la = _input.LA(1);
if ( !(_la==ASTERISK || _la==SLASH) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1819);
expr(14);
}
break;
case 2:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(1820);
if (!(precpred(_ctx, 12))) throw new FailedPredicateException(this, "precpred(_ctx, 12)");
setState(1821);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==SUBTRACT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1822);
expr(13);
}
break;
case 3:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(1823);
if (!(precpred(_ctx, 14))) throw new FailedPredicateException(this, "precpred(_ctx, 14)");
setState(1824);
interval_item();
}
break;
}
}
}
setState(1829);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,164,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_atomContext extends ParserRuleContext {
public Date_literalContext date_literal() {
return getRuleContext(Date_literalContext.class,0);
}
public Timestamp_literalContext timestamp_literal() {
return getRuleContext(Timestamp_literalContext.class,0);
}
public Bool_literalContext bool_literal() {
return getRuleContext(Bool_literalContext.class,0);
}
public QidentContext qident() {
return getRuleContext(QidentContext.class,0);
}
public StringContext string() {
return getRuleContext(StringContext.class,0);
}
public Dec_numberContext dec_number() {
return getRuleContext(Dec_numberContext.class,0);
}
public Int_numberContext int_number() {
return getRuleContext(Int_numberContext.class,0);
}
public Null_constContext null_const() {
return getRuleContext(Null_constContext.class,0);
}
public Expr_atomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_atom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_atom(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_atom(this);
else return visitor.visitChildren(this);
}
}
public final Expr_atomContext expr_atom() throws RecognitionException {
Expr_atomContext _localctx = new Expr_atomContext(_ctx, getState());
enterRule(_localctx, 196, RULE_expr_atom);
try {
setState(1838);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1830);
date_literal();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1831);
timestamp_literal();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1832);
bool_literal();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1833);
qident();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1834);
string();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1835);
dec_number();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(1836);
int_number();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(1837);
null_const();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_intervalContext extends ParserRuleContext {
public TerminalNode INTERVAL() { return getToken(PLParser.INTERVAL, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Interval_itemContext interval_item() {
return getRuleContext(Interval_itemContext.class,0);
}
public Expr_intervalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_interval; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_interval(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_interval(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_interval(this);
else return visitor.visitChildren(this);
}
}
public final Expr_intervalContext expr_interval() throws RecognitionException {
Expr_intervalContext _localctx = new Expr_intervalContext(_ctx, getState());
enterRule(_localctx, 198, RULE_expr_interval);
try {
enterOuterAlt(_localctx, 1);
{
setState(1840);
match(INTERVAL);
setState(1841);
expr(0);
setState(1842);
interval_item();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Interval_itemContext extends ParserRuleContext {
public TerminalNode DAY() { return getToken(PLParser.DAY, 0); }
public TerminalNode DAYS() { return getToken(PLParser.DAYS, 0); }
public TerminalNode MICROSECOND() { return getToken(PLParser.MICROSECOND, 0); }
public TerminalNode MICROSECONDS() { return getToken(PLParser.MICROSECONDS, 0); }
public TerminalNode SECOND() { return getToken(PLParser.SECOND, 0); }
public TerminalNode SECONDS() { return getToken(PLParser.SECONDS, 0); }
public Interval_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_interval_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInterval_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInterval_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInterval_item(this);
else return visitor.visitChildren(this);
}
}
public final Interval_itemContext interval_item() throws RecognitionException {
Interval_itemContext _localctx = new Interval_itemContext(_ctx, getState());
enterRule(_localctx, 200, RULE_interval_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1844);
_la = _input.LA(1);
if ( !(_la==DAYS || ((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & 1099511627779L) != 0) || _la==DAY || _la==SECOND) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_concatContext extends ParserRuleContext {
public List<Expr_concat_itemContext> expr_concat_item() {
return getRuleContexts(Expr_concat_itemContext.class);
}
public Expr_concat_itemContext expr_concat_item(int i) {
return getRuleContext(Expr_concat_itemContext.class,i);
}
public List<TerminalNode> DOUBLEPIPES() { return getTokens(PLParser.DOUBLEPIPES); }
public TerminalNode DOUBLEPIPES(int i) {
return getToken(PLParser.DOUBLEPIPES, i);
}
public List<TerminalNode> CONCAT() { return getTokens(PLParser.CONCAT); }
public TerminalNode CONCAT(int i) {
return getToken(PLParser.CONCAT, i);
}
public Expr_concatContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_concat; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_concat(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_concat(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_concat(this);
else return visitor.visitChildren(this);
}
}
public final Expr_concatContext expr_concat() throws RecognitionException {
Expr_concatContext _localctx = new Expr_concatContext(_ctx, getState());
enterRule(_localctx, 202, RULE_expr_concat);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1846);
expr_concat_item();
setState(1847);
_la = _input.LA(1);
if ( !(_la==CONCAT || _la==DOUBLEPIPES) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1848);
expr_concat_item();
setState(1853);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,166,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1849);
_la = _input.LA(1);
if ( !(_la==CONCAT || _la==DOUBLEPIPES) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1850);
expr_concat_item();
}
}
}
setState(1855);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,166,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_concat_itemContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Expr_caseContext expr_case() {
return getRuleContext(Expr_caseContext.class,0);
}
public Expr_agg_window_funcContext expr_agg_window_func() {
return getRuleContext(Expr_agg_window_funcContext.class,0);
}
public Expr_spec_funcContext expr_spec_func() {
return getRuleContext(Expr_spec_funcContext.class,0);
}
public Expr_dotContext expr_dot() {
return getRuleContext(Expr_dotContext.class,0);
}
public Expr_funcContext expr_func() {
return getRuleContext(Expr_funcContext.class,0);
}
public Expr_atomContext expr_atom() {
return getRuleContext(Expr_atomContext.class,0);
}
public Expr_concat_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_concat_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_concat_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_concat_item(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_concat_item(this);
else return visitor.visitChildren(this);
}
}
public final Expr_concat_itemContext expr_concat_item() throws RecognitionException {
Expr_concat_itemContext _localctx = new Expr_concat_itemContext(_ctx, getState());
enterRule(_localctx, 204, RULE_expr_concat_item);
try {
setState(1866);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1856);
match(LEFT_PAREN);
setState(1857);
expr(0);
setState(1858);
match(RIGHT_PAREN);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1860);
expr_case();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1861);
expr_agg_window_func();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1862);
expr_spec_func();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1863);
expr_dot();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1864);
expr_func();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(1865);
expr_atom();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_caseContext extends ParserRuleContext {
public Expr_case_simpleContext expr_case_simple() {
return getRuleContext(Expr_case_simpleContext.class,0);
}
public Expr_case_searchedContext expr_case_searched() {
return getRuleContext(Expr_case_searchedContext.class,0);
}
public Expr_caseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_case; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_case(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_case(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_case(this);
else return visitor.visitChildren(this);
}
}
public final Expr_caseContext expr_case() throws RecognitionException {
Expr_caseContext _localctx = new Expr_caseContext(_ctx, getState());
enterRule(_localctx, 206, RULE_expr_case);
try {
setState(1870);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1868);
expr_case_simple();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1869);
expr_case_searched();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_case_simpleContext extends ParserRuleContext {
public TerminalNode CASE() { return getToken(PLParser.CASE, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode END() { return getToken(PLParser.END, 0); }
public List<TerminalNode> WHEN() { return getTokens(PLParser.WHEN); }
public TerminalNode WHEN(int i) {
return getToken(PLParser.WHEN, i);
}
public List<TerminalNode> THEN() { return getTokens(PLParser.THEN); }
public TerminalNode THEN(int i) {
return getToken(PLParser.THEN, i);
}
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public Expr_case_simpleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_case_simple; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_case_simple(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_case_simple(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_case_simple(this);
else return visitor.visitChildren(this);
}
}
public final Expr_case_simpleContext expr_case_simple() throws RecognitionException {
Expr_case_simpleContext _localctx = new Expr_case_simpleContext(_ctx, getState());
enterRule(_localctx, 208, RULE_expr_case_simple);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1872);
match(CASE);
setState(1873);
expr(0);
setState(1879);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(1874);
match(WHEN);
setState(1875);
expr(0);
setState(1876);
match(THEN);
setState(1877);
expr(0);
}
}
setState(1881);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WHEN );
setState(1885);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(1883);
match(ELSE);
setState(1884);
expr(0);
}
}
setState(1887);
match(END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_case_searchedContext extends ParserRuleContext {
public TerminalNode CASE() { return getToken(PLParser.CASE, 0); }
public TerminalNode END() { return getToken(PLParser.END, 0); }
public List<TerminalNode> WHEN() { return getTokens(PLParser.WHEN); }
public TerminalNode WHEN(int i) {
return getToken(PLParser.WHEN, i);
}
public List<Bool_exprContext> bool_expr() {
return getRuleContexts(Bool_exprContext.class);
}
public Bool_exprContext bool_expr(int i) {
return getRuleContext(Bool_exprContext.class,i);
}
public List<TerminalNode> THEN() { return getTokens(PLParser.THEN); }
public TerminalNode THEN(int i) {
return getToken(PLParser.THEN, i);
}
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public Expr_case_searchedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_case_searched; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_case_searched(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_case_searched(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_case_searched(this);
else return visitor.visitChildren(this);
}
}
public final Expr_case_searchedContext expr_case_searched() throws RecognitionException {
Expr_case_searchedContext _localctx = new Expr_case_searchedContext(_ctx, getState());
enterRule(_localctx, 210, RULE_expr_case_searched);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1889);
match(CASE);
setState(1895);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(1890);
match(WHEN);
setState(1891);
bool_expr(0);
setState(1892);
match(THEN);
setState(1893);
expr(0);
}
}
setState(1897);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WHEN );
setState(1901);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(1899);
match(ELSE);
setState(1900);
expr(0);
}
}
setState(1903);
match(END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_cursor_attributeContext extends ParserRuleContext {
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode MOD() { return getToken(PLParser.MOD, 0); }
public TerminalNode ISOPEN() { return getToken(PLParser.ISOPEN, 0); }
public TerminalNode FOUND() { return getToken(PLParser.FOUND, 0); }
public TerminalNode NOTFOUND() { return getToken(PLParser.NOTFOUND, 0); }
public Expr_cursor_attributeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_cursor_attribute; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_cursor_attribute(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_cursor_attribute(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_cursor_attribute(this);
else return visitor.visitChildren(this);
}
}
public final Expr_cursor_attributeContext expr_cursor_attribute() throws RecognitionException {
Expr_cursor_attributeContext _localctx = new Expr_cursor_attributeContext(_ctx, getState());
enterRule(_localctx, 212, RULE_expr_cursor_attribute);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1905);
ident_pl();
setState(1906);
match(MOD);
setState(1907);
_la = _input.LA(1);
if ( !(((((_la - 55)) & ~0x3f) == 0 && ((1L << (_la - 55)) & 274877915137L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_agg_window_funcContext extends ParserRuleContext {
public TerminalNode AVG() { return getToken(PLParser.AVG, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Expr_func_all_distinctContext expr_func_all_distinct() {
return getRuleContext(Expr_func_all_distinctContext.class,0);
}
public Expr_func_over_clauseContext expr_func_over_clause() {
return getRuleContext(Expr_func_over_clauseContext.class,0);
}
public TerminalNode COUNT() { return getToken(PLParser.COUNT, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode COUNT_BIG() { return getToken(PLParser.COUNT_BIG, 0); }
public TerminalNode CUME_DIST() { return getToken(PLParser.CUME_DIST, 0); }
public TerminalNode DENSE_RANK() { return getToken(PLParser.DENSE_RANK, 0); }
public TerminalNode FIRST_VALUE() { return getToken(PLParser.FIRST_VALUE, 0); }
public TerminalNode LAG() { return getToken(PLParser.LAG, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode LAST_VALUE() { return getToken(PLParser.LAST_VALUE, 0); }
public TerminalNode LEAD() { return getToken(PLParser.LEAD, 0); }
public TerminalNode MAX() { return getToken(PLParser.MAX, 0); }
public TerminalNode MIN() { return getToken(PLParser.MIN, 0); }
public TerminalNode RANK() { return getToken(PLParser.RANK, 0); }
public TerminalNode ROW_NUMBER() { return getToken(PLParser.ROW_NUMBER, 0); }
public TerminalNode STDEV() { return getToken(PLParser.STDEV, 0); }
public TerminalNode SUM() { return getToken(PLParser.SUM, 0); }
public TerminalNode VAR() { return getToken(PLParser.VAR, 0); }
public TerminalNode VARIANCE() { return getToken(PLParser.VARIANCE, 0); }
public Expr_agg_window_funcContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_agg_window_func; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_agg_window_func(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_agg_window_func(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_agg_window_func(this);
else return visitor.visitChildren(this);
}
}
public final Expr_agg_window_funcContext expr_agg_window_func() throws RecognitionException {
Expr_agg_window_funcContext _localctx = new Expr_agg_window_funcContext(_ctx, getState());
enterRule(_localctx, 214, RULE_expr_agg_window_func);
int _la;
try {
setState(2061);
_errHandler.sync(this);
switch (_input.LA(1)) {
case AVG:
enterOuterAlt(_localctx, 1);
{
setState(1909);
match(AVG);
setState(1910);
match(LEFT_PAREN);
setState(1912);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(1911);
expr_func_all_distinct();
}
}
setState(1914);
expr(0);
setState(1915);
match(RIGHT_PAREN);
setState(1917);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,174,_ctx) ) {
case 1:
{
setState(1916);
expr_func_over_clause();
}
break;
}
}
break;
case COUNT:
enterOuterAlt(_localctx, 2);
{
setState(1919);
match(COUNT);
setState(1920);
match(LEFT_PAREN);
setState(1926);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case MAX_PART_STRING:
case MIN_PART_STRING:
case MAX_PART_INT:
case MIN_PART_INT:
case MAX_PART_DATE:
case MIN_PART_DATE:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_PAREN:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ALL:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCT:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case INTEGER_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
{
setState(1922);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(1921);
expr_func_all_distinct();
}
}
setState(1924);
expr(0);
}
}
break;
case ASTERISK:
{
setState(1925);
match(ASTERISK);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1928);
match(RIGHT_PAREN);
setState(1930);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,177,_ctx) ) {
case 1:
{
setState(1929);
expr_func_over_clause();
}
break;
}
}
break;
case COUNT_BIG:
enterOuterAlt(_localctx, 3);
{
setState(1932);
match(COUNT_BIG);
setState(1933);
match(LEFT_PAREN);
setState(1939);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case MAX_PART_STRING:
case MIN_PART_STRING:
case MAX_PART_INT:
case MIN_PART_INT:
case MAX_PART_DATE:
case MIN_PART_DATE:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_PAREN:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ALL:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCT:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case INTEGER_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
{
setState(1935);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(1934);
expr_func_all_distinct();
}
}
setState(1937);
expr(0);
}
}
break;
case ASTERISK:
{
setState(1938);
match(ASTERISK);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1941);
match(RIGHT_PAREN);
setState(1943);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,180,_ctx) ) {
case 1:
{
setState(1942);
expr_func_over_clause();
}
break;
}
}
break;
case CUME_DIST:
enterOuterAlt(_localctx, 4);
{
setState(1945);
match(CUME_DIST);
setState(1946);
match(LEFT_PAREN);
setState(1947);
match(RIGHT_PAREN);
setState(1948);
expr_func_over_clause();
}
break;
case DENSE_RANK:
enterOuterAlt(_localctx, 5);
{
setState(1949);
match(DENSE_RANK);
setState(1950);
match(LEFT_PAREN);
setState(1951);
match(RIGHT_PAREN);
setState(1952);
expr_func_over_clause();
}
break;
case FIRST_VALUE:
enterOuterAlt(_localctx, 6);
{
setState(1953);
match(FIRST_VALUE);
setState(1954);
match(LEFT_PAREN);
setState(1955);
expr(0);
setState(1956);
match(RIGHT_PAREN);
setState(1957);
expr_func_over_clause();
}
break;
case LAG:
enterOuterAlt(_localctx, 7);
{
setState(1959);
match(LAG);
setState(1960);
match(LEFT_PAREN);
setState(1961);
expr(0);
setState(1968);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1962);
match(COMMA);
setState(1963);
expr(0);
setState(1966);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1964);
match(COMMA);
setState(1965);
expr(0);
}
}
}
}
setState(1970);
match(RIGHT_PAREN);
setState(1971);
expr_func_over_clause();
}
break;
case LAST_VALUE:
enterOuterAlt(_localctx, 8);
{
setState(1973);
match(LAST_VALUE);
setState(1974);
match(LEFT_PAREN);
setState(1975);
expr(0);
setState(1976);
match(RIGHT_PAREN);
setState(1977);
expr_func_over_clause();
}
break;
case LEAD:
enterOuterAlt(_localctx, 9);
{
setState(1979);
match(LEAD);
setState(1980);
match(LEFT_PAREN);
setState(1981);
expr(0);
setState(1988);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1982);
match(COMMA);
setState(1983);
expr(0);
setState(1986);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1984);
match(COMMA);
setState(1985);
expr(0);
}
}
}
}
setState(1990);
match(RIGHT_PAREN);
setState(1991);
expr_func_over_clause();
}
break;
case MAX:
enterOuterAlt(_localctx, 10);
{
setState(1993);
match(MAX);
setState(1994);
match(LEFT_PAREN);
setState(1996);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(1995);
expr_func_all_distinct();
}
}
setState(1998);
expr(0);
setState(1999);
match(RIGHT_PAREN);
setState(2001);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,186,_ctx) ) {
case 1:
{
setState(2000);
expr_func_over_clause();
}
break;
}
}
break;
case MIN:
enterOuterAlt(_localctx, 11);
{
setState(2003);
match(MIN);
setState(2004);
match(LEFT_PAREN);
setState(2006);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(2005);
expr_func_all_distinct();
}
}
setState(2008);
expr(0);
setState(2009);
match(RIGHT_PAREN);
setState(2011);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,188,_ctx) ) {
case 1:
{
setState(2010);
expr_func_over_clause();
}
break;
}
}
break;
case RANK:
enterOuterAlt(_localctx, 12);
{
setState(2013);
match(RANK);
setState(2014);
match(LEFT_PAREN);
setState(2015);
match(RIGHT_PAREN);
setState(2016);
expr_func_over_clause();
}
break;
case ROW_NUMBER:
enterOuterAlt(_localctx, 13);
{
setState(2017);
match(ROW_NUMBER);
setState(2018);
match(LEFT_PAREN);
setState(2019);
match(RIGHT_PAREN);
setState(2020);
expr_func_over_clause();
}
break;
case STDEV:
enterOuterAlt(_localctx, 14);
{
setState(2021);
match(STDEV);
setState(2022);
match(LEFT_PAREN);
setState(2024);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(2023);
expr_func_all_distinct();
}
}
setState(2026);
expr(0);
setState(2027);
match(RIGHT_PAREN);
setState(2029);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,190,_ctx) ) {
case 1:
{
setState(2028);
expr_func_over_clause();
}
break;
}
}
break;
case SUM:
enterOuterAlt(_localctx, 15);
{
setState(2031);
match(SUM);
setState(2032);
match(LEFT_PAREN);
setState(2034);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(2033);
expr_func_all_distinct();
}
}
setState(2036);
expr(0);
setState(2037);
match(RIGHT_PAREN);
setState(2039);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,192,_ctx) ) {
case 1:
{
setState(2038);
expr_func_over_clause();
}
break;
}
}
break;
case VAR:
enterOuterAlt(_localctx, 16);
{
setState(2041);
match(VAR);
setState(2042);
match(LEFT_PAREN);
setState(2044);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(2043);
expr_func_all_distinct();
}
}
setState(2046);
expr(0);
setState(2047);
match(RIGHT_PAREN);
setState(2049);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,194,_ctx) ) {
case 1:
{
setState(2048);
expr_func_over_clause();
}
break;
}
}
break;
case VARIANCE:
enterOuterAlt(_localctx, 17);
{
setState(2051);
match(VARIANCE);
setState(2052);
match(LEFT_PAREN);
setState(2054);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(2053);
expr_func_all_distinct();
}
}
setState(2056);
expr(0);
setState(2057);
match(RIGHT_PAREN);
setState(2059);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) {
case 1:
{
setState(2058);
expr_func_over_clause();
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_func_all_distinctContext extends ParserRuleContext {
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode DISTINCT() { return getToken(PLParser.DISTINCT, 0); }
public Expr_func_all_distinctContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_func_all_distinct; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_func_all_distinct(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_func_all_distinct(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_func_all_distinct(this);
else return visitor.visitChildren(this);
}
}
public final Expr_func_all_distinctContext expr_func_all_distinct() throws RecognitionException {
Expr_func_all_distinctContext _localctx = new Expr_func_all_distinctContext(_ctx, getState());
enterRule(_localctx, 216, RULE_expr_func_all_distinct);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2063);
_la = _input.LA(1);
if ( !(_la==ALL || _la==DISTINCT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Order_by_clauseContext extends ParserRuleContext {
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public List<TerminalNode> ASC() { return getTokens(PLParser.ASC); }
public TerminalNode ASC(int i) {
return getToken(PLParser.ASC, i);
}
public List<TerminalNode> DESC() { return getTokens(PLParser.DESC); }
public TerminalNode DESC(int i) {
return getToken(PLParser.DESC, i);
}
public Order_by_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_order_by_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterOrder_by_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitOrder_by_clause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitOrder_by_clause(this);
else return visitor.visitChildren(this);
}
}
public final Order_by_clauseContext order_by_clause() throws RecognitionException {
Order_by_clauseContext _localctx = new Order_by_clauseContext(_ctx, getState());
enterRule(_localctx, 218, RULE_order_by_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2065);
match(ORDER);
setState(2066);
match(BY);
setState(2067);
expr(0);
setState(2069);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(2068);
_la = _input.LA(1);
if ( !(_la==ASC || _la==DESC) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2078);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2071);
match(COMMA);
setState(2072);
expr(0);
setState(2074);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(2073);
_la = _input.LA(1);
if ( !(_la==ASC || _la==DESC) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
}
setState(2080);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_func_over_clauseContext extends ParserRuleContext {
public TerminalNode OVER() { return getToken(PLParser.OVER, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Expr_func_partition_by_clauseContext expr_func_partition_by_clause() {
return getRuleContext(Expr_func_partition_by_clauseContext.class,0);
}
public Order_by_clauseContext order_by_clause() {
return getRuleContext(Order_by_clauseContext.class,0);
}
public Expr_func_over_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_func_over_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_func_over_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_func_over_clause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_func_over_clause(this);
else return visitor.visitChildren(this);
}
}
public final Expr_func_over_clauseContext expr_func_over_clause() throws RecognitionException {
Expr_func_over_clauseContext _localctx = new Expr_func_over_clauseContext(_ctx, getState());
enterRule(_localctx, 220, RULE_expr_func_over_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2081);
match(OVER);
setState(2082);
match(LEFT_PAREN);
setState(2084);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(2083);
expr_func_partition_by_clause();
}
}
setState(2087);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ORDER) {
{
setState(2086);
order_by_clause();
}
}
setState(2089);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_func_partition_by_clauseContext extends ParserRuleContext {
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Expr_func_partition_by_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_func_partition_by_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_func_partition_by_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_func_partition_by_clause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_func_partition_by_clause(this);
else return visitor.visitChildren(this);
}
}
public final Expr_func_partition_by_clauseContext expr_func_partition_by_clause() throws RecognitionException {
Expr_func_partition_by_clauseContext _localctx = new Expr_func_partition_by_clauseContext(_ctx, getState());
enterRule(_localctx, 222, RULE_expr_func_partition_by_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2091);
match(PARTITION);
setState(2092);
match(BY);
setState(2093);
expr(0);
setState(2098);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2094);
match(COMMA);
setState(2095);
expr(0);
}
}
setState(2100);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_spec_funcContext extends ParserRuleContext {
public TerminalNode ACTIVITY_COUNT() { return getToken(PLParser.ACTIVITY_COUNT, 0); }
public TerminalNode CAST() { return getToken(PLParser.CAST, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<ExprContext> expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public DtypeContext dtype() {
return getRuleContext(DtypeContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Dtype_lenContext dtype_len() {
return getRuleContext(Dtype_lenContext.class,0);
}
public TerminalNode COUNT() { return getToken(PLParser.COUNT, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode CURRENT_DATE() { return getToken(PLParser.CURRENT_DATE, 0); }
public TerminalNode CURRENT() { return getToken(PLParser.CURRENT, 0); }
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode CURRENT_TIMESTAMP() { return getToken(PLParser.CURRENT_TIMESTAMP, 0); }
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public TerminalNode CURRENT_USER() { return getToken(PLParser.CURRENT_USER, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public TerminalNode MAX_PART_STRING() { return getToken(PLParser.MAX_PART_STRING, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public List<TerminalNode> EQ() { return getTokens(PLParser.EQ); }
public TerminalNode EQ(int i) {
return getToken(PLParser.EQ, i);
}
public TerminalNode MIN_PART_STRING() { return getToken(PLParser.MIN_PART_STRING, 0); }
public TerminalNode MAX_PART_INT() { return getToken(PLParser.MAX_PART_INT, 0); }
public TerminalNode MIN_PART_INT() { return getToken(PLParser.MIN_PART_INT, 0); }
public TerminalNode MAX_PART_DATE() { return getToken(PLParser.MAX_PART_DATE, 0); }
public TerminalNode MIN_PART_DATE() { return getToken(PLParser.MIN_PART_DATE, 0); }
public TerminalNode PART_COUNT() { return getToken(PLParser.PART_COUNT, 0); }
public TerminalNode PART_LOC() { return getToken(PLParser.PART_LOC, 0); }
public TerminalNode TRIM() { return getToken(PLParser.TRIM, 0); }
public TerminalNode SUBSTRING() { return getToken(PLParser.SUBSTRING, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode SYSDATE() { return getToken(PLParser.SYSDATE, 0); }
public Expr_spec_funcContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_spec_func; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_spec_func(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_spec_func(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_spec_func(this);
else return visitor.visitChildren(this);
}
}
public final Expr_spec_funcContext expr_spec_func() throws RecognitionException {
Expr_spec_funcContext _localctx = new Expr_spec_funcContext(_ctx, getState());
enterRule(_localctx, 224, RULE_expr_spec_func);
int _la;
try {
int _alt;
setState(2301);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,224,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2101);
match(ACTIVITY_COUNT);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2102);
match(CAST);
setState(2103);
match(LEFT_PAREN);
setState(2104);
expr(0);
setState(2105);
match(AS);
setState(2106);
dtype();
setState(2108);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(2107);
dtype_len();
}
}
setState(2110);
match(RIGHT_PAREN);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(2112);
match(COUNT);
setState(2113);
match(LEFT_PAREN);
setState(2116);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case MAX_PART_STRING:
case MIN_PART_STRING:
case MAX_PART_INT:
case MIN_PART_INT:
case MAX_PART_DATE:
case MIN_PART_DATE:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_PAREN:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case INTEGER_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(2114);
expr(0);
}
break;
case ASTERISK:
{
setState(2115);
match(ASTERISK);
}
break;
default:
throw new NoViableAltException(this);
}
setState(2118);
match(RIGHT_PAREN);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(2119);
match(CURRENT_DATE);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(2120);
match(CURRENT);
setState(2121);
match(DATE);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(2125);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CURRENT_TIMESTAMP:
{
setState(2122);
match(CURRENT_TIMESTAMP);
}
break;
case CURRENT:
{
setState(2123);
match(CURRENT);
setState(2124);
match(TIMESTAMP);
}
break;
default:
throw new NoViableAltException(this);
}
setState(2131);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,207,_ctx) ) {
case 1:
{
setState(2127);
match(LEFT_PAREN);
setState(2128);
expr(0);
setState(2129);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(2133);
match(CURRENT_USER);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(2134);
match(CURRENT);
setState(2135);
match(USER);
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(2136);
match(MAX_PART_STRING);
setState(2137);
match(LEFT_PAREN);
setState(2138);
expr(0);
setState(2151);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2139);
match(COMMA);
setState(2140);
expr(0);
setState(2148);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2141);
match(COMMA);
setState(2142);
expr(0);
setState(2143);
match(EQ);
setState(2144);
expr(0);
}
}
setState(2150);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2153);
match(RIGHT_PAREN);
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(2155);
match(MIN_PART_STRING);
setState(2156);
match(LEFT_PAREN);
setState(2157);
expr(0);
setState(2170);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2158);
match(COMMA);
setState(2159);
expr(0);
setState(2167);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2160);
match(COMMA);
setState(2161);
expr(0);
setState(2162);
match(EQ);
setState(2163);
expr(0);
}
}
setState(2169);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2172);
match(RIGHT_PAREN);
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(2174);
match(MAX_PART_INT);
setState(2175);
match(LEFT_PAREN);
setState(2176);
expr(0);
setState(2189);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2177);
match(COMMA);
setState(2178);
expr(0);
setState(2186);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2179);
match(COMMA);
setState(2180);
expr(0);
setState(2181);
match(EQ);
setState(2182);
expr(0);
}
}
setState(2188);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2191);
match(RIGHT_PAREN);
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(2193);
match(MIN_PART_INT);
setState(2194);
match(LEFT_PAREN);
setState(2195);
expr(0);
setState(2208);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2196);
match(COMMA);
setState(2197);
expr(0);
setState(2205);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2198);
match(COMMA);
setState(2199);
expr(0);
setState(2200);
match(EQ);
setState(2201);
expr(0);
}
}
setState(2207);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2210);
match(RIGHT_PAREN);
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(2212);
match(MAX_PART_DATE);
setState(2213);
match(LEFT_PAREN);
setState(2214);
expr(0);
setState(2227);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2215);
match(COMMA);
setState(2216);
expr(0);
setState(2224);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2217);
match(COMMA);
setState(2218);
expr(0);
setState(2219);
match(EQ);
setState(2220);
expr(0);
}
}
setState(2226);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2229);
match(RIGHT_PAREN);
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(2231);
match(MIN_PART_DATE);
setState(2232);
match(LEFT_PAREN);
setState(2233);
expr(0);
setState(2246);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2234);
match(COMMA);
setState(2235);
expr(0);
setState(2243);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2236);
match(COMMA);
setState(2237);
expr(0);
setState(2238);
match(EQ);
setState(2239);
expr(0);
}
}
setState(2245);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2248);
match(RIGHT_PAREN);
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(2250);
match(PART_COUNT);
setState(2251);
match(LEFT_PAREN);
setState(2252);
expr(0);
setState(2260);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2253);
match(COMMA);
setState(2254);
expr(0);
setState(2255);
match(EQ);
setState(2256);
expr(0);
}
}
setState(2262);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2263);
match(RIGHT_PAREN);
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(2265);
match(PART_LOC);
setState(2266);
match(LEFT_PAREN);
setState(2267);
expr(0);
setState(2273);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(2268);
match(COMMA);
setState(2269);
expr(0);
setState(2270);
match(EQ);
setState(2271);
expr(0);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(2275);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,221,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(2279);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2277);
match(COMMA);
setState(2278);
expr(0);
}
}
setState(2281);
match(RIGHT_PAREN);
}
break;
case 17:
enterOuterAlt(_localctx, 17);
{
setState(2283);
match(TRIM);
setState(2284);
match(LEFT_PAREN);
setState(2285);
expr(0);
setState(2286);
match(RIGHT_PAREN);
}
break;
case 18:
enterOuterAlt(_localctx, 18);
{
setState(2288);
match(SUBSTRING);
setState(2289);
match(LEFT_PAREN);
setState(2290);
expr(0);
setState(2291);
match(FROM);
setState(2292);
expr(0);
setState(2295);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FOR) {
{
setState(2293);
match(FOR);
setState(2294);
expr(0);
}
}
setState(2297);
match(RIGHT_PAREN);
}
break;
case 19:
enterOuterAlt(_localctx, 19);
{
setState(2299);
match(SYSDATE);
}
break;
case 20:
enterOuterAlt(_localctx, 20);
{
setState(2300);
match(USER);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_funcContext extends ParserRuleContext {
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Expr_func_paramsContext expr_func_params() {
return getRuleContext(Expr_func_paramsContext.class,0);
}
public Expr_funcContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_func; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_func(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_func(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_func(this);
else return visitor.visitChildren(this);
}
}
public final Expr_funcContext expr_func() throws RecognitionException {
Expr_funcContext _localctx = new Expr_funcContext(_ctx, getState());
enterRule(_localctx, 226, RULE_expr_func);
try {
enterOuterAlt(_localctx, 1);
{
setState(2303);
multipartIdentifier();
setState(2304);
match(LEFT_PAREN);
setState(2306);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,225,_ctx) ) {
case 1:
{
setState(2305);
expr_func_params();
}
break;
}
setState(2308);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_dotContext extends ParserRuleContext {
public Expr_dot_method_callContext expr_dot_method_call() {
return getRuleContext(Expr_dot_method_callContext.class,0);
}
public Expr_dot_property_accessContext expr_dot_property_access() {
return getRuleContext(Expr_dot_property_accessContext.class,0);
}
public Expr_dotContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_dot; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_dot(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_dot(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_dot(this);
else return visitor.visitChildren(this);
}
}
public final Expr_dotContext expr_dot() throws RecognitionException {
Expr_dotContext _localctx = new Expr_dotContext(_ctx, getState());
enterRule(_localctx, 228, RULE_expr_dot);
try {
setState(2312);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,226,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2310);
expr_dot_method_call();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2311);
expr_dot_property_access();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_dot_method_callContext extends ParserRuleContext {
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public List<Expr_funcContext> expr_func() {
return getRuleContexts(Expr_funcContext.class);
}
public Expr_funcContext expr_func(int i) {
return getRuleContext(Expr_funcContext.class,i);
}
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public Expr_dot_method_callContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_dot_method_call; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_dot_method_call(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_dot_method_call(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_dot_method_call(this);
else return visitor.visitChildren(this);
}
}
public final Expr_dot_method_callContext expr_dot_method_call() throws RecognitionException {
Expr_dot_method_callContext _localctx = new Expr_dot_method_callContext(_ctx, getState());
enterRule(_localctx, 230, RULE_expr_dot_method_call);
try {
enterOuterAlt(_localctx, 1);
{
setState(2316);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) {
case 1:
{
setState(2314);
ident_pl();
}
break;
case 2:
{
setState(2315);
expr_func();
}
break;
}
setState(2318);
match(DOT);
setState(2319);
expr_func();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_dot_property_accessContext extends ParserRuleContext {
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public Expr_funcContext expr_func() {
return getRuleContext(Expr_funcContext.class,0);
}
public Expr_dot_property_accessContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_dot_property_access; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_dot_property_access(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_dot_property_access(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_dot_property_access(this);
else return visitor.visitChildren(this);
}
}
public final Expr_dot_property_accessContext expr_dot_property_access() throws RecognitionException {
Expr_dot_property_accessContext _localctx = new Expr_dot_property_accessContext(_ctx, getState());
enterRule(_localctx, 232, RULE_expr_dot_property_access);
try {
enterOuterAlt(_localctx, 1);
{
setState(2323);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,228,_ctx) ) {
case 1:
{
setState(2321);
ident_pl();
}
break;
case 2:
{
setState(2322);
expr_func();
}
break;
}
setState(2325);
match(DOT);
setState(2326);
ident_pl();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_func_paramsContext extends ParserRuleContext {
public List<Func_paramContext> func_param() {
return getRuleContexts(Func_paramContext.class);
}
public Func_paramContext func_param(int i) {
return getRuleContext(Func_paramContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public Expr_func_paramsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_func_params; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpr_func_params(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpr_func_params(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpr_func_params(this);
else return visitor.visitChildren(this);
}
}
public final Expr_func_paramsContext expr_func_params() throws RecognitionException {
Expr_func_paramsContext _localctx = new Expr_func_paramsContext(_ctx, getState());
enterRule(_localctx, 234, RULE_expr_func_params);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2328);
func_param();
setState(2333);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,229,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2329);
match(COMMA);
setState(2330);
func_param();
}
}
}
setState(2335);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,229,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Func_paramContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Ident_plContext ident_pl() {
return getRuleContext(Ident_plContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode GT() { return getToken(PLParser.GT, 0); }
public Func_paramContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_func_param; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunc_param(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunc_param(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunc_param(this);
else return visitor.visitChildren(this);
}
}
public final Func_paramContext func_param() throws RecognitionException {
Func_paramContext _localctx = new Func_paramContext(_ctx, getState());
enterRule(_localctx, 236, RULE_func_param);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2336);
if (!(!_input.LT(1).getText().equalsIgnoreCase("INTO"))) throw new FailedPredicateException(this, "!_input.LT(1).getText().equalsIgnoreCase(\"INTO\")");
setState(2342);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,231,_ctx) ) {
case 1:
{
setState(2337);
ident_pl();
setState(2338);
match(EQ);
setState(2340);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GT) {
{
setState(2339);
match(GT);
}
}
}
break;
}
setState(2344);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Host_plContext extends ParserRuleContext {
public TerminalNode LOGICALNOT() { return getToken(PLParser.LOGICALNOT, 0); }
public Host_cmdContext host_cmd() {
return getRuleContext(Host_cmdContext.class,0);
}
public TerminalNode SEMICOLON() { return getToken(PLParser.SEMICOLON, 0); }
public Host_stmtContext host_stmt() {
return getRuleContext(Host_stmtContext.class,0);
}
public Host_plContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_host_pl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHost_pl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHost_pl(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHost_pl(this);
else return visitor.visitChildren(this);
}
}
public final Host_plContext host_pl() throws RecognitionException {
Host_plContext _localctx = new Host_plContext(_ctx, getState());
enterRule(_localctx, 238, RULE_host_pl);
try {
setState(2351);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LOGICALNOT:
enterOuterAlt(_localctx, 1);
{
setState(2346);
match(LOGICALNOT);
setState(2347);
host_cmd();
setState(2348);
match(SEMICOLON);
}
break;
case HOST:
enterOuterAlt(_localctx, 2);
{
setState(2350);
host_stmt();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Host_cmdContext extends ParserRuleContext {
public Host_cmdContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_host_cmd; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHost_cmd(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHost_cmd(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHost_cmd(this);
else return visitor.visitChildren(this);
}
}
public final Host_cmdContext host_cmd() throws RecognitionException {
Host_cmdContext _localctx = new Host_cmdContext(_ctx, getState());
enterRule(_localctx, 240, RULE_host_cmd);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2356);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,233,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(2353);
matchWildcard();
}
}
}
setState(2358);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,233,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Host_stmtContext extends ParserRuleContext {
public TerminalNode HOST() { return getToken(PLParser.HOST, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Host_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_host_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHost_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHost_stmt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHost_stmt(this);
else return visitor.visitChildren(this);
}
}
public final Host_stmtContext host_stmt() throws RecognitionException {
Host_stmtContext _localctx = new Host_stmtContext(_ctx, getState());
enterRule(_localctx, 242, RULE_host_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(2359);
match(HOST);
setState(2360);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class File_nameContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public List<QidentContext> qident() {
return getRuleContexts(QidentContext.class);
}
public QidentContext qident(int i) {
return getRuleContext(QidentContext.class,i);
}
public List<TerminalNode> SLASH() { return getTokens(PLParser.SLASH); }
public TerminalNode SLASH(int i) {
return getToken(PLParser.SLASH, i);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public File_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_file_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFile_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFile_name(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFile_name(this);
else return visitor.visitChildren(this);
}
}
public final File_nameContext file_name() throws RecognitionException {
File_nameContext _localctx = new File_nameContext(_ctx, getState());
enterRule(_localctx, 244, RULE_file_name);
try {
int _alt;
setState(2376);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL:
enterOuterAlt(_localctx, 1);
{
setState(2362);
match(STRING_LITERAL);
}
break;
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case DOT:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case SUBTRACT:
case SLASH:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
enterOuterAlt(_localctx, 2);
{
setState(2366);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SLASH:
{
setState(2363);
match(SLASH);
}
break;
case DOT:
{
setState(2364);
match(DOT);
setState(2365);
match(SLASH);
}
break;
case ACTION:
case ALLOCATE:
case ANSI_NULLS:
case ANSI_PADDING:
case ASSOCIATE:
case AVG:
case BATCHSIZE:
case BINARY_DOUBLE:
case BINARY_FLOAT:
case BIT:
case BODY:
case BREAK:
case BYTE:
case CALLER:
case CASCADE:
case CASESPECIFIC:
case CLIENT:
case CLOSE:
case CLUSTERED:
case CMP:
case COLLECTION:
case COMPRESS:
case CONCAT:
case CONDITION:
case CONSTANT:
case COUNT_BIG:
case CREATOR:
case CS:
case CURSOR:
case DAYS:
case DEC:
case DECLARE:
case DEFINED:
case DEFINER:
case DEFINITION:
case DELIMITED:
case DELIMITER:
case DIAGNOSTICS:
case DIR:
case DIRECTORY:
case DISTRIBUTE:
case ESCAPED:
case EXEC:
case EXCEPTION:
case EXCLUSIVE:
case EXIT:
case FALLBACK:
case FETCH:
case FILES:
case FOUND:
case GET:
case GO:
case HANDLER:
case HOST:
case IDENTITY:
case INCLUDE:
case INITRANS:
case INOUT:
case INT2:
case INT4:
case INT8:
case INVOKER:
case ISOPEN:
case ITEMS:
case KEEP:
case LANGUAGE:
case LEAVE:
case LOCATOR:
case LOCATORS:
case LOCKS:
case LOG:
case LOGGED:
case LOGGING:
case LOOP:
case MATCHED:
case MAXTRANS:
case MESSAGE_TEXT:
case MICROSECOND:
case MICROSECONDS:
case MULTISET:
case NCHAR:
case NEW:
case NVARCHAR:
case NOCOUNT:
case NOCOMPRESS:
case NOLOGGING:
case NONE:
case NOTFOUND:
case NUMERIC:
case NUMBER:
case OBJECT:
case OFF:
case OUT:
case OWNER:
case PACKAGE:
case PCTFREE:
case PCTUSED:
case PRECISION:
case PRESERVE:
case PRINT:
case QUALIFY:
case QUERY_BAND:
case QUIT:
case QUOTED_IDENTIFIER:
case RAISE:
case RESIGNAL:
case RESTRICT:
case RESULT:
case RESULT_SET_LOCATOR:
case RETURN:
case REVERSE:
case ROW_COUNT:
case RR:
case RS:
case PWD:
case SECONDS:
case SECURITY:
case SEGMENT:
case SEL:
case SESSIONS:
case SHARE:
case SIGNAL:
case SIMPLE_DOUBLE:
case SIMPLE_FLOAT:
case SMALLDATETIME:
case SQL:
case SQLEXCEPTION:
case SQLINSERT:
case SQLSTATE:
case SQLWARNING:
case STATISTICS:
case STEP:
case STORED:
case SUBDIR:
case SUBSTRING:
case SUMMARY:
case SYS_REFCURSOR:
case TABLESPACE:
case TEXTIMAGE_ON:
case TITLE:
case TOP:
case UR:
case VAR:
case VARCHAR2:
case VARYING:
case VOLATILE:
case WHILE:
case WITHOUT:
case XML:
case YES:
case ACTIVITY_COUNT:
case CUME_DIST:
case DENSE_RANK:
case FIRST_VALUE:
case LAG:
case LAST_VALUE:
case LEAD:
case PART_COUNT:
case PART_LOC:
case RANK:
case ROW_NUMBER:
case STDEV:
case SYSDATE:
case VARIANCE:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEYS:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case SUBTRACT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
break;
default:
break;
}
setState(2368);
qident();
setState(2373);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,235,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2369);
match(SLASH);
setState(2370);
qident();
}
}
}
setState(2375);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,235,_ctx);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Date_literalContext extends ParserRuleContext {
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public StringContext string() {
return getRuleContext(StringContext.class,0);
}
public Date_literalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_date_literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDate_literal(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDate_literal(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDate_literal(this);
else return visitor.visitChildren(this);
}
}
public final Date_literalContext date_literal() throws RecognitionException {
Date_literalContext _localctx = new Date_literalContext(_ctx, getState());
enterRule(_localctx, 246, RULE_date_literal);
try {
enterOuterAlt(_localctx, 1);
{
setState(2378);
match(DATE);
setState(2379);
string();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Timestamp_literalContext extends ParserRuleContext {
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public StringContext string() {
return getRuleContext(StringContext.class,0);
}
public Timestamp_literalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_timestamp_literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTimestamp_literal(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTimestamp_literal(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTimestamp_literal(this);
else return visitor.visitChildren(this);
}
}
public final Timestamp_literalContext timestamp_literal() throws RecognitionException {
Timestamp_literalContext _localctx = new Timestamp_literalContext(_ctx, getState());
enterRule(_localctx, 248, RULE_timestamp_literal);
try {
enterOuterAlt(_localctx, 1);
{
setState(2381);
match(TIMESTAMP);
setState(2382);
string();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Ident_plContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public Non_reserved_wordsContext non_reserved_words() {
return getRuleContext(Non_reserved_wordsContext.class,0);
}
public NonReservedContext nonReserved() {
return getRuleContext(NonReservedContext.class,0);
}
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public Ident_plContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ident_pl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdent_pl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdent_pl(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdent_pl(this);
else return visitor.visitChildren(this);
}
}
public final Ident_plContext ident_pl() throws RecognitionException {
Ident_plContext _localctx = new Ident_plContext(_ctx, getState());
enterRule(_localctx, 250, RULE_ident_pl);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2385);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(2384);
match(SUBTRACT);
}
}
setState(2390);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,238,_ctx) ) {
case 1:
{
setState(2387);
match(IDENTIFIER);
}
break;
case 2:
{
setState(2388);
non_reserved_words();
}
break;
case 3:
{
setState(2389);
nonReserved();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QidentContext extends ParserRuleContext {
public List<Ident_plContext> ident_pl() {
return getRuleContexts(Ident_plContext.class);
}
public Ident_plContext ident_pl(int i) {
return getRuleContext(Ident_plContext.class,i);
}
public List<TerminalNode> DOT() { return getTokens(PLParser.DOT); }
public TerminalNode DOT(int i) {
return getToken(PLParser.DOT, i);
}
public QidentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_qident; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQident(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQident(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQident(this);
else return visitor.visitChildren(this);
}
}
public final QidentContext qident() throws RecognitionException {
QidentContext _localctx = new QidentContext(_ctx, getState());
enterRule(_localctx, 252, RULE_qident);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2392);
ident_pl();
setState(2397);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,239,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2393);
match(DOT);
setState(2394);
ident_pl();
}
}
}
setState(2399);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,239,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StringContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public StringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_string; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitString(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitString(this);
else return visitor.visitChildren(this);
}
}
public final StringContext string() throws RecognitionException {
StringContext _localctx = new StringContext(_ctx, getState());
enterRule(_localctx, 254, RULE_string);
try {
enterOuterAlt(_localctx, 1);
{
setState(2400);
match(STRING_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Int_numberContext extends ParserRuleContext {
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public TerminalNode PLUS() { return getToken(PLParser.PLUS, 0); }
public Int_numberContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_int_number; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInt_number(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInt_number(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInt_number(this);
else return visitor.visitChildren(this);
}
}
public final Int_numberContext int_number() throws RecognitionException {
Int_numberContext _localctx = new Int_numberContext(_ctx, getState());
enterRule(_localctx, 256, RULE_int_number);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2403);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PLUS || _la==SUBTRACT) {
{
setState(2402);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==SUBTRACT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2405);
match(INTEGER_VALUE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Dec_numberContext extends ParserRuleContext {
public TerminalNode DECIMAL_VALUE() { return getToken(PLParser.DECIMAL_VALUE, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public TerminalNode PLUS() { return getToken(PLParser.PLUS, 0); }
public Dec_numberContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dec_number; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDec_number(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDec_number(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDec_number(this);
else return visitor.visitChildren(this);
}
}
public final Dec_numberContext dec_number() throws RecognitionException {
Dec_numberContext _localctx = new Dec_numberContext(_ctx, getState());
enterRule(_localctx, 258, RULE_dec_number);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2408);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PLUS || _la==SUBTRACT) {
{
setState(2407);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==SUBTRACT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2410);
match(DECIMAL_VALUE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Bool_literalContext extends ParserRuleContext {
public TerminalNode TRUE() { return getToken(PLParser.TRUE, 0); }
public TerminalNode FALSE() { return getToken(PLParser.FALSE, 0); }
public Bool_literalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bool_literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBool_literal(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBool_literal(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBool_literal(this);
else return visitor.visitChildren(this);
}
}
public final Bool_literalContext bool_literal() throws RecognitionException {
Bool_literalContext _localctx = new Bool_literalContext(_ctx, getState());
enterRule(_localctx, 260, RULE_bool_literal);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2412);
_la = _input.LA(1);
if ( !(_la==FALSE || _la==TRUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Null_constContext extends ParserRuleContext {
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public Null_constContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_null_const; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNull_const(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNull_const(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNull_const(this);
else return visitor.visitChildren(this);
}
}
public final Null_constContext null_const() throws RecognitionException {
Null_constContext _localctx = new Null_constContext(_ctx, getState());
enterRule(_localctx, 262, RULE_null_const);
try {
enterOuterAlt(_localctx, 1);
{
setState(2414);
match(NULL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Non_reserved_wordsContext extends ParserRuleContext {
public TerminalNode ACTION() { return getToken(PLParser.ACTION, 0); }
public TerminalNode ACTIVITY_COUNT() { return getToken(PLParser.ACTIVITY_COUNT, 0); }
public TerminalNode ALLOCATE() { return getToken(PLParser.ALLOCATE, 0); }
public TerminalNode ANSI_NULLS() { return getToken(PLParser.ANSI_NULLS, 0); }
public TerminalNode ANSI_PADDING() { return getToken(PLParser.ANSI_PADDING, 0); }
public TerminalNode ASSOCIATE() { return getToken(PLParser.ASSOCIATE, 0); }
public TerminalNode AVG() { return getToken(PLParser.AVG, 0); }
public TerminalNode BATCHSIZE() { return getToken(PLParser.BATCHSIZE, 0); }
public TerminalNode BINARY_DOUBLE() { return getToken(PLParser.BINARY_DOUBLE, 0); }
public TerminalNode BINARY_FLOAT() { return getToken(PLParser.BINARY_FLOAT, 0); }
public TerminalNode BIT() { return getToken(PLParser.BIT, 0); }
public TerminalNode BODY() { return getToken(PLParser.BODY, 0); }
public TerminalNode BREAK() { return getToken(PLParser.BREAK, 0); }
public TerminalNode BYTE() { return getToken(PLParser.BYTE, 0); }
public TerminalNode CALLER() { return getToken(PLParser.CALLER, 0); }
public TerminalNode CASCADE() { return getToken(PLParser.CASCADE, 0); }
public TerminalNode CASESPECIFIC() { return getToken(PLParser.CASESPECIFIC, 0); }
public TerminalNode CLIENT() { return getToken(PLParser.CLIENT, 0); }
public TerminalNode CLOSE() { return getToken(PLParser.CLOSE, 0); }
public TerminalNode CLUSTERED() { return getToken(PLParser.CLUSTERED, 0); }
public TerminalNode CMP() { return getToken(PLParser.CMP, 0); }
public TerminalNode COLLECTION() { return getToken(PLParser.COLLECTION, 0); }
public TerminalNode COMPRESS() { return getToken(PLParser.COMPRESS, 0); }
public TerminalNode CONSTANT() { return getToken(PLParser.CONSTANT, 0); }
public TerminalNode CONCAT() { return getToken(PLParser.CONCAT, 0); }
public TerminalNode CONDITION() { return getToken(PLParser.CONDITION, 0); }
public TerminalNode COUNT_BIG() { return getToken(PLParser.COUNT_BIG, 0); }
public TerminalNode CREATOR() { return getToken(PLParser.CREATOR, 0); }
public TerminalNode CS() { return getToken(PLParser.CS, 0); }
public TerminalNode CUME_DIST() { return getToken(PLParser.CUME_DIST, 0); }
public TerminalNode CURRENT_DATE() { return getToken(PLParser.CURRENT_DATE, 0); }
public TerminalNode CURRENT_TIMESTAMP() { return getToken(PLParser.CURRENT_TIMESTAMP, 0); }
public TerminalNode CURRENT_USER() { return getToken(PLParser.CURRENT_USER, 0); }
public TerminalNode CURSOR() { return getToken(PLParser.CURSOR, 0); }
public TerminalNode DAYS() { return getToken(PLParser.DAYS, 0); }
public TerminalNode DEC() { return getToken(PLParser.DEC, 0); }
public TerminalNode DECLARE() { return getToken(PLParser.DECLARE, 0); }
public TerminalNode DEFINED() { return getToken(PLParser.DEFINED, 0); }
public TerminalNode DEFINER() { return getToken(PLParser.DEFINER, 0); }
public TerminalNode DEFINITION() { return getToken(PLParser.DEFINITION, 0); }
public TerminalNode DELIMITED() { return getToken(PLParser.DELIMITED, 0); }
public TerminalNode DELIMITER() { return getToken(PLParser.DELIMITER, 0); }
public TerminalNode DENSE_RANK() { return getToken(PLParser.DENSE_RANK, 0); }
public TerminalNode DIAGNOSTICS() { return getToken(PLParser.DIAGNOSTICS, 0); }
public TerminalNode DIR() { return getToken(PLParser.DIR, 0); }
public TerminalNode DIRECTORY() { return getToken(PLParser.DIRECTORY, 0); }
public TerminalNode DISTRIBUTE() { return getToken(PLParser.DISTRIBUTE, 0); }
public TerminalNode E() { return getToken(PLParser.E, 0); }
public TerminalNode ESCAPED() { return getToken(PLParser.ESCAPED, 0); }
public TerminalNode EXEC() { return getToken(PLParser.EXEC, 0); }
public TerminalNode EXCEPTION() { return getToken(PLParser.EXCEPTION, 0); }
public TerminalNode EXCLUSIVE() { return getToken(PLParser.EXCLUSIVE, 0); }
public TerminalNode EXIT() { return getToken(PLParser.EXIT, 0); }
public TerminalNode FALLBACK() { return getToken(PLParser.FALLBACK, 0); }
public TerminalNode FETCH() { return getToken(PLParser.FETCH, 0); }
public TerminalNode FILES() { return getToken(PLParser.FILES, 0); }
public TerminalNode FIRST_VALUE() { return getToken(PLParser.FIRST_VALUE, 0); }
public TerminalNode FOUND() { return getToken(PLParser.FOUND, 0); }
public TerminalNode GET() { return getToken(PLParser.GET, 0); }
public TerminalNode GO() { return getToken(PLParser.GO, 0); }
public TerminalNode HANDLER() { return getToken(PLParser.HANDLER, 0); }
public TerminalNode HOST() { return getToken(PLParser.HOST, 0); }
public TerminalNode IDENTITY() { return getToken(PLParser.IDENTITY, 0); }
public TerminalNode INCLUDE() { return getToken(PLParser.INCLUDE, 0); }
public TerminalNode INITRANS() { return getToken(PLParser.INITRANS, 0); }
public TerminalNode INOUT() { return getToken(PLParser.INOUT, 0); }
public TerminalNode INT2() { return getToken(PLParser.INT2, 0); }
public TerminalNode INT4() { return getToken(PLParser.INT4, 0); }
public TerminalNode INT8() { return getToken(PLParser.INT8, 0); }
public TerminalNode INVOKER() { return getToken(PLParser.INVOKER, 0); }
public TerminalNode ITEMS() { return getToken(PLParser.ITEMS, 0); }
public TerminalNode ISOPEN() { return getToken(PLParser.ISOPEN, 0); }
public TerminalNode KEEP() { return getToken(PLParser.KEEP, 0); }
public TerminalNode KEYS() { return getToken(PLParser.KEYS, 0); }
public TerminalNode LAG() { return getToken(PLParser.LAG, 0); }
public TerminalNode LANGUAGE() { return getToken(PLParser.LANGUAGE, 0); }
public TerminalNode LAST_VALUE() { return getToken(PLParser.LAST_VALUE, 0); }
public TerminalNode LEAD() { return getToken(PLParser.LEAD, 0); }
public TerminalNode LEAVE() { return getToken(PLParser.LEAVE, 0); }
public TerminalNode LOCATOR() { return getToken(PLParser.LOCATOR, 0); }
public TerminalNode LOCATORS() { return getToken(PLParser.LOCATORS, 0); }
public TerminalNode LOCKS() { return getToken(PLParser.LOCKS, 0); }
public TerminalNode LOG() { return getToken(PLParser.LOG, 0); }
public TerminalNode LOGGED() { return getToken(PLParser.LOGGED, 0); }
public TerminalNode LOGGING() { return getToken(PLParser.LOGGING, 0); }
public TerminalNode LOOP() { return getToken(PLParser.LOOP, 0); }
public TerminalNode MATCHED() { return getToken(PLParser.MATCHED, 0); }
public TerminalNode MAXTRANS() { return getToken(PLParser.MAXTRANS, 0); }
public TerminalNode MESSAGE_TEXT() { return getToken(PLParser.MESSAGE_TEXT, 0); }
public TerminalNode MICROSECOND() { return getToken(PLParser.MICROSECOND, 0); }
public TerminalNode MICROSECONDS() { return getToken(PLParser.MICROSECONDS, 0); }
public TerminalNode MULTISET() { return getToken(PLParser.MULTISET, 0); }
public TerminalNode NCHAR() { return getToken(PLParser.NCHAR, 0); }
public TerminalNode NEW() { return getToken(PLParser.NEW, 0); }
public TerminalNode NVARCHAR() { return getToken(PLParser.NVARCHAR, 0); }
public TerminalNode NOCOMPRESS() { return getToken(PLParser.NOCOMPRESS, 0); }
public TerminalNode NOCOUNT() { return getToken(PLParser.NOCOUNT, 0); }
public TerminalNode NOLOGGING() { return getToken(PLParser.NOLOGGING, 0); }
public TerminalNode NONE() { return getToken(PLParser.NONE, 0); }
public TerminalNode NOTFOUND() { return getToken(PLParser.NOTFOUND, 0); }
public TerminalNode NUMERIC() { return getToken(PLParser.NUMERIC, 0); }
public TerminalNode NUMBER() { return getToken(PLParser.NUMBER, 0); }
public TerminalNode OBJECT() { return getToken(PLParser.OBJECT, 0); }
public TerminalNode OFF() { return getToken(PLParser.OFF, 0); }
public TerminalNode OUT() { return getToken(PLParser.OUT, 0); }
public TerminalNode OWNER() { return getToken(PLParser.OWNER, 0); }
public TerminalNode PACKAGE() { return getToken(PLParser.PACKAGE, 0); }
public TerminalNode PART_COUNT() { return getToken(PLParser.PART_COUNT, 0); }
public TerminalNode PART_LOC() { return getToken(PLParser.PART_LOC, 0); }
public TerminalNode PCTFREE() { return getToken(PLParser.PCTFREE, 0); }
public TerminalNode PCTUSED() { return getToken(PLParser.PCTUSED, 0); }
public TerminalNode PI() { return getToken(PLParser.PI, 0); }
public TerminalNode PRECISION() { return getToken(PLParser.PRECISION, 0); }
public TerminalNode PRESERVE() { return getToken(PLParser.PRESERVE, 0); }
public TerminalNode PRINT() { return getToken(PLParser.PRINT, 0); }
public TerminalNode PWD() { return getToken(PLParser.PWD, 0); }
public TerminalNode QUALIFY() { return getToken(PLParser.QUALIFY, 0); }
public TerminalNode QUERY_BAND() { return getToken(PLParser.QUERY_BAND, 0); }
public TerminalNode QUIT() { return getToken(PLParser.QUIT, 0); }
public TerminalNode QUOTED_IDENTIFIER() { return getToken(PLParser.QUOTED_IDENTIFIER, 0); }
public TerminalNode RAISE() { return getToken(PLParser.RAISE, 0); }
public TerminalNode RANK() { return getToken(PLParser.RANK, 0); }
public TerminalNode RR() { return getToken(PLParser.RR, 0); }
public TerminalNode RESIGNAL() { return getToken(PLParser.RESIGNAL, 0); }
public TerminalNode RESTRICT() { return getToken(PLParser.RESTRICT, 0); }
public TerminalNode RESULT() { return getToken(PLParser.RESULT, 0); }
public TerminalNode RESULT_SET_LOCATOR() { return getToken(PLParser.RESULT_SET_LOCATOR, 0); }
public TerminalNode RETURN() { return getToken(PLParser.RETURN, 0); }
public TerminalNode REVERSE() { return getToken(PLParser.REVERSE, 0); }
public TerminalNode RS() { return getToken(PLParser.RS, 0); }
public TerminalNode ROW_COUNT() { return getToken(PLParser.ROW_COUNT, 0); }
public TerminalNode ROW_NUMBER() { return getToken(PLParser.ROW_NUMBER, 0); }
public TerminalNode SECONDS() { return getToken(PLParser.SECONDS, 0); }
public TerminalNode SECURITY() { return getToken(PLParser.SECURITY, 0); }
public TerminalNode SEGMENT() { return getToken(PLParser.SEGMENT, 0); }
public TerminalNode SEL() { return getToken(PLParser.SEL, 0); }
public TerminalNode SESSIONS() { return getToken(PLParser.SESSIONS, 0); }
public TerminalNode SHARE() { return getToken(PLParser.SHARE, 0); }
public TerminalNode SIGNAL() { return getToken(PLParser.SIGNAL, 0); }
public TerminalNode SIMPLE_DOUBLE() { return getToken(PLParser.SIMPLE_DOUBLE, 0); }
public TerminalNode SIMPLE_FLOAT() { return getToken(PLParser.SIMPLE_FLOAT, 0); }
public TerminalNode SMALLDATETIME() { return getToken(PLParser.SMALLDATETIME, 0); }
public TerminalNode SQL() { return getToken(PLParser.SQL, 0); }
public TerminalNode SQLEXCEPTION() { return getToken(PLParser.SQLEXCEPTION, 0); }
public TerminalNode SQLINSERT() { return getToken(PLParser.SQLINSERT, 0); }
public TerminalNode SQLSTATE() { return getToken(PLParser.SQLSTATE, 0); }
public TerminalNode SQLWARNING() { return getToken(PLParser.SQLWARNING, 0); }
public TerminalNode STATISTICS() { return getToken(PLParser.STATISTICS, 0); }
public TerminalNode STEP() { return getToken(PLParser.STEP, 0); }
public TerminalNode STDEV() { return getToken(PLParser.STDEV, 0); }
public TerminalNode STORED() { return getToken(PLParser.STORED, 0); }
public TerminalNode SUBDIR() { return getToken(PLParser.SUBDIR, 0); }
public TerminalNode SUBSTRING() { return getToken(PLParser.SUBSTRING, 0); }
public TerminalNode SUMMARY() { return getToken(PLParser.SUMMARY, 0); }
public TerminalNode SYSDATE() { return getToken(PLParser.SYSDATE, 0); }
public TerminalNode SYS_REFCURSOR() { return getToken(PLParser.SYS_REFCURSOR, 0); }
public TerminalNode TABLESPACE() { return getToken(PLParser.TABLESPACE, 0); }
public TerminalNode TEXTIMAGE_ON() { return getToken(PLParser.TEXTIMAGE_ON, 0); }
public TerminalNode TITLE() { return getToken(PLParser.TITLE, 0); }
public TerminalNode TOP() { return getToken(PLParser.TOP, 0); }
public TerminalNode UR() { return getToken(PLParser.UR, 0); }
public TerminalNode VAR() { return getToken(PLParser.VAR, 0); }
public TerminalNode VARCHAR2() { return getToken(PLParser.VARCHAR2, 0); }
public TerminalNode VARYING() { return getToken(PLParser.VARYING, 0); }
public TerminalNode VARIANCE() { return getToken(PLParser.VARIANCE, 0); }
public TerminalNode VOLATILE() { return getToken(PLParser.VOLATILE, 0); }
public TerminalNode WHILE() { return getToken(PLParser.WHILE, 0); }
public TerminalNode WITHOUT() { return getToken(PLParser.WITHOUT, 0); }
public TerminalNode XML() { return getToken(PLParser.XML, 0); }
public TerminalNode YES() { return getToken(PLParser.YES, 0); }
public Non_reserved_wordsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_non_reserved_words; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNon_reserved_words(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNon_reserved_words(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNon_reserved_words(this);
else return visitor.visitChildren(this);
}
}
public final Non_reserved_wordsContext non_reserved_words() throws RecognitionException {
Non_reserved_wordsContext _localctx = new Non_reserved_wordsContext(_ctx, getState());
enterRule(_localctx, 264, RULE_non_reserved_words);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2416);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & -105555397968898L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -18014948265295873L) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & 4468964474224623L) != 0) || ((((_la - 286)) & ~0x3f) == 0 && ((1L << (_la - 286)) & 17592186044429L) != 0) || _la==KEYS || _la==PI) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MultiStatementsContext extends ParserRuleContext {
public TerminalNode EOF() { return getToken(PLParser.EOF, 0); }
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public List<StatementContext> statement() {
return getRuleContexts(StatementContext.class);
}
public StatementContext statement(int i) {
return getRuleContext(StatementContext.class,i);
}
public MultiStatementsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_multiStatements; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMultiStatements(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMultiStatements(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMultiStatements(this);
else return visitor.visitChildren(this);
}
}
public final MultiStatementsContext multiStatements() throws RecognitionException {
MultiStatementsContext _localctx = new MultiStatementsContext(_ctx, getState());
enterRule(_localctx, 266, RULE_multiStatements);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2421);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,242,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2418);
match(SEMICOLON);
}
}
}
setState(2423);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,242,_ctx);
}
setState(2425);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & 3476779015410819073L) != 0) || ((((_la - 252)) & ~0x3f) == 0 && ((1L << (_la - 252)) & 234187180791038977L) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & 18014398559813633L) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & -8935137262655766527L) != 0) || ((((_la - 512)) & ~0x3f) == 0 && ((1L << (_la - 512)) & 4706279374586904705L) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & 4683743618916680225L) != 0) || ((((_la - 651)) & ~0x3f) == 0 && ((1L << (_la - 651)) & 136315955L) != 0)) {
{
setState(2424);
statement();
}
}
setState(2435);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,245,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2428);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(2427);
match(SEMICOLON);
}
}
setState(2430);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==SEMICOLON );
setState(2432);
statement();
}
}
}
setState(2437);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,245,_ctx);
}
setState(2441);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==SEMICOLON) {
{
{
setState(2438);
match(SEMICOLON);
}
}
setState(2443);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2444);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SingleStatementContext extends ParserRuleContext {
public TerminalNode EOF() { return getToken(PLParser.EOF, 0); }
public List<TerminalNode> SEMICOLON() { return getTokens(PLParser.SEMICOLON); }
public TerminalNode SEMICOLON(int i) {
return getToken(PLParser.SEMICOLON, i);
}
public StatementContext statement() {
return getRuleContext(StatementContext.class,0);
}
public SingleStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSingleStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSingleStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSingleStatement(this);
else return visitor.visitChildren(this);
}
}
public final SingleStatementContext singleStatement() throws RecognitionException {
SingleStatementContext _localctx = new SingleStatementContext(_ctx, getState());
enterRule(_localctx, 268, RULE_singleStatement);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2449);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,247,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2446);
match(SEMICOLON);
}
}
}
setState(2451);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,247,_ctx);
}
setState(2453);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & 3476779015410819073L) != 0) || ((((_la - 252)) & ~0x3f) == 0 && ((1L << (_la - 252)) & 234187180791038977L) != 0) || ((((_la - 324)) & ~0x3f) == 0 && ((1L << (_la - 324)) & 18014398559813633L) != 0) || ((((_la - 388)) & ~0x3f) == 0 && ((1L << (_la - 388)) & -8935137262655766527L) != 0) || ((((_la - 512)) & ~0x3f) == 0 && ((1L << (_la - 512)) & 4706279374586904705L) != 0) || ((((_la - 586)) & ~0x3f) == 0 && ((1L << (_la - 586)) & 4683743618916680225L) != 0) || ((((_la - 651)) & ~0x3f) == 0 && ((1L << (_la - 651)) & 136315955L) != 0)) {
{
setState(2452);
statement();
}
}
setState(2458);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==SEMICOLON) {
{
{
setState(2455);
match(SEMICOLON);
}
}
setState(2460);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2461);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StatementContext extends ParserRuleContext {
public StatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_statement; }
public StatementContext() { }
public void copyFrom(StatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateProcedureContext extends StatementContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateProcedureContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateProcedure(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateProcedure(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateProcedure(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StatementBaseAliasContext extends StatementContext {
public StatementBaseContext statementBase() {
return getRuleContext(StatementBaseContext.class,0);
}
public StatementBaseAliasContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStatementBaseAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStatementBaseAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStatementBaseAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowProcedureStatusContext extends StatementContext {
public ValueExpressionContext pattern;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public ShowProcedureStatusContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowProcedureStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowProcedureStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowProcedureStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateProcedureContext extends StatementContext {
public MultipartIdentifierContext name;
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public CreateProcedureContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateProcedure(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateProcedure(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateProcedure(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowConfigContext extends StatementContext {
public Token type;
public ValueExpressionContext pattern;
public Token backendId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CONFIG() { return getToken(PLParser.CONFIG, 0); }
public TerminalNode FRONTEND() { return getToken(PLParser.FRONTEND, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowConfigContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowConfig(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowConfig(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowConfig(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CallProcedureContext extends StatementContext {
public MultipartIdentifierContext name;
public TerminalNode CALL() { return getToken(PLParser.CALL, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CallProcedureContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCallProcedure(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCallProcedure(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCallProcedure(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropProcedureContext extends StatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode PROCEDURE() { return getToken(PLParser.PROCEDURE, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropProcedureContext(StatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropProcedure(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropProcedure(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropProcedure(this);
else return visitor.visitChildren(this);
}
}
public final StatementContext statement() throws RecognitionException {
StatementContext _localctx = new StatementContext(_ctx, getState());
enterRule(_localctx, 270, RULE_statement);
int _la;
try {
int _alt;
setState(2537);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,261,_ctx) ) {
case 1:
_localctx = new StatementBaseAliasContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2463);
statementBase();
}
break;
case 2:
_localctx = new CallProcedureContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2464);
match(CALL);
setState(2465);
((CallProcedureContext)_localctx).name = multipartIdentifier();
setState(2466);
match(LEFT_PAREN);
setState(2475);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(2467);
expression();
setState(2472);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2468);
match(COMMA);
setState(2469);
expression();
}
}
setState(2474);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(2477);
match(RIGHT_PAREN);
}
break;
case 3:
_localctx = new CreateProcedureContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2486);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALTER:
{
setState(2479);
match(ALTER);
}
break;
case CREATE:
{
setState(2480);
match(CREATE);
setState(2483);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(2481);
match(OR);
setState(2482);
match(REPLACE);
}
}
}
break;
case REPLACE:
{
setState(2485);
match(REPLACE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(2488);
_la = _input.LA(1);
if ( !(_la==PROC || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2489);
((CreateProcedureContext)_localctx).name = multipartIdentifier();
setState(2490);
match(LEFT_PAREN);
setState(2494);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,254,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(2491);
matchWildcard();
}
}
}
setState(2496);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,254,_ctx);
}
setState(2497);
match(RIGHT_PAREN);
setState(2501);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,255,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(2498);
matchWildcard();
}
}
}
setState(2503);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,255,_ctx);
}
}
break;
case 4:
_localctx = new DropProcedureContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(2504);
match(DROP);
setState(2505);
_la = _input.LA(1);
if ( !(_la==PROC || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2508);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2506);
match(IF);
setState(2507);
match(EXISTS);
}
}
setState(2510);
((DropProcedureContext)_localctx).name = multipartIdentifier();
}
break;
case 5:
_localctx = new ShowProcedureStatusContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(2511);
match(SHOW);
setState(2512);
_la = _input.LA(1);
if ( !(_la==FUNCTION || _la==PROCEDURE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2513);
match(STATUS);
setState(2517);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LIKE:
{
setState(2514);
match(LIKE);
setState(2515);
((ShowProcedureStatusContext)_localctx).pattern = valueExpression(0);
}
break;
case WHERE:
{
setState(2516);
whereClause();
}
break;
case EOF:
case SEMICOLON:
break;
default:
break;
}
}
break;
case 6:
_localctx = new ShowCreateProcedureContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(2519);
match(SHOW);
setState(2520);
match(CREATE);
setState(2521);
match(PROCEDURE);
setState(2522);
((ShowCreateProcedureContext)_localctx).name = multipartIdentifier();
}
break;
case 7:
_localctx = new ShowConfigContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(2524);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ADMIN) {
{
setState(2523);
match(ADMIN);
}
}
setState(2526);
match(SHOW);
setState(2527);
((ShowConfigContext)_localctx).type = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==BACKEND || _la==FRONTEND) ) {
((ShowConfigContext)_localctx).type = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2528);
match(CONFIG);
setState(2531);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LIKE) {
{
setState(2529);
match(LIKE);
setState(2530);
((ShowConfigContext)_localctx).pattern = valueExpression(0);
}
}
setState(2535);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM) {
{
setState(2533);
match(FROM);
setState(2534);
((ShowConfigContext)_localctx).backendId = match(INTEGER_VALUE);
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StatementBaseContext extends ParserRuleContext {
public StatementBaseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_statementBase; }
public StatementBaseContext() { }
public void copyFrom(StatementBaseContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedSetStatementAliasContext extends StatementBaseContext {
public SupportedSetStatementContext supportedSetStatement() {
return getRuleContext(SupportedSetStatementContext.class,0);
}
public SupportedSetStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedSetStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedSetStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedSetStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ConstraintStatementAliasContext extends StatementBaseContext {
public ConstraintStatementContext constraintStatement() {
return getRuleContext(ConstraintStatementContext.class,0);
}
public ConstraintStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterConstraintStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitConstraintStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitConstraintStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedKillStatementAliasContext extends StatementBaseContext {
public SupportedKillStatementContext supportedKillStatement() {
return getRuleContext(SupportedKillStatementContext.class,0);
}
public SupportedKillStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedKillStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedKillStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedKillStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedRecoverStatementAliasContext extends StatementBaseContext {
public SupportedRecoverStatementContext supportedRecoverStatement() {
return getRuleContext(SupportedRecoverStatementContext.class,0);
}
public SupportedRecoverStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedRecoverStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedRecoverStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedRecoverStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedJobStatementAliasContext extends StatementBaseContext {
public SupportedJobStatementContext supportedJobStatement() {
return getRuleContext(SupportedJobStatementContext.class,0);
}
public SupportedJobStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedJobStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedJobStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedJobStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedContext extends StatementBaseContext {
public UnsupportedStatementContext unsupportedStatement() {
return getRuleContext(UnsupportedStatementContext.class,0);
}
public UnsupportedContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnsupported(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnsupported(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnsupported(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StatementDefaultContext extends StatementBaseContext {
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public ExplainContext explain() {
return getRuleContext(ExplainContext.class,0);
}
public OutFileClauseContext outFileClause() {
return getRuleContext(OutFileClauseContext.class,0);
}
public StatementDefaultContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStatementDefault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStatementDefault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStatementDefault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedAdminStatementAliasContext extends StatementBaseContext {
public SupportedAdminStatementContext supportedAdminStatement() {
return getRuleContext(SupportedAdminStatementContext.class,0);
}
public SupportedAdminStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedAdminStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedAdminStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedAdminStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedStatsStatementAliasContext extends StatementBaseContext {
public SupportedStatsStatementContext supportedStatsStatement() {
return getRuleContext(SupportedStatsStatementContext.class,0);
}
public SupportedStatsStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedStatsStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedStatsStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedStatsStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDescribeStatementAliasContext extends StatementBaseContext {
public SupportedDescribeStatementContext supportedDescribeStatement() {
return getRuleContext(SupportedDescribeStatementContext.class,0);
}
public SupportedDescribeStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedDescribeStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedDescribeStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedDescribeStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCancelStatementAliasContext extends StatementBaseContext {
public SupportedCancelStatementContext supportedCancelStatement() {
return getRuleContext(SupportedCancelStatementContext.class,0);
}
public SupportedCancelStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedCancelStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedCancelStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedCancelStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedOtherStatementAliasContext extends StatementBaseContext {
public SupportedOtherStatementContext supportedOtherStatement() {
return getRuleContext(SupportedOtherStatementContext.class,0);
}
public SupportedOtherStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedOtherStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedOtherStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedOtherStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDmlStatementAliasContext extends StatementBaseContext {
public SupportedDmlStatementContext supportedDmlStatement() {
return getRuleContext(SupportedDmlStatementContext.class,0);
}
public SupportedDmlStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedDmlStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedDmlStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedDmlStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedLoadStatementAliasContext extends StatementBaseContext {
public SupportedLoadStatementContext supportedLoadStatement() {
return getRuleContext(SupportedLoadStatementContext.class,0);
}
public SupportedLoadStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedLoadStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedLoadStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedLoadStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedTransactionStatementAliasContext extends StatementBaseContext {
public SupportedTransactionStatementContext supportedTransactionStatement() {
return getRuleContext(SupportedTransactionStatementContext.class,0);
}
public SupportedTransactionStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedTransactionStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedTransactionStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedTransactionStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedGrantRevokeStatementAliasContext extends StatementBaseContext {
public SupportedGrantRevokeStatementContext supportedGrantRevokeStatement() {
return getRuleContext(SupportedGrantRevokeStatementContext.class,0);
}
public SupportedGrantRevokeStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedGrantRevokeStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedGrantRevokeStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedGrantRevokeStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedAlterStatementAliasContext extends StatementBaseContext {
public SupportedAlterStatementContext supportedAlterStatement() {
return getRuleContext(SupportedAlterStatementContext.class,0);
}
public SupportedAlterStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedAlterStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedAlterStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedAlterStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCleanStatementAliasContext extends StatementBaseContext {
public SupportedCleanStatementContext supportedCleanStatement() {
return getRuleContext(SupportedCleanStatementContext.class,0);
}
public SupportedCleanStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedCleanStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedCleanStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedCleanStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedUnsetStatementAliasContext extends StatementBaseContext {
public SupportedUnsetStatementContext supportedUnsetStatement() {
return getRuleContext(SupportedUnsetStatementContext.class,0);
}
public SupportedUnsetStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedUnsetStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedUnsetStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedUnsetStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedUseStatementAliasContext extends StatementBaseContext {
public SupportedUseStatementContext supportedUseStatement() {
return getRuleContext(SupportedUseStatementContext.class,0);
}
public SupportedUseStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedUseStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedUseStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedUseStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class MaterializedViewStatementAliasContext extends StatementBaseContext {
public MaterializedViewStatementContext materializedViewStatement() {
return getRuleContext(MaterializedViewStatementContext.class,0);
}
public MaterializedViewStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMaterializedViewStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMaterializedViewStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMaterializedViewStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDropStatementAliasContext extends StatementBaseContext {
public SupportedDropStatementContext supportedDropStatement() {
return getRuleContext(SupportedDropStatementContext.class,0);
}
public SupportedDropStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedDropStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedDropStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedDropStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCreateStatementAliasContext extends StatementBaseContext {
public SupportedCreateStatementContext supportedCreateStatement() {
return getRuleContext(SupportedCreateStatementContext.class,0);
}
public SupportedCreateStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedCreateStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedCreateStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedCreateStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedShowStatementAliasContext extends StatementBaseContext {
public SupportedShowStatementContext supportedShowStatement() {
return getRuleContext(SupportedShowStatementContext.class,0);
}
public SupportedShowStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedShowStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedShowStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedShowStatementAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedRefreshStatementAliasContext extends StatementBaseContext {
public SupportedRefreshStatementContext supportedRefreshStatement() {
return getRuleContext(SupportedRefreshStatementContext.class,0);
}
public SupportedRefreshStatementAliasContext(StatementBaseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedRefreshStatementAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedRefreshStatementAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedRefreshStatementAlias(this);
else return visitor.visitChildren(this);
}
}
public final StatementBaseContext statementBase() throws RecognitionException {
StatementBaseContext _localctx = new StatementBaseContext(_ctx, getState());
enterRule(_localctx, 272, RULE_statementBase);
int _la;
try {
setState(2570);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,264,_ctx) ) {
case 1:
_localctx = new StatementDefaultContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2540);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & 1099511627779L) != 0)) {
{
setState(2539);
explain();
}
}
setState(2542);
query();
setState(2544);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,263,_ctx) ) {
case 1:
{
setState(2543);
outFileClause();
}
break;
}
}
break;
case 2:
_localctx = new SupportedDmlStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2546);
supportedDmlStatement();
}
break;
case 3:
_localctx = new SupportedCreateStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2547);
supportedCreateStatement();
}
break;
case 4:
_localctx = new SupportedAlterStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(2548);
supportedAlterStatement();
}
break;
case 5:
_localctx = new MaterializedViewStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(2549);
materializedViewStatement();
}
break;
case 6:
_localctx = new SupportedJobStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(2550);
supportedJobStatement();
}
break;
case 7:
_localctx = new ConstraintStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(2551);
constraintStatement();
}
break;
case 8:
_localctx = new SupportedCleanStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(2552);
supportedCleanStatement();
}
break;
case 9:
_localctx = new SupportedDescribeStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(2553);
supportedDescribeStatement();
}
break;
case 10:
_localctx = new SupportedDropStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(2554);
supportedDropStatement();
}
break;
case 11:
_localctx = new SupportedSetStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(2555);
supportedSetStatement();
}
break;
case 12:
_localctx = new SupportedUnsetStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(2556);
supportedUnsetStatement();
}
break;
case 13:
_localctx = new SupportedRefreshStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(2557);
supportedRefreshStatement();
}
break;
case 14:
_localctx = new SupportedShowStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(2558);
supportedShowStatement();
}
break;
case 15:
_localctx = new SupportedLoadStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(2559);
supportedLoadStatement();
}
break;
case 16:
_localctx = new SupportedCancelStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(2560);
supportedCancelStatement();
}
break;
case 17:
_localctx = new SupportedRecoverStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(2561);
supportedRecoverStatement();
}
break;
case 18:
_localctx = new SupportedAdminStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(2562);
supportedAdminStatement();
}
break;
case 19:
_localctx = new SupportedUseStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(2563);
supportedUseStatement();
}
break;
case 20:
_localctx = new SupportedOtherStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(2564);
supportedOtherStatement();
}
break;
case 21:
_localctx = new SupportedKillStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 21);
{
setState(2565);
supportedKillStatement();
}
break;
case 22:
_localctx = new SupportedStatsStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 22);
{
setState(2566);
supportedStatsStatement();
}
break;
case 23:
_localctx = new SupportedTransactionStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 23);
{
setState(2567);
supportedTransactionStatement();
}
break;
case 24:
_localctx = new SupportedGrantRevokeStatementAliasContext(_localctx);
enterOuterAlt(_localctx, 24);
{
setState(2568);
supportedGrantRevokeStatement();
}
break;
case 25:
_localctx = new UnsupportedContext(_localctx);
enterOuterAlt(_localctx, 25);
{
setState(2569);
unsupportedStatement();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedStatementContext extends ParserRuleContext {
public UnsupportedUseStatementContext unsupportedUseStatement() {
return getRuleContext(UnsupportedUseStatementContext.class,0);
}
public UnsupportedStatsStatementContext unsupportedStatsStatement() {
return getRuleContext(UnsupportedStatsStatementContext.class,0);
}
public UnsupportedAlterStatementContext unsupportedAlterStatement() {
return getRuleContext(UnsupportedAlterStatementContext.class,0);
}
public UnsupportedAdminStatementContext unsupportedAdminStatement() {
return getRuleContext(UnsupportedAdminStatementContext.class,0);
}
public UnsupportedCancelStatementContext unsupportedCancelStatement() {
return getRuleContext(UnsupportedCancelStatementContext.class,0);
}
public UnsupportedRefreshStatementContext unsupportedRefreshStatement() {
return getRuleContext(UnsupportedRefreshStatementContext.class,0);
}
public UnsupportedLoadStatementContext unsupportedLoadStatement() {
return getRuleContext(UnsupportedLoadStatementContext.class,0);
}
public UnsupportedShowStatementContext unsupportedShowStatement() {
return getRuleContext(UnsupportedShowStatementContext.class,0);
}
public UnsupportedOtherStatementContext unsupportedOtherStatement() {
return getRuleContext(UnsupportedOtherStatementContext.class,0);
}
public UnsupportedStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnsupportedStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnsupportedStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnsupportedStatement(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedStatementContext unsupportedStatement() throws RecognitionException {
UnsupportedStatementContext _localctx = new UnsupportedStatementContext(_ctx, getState());
enterRule(_localctx, 274, RULE_unsupportedStatement);
try {
setState(2581);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,265,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2572);
unsupportedUseStatement();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2573);
unsupportedStatsStatement();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(2574);
unsupportedAlterStatement();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(2575);
unsupportedAdminStatement();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(2576);
unsupportedCancelStatement();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(2577);
unsupportedRefreshStatement();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(2578);
unsupportedLoadStatement();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(2579);
unsupportedShowStatement();
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(2580);
unsupportedOtherStatement();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MaterializedViewStatementContext extends ParserRuleContext {
public MaterializedViewStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_materializedViewStatement; }
public MaterializedViewStatementContext() { }
public void copyFrom(MaterializedViewStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public TerminalNode COMPLETE() { return getToken(PLParser.COMPLETE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public RefreshMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public IdentifierContext newName;
public PropertyItemListContext fileProperties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public List<TerminalNode> MATERIALIZED() { return getTokens(PLParser.MATERIALIZED); }
public TerminalNode MATERIALIZED(int i) {
return getToken(PLParser.MATERIALIZED, i);
}
public List<TerminalNode> VIEW() { return getTokens(PLParser.VIEW); }
public TerminalNode VIEW(int i) {
return getToken(PLParser.VIEW, i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public RefreshMethodContext refreshMethod() {
return getRuleContext(RefreshMethodContext.class,0);
}
public RefreshTriggerContext refreshTrigger() {
return getRuleContext(RefreshTriggerContext.class,0);
}
public AlterMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public SimpleColumnDefsContext cols;
public IdentifierListContext keys;
public IdentifierListContext hashKeys;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public BuildModeContext buildMode() {
return getRuleContext(BuildModeContext.class,0);
}
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public List<TerminalNode> BY() { return getTokens(PLParser.BY); }
public TerminalNode BY(int i) {
return getToken(PLParser.BY, i);
}
public MvPartitionContext mvPartition() {
return getRuleContext(MvPartitionContext.class,0);
}
public TerminalNode DISTRIBUTED() { return getToken(PLParser.DISTRIBUTED, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public SimpleColumnDefsContext simpleColumnDefs() {
return getRuleContext(SimpleColumnDefsContext.class,0);
}
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public TerminalNode HASH() { return getToken(PLParser.HASH, 0); }
public TerminalNode RANDOM() { return getToken(PLParser.RANDOM, 0); }
public RefreshMethodContext refreshMethod() {
return getRuleContext(RefreshMethodContext.class,0);
}
public RefreshTriggerContext refreshTrigger() {
return getRuleContext(RefreshTriggerContext.class,0);
}
public TerminalNode DUPLICATE() { return getToken(PLParser.DUPLICATE, 0); }
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public CreateMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ResumeMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ResumeMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResumeMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResumeMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResumeMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelMTMVTaskContext extends MaterializedViewStatementContext {
public Token taskId;
public MultipartIdentifierContext mvName;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode TASK() { return getToken(PLParser.TASK, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public CancelMTMVTaskContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelMTMVTask(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelMTMVTask(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelMTMVTask(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PauseMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PauseMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPauseMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPauseMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPauseMTMV(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropMTMVContext extends MaterializedViewStatementContext {
public MultipartIdentifierContext mvName;
public MultipartIdentifierContext tableName;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public DropMTMVContext(MaterializedViewStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropMTMV(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropMTMV(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropMTMV(this);
else return visitor.visitChildren(this);
}
}
public final MaterializedViewStatementContext materializedViewStatement() throws RecognitionException {
MaterializedViewStatementContext _localctx = new MaterializedViewStatementContext(_ctx, getState());
enterRule(_localctx, 276, RULE_materializedViewStatement);
int _la;
try {
setState(2722);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CREATE:
_localctx = new CreateMTMVContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2583);
match(CREATE);
setState(2584);
match(MATERIALIZED);
setState(2585);
match(VIEW);
setState(2589);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2586);
match(IF);
setState(2587);
match(NOT);
setState(2588);
match(EXISTS);
}
}
setState(2591);
((CreateMTMVContext)_localctx).mvName = multipartIdentifier();
setState(2596);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(2592);
match(LEFT_PAREN);
setState(2593);
((CreateMTMVContext)_localctx).cols = simpleColumnDefs();
setState(2594);
match(RIGHT_PAREN);
}
}
setState(2599);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BUILD) {
{
setState(2598);
buildMode();
}
}
setState(2608);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==REFRESH) {
{
setState(2601);
match(REFRESH);
setState(2603);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AUTO || _la==COMPLETE) {
{
setState(2602);
refreshMethod();
}
}
setState(2606);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(2605);
refreshTrigger();
}
}
}
}
setState(2615);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DUPLICATE || _la==KEY) {
{
setState(2611);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DUPLICATE) {
{
setState(2610);
match(DUPLICATE);
}
}
setState(2613);
match(KEY);
setState(2614);
((CreateMTMVContext)_localctx).keys = identifierList();
}
}
setState(2619);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(2617);
match(COMMENT);
setState(2618);
match(STRING_LITERAL);
}
}
setState(2627);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(2621);
match(PARTITION);
setState(2622);
match(BY);
setState(2623);
match(LEFT_PAREN);
setState(2624);
mvPartition();
setState(2625);
match(RIGHT_PAREN);
}
}
setState(2640);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DISTRIBUTED) {
{
setState(2629);
match(DISTRIBUTED);
setState(2630);
match(BY);
setState(2634);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HASH:
{
setState(2631);
match(HASH);
setState(2632);
((CreateMTMVContext)_localctx).hashKeys = identifierList();
}
break;
case RANDOM:
{
setState(2633);
match(RANDOM);
}
break;
default:
throw new NoViableAltException(this);
}
setState(2638);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BUCKETS) {
{
setState(2636);
match(BUCKETS);
setState(2637);
_la = _input.LA(1);
if ( !(_la==AUTO || _la==INTEGER_VALUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
}
setState(2643);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROPERTIES) {
{
setState(2642);
propertyClause();
}
}
setState(2645);
match(AS);
setState(2646);
query();
}
break;
case REFRESH:
_localctx = new RefreshMTMVContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2648);
match(REFRESH);
setState(2649);
match(MATERIALIZED);
setState(2650);
match(VIEW);
setState(2651);
((RefreshMTMVContext)_localctx).mvName = multipartIdentifier();
setState(2655);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PARTITION:
case PARTITIONS:
case TEMPORARY:
{
setState(2652);
partitionSpec();
}
break;
case COMPLETE:
{
setState(2653);
match(COMPLETE);
}
break;
case AUTO:
{
setState(2654);
match(AUTO);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case ALTER:
_localctx = new AlterMTMVContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2657);
match(ALTER);
setState(2658);
match(MATERIALIZED);
setState(2659);
match(VIEW);
setState(2660);
((AlterMTMVContext)_localctx).mvName = multipartIdentifier();
setState(2684);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RENAME:
{
{
setState(2661);
match(RENAME);
setState(2662);
((AlterMTMVContext)_localctx).newName = identifier();
}
}
break;
case REFRESH:
{
{
setState(2663);
match(REFRESH);
setState(2669);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) {
case 1:
{
setState(2664);
refreshMethod();
}
break;
case 2:
{
setState(2665);
refreshTrigger();
}
break;
case 3:
{
setState(2666);
refreshMethod();
setState(2667);
refreshTrigger();
}
break;
}
}
}
break;
case REPLACE:
{
setState(2671);
match(REPLACE);
setState(2672);
match(WITH);
setState(2673);
match(MATERIALIZED);
setState(2674);
match(VIEW);
setState(2675);
((AlterMTMVContext)_localctx).newName = identifier();
setState(2677);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,282,_ctx) ) {
case 1:
{
setState(2676);
propertyClause();
}
break;
}
}
break;
case SET:
{
{
setState(2679);
match(SET);
setState(2680);
match(LEFT_PAREN);
setState(2681);
((AlterMTMVContext)_localctx).fileProperties = propertyItemList();
setState(2682);
match(RIGHT_PAREN);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case DROP:
_localctx = new DropMTMVContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(2686);
match(DROP);
setState(2687);
match(MATERIALIZED);
setState(2688);
match(VIEW);
setState(2691);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2689);
match(IF);
setState(2690);
match(EXISTS);
}
}
setState(2693);
((DropMTMVContext)_localctx).mvName = multipartIdentifier();
setState(2696);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,285,_ctx) ) {
case 1:
{
setState(2694);
match(ON);
setState(2695);
((DropMTMVContext)_localctx).tableName = multipartIdentifier();
}
break;
}
}
break;
case PAUSE:
_localctx = new PauseMTMVContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(2698);
match(PAUSE);
setState(2699);
match(MATERIALIZED);
setState(2700);
match(VIEW);
setState(2701);
match(JOB);
setState(2702);
match(ON);
setState(2703);
((PauseMTMVContext)_localctx).mvName = multipartIdentifier();
}
break;
case RESUME:
_localctx = new ResumeMTMVContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(2704);
match(RESUME);
setState(2705);
match(MATERIALIZED);
setState(2706);
match(VIEW);
setState(2707);
match(JOB);
setState(2708);
match(ON);
setState(2709);
((ResumeMTMVContext)_localctx).mvName = multipartIdentifier();
}
break;
case CANCEL:
_localctx = new CancelMTMVTaskContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(2710);
match(CANCEL);
setState(2711);
match(MATERIALIZED);
setState(2712);
match(VIEW);
setState(2713);
match(TASK);
setState(2714);
((CancelMTMVTaskContext)_localctx).taskId = match(INTEGER_VALUE);
setState(2715);
match(ON);
setState(2716);
((CancelMTMVTaskContext)_localctx).mvName = multipartIdentifier();
}
break;
case SHOW:
_localctx = new ShowCreateMTMVContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(2717);
match(SHOW);
setState(2718);
match(CREATE);
setState(2719);
match(MATERIALIZED);
setState(2720);
match(VIEW);
setState(2721);
((ShowCreateMTMVContext)_localctx).mvName = multipartIdentifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedJobStatementContext extends ParserRuleContext {
public SupportedJobStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedJobStatement; }
public SupportedJobStatementContext() { }
public void copyFrom(SupportedJobStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelJobTaskContext extends SupportedJobStatementContext {
public IdentifierContext jobNameKey;
public Token jobNameValue;
public IdentifierContext taskIdKey;
public Token taskIdValue;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode TASK() { return getToken(PLParser.TASK, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public List<TerminalNode> EQ() { return getTokens(PLParser.EQ); }
public TerminalNode EQ(int i) {
return getToken(PLParser.EQ, i);
}
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public CancelJobTaskContext(SupportedJobStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelJobTask(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelJobTask(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelJobTask(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ResumeJobContext extends SupportedJobStatementContext {
public IdentifierContext jobNameKey;
public Token jobNameValue;
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ResumeJobContext(SupportedJobStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResumeJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResumeJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResumeJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropJobContext extends SupportedJobStatementContext {
public IdentifierContext jobNameKey;
public Token jobNameValue;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public DropJobContext(SupportedJobStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateScheduledJobContext extends SupportedJobStatementContext {
public MultipartIdentifierContext label;
public Token timeInterval;
public IdentifierContext timeUnit;
public Token startTime;
public Token endsTime;
public Token atTime;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode SCHEDULE() { return getToken(PLParser.SCHEDULE, 0); }
public TerminalNode DO() { return getToken(PLParser.DO, 0); }
public SupportedDmlStatementContext supportedDmlStatement() {
return getRuleContext(SupportedDmlStatementContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public TerminalNode EVERY() { return getToken(PLParser.EVERY, 0); }
public TerminalNode AT() { return getToken(PLParser.AT, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode CURRENT_TIMESTAMP() { return getToken(PLParser.CURRENT_TIMESTAMP, 0); }
public TerminalNode STARTS() { return getToken(PLParser.STARTS, 0); }
public TerminalNode ENDS() { return getToken(PLParser.ENDS, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public CreateScheduledJobContext(SupportedJobStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateScheduledJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateScheduledJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateScheduledJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PauseJobContext extends SupportedJobStatementContext {
public IdentifierContext jobNameKey;
public Token jobNameValue;
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public PauseJobContext(SupportedJobStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPauseJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPauseJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPauseJob(this);
else return visitor.visitChildren(this);
}
}
public final SupportedJobStatementContext supportedJobStatement() throws RecognitionException {
SupportedJobStatementContext _localctx = new SupportedJobStatementContext(_ctx, getState());
enterRule(_localctx, 278, RULE_supportedJobStatement);
int _la;
try {
setState(2792);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CREATE:
_localctx = new CreateScheduledJobContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2724);
match(CREATE);
setState(2725);
match(JOB);
setState(2726);
((CreateScheduledJobContext)_localctx).label = multipartIdentifier();
setState(2727);
match(ON);
setState(2728);
match(SCHEDULE);
setState(2748);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EVERY:
{
{
setState(2729);
match(EVERY);
setState(2730);
((CreateScheduledJobContext)_localctx).timeInterval = match(INTEGER_VALUE);
setState(2731);
((CreateScheduledJobContext)_localctx).timeUnit = identifier();
setState(2737);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STARTS) {
{
setState(2732);
match(STARTS);
setState(2735);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL:
{
setState(2733);
((CreateScheduledJobContext)_localctx).startTime = match(STRING_LITERAL);
}
break;
case CURRENT_TIMESTAMP:
{
setState(2734);
match(CURRENT_TIMESTAMP);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
setState(2741);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENDS) {
{
setState(2739);
match(ENDS);
setState(2740);
((CreateScheduledJobContext)_localctx).endsTime = match(STRING_LITERAL);
}
}
}
}
break;
case AT:
{
{
setState(2743);
match(AT);
setState(2746);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL:
{
setState(2744);
((CreateScheduledJobContext)_localctx).atTime = match(STRING_LITERAL);
}
break;
case CURRENT_TIMESTAMP:
{
setState(2745);
match(CURRENT_TIMESTAMP);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(2751);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(2750);
commentSpec();
}
}
setState(2753);
match(DO);
setState(2754);
supportedDmlStatement();
}
break;
case PAUSE:
_localctx = new PauseJobContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2756);
match(PAUSE);
setState(2757);
match(JOB);
setState(2758);
match(WHERE);
{
setState(2759);
((PauseJobContext)_localctx).jobNameKey = identifier();
}
setState(2760);
match(EQ);
{
setState(2761);
((PauseJobContext)_localctx).jobNameValue = match(STRING_LITERAL);
}
}
break;
case DROP:
_localctx = new DropJobContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2763);
match(DROP);
setState(2764);
match(JOB);
setState(2767);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2765);
match(IF);
setState(2766);
match(EXISTS);
}
}
setState(2769);
match(WHERE);
{
setState(2770);
((DropJobContext)_localctx).jobNameKey = identifier();
}
setState(2771);
match(EQ);
{
setState(2772);
((DropJobContext)_localctx).jobNameValue = match(STRING_LITERAL);
}
}
break;
case RESUME:
_localctx = new ResumeJobContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(2774);
match(RESUME);
setState(2775);
match(JOB);
setState(2776);
match(WHERE);
{
setState(2777);
((ResumeJobContext)_localctx).jobNameKey = identifier();
}
setState(2778);
match(EQ);
{
setState(2779);
((ResumeJobContext)_localctx).jobNameValue = match(STRING_LITERAL);
}
}
break;
case CANCEL:
_localctx = new CancelJobTaskContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(2781);
match(CANCEL);
setState(2782);
match(TASK);
setState(2783);
match(WHERE);
{
setState(2784);
((CancelJobTaskContext)_localctx).jobNameKey = identifier();
}
setState(2785);
match(EQ);
{
setState(2786);
((CancelJobTaskContext)_localctx).jobNameValue = match(STRING_LITERAL);
}
setState(2787);
match(AND);
{
setState(2788);
((CancelJobTaskContext)_localctx).taskIdKey = identifier();
}
setState(2789);
match(EQ);
{
setState(2790);
((CancelJobTaskContext)_localctx).taskIdValue = match(INTEGER_VALUE);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConstraintStatementContext extends ParserRuleContext {
public ConstraintStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_constraintStatement; }
public ConstraintStatementContext() { }
public void copyFrom(ConstraintStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowConstraintContext extends ConstraintStatementContext {
public MultipartIdentifierContext table;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CONSTRAINTS() { return getToken(PLParser.CONSTRAINTS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowConstraintContext(ConstraintStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowConstraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowConstraint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowConstraint(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropConstraintContext extends ConstraintStatementContext {
public MultipartIdentifierContext table;
public ErrorCapturingIdentifierContext constraintName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode CONSTRAINT() { return getToken(PLParser.CONSTRAINT, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ErrorCapturingIdentifierContext errorCapturingIdentifier() {
return getRuleContext(ErrorCapturingIdentifierContext.class,0);
}
public DropConstraintContext(ConstraintStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropConstraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropConstraint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropConstraint(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddConstraintContext extends ConstraintStatementContext {
public MultipartIdentifierContext table;
public ErrorCapturingIdentifierContext constraintName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode CONSTRAINT() { return getToken(PLParser.CONSTRAINT, 0); }
public ConstraintContext constraint() {
return getRuleContext(ConstraintContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ErrorCapturingIdentifierContext errorCapturingIdentifier() {
return getRuleContext(ErrorCapturingIdentifierContext.class,0);
}
public AddConstraintContext(ConstraintStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddConstraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddConstraint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddConstraint(this);
else return visitor.visitChildren(this);
}
}
public final ConstraintStatementContext constraintStatement() throws RecognitionException {
ConstraintStatementContext _localctx = new ConstraintStatementContext(_ctx, getState());
enterRule(_localctx, 280, RULE_constraintStatement);
try {
setState(2813);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) {
case 1:
_localctx = new AddConstraintContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2794);
match(ALTER);
setState(2795);
match(TABLE);
setState(2796);
((AddConstraintContext)_localctx).table = multipartIdentifier();
setState(2797);
match(ADD);
setState(2798);
match(CONSTRAINT);
setState(2799);
((AddConstraintContext)_localctx).constraintName = errorCapturingIdentifier();
setState(2800);
constraint();
}
break;
case 2:
_localctx = new DropConstraintContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2802);
match(ALTER);
setState(2803);
match(TABLE);
setState(2804);
((DropConstraintContext)_localctx).table = multipartIdentifier();
setState(2805);
match(DROP);
setState(2806);
match(CONSTRAINT);
setState(2807);
((DropConstraintContext)_localctx).constraintName = errorCapturingIdentifier();
}
break;
case 3:
_localctx = new ShowConstraintContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2809);
match(SHOW);
setState(2810);
match(CONSTRAINTS);
setState(2811);
match(FROM);
setState(2812);
((ShowConstraintContext)_localctx).table = multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDmlStatementContext extends ParserRuleContext {
public SupportedDmlStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedDmlStatement; }
public SupportedDmlStatementContext() { }
public void copyFrom(SupportedDmlStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class InsertTableContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext tableName;
public Token tableId;
public IdentifierContext labelName;
public IdentifierListContext cols;
public IdentifierSeqContext hints;
public TerminalNode INSERT() { return getToken(PLParser.INSERT, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public TerminalNode OVERWRITE() { return getToken(PLParser.OVERWRITE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode DORIS_INTERNAL_TABLE_ID() { return getToken(PLParser.DORIS_INTERNAL_TABLE_ID, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ExplainContext explain() {
return getRuleContext(ExplainContext.class,0);
}
public CteContext cte() {
return getRuleContext(CteContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode LABEL() { return getToken(PLParser.LABEL, 0); }
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public IdentifierSeqContext identifierSeq() {
return getRuleContext(IdentifierSeqContext.class,0);
}
public InsertTableContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInsertTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInsertTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInsertTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LoadContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext lableName;
public DataDescContext dataDesc;
public List<DataDescContext> dataDescs = new ArrayList<DataDescContext>();
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode LABEL() { return getToken(PLParser.LABEL, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<DataDescContext> dataDesc() {
return getRuleContexts(DataDescContext.class);
}
public DataDescContext dataDesc(int i) {
return getRuleContext(DataDescContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public WithRemoteStorageSystemContext withRemoteStorageSystem() {
return getRuleContext(WithRemoteStorageSystemContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public LoadContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CopyIntoContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext name;
public IdentifierListContext columns;
public PropertyClauseContext properties;
public TerminalNode COPY() { return getToken(PLParser.COPY, 0); }
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<TerminalNode> FROM() { return getTokens(PLParser.FROM); }
public TerminalNode FROM(int i) {
return getToken(PLParser.FROM, i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public StageAndPatternContext stageAndPattern() {
return getRuleContext(StageAndPatternContext.class,0);
}
public SelectHintContext selectHint() {
return getRuleContext(SelectHintContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode SELECT() { return getToken(PLParser.SELECT, 0); }
public SelectColumnClauseContext selectColumnClause() {
return getRuleContext(SelectColumnClauseContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public CopyIntoContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCopyInto(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCopyInto(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCopyInto(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UpdateContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode UPDATE() { return getToken(PLParser.UPDATE, 0); }
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public UpdateAssignmentSeqContext updateAssignmentSeq() {
return getRuleContext(UpdateAssignmentSeqContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ExplainContext explain() {
return getRuleContext(ExplainContext.class,0);
}
public CteContext cte() {
return getRuleContext(CteContext.class,0);
}
public FromClauseContext fromClause() {
return getRuleContext(FromClauseContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public UpdateContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUpdate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUpdate(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUpdate(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TruncateTableContext extends SupportedDmlStatementContext {
public TerminalNode TRUNCATE() { return getToken(PLParser.TRUNCATE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public SpecifiedPartitionContext specifiedPartition() {
return getRuleContext(SpecifiedPartitionContext.class,0);
}
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public TruncateTableContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTruncateTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTruncateTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTruncateTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ReplayContext extends SupportedDmlStatementContext {
public ReplayCommandContext replayCommand() {
return getRuleContext(ReplayCommandContext.class,0);
}
public ReplayContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplay(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplay(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplay(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DeleteContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ExplainContext explain() {
return getRuleContext(ExplainContext.class,0);
}
public CteContext cte() {
return getRuleContext(CteContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public RelationsContext relations() {
return getRuleContext(RelationsContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public DeleteContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDelete(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDelete(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDelete(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ExportContext extends SupportedDmlStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierListContext partition;
public Token filePath;
public TerminalNode EXPORT() { return getToken(PLParser.EXPORT, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public WithRemoteStorageSystemContext withRemoteStorageSystem() {
return getRuleContext(WithRemoteStorageSystemContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ExportContext(SupportedDmlStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExport(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExport(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExport(this);
else return visitor.visitChildren(this);
}
}
public final SupportedDmlStatementContext supportedDmlStatement() throws RecognitionException {
SupportedDmlStatementContext _localctx = new SupportedDmlStatementContext(_ctx, getState());
enterRule(_localctx, 282, RULE_supportedDmlStatement);
int _la;
try {
setState(2965);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,328,_ctx) ) {
case 1:
_localctx = new InsertTableContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2816);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & 1099511627779L) != 0)) {
{
setState(2815);
explain();
}
}
setState(2819);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(2818);
cte();
}
}
setState(2821);
match(INSERT);
setState(2825);
_errHandler.sync(this);
switch (_input.LA(1)) {
case INTO:
{
setState(2822);
match(INTO);
}
break;
case OVERWRITE:
{
setState(2823);
match(OVERWRITE);
setState(2824);
match(TABLE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(2832);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) {
case 1:
{
setState(2827);
((InsertTableContext)_localctx).tableName = multipartIdentifier();
}
break;
case 2:
{
setState(2828);
match(DORIS_INTERNAL_TABLE_ID);
setState(2829);
match(LEFT_PAREN);
setState(2830);
((InsertTableContext)_localctx).tableId = match(INTEGER_VALUE);
setState(2831);
match(RIGHT_PAREN);
}
break;
}
setState(2835);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION || _la==PARTITIONS || _la==TEMPORARY) {
{
setState(2834);
partitionSpec();
}
}
setState(2840);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,301,_ctx) ) {
case 1:
{
setState(2837);
match(WITH);
setState(2838);
match(LABEL);
setState(2839);
((InsertTableContext)_localctx).labelName = identifier();
}
break;
}
setState(2843);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,302,_ctx) ) {
case 1:
{
setState(2842);
((InsertTableContext)_localctx).cols = identifierList();
}
break;
}
setState(2849);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_BRACKET) {
{
setState(2845);
match(LEFT_BRACKET);
setState(2846);
((InsertTableContext)_localctx).hints = identifierSeq();
setState(2847);
match(RIGHT_BRACKET);
}
}
setState(2851);
query();
}
break;
case 2:
_localctx = new UpdateContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(2853);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & 1099511627779L) != 0)) {
{
setState(2852);
explain();
}
}
setState(2856);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(2855);
cte();
}
}
setState(2858);
match(UPDATE);
setState(2859);
((UpdateContext)_localctx).tableName = multipartIdentifier();
setState(2860);
tableAlias();
setState(2861);
match(SET);
setState(2862);
updateAssignmentSeq();
setState(2864);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,306,_ctx) ) {
case 1:
{
setState(2863);
fromClause();
}
break;
}
setState(2867);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,307,_ctx) ) {
case 1:
{
setState(2866);
whereClause();
}
break;
}
}
break;
case 3:
_localctx = new DeleteContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(2870);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & 1099511627779L) != 0)) {
{
setState(2869);
explain();
}
}
setState(2873);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(2872);
cte();
}
}
setState(2875);
match(DELETE);
setState(2876);
match(FROM);
setState(2877);
((DeleteContext)_localctx).tableName = multipartIdentifier();
setState(2879);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) {
case 1:
{
setState(2878);
partitionSpec();
}
break;
}
setState(2881);
tableAlias();
setState(2884);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) {
case 1:
{
setState(2882);
match(USING);
setState(2883);
relations();
}
break;
}
setState(2887);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) {
case 1:
{
setState(2886);
whereClause();
}
break;
}
}
break;
case 4:
_localctx = new LoadContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(2889);
match(LOAD);
setState(2890);
match(LABEL);
setState(2891);
((LoadContext)_localctx).lableName = multipartIdentifier();
setState(2892);
match(LEFT_PAREN);
setState(2893);
((LoadContext)_localctx).dataDesc = dataDesc();
((LoadContext)_localctx).dataDescs.add(((LoadContext)_localctx).dataDesc);
setState(2898);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(2894);
match(COMMA);
setState(2895);
((LoadContext)_localctx).dataDesc = dataDesc();
((LoadContext)_localctx).dataDescs.add(((LoadContext)_localctx).dataDesc);
}
}
setState(2900);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2901);
match(RIGHT_PAREN);
setState(2903);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) {
case 1:
{
setState(2902);
withRemoteStorageSystem();
}
break;
}
setState(2906);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,315,_ctx) ) {
case 1:
{
setState(2905);
propertyClause();
}
break;
}
setState(2909);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,316,_ctx) ) {
case 1:
{
setState(2908);
commentSpec();
}
break;
}
}
break;
case 5:
_localctx = new ExportContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(2911);
match(EXPORT);
setState(2912);
match(TABLE);
setState(2913);
((ExportContext)_localctx).tableName = multipartIdentifier();
setState(2916);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(2914);
match(PARTITION);
setState(2915);
((ExportContext)_localctx).partition = identifierList();
}
}
setState(2919);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WHERE) {
{
setState(2918);
whereClause();
}
}
setState(2921);
match(TO);
setState(2922);
((ExportContext)_localctx).filePath = match(STRING_LITERAL);
setState(2924);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) {
case 1:
{
setState(2923);
propertyClause();
}
break;
}
setState(2927);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) {
case 1:
{
setState(2926);
withRemoteStorageSystem();
}
break;
}
}
break;
case 6:
_localctx = new ReplayContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(2929);
replayCommand();
}
break;
case 7:
_localctx = new CopyIntoContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(2930);
match(COPY);
setState(2931);
match(INTO);
setState(2933);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,321,_ctx) ) {
case 1:
{
setState(2932);
selectHint();
}
break;
}
setState(2935);
((CopyIntoContext)_localctx).name = multipartIdentifier();
setState(2937);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(2936);
((CopyIntoContext)_localctx).columns = identifierList();
}
}
setState(2939);
match(FROM);
setState(2951);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ATSIGN:
{
setState(2940);
stageAndPattern();
}
break;
case LEFT_PAREN:
{
{
setState(2941);
match(LEFT_PAREN);
setState(2942);
match(SELECT);
setState(2943);
selectColumnClause();
setState(2944);
match(FROM);
setState(2945);
stageAndPattern();
setState(2947);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WHERE) {
{
setState(2946);
whereClause();
}
}
setState(2949);
match(RIGHT_PAREN);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(2954);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,325,_ctx) ) {
case 1:
{
setState(2953);
((CopyIntoContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 8:
_localctx = new TruncateTableContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(2956);
match(TRUNCATE);
setState(2957);
match(TABLE);
setState(2958);
multipartIdentifier();
setState(2960);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,326,_ctx) ) {
case 1:
{
setState(2959);
specifiedPartition();
}
break;
}
setState(2963);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,327,_ctx) ) {
case 1:
{
setState(2962);
match(FORCE);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCreateStatementContext extends ParserRuleContext {
public SupportedCreateStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedCreateStatement; }
public SupportedCreateStatementContext() { }
public void copyFrom(SupportedCreateStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateStorageVaultContext extends SupportedCreateStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateStorageVaultContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateStorageVault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateStorageVault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateStorageVault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateTableContext extends SupportedCreateStatementContext {
public MultipartIdentifierContext name;
public IdentifierListContext ctasCols;
public IdentifierContext engine;
public IdentifierListContext keys;
public IdentifierListContext clusterKeys;
public PartitionTableContext partition;
public IdentifierListContext hashKeys;
public Token autoBucket;
public PropertyClauseContext properties;
public PropertyClauseContext extProperties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode ENGINE() { return getToken(PLParser.ENGINE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode DISTRIBUTED() { return getToken(PLParser.DISTRIBUTED, 0); }
public List<TerminalNode> BY() { return getTokens(PLParser.BY); }
public TerminalNode BY(int i) {
return getToken(PLParser.BY, i);
}
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public RollupDefsContext rollupDefs() {
return getRuleContext(RollupDefsContext.class,0);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode EXTERNAL() { return getToken(PLParser.EXTERNAL, 0); }
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public ColumnDefsContext columnDefs() {
return getRuleContext(ColumnDefsContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode AGGREGATE() { return getToken(PLParser.AGGREGATE, 0); }
public TerminalNode UNIQUE() { return getToken(PLParser.UNIQUE, 0); }
public TerminalNode DUPLICATE() { return getToken(PLParser.DUPLICATE, 0); }
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public PartitionTableContext partitionTable() {
return getRuleContext(PartitionTableContext.class,0);
}
public List<PropertyClauseContext> propertyClause() {
return getRuleContexts(PropertyClauseContext.class);
}
public PropertyClauseContext propertyClause(int i) {
return getRuleContext(PropertyClauseContext.class,i);
}
public TerminalNode HASH() { return getToken(PLParser.HASH, 0); }
public TerminalNode RANDOM() { return getToken(PLParser.RANDOM, 0); }
public TerminalNode CLUSTER() { return getToken(PLParser.CLUSTER, 0); }
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public IndexDefsContext indexDefs() {
return getRuleContext(IndexDefsContext.class,0);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public CreateTableContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateWorkloadPolicyContext extends SupportedCreateStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode CONDITIONS() { return getToken(PLParser.CONDITIONS, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public WorkloadPolicyConditionsContext workloadPolicyConditions() {
return getRuleContext(WorkloadPolicyConditionsContext.class,0);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode ACTIONS() { return getToken(PLParser.ACTIONS, 0); }
public WorkloadPolicyActionsContext workloadPolicyActions() {
return getRuleContext(WorkloadPolicyActionsContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateWorkloadPolicyContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateWorkloadPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateWorkloadPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateWorkloadPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateResourceContext extends SupportedCreateStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode EXTERNAL() { return getToken(PLParser.EXTERNAL, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateResourceContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateResource(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateResource(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateResource(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateWorkloadGroupContext extends SupportedCreateStatementContext {
public IdentifierOrTextContext name;
public IdentifierOrTextContext computeGroup;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateWorkloadGroupContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateWorkloadGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateWorkloadGroup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateWorkloadGroup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateUserDefineFunctionContext extends SupportedCreateStatementContext {
public DataTypeContext returnType;
public DataTypeContext intermediateType;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public FunctionIdentifierContext functionIdentifier() {
return getRuleContext(FunctionIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode RETURNS() { return getToken(PLParser.RETURNS, 0); }
public List<DataTypeContext> dataType() {
return getRuleContexts(DataTypeContext.class);
}
public DataTypeContext dataType(int i) {
return getRuleContext(DataTypeContext.class,i);
}
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public FunctionArgumentsContext functionArguments() {
return getRuleContext(FunctionArgumentsContext.class,0);
}
public TerminalNode INTERMEDIATE() { return getToken(PLParser.INTERMEDIATE, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public TerminalNode AGGREGATE() { return getToken(PLParser.AGGREGATE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateUserDefineFunctionContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateUserDefineFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateUserDefineFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateUserDefineFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateStoragePolicyContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateStoragePolicyContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateStoragePolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateStoragePolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateStoragePolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateDictionaryContext extends SupportedCreateStatementContext {
public MultipartIdentifierContext name;
public MultipartIdentifierContext source;
public IdentifierContext layoutType;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode DICTIONARY() { return getToken(PLParser.DICTIONARY, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public DictionaryColumnDefsContext dictionaryColumnDefs() {
return getRuleContext(DictionaryColumnDefsContext.class,0);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode LAYOUT() { return getToken(PLParser.LAYOUT, 0); }
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateDictionaryContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateDictionary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateDictionary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateDictionary(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateTableLikeContext extends SupportedCreateStatementContext {
public MultipartIdentifierContext name;
public MultipartIdentifierContext existedTable;
public IdentifierListContext rollupNames;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public TerminalNode EXTERNAL() { return getToken(PLParser.EXTERNAL, 0); }
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public CreateTableLikeContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateTableLike(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateTableLike(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateTableLike(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateRoleContext extends SupportedCreateStatementContext {
public IdentifierOrTextContext name;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public CreateRoleContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateRole(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateRole(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateRole(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateStageContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode STAGE() { return getToken(PLParser.STAGE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateStageContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateStage(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateStage(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateStage(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateIndexContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public MultipartIdentifierContext tableName;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode BITMAP() { return getToken(PLParser.BITMAP, 0); }
public TerminalNode NGRAM_BF() { return getToken(PLParser.NGRAM_BF, 0); }
public TerminalNode INVERTED() { return getToken(PLParser.INVERTED, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateIndexContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateFileContext extends SupportedCreateStatementContext {
public Token name;
public IdentifierContext database;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode FILE() { return getToken(PLParser.FILE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public CreateFileContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateFile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateFile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateFile(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateRowPolicyContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public MultipartIdentifierContext table;
public Token type;
public UserIdentifyContext user;
public IdentifierOrTextContext roleName;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ROW() { return getToken(PLParser.ROW, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode RESTRICTIVE() { return getToken(PLParser.RESTRICTIVE, 0); }
public TerminalNode PERMISSIVE() { return getToken(PLParser.PERMISSIVE, 0); }
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public CreateRowPolicyContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateRowPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateRowPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateRowPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateEncryptkeyContext extends SupportedCreateStatementContext {
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ENCRYPTKEY() { return getToken(PLParser.ENCRYPTKEY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public CreateEncryptkeyContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateEncryptkey(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateEncryptkey(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateEncryptkey(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateRepositoryContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPOSITORY() { return getToken(PLParser.REPOSITORY, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public StorageBackendContext storageBackend() {
return getRuleContext(StorageBackendContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode READ() { return getToken(PLParser.READ, 0); }
public TerminalNode ONLY() { return getToken(PLParser.ONLY, 0); }
public CreateRepositoryContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateRepository(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateRepository(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateRepository(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateDatabaseContext extends SupportedCreateStatementContext {
public MultipartIdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateDatabaseContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class BuildIndexContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public MultipartIdentifierContext tableName;
public TerminalNode BUILD() { return getToken(PLParser.BUILD, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public BuildIndexContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBuildIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBuildIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBuildIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateUserContext extends SupportedCreateStatementContext {
public Token role;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public GrantUserIdentifyContext grantUserIdentify() {
return getRuleContext(GrantUserIdentifyContext.class,0);
}
public PasswordOptionContext passwordOption() {
return getRuleContext(PasswordOptionContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode SUPERUSER() { return getToken(PLParser.SUPERUSER, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public CreateUserContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateCatalogContext extends SupportedCreateStatementContext {
public IdentifierContext catalogName;
public IdentifierContext resourceName;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateCatalogContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateCatalog(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateViewContext extends SupportedCreateStatementContext {
public MultipartIdentifierContext name;
public SimpleColumnDefsContext cols;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public SimpleColumnDefsContext simpleColumnDefs() {
return getRuleContext(SimpleColumnDefsContext.class,0);
}
public CreateViewContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateAliasFunctionContext extends SupportedCreateStatementContext {
public IdentifierSeqContext parameters;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ALIAS() { return getToken(PLParser.ALIAS, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public FunctionIdentifierContext functionIdentifier() {
return getRuleContext(FunctionIdentifierContext.class,0);
}
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode PARAMETER() { return getToken(PLParser.PARAMETER, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public FunctionArgumentsContext functionArguments() {
return getRuleContext(FunctionArgumentsContext.class,0);
}
public IdentifierSeqContext identifierSeq() {
return getRuleContext(IdentifierSeqContext.class,0);
}
public CreateAliasFunctionContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateAliasFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateAliasFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateAliasFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateSqlBlockRuleContext extends SupportedCreateStatementContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode SQL_BLOCK_RULE() { return getToken(PLParser.SQL_BLOCK_RULE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateSqlBlockRuleContext(SupportedCreateStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateSqlBlockRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateSqlBlockRule(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateSqlBlockRule(this);
else return visitor.visitChildren(this);
}
}
public final SupportedCreateStatementContext supportedCreateStatement() throws RecognitionException {
SupportedCreateStatementContext _localctx = new SupportedCreateStatementContext(_ctx, getState());
enterRule(_localctx, 284, RULE_supportedCreateStatement);
int _la;
try {
setState(3416);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,407,_ctx) ) {
case 1:
_localctx = new CreateTableContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(2967);
match(CREATE);
setState(2969);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EXTERNAL || _la==TEMPORARY) {
{
setState(2968);
_la = _input.LA(1);
if ( !(_la==EXTERNAL || _la==TEMPORARY) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2971);
match(TABLE);
setState(2975);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2972);
match(IF);
setState(2973);
match(NOT);
setState(2974);
match(EXISTS);
}
}
setState(2977);
((CreateTableContext)_localctx).name = multipartIdentifier();
setState(2992);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,334,_ctx) ) {
case 1:
{
setState(2979);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,331,_ctx) ) {
case 1:
{
setState(2978);
((CreateTableContext)_localctx).ctasCols = identifierList();
}
break;
}
}
break;
case 2:
{
{
setState(2981);
match(LEFT_PAREN);
setState(2982);
columnDefs();
setState(2985);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,332,_ctx) ) {
case 1:
{
setState(2983);
match(COMMA);
setState(2984);
indexDefs();
}
break;
}
setState(2988);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(2987);
match(COMMA);
}
}
setState(2990);
match(RIGHT_PAREN);
}
}
break;
}
setState(2997);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,335,_ctx) ) {
case 1:
{
setState(2994);
match(ENGINE);
setState(2995);
match(EQ);
setState(2996);
((CreateTableContext)_localctx).engine = identifier();
}
break;
}
setState(3007);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,337,_ctx) ) {
case 1:
{
setState(2999);
_la = _input.LA(1);
if ( !(_la==AGGREGATE || _la==DUPLICATE || _la==UNIQUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3000);
match(KEY);
setState(3001);
((CreateTableContext)_localctx).keys = identifierList();
setState(3005);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,336,_ctx) ) {
case 1:
{
setState(3002);
match(CLUSTER);
setState(3003);
match(BY);
setState(3004);
((CreateTableContext)_localctx).clusterKeys = identifierList();
}
break;
}
}
break;
}
setState(3011);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,338,_ctx) ) {
case 1:
{
setState(3009);
match(COMMENT);
setState(3010);
match(STRING_LITERAL);
}
break;
}
setState(3014);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,339,_ctx) ) {
case 1:
{
setState(3013);
((CreateTableContext)_localctx).partition = partitionTable();
}
break;
}
setState(3030);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,343,_ctx) ) {
case 1:
{
setState(3016);
match(DISTRIBUTED);
setState(3017);
match(BY);
setState(3021);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HASH:
{
setState(3018);
match(HASH);
setState(3019);
((CreateTableContext)_localctx).hashKeys = identifierList();
}
break;
case RANDOM:
{
setState(3020);
match(RANDOM);
}
break;
default:
throw new NoViableAltException(this);
}
setState(3028);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,342,_ctx) ) {
case 1:
{
setState(3023);
match(BUCKETS);
setState(3026);
_errHandler.sync(this);
switch (_input.LA(1)) {
case INTEGER_VALUE:
{
setState(3024);
match(INTEGER_VALUE);
}
break;
case AUTO:
{
setState(3025);
((CreateTableContext)_localctx).autoBucket = match(AUTO);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
break;
}
setState(3037);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,344,_ctx) ) {
case 1:
{
setState(3032);
match(ROLLUP);
setState(3033);
match(LEFT_PAREN);
setState(3034);
rollupDefs();
setState(3035);
match(RIGHT_PAREN);
}
break;
}
setState(3040);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,345,_ctx) ) {
case 1:
{
setState(3039);
((CreateTableContext)_localctx).properties = propertyClause();
}
break;
}
setState(3044);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,346,_ctx) ) {
case 1:
{
setState(3042);
match(BROKER);
setState(3043);
((CreateTableContext)_localctx).extProperties = propertyClause();
}
break;
}
setState(3048);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,347,_ctx) ) {
case 1:
{
setState(3046);
match(AS);
setState(3047);
query();
}
break;
}
}
break;
case 2:
_localctx = new CreateViewContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(3050);
match(CREATE);
setState(3053);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(3051);
match(OR);
setState(3052);
match(REPLACE);
}
}
setState(3055);
match(VIEW);
setState(3059);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3056);
match(IF);
setState(3057);
match(NOT);
setState(3058);
match(EXISTS);
}
}
setState(3061);
((CreateViewContext)_localctx).name = multipartIdentifier();
setState(3066);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(3062);
match(LEFT_PAREN);
setState(3063);
((CreateViewContext)_localctx).cols = simpleColumnDefs();
setState(3064);
match(RIGHT_PAREN);
}
}
setState(3070);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(3068);
match(COMMENT);
setState(3069);
match(STRING_LITERAL);
}
}
setState(3072);
match(AS);
setState(3073);
query();
}
break;
case 3:
_localctx = new CreateFileContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(3075);
match(CREATE);
setState(3076);
match(FILE);
setState(3077);
((CreateFileContext)_localctx).name = match(STRING_LITERAL);
setState(3080);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM || _la==IN) {
{
setState(3078);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3079);
((CreateFileContext)_localctx).database = identifier();
}
}
setState(3082);
((CreateFileContext)_localctx).properties = propertyClause();
}
break;
case 4:
_localctx = new CreateTableLikeContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(3083);
match(CREATE);
setState(3085);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EXTERNAL || _la==TEMPORARY) {
{
setState(3084);
_la = _input.LA(1);
if ( !(_la==EXTERNAL || _la==TEMPORARY) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(3087);
match(TABLE);
setState(3091);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3088);
match(IF);
setState(3089);
match(NOT);
setState(3090);
match(EXISTS);
}
}
setState(3093);
((CreateTableLikeContext)_localctx).name = multipartIdentifier();
setState(3094);
match(LIKE);
setState(3095);
((CreateTableLikeContext)_localctx).existedTable = multipartIdentifier();
setState(3101);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,356,_ctx) ) {
case 1:
{
setState(3096);
match(WITH);
setState(3097);
match(ROLLUP);
setState(3099);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,355,_ctx) ) {
case 1:
{
setState(3098);
((CreateTableLikeContext)_localctx).rollupNames = identifierList();
}
break;
}
}
break;
}
}
break;
case 5:
_localctx = new CreateRoleContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(3103);
match(CREATE);
setState(3104);
match(ROLE);
setState(3108);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3105);
match(IF);
setState(3106);
match(NOT);
setState(3107);
match(EXISTS);
}
}
setState(3110);
((CreateRoleContext)_localctx).name = identifierOrText();
setState(3113);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,358,_ctx) ) {
case 1:
{
setState(3111);
match(COMMENT);
setState(3112);
match(STRING_LITERAL);
}
break;
}
}
break;
case 6:
_localctx = new CreateWorkloadGroupContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(3115);
match(CREATE);
setState(3116);
match(WORKLOAD);
setState(3117);
match(GROUP);
setState(3121);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3118);
match(IF);
setState(3119);
match(NOT);
setState(3120);
match(EXISTS);
}
}
setState(3123);
((CreateWorkloadGroupContext)_localctx).name = identifierOrText();
setState(3126);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,360,_ctx) ) {
case 1:
{
setState(3124);
match(FOR);
setState(3125);
((CreateWorkloadGroupContext)_localctx).computeGroup = identifierOrText();
}
break;
}
setState(3129);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,361,_ctx) ) {
case 1:
{
setState(3128);
((CreateWorkloadGroupContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 7:
_localctx = new CreateCatalogContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(3131);
match(CREATE);
setState(3132);
match(CATALOG);
setState(3136);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3133);
match(IF);
setState(3134);
match(NOT);
setState(3135);
match(EXISTS);
}
}
setState(3138);
((CreateCatalogContext)_localctx).catalogName = identifier();
setState(3142);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,363,_ctx) ) {
case 1:
{
setState(3139);
match(WITH);
setState(3140);
match(RESOURCE);
setState(3141);
((CreateCatalogContext)_localctx).resourceName = identifier();
}
break;
}
setState(3146);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,364,_ctx) ) {
case 1:
{
setState(3144);
match(COMMENT);
setState(3145);
match(STRING_LITERAL);
}
break;
}
setState(3149);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,365,_ctx) ) {
case 1:
{
setState(3148);
((CreateCatalogContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 8:
_localctx = new CreateRowPolicyContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(3151);
match(CREATE);
setState(3152);
match(ROW);
setState(3153);
match(POLICY);
setState(3157);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3154);
match(IF);
setState(3155);
match(NOT);
setState(3156);
match(EXISTS);
}
}
setState(3159);
((CreateRowPolicyContext)_localctx).name = identifier();
setState(3160);
match(ON);
setState(3161);
((CreateRowPolicyContext)_localctx).table = multipartIdentifier();
setState(3162);
match(AS);
setState(3163);
((CreateRowPolicyContext)_localctx).type = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==PERMISSIVE || _la==RESTRICTIVE) ) {
((CreateRowPolicyContext)_localctx).type = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3164);
match(TO);
setState(3168);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(3165);
((CreateRowPolicyContext)_localctx).user = userIdentify();
}
break;
case ROLE:
{
setState(3166);
match(ROLE);
setState(3167);
((CreateRowPolicyContext)_localctx).roleName = identifierOrText();
}
break;
default:
throw new NoViableAltException(this);
}
setState(3170);
match(USING);
setState(3171);
match(LEFT_PAREN);
setState(3172);
booleanExpression(0);
setState(3173);
match(RIGHT_PAREN);
}
break;
case 9:
_localctx = new CreateStoragePolicyContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(3175);
match(CREATE);
setState(3176);
match(STORAGE);
setState(3177);
match(POLICY);
setState(3181);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3178);
match(IF);
setState(3179);
match(NOT);
setState(3180);
match(EXISTS);
}
}
setState(3183);
((CreateStoragePolicyContext)_localctx).name = identifier();
setState(3185);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,369,_ctx) ) {
case 1:
{
setState(3184);
((CreateStoragePolicyContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 10:
_localctx = new BuildIndexContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(3187);
match(BUILD);
setState(3188);
match(INDEX);
setState(3189);
((BuildIndexContext)_localctx).name = identifier();
setState(3190);
match(ON);
setState(3191);
((BuildIndexContext)_localctx).tableName = multipartIdentifier();
setState(3193);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,370,_ctx) ) {
case 1:
{
setState(3192);
partitionSpec();
}
break;
}
}
break;
case 11:
_localctx = new CreateIndexContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(3195);
match(CREATE);
setState(3196);
match(INDEX);
setState(3200);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3197);
match(IF);
setState(3198);
match(NOT);
setState(3199);
match(EXISTS);
}
}
setState(3202);
((CreateIndexContext)_localctx).name = identifier();
setState(3203);
match(ON);
setState(3204);
((CreateIndexContext)_localctx).tableName = multipartIdentifier();
setState(3205);
identifierList();
setState(3208);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,372,_ctx) ) {
case 1:
{
setState(3206);
match(USING);
setState(3207);
_la = _input.LA(1);
if ( !(_la==BITMAP || _la==INVERTED || _la==NGRAM_BF) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(3211);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,373,_ctx) ) {
case 1:
{
setState(3210);
((CreateIndexContext)_localctx).properties = propertyClause();
}
break;
}
setState(3215);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,374,_ctx) ) {
case 1:
{
setState(3213);
match(COMMENT);
setState(3214);
match(STRING_LITERAL);
}
break;
}
}
break;
case 12:
_localctx = new CreateWorkloadPolicyContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(3217);
match(CREATE);
setState(3218);
match(WORKLOAD);
setState(3219);
match(POLICY);
setState(3223);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3220);
match(IF);
setState(3221);
match(NOT);
setState(3222);
match(EXISTS);
}
}
setState(3225);
((CreateWorkloadPolicyContext)_localctx).name = identifierOrText();
setState(3231);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,376,_ctx) ) {
case 1:
{
setState(3226);
match(CONDITIONS);
setState(3227);
match(LEFT_PAREN);
setState(3228);
workloadPolicyConditions();
setState(3229);
match(RIGHT_PAREN);
}
break;
}
setState(3238);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,377,_ctx) ) {
case 1:
{
setState(3233);
match(ACTIONS);
setState(3234);
match(LEFT_PAREN);
setState(3235);
workloadPolicyActions();
setState(3236);
match(RIGHT_PAREN);
}
break;
}
setState(3241);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,378,_ctx) ) {
case 1:
{
setState(3240);
((CreateWorkloadPolicyContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 13:
_localctx = new CreateSqlBlockRuleContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(3243);
match(CREATE);
setState(3244);
match(SQL_BLOCK_RULE);
setState(3248);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3245);
match(IF);
setState(3246);
match(NOT);
setState(3247);
match(EXISTS);
}
}
setState(3250);
((CreateSqlBlockRuleContext)_localctx).name = identifier();
setState(3252);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,380,_ctx) ) {
case 1:
{
setState(3251);
((CreateSqlBlockRuleContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 14:
_localctx = new CreateEncryptkeyContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(3254);
match(CREATE);
setState(3255);
match(ENCRYPTKEY);
setState(3259);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3256);
match(IF);
setState(3257);
match(NOT);
setState(3258);
match(EXISTS);
}
}
setState(3261);
multipartIdentifier();
setState(3262);
match(AS);
setState(3263);
match(STRING_LITERAL);
}
break;
case 15:
_localctx = new CreateUserDefineFunctionContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(3265);
match(CREATE);
setState(3267);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(3266);
statementScope();
}
}
setState(3270);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AGGREGATE || _la==TABLES) {
{
setState(3269);
_la = _input.LA(1);
if ( !(_la==AGGREGATE || _la==TABLES) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(3272);
match(FUNCTION);
setState(3276);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,384,_ctx) ) {
case 1:
{
setState(3273);
match(IF);
setState(3274);
match(NOT);
setState(3275);
match(EXISTS);
}
break;
}
setState(3278);
functionIdentifier();
setState(3279);
match(LEFT_PAREN);
setState(3281);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 186)) & ~0x3f) == 0 && ((1L << (_la - 186)) & -9223300534237116415L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 1073742783L) != 0) || ((((_la - 361)) & ~0x3f) == 0 && ((1L << (_la - 361)) & 108508604058828801L) != 0) || ((((_la - 426)) & ~0x3f) == 0 && ((1L << (_la - 426)) & 536870979L) != 0) || _la==QUANTILE_STATE || _la==SMALLINT || ((((_la - 613)) & ~0x3f) == 0 && ((1L << (_la - 613)) & 5066549583478787L) != 0)) {
{
setState(3280);
functionArguments();
}
}
setState(3283);
match(RIGHT_PAREN);
setState(3284);
match(RETURNS);
setState(3285);
((CreateUserDefineFunctionContext)_localctx).returnType = dataType();
setState(3288);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,386,_ctx) ) {
case 1:
{
setState(3286);
match(INTERMEDIATE);
setState(3287);
((CreateUserDefineFunctionContext)_localctx).intermediateType = dataType();
}
break;
}
setState(3291);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,387,_ctx) ) {
case 1:
{
setState(3290);
((CreateUserDefineFunctionContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 16:
_localctx = new CreateAliasFunctionContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(3293);
match(CREATE);
setState(3295);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(3294);
statementScope();
}
}
setState(3297);
match(ALIAS);
setState(3298);
match(FUNCTION);
setState(3302);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,389,_ctx) ) {
case 1:
{
setState(3299);
match(IF);
setState(3300);
match(NOT);
setState(3301);
match(EXISTS);
}
break;
}
setState(3304);
functionIdentifier();
setState(3305);
match(LEFT_PAREN);
setState(3307);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 186)) & ~0x3f) == 0 && ((1L << (_la - 186)) & -9223300534237116415L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 1073742783L) != 0) || ((((_la - 361)) & ~0x3f) == 0 && ((1L << (_la - 361)) & 108508604058828801L) != 0) || ((((_la - 426)) & ~0x3f) == 0 && ((1L << (_la - 426)) & 536870979L) != 0) || _la==QUANTILE_STATE || _la==SMALLINT || ((((_la - 613)) & ~0x3f) == 0 && ((1L << (_la - 613)) & 5066549583478787L) != 0)) {
{
setState(3306);
functionArguments();
}
}
setState(3309);
match(RIGHT_PAREN);
setState(3310);
match(WITH);
setState(3311);
match(PARAMETER);
setState(3312);
match(LEFT_PAREN);
setState(3314);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 189)) & ~0x3f) == 0 && ((1L << (_la - 189)) & 9096145289322186643L) != 0) || ((((_la - 253)) & ~0x3f) == 0 && ((1L << (_la - 253)) & -7038001146133217349L) != 0) || ((((_la - 317)) & ~0x3f) == 0 && ((1L << (_la - 317)) & -7112292307046518223L) != 0) || ((((_la - 382)) & ~0x3f) == 0 && ((1L << (_la - 382)) & 7409045836617449199L) != 0) || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & -179622406430917185L) != 0) || ((((_la - 511)) & ~0x3f) == 0 && ((1L << (_la - 511)) & -7638403517640311425L) != 0) || ((((_la - 575)) & ~0x3f) == 0 && ((1L << (_la - 575)) & -6423186400915692045L) != 0) || ((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & 18760411165017L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 49159L) != 0)) {
{
setState(3313);
((CreateAliasFunctionContext)_localctx).parameters = identifierSeq();
}
}
setState(3316);
match(RIGHT_PAREN);
setState(3317);
match(AS);
setState(3318);
expression();
}
break;
case 17:
_localctx = new CreateUserContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(3320);
match(CREATE);
setState(3321);
match(USER);
setState(3325);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3322);
match(IF);
setState(3323);
match(NOT);
setState(3324);
match(EXISTS);
}
}
setState(3327);
grantUserIdentify();
setState(3332);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,393,_ctx) ) {
case 1:
{
setState(3328);
match(SUPERUSER);
}
break;
case 2:
{
setState(3329);
match(DEFAULT);
setState(3330);
match(ROLE);
setState(3331);
((CreateUserContext)_localctx).role = match(STRING_LITERAL);
}
break;
}
setState(3334);
passwordOption();
setState(3336);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,394,_ctx) ) {
case 1:
{
setState(3335);
commentSpec();
}
break;
}
}
break;
case 18:
_localctx = new CreateDatabaseContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(3338);
match(CREATE);
setState(3339);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3343);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3340);
match(IF);
setState(3341);
match(NOT);
setState(3342);
match(EXISTS);
}
}
setState(3345);
((CreateDatabaseContext)_localctx).name = multipartIdentifier();
setState(3347);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,396,_ctx) ) {
case 1:
{
setState(3346);
((CreateDatabaseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 19:
_localctx = new CreateRepositoryContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(3349);
match(CREATE);
setState(3352);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==READ) {
{
setState(3350);
match(READ);
setState(3351);
match(ONLY);
}
}
setState(3354);
match(REPOSITORY);
setState(3355);
((CreateRepositoryContext)_localctx).name = identifier();
setState(3356);
match(WITH);
setState(3357);
storageBackend();
}
break;
case 20:
_localctx = new CreateResourceContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(3359);
match(CREATE);
setState(3361);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EXTERNAL) {
{
setState(3360);
match(EXTERNAL);
}
}
setState(3363);
match(RESOURCE);
setState(3367);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3364);
match(IF);
setState(3365);
match(NOT);
setState(3366);
match(EXISTS);
}
}
setState(3369);
((CreateResourceContext)_localctx).name = identifierOrText();
setState(3371);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,400,_ctx) ) {
case 1:
{
setState(3370);
((CreateResourceContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 21:
_localctx = new CreateDictionaryContext(_localctx);
enterOuterAlt(_localctx, 21);
{
setState(3373);
match(CREATE);
setState(3374);
match(DICTIONARY);
setState(3378);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3375);
match(IF);
setState(3376);
match(NOT);
setState(3377);
match(EXISTS);
}
}
setState(3380);
((CreateDictionaryContext)_localctx).name = multipartIdentifier();
setState(3381);
match(USING);
setState(3382);
((CreateDictionaryContext)_localctx).source = multipartIdentifier();
setState(3383);
match(LEFT_PAREN);
setState(3384);
dictionaryColumnDefs();
setState(3385);
match(RIGHT_PAREN);
setState(3386);
match(LAYOUT);
setState(3387);
match(LEFT_PAREN);
setState(3388);
((CreateDictionaryContext)_localctx).layoutType = identifier();
setState(3389);
match(RIGHT_PAREN);
setState(3391);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,402,_ctx) ) {
case 1:
{
setState(3390);
((CreateDictionaryContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 22:
_localctx = new CreateStageContext(_localctx);
enterOuterAlt(_localctx, 22);
{
setState(3393);
match(CREATE);
setState(3394);
match(STAGE);
setState(3398);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3395);
match(IF);
setState(3396);
match(NOT);
setState(3397);
match(EXISTS);
}
}
setState(3400);
((CreateStageContext)_localctx).name = identifier();
setState(3402);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,404,_ctx) ) {
case 1:
{
setState(3401);
((CreateStageContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 23:
_localctx = new CreateStorageVaultContext(_localctx);
enterOuterAlt(_localctx, 23);
{
setState(3404);
match(CREATE);
setState(3405);
match(STORAGE);
setState(3406);
match(VAULT);
setState(3410);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3407);
match(IF);
setState(3408);
match(NOT);
setState(3409);
match(EXISTS);
}
}
setState(3412);
((CreateStorageVaultContext)_localctx).name = identifierOrText();
setState(3414);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,406,_ctx) ) {
case 1:
{
setState(3413);
((CreateStorageVaultContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DictionaryColumnDefsContext extends ParserRuleContext {
public List<DictionaryColumnDefContext> dictionaryColumnDef() {
return getRuleContexts(DictionaryColumnDefContext.class);
}
public DictionaryColumnDefContext dictionaryColumnDef(int i) {
return getRuleContext(DictionaryColumnDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public DictionaryColumnDefsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dictionaryColumnDefs; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDictionaryColumnDefs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDictionaryColumnDefs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDictionaryColumnDefs(this);
else return visitor.visitChildren(this);
}
}
public final DictionaryColumnDefsContext dictionaryColumnDefs() throws RecognitionException {
DictionaryColumnDefsContext _localctx = new DictionaryColumnDefsContext(_ctx, getState());
enterRule(_localctx, 286, RULE_dictionaryColumnDefs);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3418);
dictionaryColumnDef();
setState(3423);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(3419);
match(COMMA);
setState(3420);
dictionaryColumnDef();
}
}
setState(3425);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DictionaryColumnDefContext extends ParserRuleContext {
public IdentifierContext colName;
public Token columnType;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public TerminalNode VALUE() { return getToken(PLParser.VALUE, 0); }
public DictionaryColumnDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dictionaryColumnDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDictionaryColumnDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDictionaryColumnDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDictionaryColumnDef(this);
else return visitor.visitChildren(this);
}
}
public final DictionaryColumnDefContext dictionaryColumnDef() throws RecognitionException {
DictionaryColumnDefContext _localctx = new DictionaryColumnDefContext(_ctx, getState());
enterRule(_localctx, 288, RULE_dictionaryColumnDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3426);
((DictionaryColumnDefContext)_localctx).colName = identifier();
setState(3427);
((DictionaryColumnDefContext)_localctx).columnType = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==KEY || _la==VALUE) ) {
((DictionaryColumnDefContext)_localctx).columnType = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedAlterStatementContext extends ParserRuleContext {
public SupportedAlterStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedAlterStatement; }
public SupportedAlterStatementContext() { }
public void copyFrom(SupportedAlterStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterSystemRenameComputeGroupContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode SYSTEM() { return getToken(PLParser.SYSTEM, 0); }
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public TerminalNode COMPUTE() { return getToken(PLParser.COMPUTE, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public AlterSystemRenameComputeGroupContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterSystemRenameComputeGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterSystemRenameComputeGroup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterSystemRenameComputeGroup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterSystemContext extends SupportedAlterStatementContext {
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode SYSTEM() { return getToken(PLParser.SYSTEM, 0); }
public AlterSystemClauseContext alterSystemClause() {
return getRuleContext(AlterSystemClauseContext.class,0);
}
public AlterSystemContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterSystem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterSystem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterSystem(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterCatalogRenameContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public AlterCatalogRenameContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterCatalogRename(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterCatalogRename(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterCatalogRename(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterDatabaseSetQuotaContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public IdentifierContext quota;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode QUOTA() { return getToken(PLParser.QUOTA, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public AlterDatabaseSetQuotaContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterDatabaseSetQuota(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterDatabaseSetQuota(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterDatabaseSetQuota(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterStorageVaultContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterStorageVaultContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterStorageVault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterStorageVault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterStorageVault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterWorkloadGroupContext extends SupportedAlterStatementContext {
public IdentifierOrTextContext name;
public IdentifierOrTextContext computeGroup;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterWorkloadGroupContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterWorkloadGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterWorkloadGroup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterWorkloadGroup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTableDropRollupContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public List<DropRollupClauseContext> dropRollupClause() {
return getRuleContexts(DropRollupClauseContext.class);
}
public DropRollupClauseContext dropRollupClause(int i) {
return getRuleContext(DropRollupClauseContext.class,i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AlterTableDropRollupContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterTableDropRollup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterTableDropRollup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterTableDropRollup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTablePropertiesContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext name;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public AlterTablePropertiesContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterTableProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterTableProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterTableProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterUserContext extends SupportedAlterStatementContext {
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public GrantUserIdentifyContext grantUserIdentify() {
return getRuleContext(GrantUserIdentifyContext.class,0);
}
public PasswordOptionContext passwordOption() {
return getRuleContext(PasswordOptionContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AlterUserContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterRoleContext extends SupportedAlterStatementContext {
public IdentifierOrTextContext role;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public AlterRoleContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterRole(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterRole(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterRole(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterWorkloadPolicyContext extends SupportedAlterStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterWorkloadPolicyContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterWorkloadPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterWorkloadPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterWorkloadPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterDatabaseRenameContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public AlterDatabaseRenameContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterDatabaseRename(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterDatabaseRename(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterDatabaseRename(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterCatalogPropertiesContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public AlterCatalogPropertiesContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterCatalogProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterCatalogProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterCatalogProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterDatabasePropertiesContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public AlterDatabasePropertiesContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterDatabaseProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterDatabaseProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterDatabaseProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterCatalogCommentContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public Token comment;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AlterCatalogCommentContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterCatalogComment(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterCatalogComment(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterCatalogComment(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterViewContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext name;
public SimpleColumnDefsContext cols;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public SimpleColumnDefsContext simpleColumnDefs() {
return getRuleContext(SimpleColumnDefsContext.class,0);
}
public AlterViewContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterStoragePolicyContext extends SupportedAlterStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterStoragePolicyContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterStoragePolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterStoragePolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterStoragePolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterSqlBlockRuleContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode SQL_BLOCK_RULE() { return getToken(PLParser.SQL_BLOCK_RULE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterSqlBlockRuleContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterSqlBlockRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterSqlBlockRule(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterSqlBlockRule(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterResourceContext extends SupportedAlterStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterResourceContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterResource(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterResource(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterResource(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTableAddRollupContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public List<AddRollupClauseContext> addRollupClause() {
return getRuleContexts(AddRollupClauseContext.class);
}
public AddRollupClauseContext addRollupClause(int i) {
return getRuleContext(AddRollupClauseContext.class,i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AlterTableAddRollupContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterTableAddRollup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterTableAddRollup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterTableAddRollup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterRepositoryContext extends SupportedAlterStatementContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode REPOSITORY() { return getToken(PLParser.REPOSITORY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterRepositoryContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterRepository(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterRepository(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterRepository(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTableContext extends SupportedAlterStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public List<AlterTableClauseContext> alterTableClause() {
return getRuleContexts(AlterTableClauseContext.class);
}
public AlterTableClauseContext alterTableClause(int i) {
return getRuleContext(AlterTableClauseContext.class,i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AlterTableContext(SupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterTable(this);
else return visitor.visitChildren(this);
}
}
public final SupportedAlterStatementContext supportedAlterStatement() throws RecognitionException {
SupportedAlterStatementContext _localctx = new SupportedAlterStatementContext(_ctx, getState());
enterRule(_localctx, 290, RULE_supportedAlterStatement);
int _la;
try {
int _alt;
setState(3616);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,424,_ctx) ) {
case 1:
_localctx = new AlterSystemContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(3429);
match(ALTER);
setState(3430);
match(SYSTEM);
setState(3431);
alterSystemClause();
}
break;
case 2:
_localctx = new AlterViewContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(3432);
match(ALTER);
setState(3433);
match(VIEW);
setState(3434);
((AlterViewContext)_localctx).name = multipartIdentifier();
setState(3449);
_errHandler.sync(this);
switch (_input.LA(1)) {
case MODIFY:
{
setState(3435);
match(MODIFY);
setState(3436);
commentSpec();
}
break;
case LEFT_PAREN:
case AS:
case COMMENT:
{
setState(3441);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(3437);
match(LEFT_PAREN);
setState(3438);
((AlterViewContext)_localctx).cols = simpleColumnDefs();
setState(3439);
match(RIGHT_PAREN);
}
}
setState(3445);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(3443);
match(COMMENT);
setState(3444);
match(STRING_LITERAL);
}
}
setState(3447);
match(AS);
setState(3448);
query();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 3:
_localctx = new AlterCatalogRenameContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(3451);
match(ALTER);
setState(3452);
match(CATALOG);
setState(3453);
((AlterCatalogRenameContext)_localctx).name = identifier();
setState(3454);
match(RENAME);
setState(3455);
((AlterCatalogRenameContext)_localctx).newName = identifier();
}
break;
case 4:
_localctx = new AlterRoleContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(3457);
match(ALTER);
setState(3458);
match(ROLE);
setState(3459);
((AlterRoleContext)_localctx).role = identifierOrText();
setState(3460);
commentSpec();
}
break;
case 5:
_localctx = new AlterStorageVaultContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(3462);
match(ALTER);
setState(3463);
match(STORAGE);
setState(3464);
match(VAULT);
setState(3465);
((AlterStorageVaultContext)_localctx).name = multipartIdentifier();
setState(3466);
((AlterStorageVaultContext)_localctx).properties = propertyClause();
}
break;
case 6:
_localctx = new AlterWorkloadGroupContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(3468);
match(ALTER);
setState(3469);
match(WORKLOAD);
setState(3470);
match(GROUP);
setState(3471);
((AlterWorkloadGroupContext)_localctx).name = identifierOrText();
setState(3474);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,412,_ctx) ) {
case 1:
{
setState(3472);
match(FOR);
setState(3473);
((AlterWorkloadGroupContext)_localctx).computeGroup = identifierOrText();
}
break;
}
setState(3477);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,413,_ctx) ) {
case 1:
{
setState(3476);
((AlterWorkloadGroupContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 7:
_localctx = new AlterCatalogPropertiesContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(3479);
match(ALTER);
setState(3480);
match(CATALOG);
setState(3481);
((AlterCatalogPropertiesContext)_localctx).name = identifier();
setState(3482);
match(SET);
setState(3483);
match(PROPERTIES);
setState(3484);
match(LEFT_PAREN);
setState(3485);
propertyItemList();
setState(3486);
match(RIGHT_PAREN);
}
break;
case 8:
_localctx = new AlterWorkloadPolicyContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(3488);
match(ALTER);
setState(3489);
match(WORKLOAD);
setState(3490);
match(POLICY);
setState(3491);
((AlterWorkloadPolicyContext)_localctx).name = identifierOrText();
setState(3493);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,414,_ctx) ) {
case 1:
{
setState(3492);
((AlterWorkloadPolicyContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 9:
_localctx = new AlterSqlBlockRuleContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(3495);
match(ALTER);
setState(3496);
match(SQL_BLOCK_RULE);
setState(3497);
((AlterSqlBlockRuleContext)_localctx).name = identifier();
setState(3499);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,415,_ctx) ) {
case 1:
{
setState(3498);
((AlterSqlBlockRuleContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 10:
_localctx = new AlterCatalogCommentContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(3501);
match(ALTER);
setState(3502);
match(CATALOG);
setState(3503);
((AlterCatalogCommentContext)_localctx).name = identifier();
setState(3504);
match(MODIFY);
setState(3505);
match(COMMENT);
setState(3506);
((AlterCatalogCommentContext)_localctx).comment = match(STRING_LITERAL);
}
break;
case 11:
_localctx = new AlterDatabaseRenameContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(3508);
match(ALTER);
setState(3509);
match(DATABASE);
setState(3510);
((AlterDatabaseRenameContext)_localctx).name = identifier();
setState(3511);
match(RENAME);
setState(3512);
((AlterDatabaseRenameContext)_localctx).newName = identifier();
}
break;
case 12:
_localctx = new AlterStoragePolicyContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(3514);
match(ALTER);
setState(3515);
match(STORAGE);
setState(3516);
match(POLICY);
setState(3517);
((AlterStoragePolicyContext)_localctx).name = identifierOrText();
setState(3518);
((AlterStoragePolicyContext)_localctx).properties = propertyClause();
}
break;
case 13:
_localctx = new AlterTableContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(3520);
match(ALTER);
setState(3521);
match(TABLE);
setState(3522);
((AlterTableContext)_localctx).tableName = multipartIdentifier();
setState(3523);
alterTableClause();
setState(3528);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,416,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(3524);
match(COMMA);
setState(3525);
alterTableClause();
}
}
}
setState(3530);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,416,_ctx);
}
}
break;
case 14:
_localctx = new AlterTableAddRollupContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(3531);
match(ALTER);
setState(3532);
match(TABLE);
setState(3533);
((AlterTableAddRollupContext)_localctx).tableName = multipartIdentifier();
setState(3534);
match(ADD);
setState(3535);
match(ROLLUP);
setState(3536);
addRollupClause();
setState(3541);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,417,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(3537);
match(COMMA);
setState(3538);
addRollupClause();
}
}
}
setState(3543);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,417,_ctx);
}
}
break;
case 15:
_localctx = new AlterTableDropRollupContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(3544);
match(ALTER);
setState(3545);
match(TABLE);
setState(3546);
((AlterTableDropRollupContext)_localctx).tableName = multipartIdentifier();
setState(3547);
match(DROP);
setState(3548);
match(ROLLUP);
setState(3549);
dropRollupClause();
setState(3554);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,418,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(3550);
match(COMMA);
setState(3551);
dropRollupClause();
}
}
}
setState(3556);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,418,_ctx);
}
}
break;
case 16:
_localctx = new AlterTablePropertiesContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(3557);
match(ALTER);
setState(3558);
match(TABLE);
setState(3559);
((AlterTablePropertiesContext)_localctx).name = multipartIdentifier();
setState(3560);
match(SET);
setState(3561);
match(LEFT_PAREN);
setState(3562);
propertyItemList();
setState(3563);
match(RIGHT_PAREN);
}
break;
case 17:
_localctx = new AlterDatabaseSetQuotaContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(3565);
match(ALTER);
setState(3566);
match(DATABASE);
setState(3567);
((AlterDatabaseSetQuotaContext)_localctx).name = identifier();
setState(3568);
match(SET);
setState(3569);
_la = _input.LA(1);
if ( !(_la==DATA || _la==REPLICA || _la==TRANSACTION) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3570);
match(QUOTA);
setState(3573);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(3571);
((AlterDatabaseSetQuotaContext)_localctx).quota = identifier();
}
break;
case INTEGER_VALUE:
{
setState(3572);
match(INTEGER_VALUE);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 18:
_localctx = new AlterDatabasePropertiesContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(3575);
match(ALTER);
setState(3576);
match(DATABASE);
setState(3577);
((AlterDatabasePropertiesContext)_localctx).name = identifier();
setState(3578);
match(SET);
setState(3579);
match(PROPERTIES);
setState(3580);
match(LEFT_PAREN);
setState(3581);
propertyItemList();
setState(3582);
match(RIGHT_PAREN);
}
break;
case 19:
_localctx = new AlterSystemRenameComputeGroupContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(3584);
match(ALTER);
setState(3585);
match(SYSTEM);
setState(3586);
match(RENAME);
setState(3587);
match(COMPUTE);
setState(3588);
match(GROUP);
setState(3589);
((AlterSystemRenameComputeGroupContext)_localctx).name = identifier();
setState(3590);
((AlterSystemRenameComputeGroupContext)_localctx).newName = identifier();
}
break;
case 20:
_localctx = new AlterResourceContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(3592);
match(ALTER);
setState(3593);
match(RESOURCE);
setState(3594);
((AlterResourceContext)_localctx).name = identifierOrText();
setState(3596);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,420,_ctx) ) {
case 1:
{
setState(3595);
((AlterResourceContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 21:
_localctx = new AlterRepositoryContext(_localctx);
enterOuterAlt(_localctx, 21);
{
setState(3598);
match(ALTER);
setState(3599);
match(REPOSITORY);
setState(3600);
((AlterRepositoryContext)_localctx).name = identifier();
setState(3602);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,421,_ctx) ) {
case 1:
{
setState(3601);
((AlterRepositoryContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 22:
_localctx = new AlterUserContext(_localctx);
enterOuterAlt(_localctx, 22);
{
setState(3604);
match(ALTER);
setState(3605);
match(USER);
setState(3608);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3606);
match(IF);
setState(3607);
match(EXISTS);
}
}
setState(3610);
grantUserIdentify();
setState(3611);
passwordOption();
setState(3614);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,423,_ctx) ) {
case 1:
{
setState(3612);
match(COMMENT);
setState(3613);
match(STRING_LITERAL);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDropStatementContext extends ParserRuleContext {
public SupportedDropStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedDropStatement; }
public SupportedDropStatementContext() { }
public void copyFrom(SupportedDropStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropUserContext extends SupportedDropStatementContext {
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropUserContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropDatabaseContext extends SupportedDropStatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public DropDatabaseContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropDictionaryContext extends SupportedDropStatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode DICTIONARY() { return getToken(PLParser.DICTIONARY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropDictionaryContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropDictionary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropDictionary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropDictionary(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropWorkloadPolicyContext extends SupportedDropStatementContext {
public IdentifierOrTextContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropWorkloadPolicyContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropWorkloadPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropWorkloadPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropWorkloadPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropRowPolicyContext extends SupportedDropStatementContext {
public IdentifierContext policyName;
public MultipartIdentifierContext tableName;
public IdentifierContext roleName;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ROW() { return getToken(PLParser.ROW, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public DropRowPolicyContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropRowPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropRowPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropRowPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropFunctionContext extends SupportedDropStatementContext {
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public FunctionIdentifierContext functionIdentifier() {
return getRuleContext(FunctionIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public FunctionArgumentsContext functionArguments() {
return getRuleContext(FunctionArgumentsContext.class,0);
}
public DropFunctionContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropWorkloadGroupContext extends SupportedDropStatementContext {
public IdentifierOrTextContext name;
public IdentifierOrTextContext computeGroup;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public DropWorkloadGroupContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropWorkloadGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropWorkloadGroup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropWorkloadGroup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropSqlBlockRuleContext extends SupportedDropStatementContext {
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode SQL_BLOCK_RULE() { return getToken(PLParser.SQL_BLOCK_RULE, 0); }
public IdentifierSeqContext identifierSeq() {
return getRuleContext(IdentifierSeqContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropSqlBlockRuleContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropSqlBlockRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropSqlBlockRule(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropSqlBlockRule(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropViewContext extends SupportedDropStatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropViewContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropIndexContext extends SupportedDropStatementContext {
public IdentifierContext name;
public MultipartIdentifierContext tableName;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropIndexContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropEncryptkeyContext extends SupportedDropStatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ENCRYPTKEY() { return getToken(PLParser.ENCRYPTKEY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropEncryptkeyContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropEncryptkey(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropEncryptkey(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropEncryptkey(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropRepositoryContext extends SupportedDropStatementContext {
public IdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode REPOSITORY() { return getToken(PLParser.REPOSITORY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public DropRepositoryContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropRepository(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropRepository(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropRepository(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropRoleContext extends SupportedDropStatementContext {
public IdentifierOrTextContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropRoleContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropRole(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropRole(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropRole(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropStageContext extends SupportedDropStatementContext {
public IdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode STAGE() { return getToken(PLParser.STAGE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropStageContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropStage(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropStage(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropStage(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropResourceContext extends SupportedDropStatementContext {
public IdentifierOrTextContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropResourceContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropResource(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropResource(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropResource(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropFileContext extends SupportedDropStatementContext {
public Token name;
public IdentifierContext database;
public PropertyClauseContext properties;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode FILE() { return getToken(PLParser.FILE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public DropFileContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropFile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropFile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropFile(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropCatalogContext extends SupportedDropStatementContext {
public IdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropCatalogContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropCatalog(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropCatalogRecycleBinContext extends SupportedDropStatementContext {
public Token idType;
public Token id;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode RECYCLE() { return getToken(PLParser.RECYCLE, 0); }
public TerminalNode BIN() { return getToken(PLParser.BIN, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public DropCatalogRecycleBinContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropCatalogRecycleBin(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropCatalogRecycleBin(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropCatalogRecycleBin(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropTableContext extends SupportedDropStatementContext {
public MultipartIdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public DropTableContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropStoragePolicyContext extends SupportedDropStatementContext {
public IdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropStoragePolicyContext(SupportedDropStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropStoragePolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropStoragePolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropStoragePolicy(this);
else return visitor.visitChildren(this);
}
}
public final SupportedDropStatementContext supportedDropStatement() throws RecognitionException {
SupportedDropStatementContext _localctx = new SupportedDropStatementContext(_ctx, getState());
enterRule(_localctx, 292, RULE_supportedDropStatement);
int _la;
try {
setState(3792);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,450,_ctx) ) {
case 1:
_localctx = new DropCatalogRecycleBinContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(3618);
match(DROP);
setState(3619);
match(CATALOG);
setState(3620);
match(RECYCLE);
setState(3621);
match(BIN);
setState(3622);
match(WHERE);
setState(3623);
((DropCatalogRecycleBinContext)_localctx).idType = match(STRING_LITERAL);
setState(3624);
match(EQ);
setState(3625);
((DropCatalogRecycleBinContext)_localctx).id = match(INTEGER_VALUE);
}
break;
case 2:
_localctx = new DropEncryptkeyContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(3626);
match(DROP);
setState(3627);
match(ENCRYPTKEY);
setState(3630);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3628);
match(IF);
setState(3629);
match(EXISTS);
}
}
setState(3632);
((DropEncryptkeyContext)_localctx).name = multipartIdentifier();
}
break;
case 3:
_localctx = new DropRoleContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(3633);
match(DROP);
setState(3634);
match(ROLE);
setState(3637);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3635);
match(IF);
setState(3636);
match(EXISTS);
}
}
setState(3639);
((DropRoleContext)_localctx).name = identifierOrText();
}
break;
case 4:
_localctx = new DropSqlBlockRuleContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(3640);
match(DROP);
setState(3641);
match(SQL_BLOCK_RULE);
setState(3644);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3642);
match(IF);
setState(3643);
match(EXISTS);
}
}
setState(3646);
identifierSeq();
}
break;
case 5:
_localctx = new DropUserContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(3647);
match(DROP);
setState(3648);
match(USER);
setState(3651);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3649);
match(IF);
setState(3650);
match(EXISTS);
}
}
setState(3653);
userIdentify();
}
break;
case 6:
_localctx = new DropStoragePolicyContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(3654);
match(DROP);
setState(3655);
match(STORAGE);
setState(3656);
match(POLICY);
setState(3659);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3657);
match(IF);
setState(3658);
match(EXISTS);
}
}
setState(3661);
((DropStoragePolicyContext)_localctx).name = identifier();
}
break;
case 7:
_localctx = new DropWorkloadGroupContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(3662);
match(DROP);
setState(3663);
match(WORKLOAD);
setState(3664);
match(GROUP);
setState(3667);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3665);
match(IF);
setState(3666);
match(EXISTS);
}
}
setState(3669);
((DropWorkloadGroupContext)_localctx).name = identifierOrText();
setState(3672);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,431,_ctx) ) {
case 1:
{
setState(3670);
match(FOR);
setState(3671);
((DropWorkloadGroupContext)_localctx).computeGroup = identifierOrText();
}
break;
}
}
break;
case 8:
_localctx = new DropCatalogContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(3674);
match(DROP);
setState(3675);
match(CATALOG);
setState(3678);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3676);
match(IF);
setState(3677);
match(EXISTS);
}
}
setState(3680);
((DropCatalogContext)_localctx).name = identifier();
}
break;
case 9:
_localctx = new DropFileContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(3681);
match(DROP);
setState(3682);
match(FILE);
setState(3683);
((DropFileContext)_localctx).name = match(STRING_LITERAL);
setState(3686);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM || _la==IN) {
{
setState(3684);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3685);
((DropFileContext)_localctx).database = identifier();
}
}
setState(3688);
((DropFileContext)_localctx).properties = propertyClause();
}
break;
case 10:
_localctx = new DropWorkloadPolicyContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(3689);
match(DROP);
setState(3690);
match(WORKLOAD);
setState(3691);
match(POLICY);
setState(3694);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3692);
match(IF);
setState(3693);
match(EXISTS);
}
}
setState(3696);
((DropWorkloadPolicyContext)_localctx).name = identifierOrText();
}
break;
case 11:
_localctx = new DropRepositoryContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(3697);
match(DROP);
setState(3698);
match(REPOSITORY);
setState(3699);
((DropRepositoryContext)_localctx).name = identifier();
}
break;
case 12:
_localctx = new DropTableContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(3700);
match(DROP);
setState(3701);
match(TABLE);
setState(3704);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3702);
match(IF);
setState(3703);
match(EXISTS);
}
}
setState(3706);
((DropTableContext)_localctx).name = multipartIdentifier();
setState(3708);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,436,_ctx) ) {
case 1:
{
setState(3707);
match(FORCE);
}
break;
}
}
break;
case 13:
_localctx = new DropDatabaseContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(3710);
match(DROP);
setState(3711);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3714);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3712);
match(IF);
setState(3713);
match(EXISTS);
}
}
setState(3716);
((DropDatabaseContext)_localctx).name = multipartIdentifier();
setState(3718);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,438,_ctx) ) {
case 1:
{
setState(3717);
match(FORCE);
}
break;
}
}
break;
case 14:
_localctx = new DropFunctionContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(3720);
match(DROP);
setState(3722);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(3721);
statementScope();
}
}
setState(3724);
match(FUNCTION);
setState(3727);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,440,_ctx) ) {
case 1:
{
setState(3725);
match(IF);
setState(3726);
match(EXISTS);
}
break;
}
setState(3729);
functionIdentifier();
setState(3730);
match(LEFT_PAREN);
setState(3732);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 186)) & ~0x3f) == 0 && ((1L << (_la - 186)) & -9223300534237116415L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 1073742783L) != 0) || ((((_la - 361)) & ~0x3f) == 0 && ((1L << (_la - 361)) & 108508604058828801L) != 0) || ((((_la - 426)) & ~0x3f) == 0 && ((1L << (_la - 426)) & 536870979L) != 0) || _la==QUANTILE_STATE || _la==SMALLINT || ((((_la - 613)) & ~0x3f) == 0 && ((1L << (_la - 613)) & 5066549583478787L) != 0)) {
{
setState(3731);
functionArguments();
}
}
setState(3734);
match(RIGHT_PAREN);
}
break;
case 15:
_localctx = new DropIndexContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(3736);
match(DROP);
setState(3737);
match(INDEX);
setState(3740);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3738);
match(IF);
setState(3739);
match(EXISTS);
}
}
setState(3742);
((DropIndexContext)_localctx).name = identifier();
setState(3743);
match(ON);
setState(3744);
((DropIndexContext)_localctx).tableName = multipartIdentifier();
}
break;
case 16:
_localctx = new DropResourceContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(3746);
match(DROP);
setState(3747);
match(RESOURCE);
setState(3750);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3748);
match(IF);
setState(3749);
match(EXISTS);
}
}
setState(3752);
((DropResourceContext)_localctx).name = identifierOrText();
}
break;
case 17:
_localctx = new DropRowPolicyContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(3753);
match(DROP);
setState(3754);
match(ROW);
setState(3755);
match(POLICY);
setState(3758);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3756);
match(IF);
setState(3757);
match(EXISTS);
}
}
setState(3760);
((DropRowPolicyContext)_localctx).policyName = identifier();
setState(3761);
match(ON);
setState(3762);
((DropRowPolicyContext)_localctx).tableName = multipartIdentifier();
setState(3769);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,446,_ctx) ) {
case 1:
{
setState(3763);
match(FOR);
setState(3767);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(3764);
userIdentify();
}
break;
case ROLE:
{
setState(3765);
match(ROLE);
setState(3766);
((DropRowPolicyContext)_localctx).roleName = identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
break;
case 18:
_localctx = new DropDictionaryContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(3771);
match(DROP);
setState(3772);
match(DICTIONARY);
setState(3775);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3773);
match(IF);
setState(3774);
match(EXISTS);
}
}
setState(3777);
((DropDictionaryContext)_localctx).name = multipartIdentifier();
}
break;
case 19:
_localctx = new DropStageContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(3778);
match(DROP);
setState(3779);
match(STAGE);
setState(3782);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3780);
match(IF);
setState(3781);
match(EXISTS);
}
}
setState(3784);
((DropStageContext)_localctx).name = identifier();
}
break;
case 20:
_localctx = new DropViewContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(3785);
match(DROP);
setState(3786);
match(VIEW);
setState(3789);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(3787);
match(IF);
setState(3788);
match(EXISTS);
}
}
setState(3791);
((DropViewContext)_localctx).name = multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedShowStatementContext extends ParserRuleContext {
public SupportedShowStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedShowStatement; }
public SupportedShowStatementContext() { }
public void copyFrom(SupportedShowStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRepositoriesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode REPOSITORIES() { return getToken(PLParser.REPOSITORIES, 0); }
public ShowRepositoriesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRepositories(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRepositories(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRepositories(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDataContext extends SupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowDataContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowData(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowData(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowData(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDynamicPartitionContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DYNAMIC() { return getToken(PLParser.DYNAMIC, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowDynamicPartitionContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDynamicPartition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDynamicPartition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDynamicPartition(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTableStatusContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTableStatusContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTableStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTableStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTableStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowBackupContext extends SupportedShowStatementContext {
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode BACKUP() { return getToken(PLParser.BACKUP, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowBackupContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowBackup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowBackup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowBackup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateFunctionContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public FunctionIdentifierContext functionIdentifier() {
return getRuleContext(FunctionIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public FunctionArgumentsContext functionArguments() {
return getRuleContext(FunctionArgumentsContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateFunctionContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowGrantsForUserContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode GRANTS() { return getToken(PLParser.GRANTS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public ShowGrantsForUserContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowGrantsForUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowGrantsForUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowGrantsForUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowViewContext extends SupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public List<TerminalNode> FROM() { return getTokens(PLParser.FROM); }
public TerminalNode FROM(int i) {
return getToken(PLParser.FROM, i);
}
public List<TerminalNode> IN() { return getTokens(PLParser.IN); }
public TerminalNode IN(int i) {
return getToken(PLParser.IN, i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowViewContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTablesContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTablesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTables(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTables(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTables(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowExportContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode EXPORT() { return getToken(PLParser.EXPORT, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowExportContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowExport(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowExport(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowExport(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowAuthorsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode AUTHORS() { return getToken(PLParser.AUTHORS, 0); }
public ShowAuthorsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowAuthors(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowAuthors(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowAuthors(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowStorageEnginesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ENGINES() { return getToken(PLParser.ENGINES, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public ShowStorageEnginesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowStorageEngines(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowStorageEngines(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowStorageEngines(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowWarningErrorsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode WARNINGS() { return getToken(PLParser.WARNINGS, 0); }
public TerminalNode ERRORS() { return getToken(PLParser.ERRORS, 0); }
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public ShowWarningErrorsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowWarningErrors(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowWarningErrors(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowWarningErrors(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCatalogsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CATALOGS() { return getToken(PLParser.CATALOGS, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowCatalogsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCatalogs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCatalogs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCatalogs(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRolesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ROLES() { return getToken(PLParser.ROLES, 0); }
public ShowRolesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRoles(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRoles(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRoles(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRowPolicyContext extends SupportedShowStatementContext {
public IdentifierContext role;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ROW() { return getToken(PLParser.ROW, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowRowPolicyContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRowPolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRowPolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRowPolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTabletsBelongContext extends SupportedShowStatementContext {
public Token INTEGER_VALUE;
public List<Token> tabletIds = new ArrayList<Token>();
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLETS() { return getToken(PLParser.TABLETS, 0); }
public TerminalNode BELONG() { return getToken(PLParser.BELONG, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ShowTabletsBelongContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTabletsBelong(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTabletsBelong(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTabletsBelong(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTriggersContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TRIGGERS() { return getToken(PLParser.TRIGGERS, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTriggersContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTriggers(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTriggers(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTriggers(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateTableContext extends SupportedShowStatementContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode BRIEF() { return getToken(PLParser.BRIEF, 0); }
public ShowCreateTableContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCatalogContext extends SupportedShowStatementContext {
public IdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowCatalogContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCatalog(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowColumnsContext extends SupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public TerminalNode FIELDS() { return getToken(PLParser.FIELDS, 0); }
public List<TerminalNode> FROM() { return getTokens(PLParser.FROM); }
public TerminalNode FROM(int i) {
return getToken(PLParser.FROM, i);
}
public List<TerminalNode> IN() { return getTokens(PLParser.IN); }
public TerminalNode IN(int i) {
return getToken(PLParser.IN, i);
}
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowColumnsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowColumns(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowColumns(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowColumns(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowVariablesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode VARIABLES() { return getToken(PLParser.VARIABLES, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowVariablesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowVariables(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowVariables(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowVariables(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowSyncJobContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowSyncJobContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowSyncJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowSyncJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowSyncJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowEventsContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode EVENTS() { return getToken(PLParser.EVENTS, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowEventsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowEvents(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowEvents(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowEvents(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowPluginsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PLUGINS() { return getToken(PLParser.PLUGINS, 0); }
public ShowPluginsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowPlugins(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowPlugins(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowPlugins(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowAllPropertiesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowAllPropertiesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowAllProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowAllProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowAllProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDataSkewContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode SKEW() { return getToken(PLParser.SKEW, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public ShowDataSkewContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDataSkew(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDataSkew(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDataSkew(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowConvertLscContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CONVERT_LSC() { return getToken(PLParser.CONVERT_LSC, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowConvertLscContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowConvertLsc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowConvertLsc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowConvertLsc(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowSqlBlockRuleContext extends SupportedShowStatementContext {
public IdentifierContext ruleName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode SQL_BLOCK_RULE() { return getToken(PLParser.SQL_BLOCK_RULE, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowSqlBlockRuleContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowSqlBlockRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowSqlBlockRule(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowSqlBlockRule(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTableCreationContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode CREATION() { return getToken(PLParser.CREATION, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTableCreationContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTableCreation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTableCreation(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTableCreation(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowWarningErrorCountContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COUNT() { return getToken(PLParser.COUNT, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode WARNINGS() { return getToken(PLParser.WARNINGS, 0); }
public TerminalNode ERRORS() { return getToken(PLParser.ERRORS, 0); }
public ShowWarningErrorCountContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowWarningErrorCount(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowWarningErrorCount(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowWarningErrorCount(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowReplicaStatusContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public ShowReplicaStatusContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowReplicaStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowReplicaStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowReplicaStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDeleteContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowDeleteContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDelete(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDelete(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDelete(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTabletsFromTableContext extends SupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLETS() { return getToken(PLParser.TABLETS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public ShowTabletsFromTableContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTabletsFromTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTabletsFromTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTabletsFromTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowStagesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode STAGES() { return getToken(PLParser.STAGES, 0); }
public ShowStagesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowStages(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowStages(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowStages(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTransactionContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTransactionContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTransaction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTransaction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTransaction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowBrokerContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public ShowBrokerContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowBroker(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowBroker(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowBroker(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowGrantsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode GRANTS() { return getToken(PLParser.GRANTS, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public ShowGrantsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowGrants(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowGrants(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowGrants(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowResourcesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode RESOURCES() { return getToken(PLParser.RESOURCES, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public ShowResourcesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowResources(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowResources(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowResources(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowWorkloadGroupsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public TerminalNode GROUPS() { return getToken(PLParser.GROUPS, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowWorkloadGroupsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowWorkloadGroups(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowWorkloadGroups(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowWorkloadGroups(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowReplicaDistributionContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode DISTRIBUTION() { return getToken(PLParser.DISTRIBUTION, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public ShowReplicaDistributionContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowReplicaDistribution(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowReplicaDistribution(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowReplicaDistribution(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTabletStorageFormatContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode FORMAT() { return getToken(PLParser.FORMAT, 0); }
public TerminalNode VERBOSE() { return getToken(PLParser.VERBOSE, 0); }
public ShowTabletStorageFormatContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTabletStorageFormat(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTabletStorageFormat(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTabletStorageFormat(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCharsetContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CHARSET() { return getToken(PLParser.CHARSET, 0); }
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public ShowCharsetContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCharset(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCharset(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCharset(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowProcContext extends SupportedShowStatementContext {
public Token path;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowProcContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowProc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowProc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowProc(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateViewContext extends SupportedShowStatementContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateViewContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowOpenTablesContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode OPEN() { return getToken(PLParser.OPEN, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowOpenTablesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowOpenTables(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowOpenTables(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowOpenTables(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowQueryStatsContext extends SupportedShowStatementContext {
public IdentifierContext database;
public MultipartIdentifierContext tableName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode VERBOSE() { return getToken(PLParser.VERBOSE, 0); }
public ShowQueryStatsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowQueryStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowQueryStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowQueryStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateDatabaseContext extends SupportedShowStatementContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateDatabaseContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowQueryProfileContext extends SupportedShowStatementContext {
public Token queryIdPath;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode PROFILE() { return getToken(PLParser.PROFILE, 0); }
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowQueryProfileContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowQueryProfile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowQueryProfile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowQueryProfile(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDictionariesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DICTIONARIES() { return getToken(PLParser.DICTIONARIES, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowDictionariesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDictionaries(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDictionaries(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDictionaries(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowStoragePolicyContext extends SupportedShowStatementContext {
public IdentifierOrTextContext policy;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public ShowStoragePolicyContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowStoragePolicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowStoragePolicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowStoragePolicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowEncryptKeysContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ENCRYPTKEYS() { return getToken(PLParser.ENCRYPTKEYS, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowEncryptKeysContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowEncryptKeys(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowEncryptKeys(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowEncryptKeys(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowLoadContext extends SupportedShowStatementContext {
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode STREAM() { return getToken(PLParser.STREAM, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowLoadContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowClustersContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CLUSTERS() { return getToken(PLParser.CLUSTERS, 0); }
public TerminalNode COMPUTE() { return getToken(PLParser.COMPUTE, 0); }
public TerminalNode GROUPS() { return getToken(PLParser.GROUPS, 0); }
public ShowClustersContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowClusters(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowClusters(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowClusters(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTrashContext extends SupportedShowStatementContext {
public Token backend;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TRASH() { return getToken(PLParser.TRASH, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowTrashContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTrash(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTrash(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTrash(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowPartitionsContext extends SupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PARTITIONS() { return getToken(PLParser.PARTITIONS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public ShowPartitionsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowPartitions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowPartitions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowPartitions(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowGlobalFunctionsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode GLOBAL() { return getToken(PLParser.GLOBAL, 0); }
public TerminalNode FUNCTIONS() { return getToken(PLParser.FUNCTIONS, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowGlobalFunctionsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowGlobalFunctions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowGlobalFunctions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowGlobalFunctions(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowFrontendsContext extends SupportedShowStatementContext {
public IdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode FRONTENDS() { return getToken(PLParser.FRONTENDS, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowFrontendsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowFrontends(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowFrontends(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowFrontends(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowLoadProfileContext extends SupportedShowStatementContext {
public Token loadIdPath;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode PROFILE() { return getToken(PLParser.PROFILE, 0); }
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowLoadProfileContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowLoadProfile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowLoadProfile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowLoadProfile(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowPartitionIdContext extends SupportedShowStatementContext {
public Token partitionId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowPartitionIdContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowPartitionId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowPartitionId(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowPartitionId(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowSnapshotContext extends SupportedShowStatementContext {
public IdentifierContext repo;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode SNAPSHOT() { return getToken(PLParser.SNAPSHOT, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowSnapshotContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowSnapshot(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowSnapshot(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowSnapshot(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCatalogRecycleBinContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode RECYCLE() { return getToken(PLParser.RECYCLE, 0); }
public TerminalNode BIN() { return getToken(PLParser.BIN, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public ShowCatalogRecycleBinContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCatalogRecycleBin(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCatalogRecycleBin(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCatalogRecycleBin(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCopyContext extends SupportedShowStatementContext {
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COPY() { return getToken(PLParser.COPY, 0); }
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowCopyContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCopy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCopy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCopy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCollationContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COLLATION() { return getToken(PLParser.COLLATION, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowCollationContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCollation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCollation(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCollation(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowBackendsContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode BACKENDS() { return getToken(PLParser.BACKENDS, 0); }
public ShowBackendsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowBackends(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowBackends(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowBackends(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowPrivilegesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PRIVILEGES() { return getToken(PLParser.PRIVILEGES, 0); }
public ShowPrivilegesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowPrivileges(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowPrivileges(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowPrivileges(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRestoreContext extends SupportedShowStatementContext {
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode RESTORE() { return getToken(PLParser.RESTORE, 0); }
public TerminalNode BRIEF() { return getToken(PLParser.BRIEF, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowRestoreContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRestore(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRestore(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRestore(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTableIdContext extends SupportedShowStatementContext {
public Token tableId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowTableIdContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTableId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTableId(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTableId(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowSmallFilesContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode FILE() { return getToken(PLParser.FILE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowSmallFilesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowSmallFiles(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowSmallFiles(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowSmallFiles(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDatabasesContext extends SupportedShowStatementContext {
public IdentifierContext catalog;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DATABASES() { return getToken(PLParser.DATABASES, 0); }
public TerminalNode SCHEMAS() { return getToken(PLParser.SCHEMAS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowDatabasesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDatabases(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDatabases(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDatabases(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTabletIdContext extends SupportedShowStatementContext {
public Token tabletId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowTabletIdContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTabletId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTabletId(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTabletId(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowStorageVaultContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public TerminalNode VAULTS() { return getToken(PLParser.VAULTS, 0); }
public ShowStorageVaultContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowStorageVault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowStorageVault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowStorageVault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowStatusContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public ShowStatusContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowUserPropertiesContext extends SupportedShowStatementContext {
public IdentifierOrTextContext user;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PROPERTY() { return getToken(PLParser.PROPERTY, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public ShowUserPropertiesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowUserProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowUserProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowUserProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowWarmUpJobContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode WARM() { return getToken(PLParser.WARM, 0); }
public TerminalNode UP() { return getToken(PLParser.UP, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowWarmUpJobContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowWarmUpJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowWarmUpJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowWarmUpJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowLastInsertContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode LAST() { return getToken(PLParser.LAST, 0); }
public TerminalNode INSERT() { return getToken(PLParser.INSERT, 0); }
public ShowLastInsertContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowLastInsert(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowLastInsert(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowLastInsert(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateCatalogContext extends SupportedShowStatementContext {
public IdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowCreateCatalogContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateCatalog(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateMaterializedViewContext extends SupportedShowStatementContext {
public IdentifierContext mvName;
public MultipartIdentifierContext tableName;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateMaterializedViewContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateMaterializedView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateMaterializedView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateMaterializedView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowProcessListContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode PROCESSLIST() { return getToken(PLParser.PROCESSLIST, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public ShowProcessListContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowProcessList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowProcessList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowProcessList(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDataTypesContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode TYPES() { return getToken(PLParser.TYPES, 0); }
public ShowDataTypesContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDataTypes(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDataTypes(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDataTypes(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDiagnoseTabletContext extends SupportedShowStatementContext {
public Token tabletId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode DIAGNOSIS() { return getToken(PLParser.DIAGNOSIS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowDiagnoseTabletContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDiagnoseTablet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDiagnoseTablet(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDiagnoseTablet(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowWhitelistContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode WHITELIST() { return getToken(PLParser.WHITELIST, 0); }
public ShowWhitelistContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowWhitelist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowWhitelist(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowWhitelist(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowViewsContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode VIEWS() { return getToken(PLParser.VIEWS, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowViewsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowViews(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowViews(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowViews(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowFunctionsContext extends SupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode FUNCTIONS() { return getToken(PLParser.FUNCTIONS, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public TerminalNode BUILTIN() { return getToken(PLParser.BUILTIN, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowFunctionsContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowFunctions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowFunctions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowFunctions(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowDatabaseIdContext extends SupportedShowStatementContext {
public Token databaseId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowDatabaseIdContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowDatabaseId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowDatabaseId(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowDatabaseId(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateRepositoryContext extends SupportedShowStatementContext {
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode REPOSITORY() { return getToken(PLParser.REPOSITORY, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowCreateRepositoryContext(SupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateRepository(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateRepository(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateRepository(this);
else return visitor.visitChildren(this);
}
}
public final SupportedShowStatementContext supportedShowStatement() throws RecognitionException {
SupportedShowStatementContext _localctx = new SupportedShowStatementContext(_ctx, getState());
enterRule(_localctx, 294, RULE_supportedShowStatement);
int _la;
try {
int _alt;
setState(4426);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,562,_ctx) ) {
case 1:
_localctx = new ShowVariablesContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(3794);
match(SHOW);
setState(3796);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(3795);
statementScope();
}
}
setState(3798);
match(VARIABLES);
setState(3800);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,452,_ctx) ) {
case 1:
{
setState(3799);
wildWhere();
}
break;
}
}
break;
case 2:
_localctx = new ShowAuthorsContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(3802);
match(SHOW);
setState(3803);
match(AUTHORS);
}
break;
case 3:
_localctx = new ShowCreateDatabaseContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(3804);
match(SHOW);
setState(3805);
match(CREATE);
setState(3806);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3807);
((ShowCreateDatabaseContext)_localctx).name = multipartIdentifier();
}
break;
case 4:
_localctx = new ShowBackupContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(3808);
match(SHOW);
setState(3809);
match(BACKUP);
setState(3812);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,453,_ctx) ) {
case 1:
{
setState(3810);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3811);
((ShowBackupContext)_localctx).database = identifier();
}
break;
}
setState(3815);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,454,_ctx) ) {
case 1:
{
setState(3814);
wildWhere();
}
break;
}
}
break;
case 5:
_localctx = new ShowBrokerContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(3817);
match(SHOW);
setState(3818);
match(BROKER);
}
break;
case 6:
_localctx = new ShowDynamicPartitionContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(3819);
match(SHOW);
setState(3820);
match(DYNAMIC);
setState(3821);
match(PARTITION);
setState(3822);
match(TABLES);
setState(3825);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,455,_ctx) ) {
case 1:
{
setState(3823);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3824);
((ShowDynamicPartitionContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 7:
_localctx = new ShowEventsContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(3827);
match(SHOW);
setState(3828);
match(EVENTS);
setState(3831);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,456,_ctx) ) {
case 1:
{
setState(3829);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3830);
((ShowEventsContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(3834);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,457,_ctx) ) {
case 1:
{
setState(3833);
wildWhere();
}
break;
}
}
break;
case 8:
_localctx = new ShowExportContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(3836);
match(SHOW);
setState(3837);
match(EXPORT);
setState(3840);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,458,_ctx) ) {
case 1:
{
setState(3838);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3839);
((ShowExportContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(3843);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,459,_ctx) ) {
case 1:
{
setState(3842);
wildWhere();
}
break;
}
setState(3846);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,460,_ctx) ) {
case 1:
{
setState(3845);
sortClause();
}
break;
}
setState(3849);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,461,_ctx) ) {
case 1:
{
setState(3848);
limitClause();
}
break;
}
}
break;
case 9:
_localctx = new ShowLastInsertContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(3851);
match(SHOW);
setState(3852);
match(LAST);
setState(3853);
match(INSERT);
}
break;
case 10:
_localctx = new ShowCharsetContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(3854);
match(SHOW);
setState(3858);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR:
{
{
setState(3855);
match(CHAR);
setState(3856);
match(SET);
}
}
break;
case CHARSET:
{
setState(3857);
match(CHARSET);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 11:
_localctx = new ShowDeleteContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(3860);
match(SHOW);
setState(3861);
match(DELETE);
setState(3864);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,463,_ctx) ) {
case 1:
{
setState(3862);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3863);
((ShowDeleteContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 12:
_localctx = new ShowCreateFunctionContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(3866);
match(SHOW);
setState(3867);
match(CREATE);
setState(3869);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(3868);
statementScope();
}
}
setState(3871);
match(FUNCTION);
setState(3872);
functionIdentifier();
setState(3873);
match(LEFT_PAREN);
setState(3875);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 186)) & ~0x3f) == 0 && ((1L << (_la - 186)) & -9223300534237116415L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 1073742783L) != 0) || ((((_la - 361)) & ~0x3f) == 0 && ((1L << (_la - 361)) & 108508604058828801L) != 0) || ((((_la - 426)) & ~0x3f) == 0 && ((1L << (_la - 426)) & 536870979L) != 0) || _la==QUANTILE_STATE || _la==SMALLINT || ((((_la - 613)) & ~0x3f) == 0 && ((1L << (_la - 613)) & 5066549583478787L) != 0)) {
{
setState(3874);
functionArguments();
}
}
setState(3877);
match(RIGHT_PAREN);
setState(3880);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,466,_ctx) ) {
case 1:
{
setState(3878);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3879);
((ShowCreateFunctionContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 13:
_localctx = new ShowFunctionsContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(3882);
match(SHOW);
setState(3884);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(3883);
match(FULL);
}
}
setState(3887);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BUILTIN) {
{
setState(3886);
match(BUILTIN);
}
}
setState(3889);
match(FUNCTIONS);
setState(3892);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,469,_ctx) ) {
case 1:
{
setState(3890);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3891);
((ShowFunctionsContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(3896);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,470,_ctx) ) {
case 1:
{
setState(3894);
match(LIKE);
setState(3895);
match(STRING_LITERAL);
}
break;
}
}
break;
case 14:
_localctx = new ShowGlobalFunctionsContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(3898);
match(SHOW);
setState(3899);
match(GLOBAL);
setState(3901);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(3900);
match(FULL);
}
}
setState(3903);
match(FUNCTIONS);
setState(3906);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,472,_ctx) ) {
case 1:
{
setState(3904);
match(LIKE);
setState(3905);
match(STRING_LITERAL);
}
break;
}
}
break;
case 15:
_localctx = new ShowGrantsContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(3908);
match(SHOW);
setState(3910);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL) {
{
setState(3909);
match(ALL);
}
}
setState(3912);
match(GRANTS);
}
break;
case 16:
_localctx = new ShowGrantsForUserContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(3913);
match(SHOW);
setState(3914);
match(GRANTS);
setState(3915);
match(FOR);
setState(3916);
userIdentify();
}
break;
case 17:
_localctx = new ShowSyncJobContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(3917);
match(SHOW);
setState(3918);
match(SYNC);
setState(3919);
match(JOB);
setState(3922);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,474,_ctx) ) {
case 1:
{
setState(3920);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3921);
((ShowSyncJobContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 18:
_localctx = new ShowSnapshotContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(3924);
match(SHOW);
setState(3925);
match(SNAPSHOT);
setState(3926);
match(ON);
setState(3927);
((ShowSnapshotContext)_localctx).repo = identifier();
setState(3929);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,475,_ctx) ) {
case 1:
{
setState(3928);
wildWhere();
}
break;
}
}
break;
case 19:
_localctx = new ShowLoadProfileContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(3931);
match(SHOW);
setState(3932);
match(LOAD);
setState(3933);
match(PROFILE);
setState(3935);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,476,_ctx) ) {
case 1:
{
setState(3934);
((ShowLoadProfileContext)_localctx).loadIdPath = match(STRING_LITERAL);
}
break;
}
setState(3938);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,477,_ctx) ) {
case 1:
{
setState(3937);
limitClause();
}
break;
}
}
break;
case 20:
_localctx = new ShowCreateRepositoryContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(3940);
match(SHOW);
setState(3941);
match(CREATE);
setState(3942);
match(REPOSITORY);
setState(3943);
match(FOR);
setState(3944);
identifier();
}
break;
case 21:
_localctx = new ShowViewContext(_localctx);
enterOuterAlt(_localctx, 21);
{
setState(3945);
match(SHOW);
setState(3946);
match(VIEW);
setState(3947);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3948);
((ShowViewContext)_localctx).tableName = multipartIdentifier();
setState(3951);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,478,_ctx) ) {
case 1:
{
setState(3949);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3950);
((ShowViewContext)_localctx).database = identifier();
}
break;
}
}
break;
case 22:
_localctx = new ShowPluginsContext(_localctx);
enterOuterAlt(_localctx, 22);
{
setState(3953);
match(SHOW);
setState(3954);
match(PLUGINS);
}
break;
case 23:
_localctx = new ShowStorageVaultContext(_localctx);
enterOuterAlt(_localctx, 23);
{
setState(3955);
match(SHOW);
setState(3956);
match(STORAGE);
setState(3957);
_la = _input.LA(1);
if ( !(_la==VAULT || _la==VAULTS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 24:
_localctx = new ShowRepositoriesContext(_localctx);
enterOuterAlt(_localctx, 24);
{
setState(3958);
match(SHOW);
setState(3959);
match(REPOSITORIES);
}
break;
case 25:
_localctx = new ShowEncryptKeysContext(_localctx);
enterOuterAlt(_localctx, 25);
{
setState(3960);
match(SHOW);
setState(3961);
match(ENCRYPTKEYS);
setState(3964);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,479,_ctx) ) {
case 1:
{
setState(3962);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(3963);
((ShowEncryptKeysContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(3968);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,480,_ctx) ) {
case 1:
{
setState(3966);
match(LIKE);
setState(3967);
match(STRING_LITERAL);
}
break;
}
}
break;
case 26:
_localctx = new ShowCreateTableContext(_localctx);
enterOuterAlt(_localctx, 26);
{
setState(3970);
match(SHOW);
setState(3972);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BRIEF) {
{
setState(3971);
match(BRIEF);
}
}
setState(3974);
match(CREATE);
setState(3975);
match(TABLE);
setState(3976);
((ShowCreateTableContext)_localctx).name = multipartIdentifier();
}
break;
case 27:
_localctx = new ShowProcessListContext(_localctx);
enterOuterAlt(_localctx, 27);
{
setState(3977);
match(SHOW);
setState(3979);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(3978);
match(FULL);
}
}
setState(3981);
match(PROCESSLIST);
}
break;
case 28:
_localctx = new ShowPartitionsContext(_localctx);
enterOuterAlt(_localctx, 28);
{
setState(3982);
match(SHOW);
setState(3984);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(3983);
match(TEMPORARY);
}
}
setState(3986);
match(PARTITIONS);
setState(3987);
match(FROM);
setState(3988);
((ShowPartitionsContext)_localctx).tableName = multipartIdentifier();
setState(3990);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,484,_ctx) ) {
case 1:
{
setState(3989);
wildWhere();
}
break;
}
setState(3993);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,485,_ctx) ) {
case 1:
{
setState(3992);
sortClause();
}
break;
}
setState(3996);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,486,_ctx) ) {
case 1:
{
setState(3995);
limitClause();
}
break;
}
}
break;
case 29:
_localctx = new ShowRestoreContext(_localctx);
enterOuterAlt(_localctx, 29);
{
setState(3998);
match(SHOW);
setState(4000);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BRIEF) {
{
setState(3999);
match(BRIEF);
}
}
setState(4002);
match(RESTORE);
setState(4005);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,488,_ctx) ) {
case 1:
{
setState(4003);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4004);
((ShowRestoreContext)_localctx).database = identifier();
}
break;
}
setState(4008);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,489,_ctx) ) {
case 1:
{
setState(4007);
wildWhere();
}
break;
}
}
break;
case 30:
_localctx = new ShowRolesContext(_localctx);
enterOuterAlt(_localctx, 30);
{
setState(4010);
match(SHOW);
setState(4011);
match(ROLES);
}
break;
case 31:
_localctx = new ShowPartitionIdContext(_localctx);
enterOuterAlt(_localctx, 31);
{
setState(4012);
match(SHOW);
setState(4013);
match(PARTITION);
setState(4014);
((ShowPartitionIdContext)_localctx).partitionId = match(INTEGER_VALUE);
}
break;
case 32:
_localctx = new ShowPrivilegesContext(_localctx);
enterOuterAlt(_localctx, 32);
{
setState(4015);
match(SHOW);
setState(4016);
match(PRIVILEGES);
}
break;
case 33:
_localctx = new ShowProcContext(_localctx);
enterOuterAlt(_localctx, 33);
{
setState(4017);
match(SHOW);
setState(4018);
match(PROC);
setState(4019);
((ShowProcContext)_localctx).path = match(STRING_LITERAL);
}
break;
case 34:
_localctx = new ShowSmallFilesContext(_localctx);
enterOuterAlt(_localctx, 34);
{
setState(4020);
match(SHOW);
setState(4021);
match(FILE);
setState(4024);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,490,_ctx) ) {
case 1:
{
setState(4022);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4023);
((ShowSmallFilesContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 35:
_localctx = new ShowStorageEnginesContext(_localctx);
enterOuterAlt(_localctx, 35);
{
setState(4026);
match(SHOW);
setState(4028);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STORAGE) {
{
setState(4027);
match(STORAGE);
}
}
setState(4030);
match(ENGINES);
}
break;
case 36:
_localctx = new ShowCreateCatalogContext(_localctx);
enterOuterAlt(_localctx, 36);
{
setState(4031);
match(SHOW);
setState(4032);
match(CREATE);
setState(4033);
match(CATALOG);
setState(4034);
((ShowCreateCatalogContext)_localctx).name = identifier();
}
break;
case 37:
_localctx = new ShowCatalogContext(_localctx);
enterOuterAlt(_localctx, 37);
{
setState(4035);
match(SHOW);
setState(4036);
match(CATALOG);
setState(4037);
((ShowCatalogContext)_localctx).name = identifier();
}
break;
case 38:
_localctx = new ShowCatalogsContext(_localctx);
enterOuterAlt(_localctx, 38);
{
setState(4038);
match(SHOW);
setState(4039);
match(CATALOGS);
setState(4041);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,492,_ctx) ) {
case 1:
{
setState(4040);
wildWhere();
}
break;
}
}
break;
case 39:
_localctx = new ShowUserPropertiesContext(_localctx);
enterOuterAlt(_localctx, 39);
{
setState(4043);
match(SHOW);
setState(4044);
match(PROPERTY);
setState(4047);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,493,_ctx) ) {
case 1:
{
setState(4045);
match(FOR);
setState(4046);
((ShowUserPropertiesContext)_localctx).user = identifierOrText();
}
break;
}
setState(4051);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,494,_ctx) ) {
case 1:
{
setState(4049);
match(LIKE);
setState(4050);
match(STRING_LITERAL);
}
break;
}
}
break;
case 40:
_localctx = new ShowAllPropertiesContext(_localctx);
enterOuterAlt(_localctx, 40);
{
setState(4053);
match(SHOW);
setState(4054);
match(ALL);
setState(4055);
match(PROPERTIES);
setState(4058);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,495,_ctx) ) {
case 1:
{
setState(4056);
match(LIKE);
setState(4057);
match(STRING_LITERAL);
}
break;
}
}
break;
case 41:
_localctx = new ShowCollationContext(_localctx);
enterOuterAlt(_localctx, 41);
{
setState(4060);
match(SHOW);
setState(4061);
match(COLLATION);
setState(4063);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,496,_ctx) ) {
case 1:
{
setState(4062);
wildWhere();
}
break;
}
}
break;
case 42:
_localctx = new ShowRowPolicyContext(_localctx);
enterOuterAlt(_localctx, 42);
{
setState(4065);
match(SHOW);
setState(4066);
match(ROW);
setState(4067);
match(POLICY);
setState(4074);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,498,_ctx) ) {
case 1:
{
setState(4068);
match(FOR);
setState(4072);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(4069);
userIdentify();
}
break;
case ROLE:
{
{
setState(4070);
match(ROLE);
setState(4071);
((ShowRowPolicyContext)_localctx).role = identifier();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
break;
case 43:
_localctx = new ShowStoragePolicyContext(_localctx);
enterOuterAlt(_localctx, 43);
{
setState(4076);
match(SHOW);
setState(4077);
match(STORAGE);
setState(4078);
match(POLICY);
setState(4084);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,500,_ctx) ) {
case 1:
{
setState(4079);
match(USING);
setState(4082);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,499,_ctx) ) {
case 1:
{
setState(4080);
match(FOR);
setState(4081);
((ShowStoragePolicyContext)_localctx).policy = identifierOrText();
}
break;
}
}
break;
}
}
break;
case 44:
_localctx = new ShowSqlBlockRuleContext(_localctx);
enterOuterAlt(_localctx, 44);
{
setState(4086);
match(SHOW);
setState(4087);
match(SQL_BLOCK_RULE);
setState(4090);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,501,_ctx) ) {
case 1:
{
setState(4088);
match(FOR);
setState(4089);
((ShowSqlBlockRuleContext)_localctx).ruleName = identifier();
}
break;
}
}
break;
case 45:
_localctx = new ShowCreateViewContext(_localctx);
enterOuterAlt(_localctx, 45);
{
setState(4092);
match(SHOW);
setState(4093);
match(CREATE);
setState(4094);
match(VIEW);
setState(4095);
((ShowCreateViewContext)_localctx).name = multipartIdentifier();
}
break;
case 46:
_localctx = new ShowDataTypesContext(_localctx);
enterOuterAlt(_localctx, 46);
{
setState(4096);
match(SHOW);
setState(4097);
match(DATA);
setState(4098);
match(TYPES);
}
break;
case 47:
_localctx = new ShowDataContext(_localctx);
enterOuterAlt(_localctx, 47);
{
setState(4099);
match(SHOW);
setState(4100);
match(DATA);
setState(4102);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,502,_ctx) ) {
case 1:
{
setState(4101);
match(ALL);
}
break;
}
setState(4106);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,503,_ctx) ) {
case 1:
{
setState(4104);
match(FROM);
setState(4105);
((ShowDataContext)_localctx).tableName = multipartIdentifier();
}
break;
}
setState(4109);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,504,_ctx) ) {
case 1:
{
setState(4108);
sortClause();
}
break;
}
setState(4112);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,505,_ctx) ) {
case 1:
{
setState(4111);
propertyClause();
}
break;
}
}
break;
case 48:
_localctx = new ShowCreateMaterializedViewContext(_localctx);
enterOuterAlt(_localctx, 48);
{
setState(4114);
match(SHOW);
setState(4115);
match(CREATE);
setState(4116);
match(MATERIALIZED);
setState(4117);
match(VIEW);
setState(4118);
((ShowCreateMaterializedViewContext)_localctx).mvName = identifier();
setState(4119);
match(ON);
setState(4120);
((ShowCreateMaterializedViewContext)_localctx).tableName = multipartIdentifier();
}
break;
case 49:
_localctx = new ShowWarningErrorsContext(_localctx);
enterOuterAlt(_localctx, 49);
{
setState(4122);
match(SHOW);
setState(4123);
_la = _input.LA(1);
if ( !(_la==ERRORS || _la==WARNINGS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4125);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,506,_ctx) ) {
case 1:
{
setState(4124);
limitClause();
}
break;
}
}
break;
case 50:
_localctx = new ShowWarningErrorCountContext(_localctx);
enterOuterAlt(_localctx, 50);
{
setState(4127);
match(SHOW);
setState(4128);
match(COUNT);
setState(4129);
match(LEFT_PAREN);
setState(4130);
match(ASTERISK);
setState(4131);
match(RIGHT_PAREN);
setState(4132);
_la = _input.LA(1);
if ( !(_la==ERRORS || _la==WARNINGS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 51:
_localctx = new ShowBackendsContext(_localctx);
enterOuterAlt(_localctx, 51);
{
setState(4133);
match(SHOW);
setState(4134);
match(BACKENDS);
}
break;
case 52:
_localctx = new ShowStagesContext(_localctx);
enterOuterAlt(_localctx, 52);
{
setState(4135);
match(SHOW);
setState(4136);
match(STAGES);
}
break;
case 53:
_localctx = new ShowReplicaDistributionContext(_localctx);
enterOuterAlt(_localctx, 53);
{
setState(4137);
match(SHOW);
setState(4138);
match(REPLICA);
setState(4139);
match(DISTRIBUTION);
setState(4140);
match(FROM);
setState(4141);
baseTableRef();
}
break;
case 54:
_localctx = new ShowResourcesContext(_localctx);
enterOuterAlt(_localctx, 54);
{
setState(4142);
match(SHOW);
setState(4143);
match(RESOURCES);
setState(4145);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,507,_ctx) ) {
case 1:
{
setState(4144);
wildWhere();
}
break;
}
setState(4148);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,508,_ctx) ) {
case 1:
{
setState(4147);
sortClause();
}
break;
}
setState(4151);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,509,_ctx) ) {
case 1:
{
setState(4150);
limitClause();
}
break;
}
}
break;
case 55:
_localctx = new ShowLoadContext(_localctx);
enterOuterAlt(_localctx, 55);
{
setState(4153);
match(SHOW);
setState(4155);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STREAM) {
{
setState(4154);
match(STREAM);
}
}
setState(4157);
match(LOAD);
setState(4160);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,511,_ctx) ) {
case 1:
{
setState(4158);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4159);
((ShowLoadContext)_localctx).database = identifier();
}
break;
}
setState(4163);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,512,_ctx) ) {
case 1:
{
setState(4162);
wildWhere();
}
break;
}
setState(4166);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,513,_ctx) ) {
case 1:
{
setState(4165);
sortClause();
}
break;
}
setState(4169);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,514,_ctx) ) {
case 1:
{
setState(4168);
limitClause();
}
break;
}
}
break;
case 56:
_localctx = new ShowTriggersContext(_localctx);
enterOuterAlt(_localctx, 56);
{
setState(4171);
match(SHOW);
setState(4173);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(4172);
match(FULL);
}
}
setState(4175);
match(TRIGGERS);
setState(4178);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,516,_ctx) ) {
case 1:
{
setState(4176);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4177);
((ShowTriggersContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4181);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,517,_ctx) ) {
case 1:
{
setState(4180);
wildWhere();
}
break;
}
}
break;
case 57:
_localctx = new ShowDiagnoseTabletContext(_localctx);
enterOuterAlt(_localctx, 57);
{
setState(4183);
match(SHOW);
setState(4184);
match(TABLET);
setState(4185);
match(DIAGNOSIS);
setState(4186);
((ShowDiagnoseTabletContext)_localctx).tabletId = match(INTEGER_VALUE);
}
break;
case 58:
_localctx = new ShowOpenTablesContext(_localctx);
enterOuterAlt(_localctx, 58);
{
setState(4187);
match(SHOW);
setState(4188);
match(OPEN);
setState(4189);
match(TABLES);
setState(4192);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,518,_ctx) ) {
case 1:
{
setState(4190);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4191);
((ShowOpenTablesContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4195);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,519,_ctx) ) {
case 1:
{
setState(4194);
wildWhere();
}
break;
}
}
break;
case 59:
_localctx = new ShowFrontendsContext(_localctx);
enterOuterAlt(_localctx, 59);
{
setState(4197);
match(SHOW);
setState(4198);
match(FRONTENDS);
setState(4200);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,520,_ctx) ) {
case 1:
{
setState(4199);
((ShowFrontendsContext)_localctx).name = identifier();
}
break;
}
}
break;
case 60:
_localctx = new ShowDatabaseIdContext(_localctx);
enterOuterAlt(_localctx, 60);
{
setState(4202);
match(SHOW);
setState(4203);
match(DATABASE);
setState(4204);
((ShowDatabaseIdContext)_localctx).databaseId = match(INTEGER_VALUE);
}
break;
case 61:
_localctx = new ShowColumnsContext(_localctx);
enterOuterAlt(_localctx, 61);
{
setState(4205);
match(SHOW);
setState(4207);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(4206);
match(FULL);
}
}
setState(4209);
_la = _input.LA(1);
if ( !(_la==COLUMNS || _la==FIELDS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4210);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4211);
((ShowColumnsContext)_localctx).tableName = multipartIdentifier();
setState(4214);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,522,_ctx) ) {
case 1:
{
setState(4212);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4213);
((ShowColumnsContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4217);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,523,_ctx) ) {
case 1:
{
setState(4216);
wildWhere();
}
break;
}
}
break;
case 62:
_localctx = new ShowTableIdContext(_localctx);
enterOuterAlt(_localctx, 62);
{
setState(4219);
match(SHOW);
setState(4220);
match(TABLE);
setState(4221);
((ShowTableIdContext)_localctx).tableId = match(INTEGER_VALUE);
}
break;
case 63:
_localctx = new ShowTrashContext(_localctx);
enterOuterAlt(_localctx, 63);
{
setState(4222);
match(SHOW);
setState(4223);
match(TRASH);
setState(4226);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,524,_ctx) ) {
case 1:
{
setState(4224);
match(ON);
setState(4225);
((ShowTrashContext)_localctx).backend = match(STRING_LITERAL);
}
break;
}
}
break;
case 64:
_localctx = new ShowClustersContext(_localctx);
enterOuterAlt(_localctx, 64);
{
setState(4228);
match(SHOW);
setState(4232);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CLUSTERS:
{
setState(4229);
match(CLUSTERS);
}
break;
case COMPUTE:
{
{
setState(4230);
match(COMPUTE);
setState(4231);
match(GROUPS);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 65:
_localctx = new ShowStatusContext(_localctx);
enterOuterAlt(_localctx, 65);
{
setState(4234);
match(SHOW);
setState(4236);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(4235);
statementScope();
}
}
setState(4238);
match(STATUS);
}
break;
case 66:
_localctx = new ShowWhitelistContext(_localctx);
enterOuterAlt(_localctx, 66);
{
setState(4239);
match(SHOW);
setState(4240);
match(WHITELIST);
}
break;
case 67:
_localctx = new ShowTabletsBelongContext(_localctx);
enterOuterAlt(_localctx, 67);
{
setState(4241);
match(SHOW);
setState(4242);
match(TABLETS);
setState(4243);
match(BELONG);
setState(4244);
((ShowTabletsBelongContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((ShowTabletsBelongContext)_localctx).tabletIds.add(((ShowTabletsBelongContext)_localctx).INTEGER_VALUE);
setState(4249);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,527,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(4245);
match(COMMA);
setState(4246);
((ShowTabletsBelongContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((ShowTabletsBelongContext)_localctx).tabletIds.add(((ShowTabletsBelongContext)_localctx).INTEGER_VALUE);
}
}
}
setState(4251);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,527,_ctx);
}
}
break;
case 68:
_localctx = new ShowDataSkewContext(_localctx);
enterOuterAlt(_localctx, 68);
{
setState(4252);
match(SHOW);
setState(4253);
match(DATA);
setState(4254);
match(SKEW);
setState(4255);
match(FROM);
setState(4256);
baseTableRef();
}
break;
case 69:
_localctx = new ShowTableCreationContext(_localctx);
enterOuterAlt(_localctx, 69);
{
setState(4257);
match(SHOW);
setState(4258);
match(TABLE);
setState(4259);
match(CREATION);
setState(4262);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,528,_ctx) ) {
case 1:
{
setState(4260);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4261);
((ShowTableCreationContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4266);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,529,_ctx) ) {
case 1:
{
setState(4264);
match(LIKE);
setState(4265);
match(STRING_LITERAL);
}
break;
}
}
break;
case 70:
_localctx = new ShowTabletStorageFormatContext(_localctx);
enterOuterAlt(_localctx, 70);
{
setState(4268);
match(SHOW);
setState(4269);
match(TABLET);
setState(4270);
match(STORAGE);
setState(4271);
match(FORMAT);
setState(4273);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,530,_ctx) ) {
case 1:
{
setState(4272);
match(VERBOSE);
}
break;
}
}
break;
case 71:
_localctx = new ShowQueryProfileContext(_localctx);
enterOuterAlt(_localctx, 71);
{
setState(4275);
match(SHOW);
setState(4276);
match(QUERY);
setState(4277);
match(PROFILE);
setState(4279);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,531,_ctx) ) {
case 1:
{
setState(4278);
((ShowQueryProfileContext)_localctx).queryIdPath = match(STRING_LITERAL);
}
break;
}
setState(4282);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,532,_ctx) ) {
case 1:
{
setState(4281);
limitClause();
}
break;
}
}
break;
case 72:
_localctx = new ShowConvertLscContext(_localctx);
enterOuterAlt(_localctx, 72);
{
setState(4284);
match(SHOW);
setState(4285);
match(CONVERT_LSC);
setState(4288);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,533,_ctx) ) {
case 1:
{
setState(4286);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4287);
((ShowConvertLscContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 73:
_localctx = new ShowTablesContext(_localctx);
enterOuterAlt(_localctx, 73);
{
setState(4290);
match(SHOW);
setState(4292);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(4291);
match(FULL);
}
}
setState(4294);
match(TABLES);
setState(4297);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,535,_ctx) ) {
case 1:
{
setState(4295);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4296);
((ShowTablesContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4300);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,536,_ctx) ) {
case 1:
{
setState(4299);
wildWhere();
}
break;
}
}
break;
case 74:
_localctx = new ShowViewsContext(_localctx);
enterOuterAlt(_localctx, 74);
{
setState(4302);
match(SHOW);
setState(4304);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULL) {
{
setState(4303);
match(FULL);
}
}
setState(4306);
match(VIEWS);
setState(4309);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,538,_ctx) ) {
case 1:
{
setState(4307);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4308);
((ShowViewsContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4312);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,539,_ctx) ) {
case 1:
{
setState(4311);
wildWhere();
}
break;
}
}
break;
case 75:
_localctx = new ShowTableStatusContext(_localctx);
enterOuterAlt(_localctx, 75);
{
setState(4314);
match(SHOW);
setState(4315);
match(TABLE);
setState(4316);
match(STATUS);
setState(4319);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,540,_ctx) ) {
case 1:
{
setState(4317);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4318);
((ShowTableStatusContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4322);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,541,_ctx) ) {
case 1:
{
setState(4321);
wildWhere();
}
break;
}
}
break;
case 76:
_localctx = new ShowDatabasesContext(_localctx);
enterOuterAlt(_localctx, 76);
{
setState(4324);
match(SHOW);
setState(4325);
_la = _input.LA(1);
if ( !(_la==DATABASES || _la==SCHEMAS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4328);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,542,_ctx) ) {
case 1:
{
setState(4326);
match(FROM);
setState(4327);
((ShowDatabasesContext)_localctx).catalog = identifier();
}
break;
}
setState(4331);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,543,_ctx) ) {
case 1:
{
setState(4330);
wildWhere();
}
break;
}
}
break;
case 77:
_localctx = new ShowTabletsFromTableContext(_localctx);
enterOuterAlt(_localctx, 77);
{
setState(4333);
match(SHOW);
setState(4334);
match(TABLETS);
setState(4335);
match(FROM);
setState(4336);
((ShowTabletsFromTableContext)_localctx).tableName = multipartIdentifier();
setState(4338);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,544,_ctx) ) {
case 1:
{
setState(4337);
partitionSpec();
}
break;
}
setState(4341);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,545,_ctx) ) {
case 1:
{
setState(4340);
wildWhere();
}
break;
}
setState(4344);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,546,_ctx) ) {
case 1:
{
setState(4343);
sortClause();
}
break;
}
setState(4347);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,547,_ctx) ) {
case 1:
{
setState(4346);
limitClause();
}
break;
}
}
break;
case 78:
_localctx = new ShowCatalogRecycleBinContext(_localctx);
enterOuterAlt(_localctx, 78);
{
setState(4349);
match(SHOW);
setState(4350);
match(CATALOG);
setState(4351);
match(RECYCLE);
setState(4352);
match(BIN);
setState(4355);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,548,_ctx) ) {
case 1:
{
setState(4353);
match(WHERE);
setState(4354);
expression();
}
break;
}
}
break;
case 79:
_localctx = new ShowTabletIdContext(_localctx);
enterOuterAlt(_localctx, 79);
{
setState(4357);
match(SHOW);
setState(4358);
match(TABLET);
setState(4359);
((ShowTabletIdContext)_localctx).tabletId = match(INTEGER_VALUE);
}
break;
case 80:
_localctx = new ShowDictionariesContext(_localctx);
enterOuterAlt(_localctx, 80);
{
setState(4360);
match(SHOW);
setState(4361);
match(DICTIONARIES);
setState(4363);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,549,_ctx) ) {
case 1:
{
setState(4362);
wildWhere();
}
break;
}
}
break;
case 81:
_localctx = new ShowTransactionContext(_localctx);
enterOuterAlt(_localctx, 81);
{
setState(4365);
match(SHOW);
setState(4366);
match(TRANSACTION);
setState(4369);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,550,_ctx) ) {
case 1:
{
setState(4367);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4368);
((ShowTransactionContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4372);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,551,_ctx) ) {
case 1:
{
setState(4371);
wildWhere();
}
break;
}
}
break;
case 82:
_localctx = new ShowReplicaStatusContext(_localctx);
enterOuterAlt(_localctx, 82);
{
setState(4374);
match(SHOW);
setState(4375);
match(REPLICA);
setState(4376);
match(STATUS);
setState(4377);
match(FROM);
setState(4378);
baseTableRef();
setState(4380);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,552,_ctx) ) {
case 1:
{
setState(4379);
whereClause();
}
break;
}
}
break;
case 83:
_localctx = new ShowWorkloadGroupsContext(_localctx);
enterOuterAlt(_localctx, 83);
{
setState(4382);
match(SHOW);
setState(4383);
match(WORKLOAD);
setState(4384);
match(GROUPS);
setState(4387);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,553,_ctx) ) {
case 1:
{
setState(4385);
match(LIKE);
setState(4386);
match(STRING_LITERAL);
}
break;
}
}
break;
case 84:
_localctx = new ShowCopyContext(_localctx);
enterOuterAlt(_localctx, 84);
{
setState(4389);
match(SHOW);
setState(4390);
match(COPY);
setState(4393);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,554,_ctx) ) {
case 1:
{
setState(4391);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4392);
((ShowCopyContext)_localctx).database = identifier();
}
break;
}
setState(4396);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,555,_ctx) ) {
case 1:
{
setState(4395);
whereClause();
}
break;
}
setState(4399);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,556,_ctx) ) {
case 1:
{
setState(4398);
sortClause();
}
break;
}
setState(4402);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,557,_ctx) ) {
case 1:
{
setState(4401);
limitClause();
}
break;
}
}
break;
case 85:
_localctx = new ShowQueryStatsContext(_localctx);
enterOuterAlt(_localctx, 85);
{
setState(4404);
match(SHOW);
setState(4405);
match(QUERY);
setState(4406);
match(STATS);
setState(4417);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,560,_ctx) ) {
case 1:
{
{
setState(4407);
match(FOR);
setState(4408);
((ShowQueryStatsContext)_localctx).database = identifier();
}
}
break;
case 2:
{
{
setState(4409);
match(FROM);
setState(4410);
((ShowQueryStatsContext)_localctx).tableName = multipartIdentifier();
setState(4415);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,559,_ctx) ) {
case 1:
{
setState(4411);
match(ALL);
setState(4413);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,558,_ctx) ) {
case 1:
{
setState(4412);
match(VERBOSE);
}
break;
}
}
break;
}
}
}
break;
}
}
break;
case 86:
_localctx = new ShowWarmUpJobContext(_localctx);
enterOuterAlt(_localctx, 86);
{
setState(4419);
match(SHOW);
setState(4420);
match(WARM);
setState(4421);
match(UP);
setState(4422);
match(JOB);
setState(4424);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,561,_ctx) ) {
case 1:
{
setState(4423);
wildWhere();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedLoadStatementContext extends ParserRuleContext {
public SupportedLoadStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedLoadStatement; }
public SupportedLoadStatementContext() { }
public void copyFrom(SupportedLoadStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ResumeRoutineLoadContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ResumeRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResumeRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResumeRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResumeRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateDataSyncJobContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext label;
public PropertyClauseContext properties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public ChannelDescriptionsContext channelDescriptions() {
return getRuleContext(ChannelDescriptionsContext.class,0);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode BINLOG() { return getToken(PLParser.BINLOG, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CreateDataSyncJobContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateDataSyncJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateDataSyncJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateDataSyncJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PauseDataSyncJobContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext name;
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PauseDataSyncJobContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPauseDataSyncJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPauseDataSyncJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPauseDataSyncJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PauseRoutineLoadContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PauseRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPauseRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPauseRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPauseRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CreateRoutineLoadAliasContext extends SupportedLoadStatementContext {
public CreateRoutineLoadContext createRoutineLoad() {
return getRuleContext(CreateRoutineLoadContext.class,0);
}
public CreateRoutineLoadAliasContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateRoutineLoadAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateRoutineLoadAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateRoutineLoadAlias(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ResumeDataSyncJobContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext name;
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ResumeDataSyncJobContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResumeDataSyncJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResumeDataSyncJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResumeDataSyncJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PauseAllRoutineLoadContext extends SupportedLoadStatementContext {
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public PauseAllRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPauseAllRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPauseAllRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPauseAllRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SyncContext extends SupportedLoadStatementContext {
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public SyncContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSync(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSync(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSync(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StopDataSyncJobContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext name;
public TerminalNode STOP() { return getToken(PLParser.STOP, 0); }
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public StopDataSyncJobContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStopDataSyncJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStopDataSyncJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStopDataSyncJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateRoutineLoadContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public ShowCreateRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ResumeAllRoutineLoadContext extends SupportedLoadStatementContext {
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public ResumeAllRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResumeAllRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResumeAllRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResumeAllRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StopRoutineLoadContext extends SupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode STOP() { return getToken(PLParser.STOP, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public StopRoutineLoadContext(SupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStopRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStopRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStopRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
public final SupportedLoadStatementContext supportedLoadStatement() throws RecognitionException {
SupportedLoadStatementContext _localctx = new SupportedLoadStatementContext(_ctx, getState());
enterRule(_localctx, 296, RULE_supportedLoadStatement);
int _la;
try {
setState(4488);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,565,_ctx) ) {
case 1:
_localctx = new SyncContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4428);
match(SYNC);
}
break;
case 2:
_localctx = new CreateRoutineLoadAliasContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4429);
createRoutineLoad();
}
break;
case 3:
_localctx = new ShowCreateRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4430);
match(SHOW);
setState(4432);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL) {
{
setState(4431);
match(ALL);
}
}
setState(4434);
match(CREATE);
setState(4435);
match(ROUTINE);
setState(4436);
match(LOAD);
setState(4437);
match(FOR);
setState(4438);
((ShowCreateRoutineLoadContext)_localctx).label = multipartIdentifier();
}
break;
case 4:
_localctx = new PauseRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4439);
match(PAUSE);
setState(4440);
match(ROUTINE);
setState(4441);
match(LOAD);
setState(4442);
match(FOR);
setState(4443);
((PauseRoutineLoadContext)_localctx).label = multipartIdentifier();
}
break;
case 5:
_localctx = new PauseAllRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(4444);
match(PAUSE);
setState(4445);
match(ALL);
setState(4446);
match(ROUTINE);
setState(4447);
match(LOAD);
}
break;
case 6:
_localctx = new ResumeRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(4448);
match(RESUME);
setState(4449);
match(ROUTINE);
setState(4450);
match(LOAD);
setState(4451);
match(FOR);
setState(4452);
((ResumeRoutineLoadContext)_localctx).label = multipartIdentifier();
}
break;
case 7:
_localctx = new ResumeAllRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(4453);
match(RESUME);
setState(4454);
match(ALL);
setState(4455);
match(ROUTINE);
setState(4456);
match(LOAD);
}
break;
case 8:
_localctx = new StopRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(4457);
match(STOP);
setState(4458);
match(ROUTINE);
setState(4459);
match(LOAD);
setState(4460);
match(FOR);
setState(4461);
((StopRoutineLoadContext)_localctx).label = multipartIdentifier();
}
break;
case 9:
_localctx = new StopDataSyncJobContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(4462);
match(STOP);
setState(4463);
match(SYNC);
setState(4464);
match(JOB);
setState(4465);
((StopDataSyncJobContext)_localctx).name = multipartIdentifier();
}
break;
case 10:
_localctx = new ResumeDataSyncJobContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(4466);
match(RESUME);
setState(4467);
match(SYNC);
setState(4468);
match(JOB);
setState(4469);
((ResumeDataSyncJobContext)_localctx).name = multipartIdentifier();
}
break;
case 11:
_localctx = new PauseDataSyncJobContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(4470);
match(PAUSE);
setState(4471);
match(SYNC);
setState(4472);
match(JOB);
setState(4473);
((PauseDataSyncJobContext)_localctx).name = multipartIdentifier();
}
break;
case 12:
_localctx = new CreateDataSyncJobContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(4474);
match(CREATE);
setState(4475);
match(SYNC);
setState(4476);
((CreateDataSyncJobContext)_localctx).label = multipartIdentifier();
setState(4477);
match(LEFT_PAREN);
setState(4478);
channelDescriptions();
setState(4479);
match(RIGHT_PAREN);
setState(4480);
match(FROM);
setState(4481);
match(BINLOG);
setState(4482);
match(LEFT_PAREN);
setState(4483);
propertyItemList();
setState(4484);
match(RIGHT_PAREN);
setState(4486);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,564,_ctx) ) {
case 1:
{
setState(4485);
((CreateDataSyncJobContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedKillStatementContext extends ParserRuleContext {
public SupportedKillStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedKillStatement; }
public SupportedKillStatementContext() { }
public void copyFrom(SupportedKillStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class KillQueryContext extends SupportedKillStatementContext {
public TerminalNode KILL() { return getToken(PLParser.KILL, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public KillQueryContext(SupportedKillStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterKillQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitKillQuery(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitKillQuery(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class KillConnectionContext extends SupportedKillStatementContext {
public TerminalNode KILL() { return getToken(PLParser.KILL, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode CONNECTION() { return getToken(PLParser.CONNECTION, 0); }
public KillConnectionContext(SupportedKillStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterKillConnection(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitKillConnection(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitKillConnection(this);
else return visitor.visitChildren(this);
}
}
public final SupportedKillStatementContext supportedKillStatement() throws RecognitionException {
SupportedKillStatementContext _localctx = new SupportedKillStatementContext(_ctx, getState());
enterRule(_localctx, 298, RULE_supportedKillStatement);
int _la;
try {
setState(4498);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,567,_ctx) ) {
case 1:
_localctx = new KillConnectionContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4490);
match(KILL);
setState(4492);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CONNECTION) {
{
setState(4491);
match(CONNECTION);
}
}
setState(4494);
match(INTEGER_VALUE);
}
break;
case 2:
_localctx = new KillQueryContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4495);
match(KILL);
setState(4496);
match(QUERY);
setState(4497);
_la = _input.LA(1);
if ( !(_la==STRING_LITERAL || _la==INTEGER_VALUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedOtherStatementContext extends ParserRuleContext {
public SupportedOtherStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedOtherStatement; }
public SupportedOtherStatementContext() { }
public void copyFrom(SupportedOtherStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class HelpContext extends SupportedOtherStatementContext {
public IdentifierOrTextContext mark;
public TerminalNode HELP() { return getToken(PLParser.HELP, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public HelpContext(SupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHelp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHelp(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHelp(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UnlockTablesContext extends SupportedOtherStatementContext {
public TerminalNode UNLOCK() { return getToken(PLParser.UNLOCK, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public UnlockTablesContext(SupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnlockTables(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnlockTables(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnlockTables(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UninstallPluginContext extends SupportedOtherStatementContext {
public IdentifierOrTextContext name;
public TerminalNode UNINSTALL() { return getToken(PLParser.UNINSTALL, 0); }
public TerminalNode PLUGIN() { return getToken(PLParser.PLUGIN, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public UninstallPluginContext(SupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUninstallPlugin(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUninstallPlugin(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUninstallPlugin(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LockTablesContext extends SupportedOtherStatementContext {
public TerminalNode LOCK() { return getToken(PLParser.LOCK, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public List<LockTableContext> lockTable() {
return getRuleContexts(LockTableContext.class);
}
public LockTableContext lockTable(int i) {
return getRuleContext(LockTableContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public LockTablesContext(SupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLockTables(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLockTables(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLockTables(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class InstallPluginContext extends SupportedOtherStatementContext {
public IdentifierOrTextContext source;
public PropertyClauseContext properties;
public TerminalNode INSTALL() { return getToken(PLParser.INSTALL, 0); }
public TerminalNode PLUGIN() { return getToken(PLParser.PLUGIN, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public InstallPluginContext(SupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInstallPlugin(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInstallPlugin(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInstallPlugin(this);
else return visitor.visitChildren(this);
}
}
public final SupportedOtherStatementContext supportedOtherStatement() throws RecognitionException {
SupportedOtherStatementContext _localctx = new SupportedOtherStatementContext(_ctx, getState());
enterRule(_localctx, 300, RULE_supportedOtherStatement);
try {
int _alt;
setState(4526);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HELP:
_localctx = new HelpContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4500);
match(HELP);
setState(4501);
((HelpContext)_localctx).mark = identifierOrText();
}
break;
case UNLOCK:
_localctx = new UnlockTablesContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4502);
match(UNLOCK);
setState(4503);
match(TABLES);
}
break;
case INSTALL:
_localctx = new InstallPluginContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4504);
match(INSTALL);
setState(4505);
match(PLUGIN);
setState(4506);
match(FROM);
setState(4507);
((InstallPluginContext)_localctx).source = identifierOrText();
setState(4509);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,568,_ctx) ) {
case 1:
{
setState(4508);
((InstallPluginContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case UNINSTALL:
_localctx = new UninstallPluginContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4511);
match(UNINSTALL);
setState(4512);
match(PLUGIN);
setState(4513);
((UninstallPluginContext)_localctx).name = identifierOrText();
}
break;
case LOCK:
_localctx = new LockTablesContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(4514);
match(LOCK);
setState(4515);
match(TABLES);
setState(4524);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,570,_ctx) ) {
case 1:
{
setState(4516);
lockTable();
setState(4521);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,569,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(4517);
match(COMMA);
setState(4518);
lockTable();
}
}
}
setState(4523);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,569,_ctx);
}
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedOtherStatementContext extends ParserRuleContext {
public UnsupportedOtherStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedOtherStatement; }
public UnsupportedOtherStatementContext() { }
public void copyFrom(UnsupportedOtherStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class BackupContext extends UnsupportedOtherStatementContext {
public MultipartIdentifierContext label;
public IdentifierContext repo;
public PropertyClauseContext properties;
public TerminalNode BACKUP() { return getToken(PLParser.BACKUP, 0); }
public TerminalNode SNAPSHOT() { return getToken(PLParser.SNAPSHOT, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<BaseTableRefContext> baseTableRef() {
return getRuleContexts(BaseTableRefContext.class);
}
public BaseTableRefContext baseTableRef(int i) {
return getRuleContext(BaseTableRefContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode EXCLUDE() { return getToken(PLParser.EXCLUDE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public BackupContext(UnsupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBackup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBackup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBackup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RestoreContext extends UnsupportedOtherStatementContext {
public MultipartIdentifierContext label;
public IdentifierContext repo;
public PropertyClauseContext properties;
public TerminalNode RESTORE() { return getToken(PLParser.RESTORE, 0); }
public TerminalNode SNAPSHOT() { return getToken(PLParser.SNAPSHOT, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<BaseTableRefContext> baseTableRef() {
return getRuleContexts(BaseTableRefContext.class);
}
public BaseTableRefContext baseTableRef(int i) {
return getRuleContext(BaseTableRefContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode EXCLUDE() { return getToken(PLParser.EXCLUDE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public RestoreContext(UnsupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRestore(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRestore(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRestore(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class WarmUpClusterContext extends UnsupportedOtherStatementContext {
public IdentifierContext destination;
public IdentifierContext source;
public TerminalNode WARM() { return getToken(PLParser.WARM, 0); }
public TerminalNode UP() { return getToken(PLParser.UP, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public List<TerminalNode> CLUSTER() { return getTokens(PLParser.CLUSTER); }
public TerminalNode CLUSTER(int i) {
return getToken(PLParser.CLUSTER, i);
}
public List<TerminalNode> COMPUTE() { return getTokens(PLParser.COMPUTE); }
public TerminalNode COMPUTE(int i) {
return getToken(PLParser.COMPUTE, i);
}
public List<TerminalNode> GROUP() { return getTokens(PLParser.GROUP); }
public TerminalNode GROUP(int i) {
return getToken(PLParser.GROUP, i);
}
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public List<WarmUpItemContext> warmUpItem() {
return getRuleContexts(WarmUpItemContext.class);
}
public WarmUpItemContext warmUpItem(int i) {
return getRuleContext(WarmUpItemContext.class,i);
}
public List<TerminalNode> AND() { return getTokens(PLParser.AND); }
public TerminalNode AND(int i) {
return getToken(PLParser.AND, i);
}
public WarmUpClusterContext(UnsupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWarmUpCluster(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWarmUpCluster(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWarmUpCluster(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedStartTransactionContext extends UnsupportedOtherStatementContext {
public TerminalNode START() { return getToken(PLParser.START, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode CONSISTENT() { return getToken(PLParser.CONSISTENT, 0); }
public TerminalNode SNAPSHOT() { return getToken(PLParser.SNAPSHOT, 0); }
public UnsupportedStartTransactionContext(UnsupportedOtherStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnsupportedStartTransaction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnsupportedStartTransaction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnsupportedStartTransaction(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedOtherStatementContext unsupportedOtherStatement() throws RecognitionException {
UnsupportedOtherStatementContext _localctx = new UnsupportedOtherStatementContext(_ctx, getState());
enterRule(_localctx, 302, RULE_unsupportedOtherStatement);
int _la;
try {
int _alt;
setState(4607);
_errHandler.sync(this);
switch (_input.LA(1)) {
case WARM:
_localctx = new WarmUpClusterContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4528);
match(WARM);
setState(4529);
match(UP);
setState(4533);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CLUSTER:
{
setState(4530);
match(CLUSTER);
}
break;
case COMPUTE:
{
setState(4531);
match(COMPUTE);
setState(4532);
match(GROUP);
}
break;
default:
throw new NoViableAltException(this);
}
setState(4535);
((WarmUpClusterContext)_localctx).destination = identifier();
setState(4536);
match(WITH);
setState(4551);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CLUSTER:
case COMPUTE:
{
setState(4540);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CLUSTER:
{
setState(4537);
match(CLUSTER);
}
break;
case COMPUTE:
{
setState(4538);
match(COMPUTE);
setState(4539);
match(GROUP);
}
break;
default:
throw new NoViableAltException(this);
}
setState(4542);
((WarmUpClusterContext)_localctx).source = identifier();
}
break;
case TABLE:
{
{
setState(4543);
warmUpItem();
setState(4548);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,574,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(4544);
match(AND);
setState(4545);
warmUpItem();
}
}
}
setState(4550);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,574,_ctx);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(4554);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,576,_ctx) ) {
case 1:
{
setState(4553);
match(FORCE);
}
break;
}
}
break;
case BACKUP:
_localctx = new BackupContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4556);
match(BACKUP);
setState(4557);
match(SNAPSHOT);
setState(4558);
((BackupContext)_localctx).label = multipartIdentifier();
setState(4559);
match(TO);
setState(4560);
((BackupContext)_localctx).repo = identifier();
setState(4573);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,578,_ctx) ) {
case 1:
{
setState(4561);
_la = _input.LA(1);
if ( !(_la==EXCLUDE || _la==ON) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4562);
match(LEFT_PAREN);
setState(4563);
baseTableRef();
setState(4568);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4564);
match(COMMA);
setState(4565);
baseTableRef();
}
}
setState(4570);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(4571);
match(RIGHT_PAREN);
}
break;
}
setState(4576);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,579,_ctx) ) {
case 1:
{
setState(4575);
((BackupContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case RESTORE:
_localctx = new RestoreContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4578);
match(RESTORE);
setState(4579);
match(SNAPSHOT);
setState(4580);
((RestoreContext)_localctx).label = multipartIdentifier();
setState(4581);
match(FROM);
setState(4582);
((RestoreContext)_localctx).repo = identifier();
setState(4595);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,581,_ctx) ) {
case 1:
{
setState(4583);
_la = _input.LA(1);
if ( !(_la==EXCLUDE || _la==ON) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4584);
match(LEFT_PAREN);
setState(4585);
baseTableRef();
setState(4590);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4586);
match(COMMA);
setState(4587);
baseTableRef();
}
}
setState(4592);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(4593);
match(RIGHT_PAREN);
}
break;
}
setState(4598);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,582,_ctx) ) {
case 1:
{
setState(4597);
((RestoreContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case START:
_localctx = new UnsupportedStartTransactionContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4600);
match(START);
setState(4601);
match(TRANSACTION);
setState(4605);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,583,_ctx) ) {
case 1:
{
setState(4602);
match(WITH);
setState(4603);
match(CONSISTENT);
setState(4604);
match(SNAPSHOT);
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WarmUpItemContext extends ParserRuleContext {
public MultipartIdentifierContext tableName;
public IdentifierContext partitionName;
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public WarmUpItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_warmUpItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWarmUpItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWarmUpItem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWarmUpItem(this);
else return visitor.visitChildren(this);
}
}
public final WarmUpItemContext warmUpItem() throws RecognitionException {
WarmUpItemContext _localctx = new WarmUpItemContext(_ctx, getState());
enterRule(_localctx, 304, RULE_warmUpItem);
try {
enterOuterAlt(_localctx, 1);
{
setState(4609);
match(TABLE);
setState(4610);
((WarmUpItemContext)_localctx).tableName = multipartIdentifier();
setState(4613);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,585,_ctx) ) {
case 1:
{
setState(4611);
match(PARTITION);
setState(4612);
((WarmUpItemContext)_localctx).partitionName = identifier();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LockTableContext extends ParserRuleContext {
public MultipartIdentifierContext name;
public IdentifierOrTextContext alias;
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode READ() { return getToken(PLParser.READ, 0); }
public TerminalNode WRITE() { return getToken(PLParser.WRITE, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public TerminalNode LOW_PRIORITY() { return getToken(PLParser.LOW_PRIORITY, 0); }
public LockTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lockTable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLockTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLockTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLockTable(this);
else return visitor.visitChildren(this);
}
}
public final LockTableContext lockTable() throws RecognitionException {
LockTableContext _localctx = new LockTableContext(_ctx, getState());
enterRule(_localctx, 306, RULE_lockTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(4615);
((LockTableContext)_localctx).name = multipartIdentifier();
setState(4618);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(4616);
match(AS);
setState(4617);
((LockTableContext)_localctx).alias = identifierOrText();
}
}
setState(4628);
_errHandler.sync(this);
switch (_input.LA(1)) {
case READ:
{
setState(4620);
match(READ);
setState(4622);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,587,_ctx) ) {
case 1:
{
setState(4621);
match(LOCAL);
}
break;
}
}
break;
case LOW_PRIORITY:
case WRITE:
{
setState(4625);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LOW_PRIORITY) {
{
setState(4624);
match(LOW_PRIORITY);
}
}
setState(4627);
match(WRITE);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedShowStatementContext extends ParserRuleContext {
public UnsupportedShowStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedShowStatement; }
public UnsupportedShowStatementContext() { }
public void copyFrom(UnsupportedShowStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowBuildIndexContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode BUILD() { return getToken(PLParser.BUILD, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowBuildIndexContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowBuildIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowBuildIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowBuildIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowMaterializedViewContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext name;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowMaterializedViewContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowMaterializedView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowMaterializedView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowMaterializedView(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowIndexContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext tableName;
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public TerminalNode KEYS() { return getToken(PLParser.KEYS, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode INDEXES() { return getToken(PLParser.INDEXES, 0); }
public List<TerminalNode> FROM() { return getTokens(PLParser.FROM); }
public TerminalNode FROM(int i) {
return getToken(PLParser.FROM, i);
}
public List<TerminalNode> IN() { return getTokens(PLParser.IN); }
public TerminalNode IN(int i) {
return getToken(PLParser.IN, i);
}
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public ShowIndexContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTypeCastContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TYPECAST() { return getToken(PLParser.TYPECAST, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowTypeCastContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTypeCast(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTypeCast(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTypeCast(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCacheHotSpotContext extends UnsupportedShowStatementContext {
public Token tablePath;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CACHE() { return getToken(PLParser.CACHE, 0); }
public TerminalNode HOTSPOT() { return getToken(PLParser.HOTSPOT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowCacheHotSpotContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCacheHotSpot(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCacheHotSpot(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCacheHotSpot(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowLoadWaringsContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext database;
public Token url;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode WARNINGS() { return getToken(PLParser.WARNINGS, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowLoadWaringsContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowLoadWarings(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowLoadWarings(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowLoadWarings(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowAlterTableContext extends UnsupportedShowStatementContext {
public MultipartIdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowAlterTableContext(UnsupportedShowStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowAlterTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowAlterTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowAlterTable(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedShowStatementContext unsupportedShowStatement() throws RecognitionException {
UnsupportedShowStatementContext _localctx = new UnsupportedShowStatementContext(_ctx, getState());
enterRule(_localctx, 308, RULE_unsupportedShowStatement);
int _la;
try {
setState(4708);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,605,_ctx) ) {
case 1:
_localctx = new ShowMaterializedViewContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4630);
match(SHOW);
setState(4631);
match(CREATE);
setState(4632);
match(MATERIALIZED);
setState(4633);
match(VIEW);
setState(4634);
((ShowMaterializedViewContext)_localctx).name = multipartIdentifier();
}
break;
case 2:
_localctx = new ShowLoadWaringsContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4635);
match(SHOW);
setState(4636);
match(LOAD);
setState(4637);
match(WARNINGS);
setState(4650);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,593,_ctx) ) {
case 1:
{
{
setState(4640);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,590,_ctx) ) {
case 1:
{
setState(4638);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4639);
((ShowLoadWaringsContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4643);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,591,_ctx) ) {
case 1:
{
setState(4642);
wildWhere();
}
break;
}
setState(4646);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,592,_ctx) ) {
case 1:
{
setState(4645);
limitClause();
}
break;
}
}
}
break;
case 2:
{
{
setState(4648);
match(ON);
setState(4649);
((ShowLoadWaringsContext)_localctx).url = match(STRING_LITERAL);
}
}
break;
}
}
break;
case 3:
_localctx = new ShowAlterTableContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4652);
match(SHOW);
setState(4653);
match(ALTER);
setState(4654);
match(TABLE);
setState(4659);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ROLLUP:
{
setState(4655);
match(ROLLUP);
}
break;
case MATERIALIZED:
{
{
setState(4656);
match(MATERIALIZED);
setState(4657);
match(VIEW);
}
}
break;
case COLUMN:
{
setState(4658);
match(COLUMN);
}
break;
default:
throw new NoViableAltException(this);
}
setState(4663);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,595,_ctx) ) {
case 1:
{
setState(4661);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4662);
((ShowAlterTableContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4666);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,596,_ctx) ) {
case 1:
{
setState(4665);
wildWhere();
}
break;
}
setState(4669);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,597,_ctx) ) {
case 1:
{
setState(4668);
sortClause();
}
break;
}
setState(4672);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,598,_ctx) ) {
case 1:
{
setState(4671);
limitClause();
}
break;
}
}
break;
case 4:
_localctx = new ShowTypeCastContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4674);
match(SHOW);
setState(4675);
match(TYPECAST);
setState(4678);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,599,_ctx) ) {
case 1:
{
setState(4676);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4677);
((ShowTypeCastContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 5:
_localctx = new ShowIndexContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(4680);
match(SHOW);
setState(4681);
_la = _input.LA(1);
if ( !(((((_la - 402)) & ~0x3f) == 0 && ((1L << (_la - 402)) & 201326595L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4682);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4683);
((ShowIndexContext)_localctx).tableName = multipartIdentifier();
setState(4686);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,600,_ctx) ) {
case 1:
{
setState(4684);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4685);
((ShowIndexContext)_localctx).database = multipartIdentifier();
}
break;
}
}
break;
case 6:
_localctx = new ShowCacheHotSpotContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(4688);
match(SHOW);
setState(4689);
match(CACHE);
setState(4690);
match(HOTSPOT);
setState(4691);
((ShowCacheHotSpotContext)_localctx).tablePath = match(STRING_LITERAL);
}
break;
case 7:
_localctx = new ShowBuildIndexContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(4692);
match(SHOW);
setState(4693);
match(BUILD);
setState(4694);
match(INDEX);
setState(4697);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,601,_ctx) ) {
case 1:
{
setState(4695);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4696);
((ShowBuildIndexContext)_localctx).database = multipartIdentifier();
}
break;
}
setState(4700);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,602,_ctx) ) {
case 1:
{
setState(4699);
wildWhere();
}
break;
}
setState(4703);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,603,_ctx) ) {
case 1:
{
setState(4702);
sortClause();
}
break;
}
setState(4706);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,604,_ctx) ) {
case 1:
{
setState(4705);
limitClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CreateRoutineLoadContext extends ParserRuleContext {
public MultipartIdentifierContext label;
public IdentifierContext table;
public IdentifierContext type;
public PropertyItemListContext customProperties;
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public List<LoadPropertyContext> loadProperty() {
return getRuleContexts(LoadPropertyContext.class);
}
public LoadPropertyContext loadProperty(int i) {
return getRuleContext(LoadPropertyContext.class,i);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public TerminalNode APPEND() { return getToken(PLParser.APPEND, 0); }
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode MERGE() { return getToken(PLParser.MERGE, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CreateRoutineLoadContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createRoutineLoad; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCreateRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCreateRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCreateRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
public final CreateRoutineLoadContext createRoutineLoad() throws RecognitionException {
CreateRoutineLoadContext _localctx = new CreateRoutineLoadContext(_ctx, getState());
enterRule(_localctx, 310, RULE_createRoutineLoad);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(4710);
match(CREATE);
setState(4711);
match(ROUTINE);
setState(4712);
match(LOAD);
setState(4713);
((CreateRoutineLoadContext)_localctx).label = multipartIdentifier();
setState(4716);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(4714);
match(ON);
setState(4715);
((CreateRoutineLoadContext)_localctx).table = identifier();
}
}
setState(4720);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(4718);
match(WITH);
setState(4719);
_la = _input.LA(1);
if ( !(_la==APPEND || _la==DELETE || _la==MERGE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(4730);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMNS || _la==DELETE || ((((_la - 497)) & ~0x3f) == 0 && ((1L << (_la - 497)) & 536871297L) != 0) || _la==TEMPORARY || _la==WHERE) {
{
setState(4722);
loadProperty();
setState(4727);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4723);
match(COMMA);
setState(4724);
loadProperty();
}
}
setState(4729);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(4733);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROPERTIES) {
{
setState(4732);
propertyClause();
}
}
setState(4735);
match(FROM);
setState(4736);
((CreateRoutineLoadContext)_localctx).type = identifier();
setState(4737);
match(LEFT_PAREN);
setState(4738);
((CreateRoutineLoadContext)_localctx).customProperties = propertyItemList();
setState(4739);
match(RIGHT_PAREN);
setState(4741);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,611,_ctx) ) {
case 1:
{
setState(4740);
commentSpec();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedLoadStatementContext extends ParserRuleContext {
public UnsupportedLoadStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedLoadStatement; }
public UnsupportedLoadStatementContext() { }
public void copyFrom(UnsupportedLoadStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRoutineLoadContext extends UnsupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public ShowRoutineLoadContext(UnsupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowCreateLoadContext extends UnsupportedLoadStatementContext {
public MultipartIdentifierContext label;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode CREATE() { return getToken(PLParser.CREATE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ShowCreateLoadContext(UnsupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowCreateLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowCreateLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowCreateLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowRoutineLoadTaskContext extends UnsupportedLoadStatementContext {
public IdentifierContext database;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode TASK() { return getToken(PLParser.TASK, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowRoutineLoadTaskContext(UnsupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowRoutineLoadTask(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowRoutineLoadTask(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowRoutineLoadTask(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class MysqlLoadContext extends UnsupportedLoadStatementContext {
public PropertyItemListContext properties;
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public MysqlDataDescContext mysqlDataDesc() {
return getRuleContext(MysqlDataDescContext.class,0);
}
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public MysqlLoadContext(UnsupportedLoadStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMysqlLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMysqlLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMysqlLoad(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedLoadStatementContext unsupportedLoadStatement() throws RecognitionException {
UnsupportedLoadStatementContext _localctx = new UnsupportedLoadStatementContext(_ctx, getState());
enterRule(_localctx, 312, RULE_unsupportedLoadStatement);
int _la;
try {
setState(4784);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,619,_ctx) ) {
case 1:
_localctx = new MysqlLoadContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4743);
match(LOAD);
setState(4744);
mysqlDataDesc();
setState(4750);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,612,_ctx) ) {
case 1:
{
setState(4745);
match(PROPERTIES);
setState(4746);
match(LEFT_PAREN);
setState(4747);
((MysqlLoadContext)_localctx).properties = propertyItemList();
setState(4748);
match(RIGHT_PAREN);
}
break;
}
setState(4753);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,613,_ctx) ) {
case 1:
{
setState(4752);
commentSpec();
}
break;
}
}
break;
case 2:
_localctx = new ShowRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4755);
match(SHOW);
setState(4757);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL) {
{
setState(4756);
match(ALL);
}
}
setState(4759);
match(ROUTINE);
setState(4760);
match(LOAD);
setState(4766);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,616,_ctx) ) {
case 1:
{
{
setState(4761);
match(FOR);
setState(4762);
((ShowRoutineLoadContext)_localctx).label = multipartIdentifier();
}
}
break;
case 2:
{
setState(4764);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,615,_ctx) ) {
case 1:
{
setState(4763);
wildWhere();
}
break;
}
}
break;
}
}
break;
case 3:
_localctx = new ShowRoutineLoadTaskContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4768);
match(SHOW);
setState(4769);
match(ROUTINE);
setState(4770);
match(LOAD);
setState(4771);
match(TASK);
setState(4774);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,617,_ctx) ) {
case 1:
{
setState(4772);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4773);
((ShowRoutineLoadTaskContext)_localctx).database = identifier();
}
break;
}
setState(4777);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,618,_ctx) ) {
case 1:
{
setState(4776);
wildWhere();
}
break;
}
}
break;
case 4:
_localctx = new ShowCreateLoadContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4779);
match(SHOW);
setState(4780);
match(CREATE);
setState(4781);
match(LOAD);
setState(4782);
match(FOR);
setState(4783);
((ShowCreateLoadContext)_localctx).label = multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LoadPropertyContext extends ParserRuleContext {
public LoadPropertyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_loadProperty; }
public LoadPropertyContext() { }
public void copyFrom(LoadPropertyContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportPrecedingFilterContext extends LoadPropertyContext {
public ImportPrecedingFilterStatementContext importPrecedingFilterStatement() {
return getRuleContext(ImportPrecedingFilterStatementContext.class,0);
}
public ImportPrecedingFilterContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportPrecedingFilter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportPrecedingFilter(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportPrecedingFilter(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportSequenceContext extends LoadPropertyContext {
public ImportSequenceStatementContext importSequenceStatement() {
return getRuleContext(ImportSequenceStatementContext.class,0);
}
public ImportSequenceContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportSequence(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportSequence(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportSequence(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportColumnsContext extends LoadPropertyContext {
public ImportColumnsStatementContext importColumnsStatement() {
return getRuleContext(ImportColumnsStatementContext.class,0);
}
public ImportColumnsContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportColumns(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportColumns(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportColumns(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportWhereContext extends LoadPropertyContext {
public ImportWhereStatementContext importWhereStatement() {
return getRuleContext(ImportWhereStatementContext.class,0);
}
public ImportWhereContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportWhere(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportWhere(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportWhere(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SeparatorContext extends LoadPropertyContext {
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public TerminalNode TERMINATED() { return getToken(PLParser.TERMINATED, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public SeparatorContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSeparator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSeparator(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSeparator(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportPartitionsContext extends LoadPropertyContext {
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public ImportPartitionsContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportPartitions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportPartitions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportPartitions(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ImportDeleteOnContext extends LoadPropertyContext {
public ImportDeleteOnStatementContext importDeleteOnStatement() {
return getRuleContext(ImportDeleteOnStatementContext.class,0);
}
public ImportDeleteOnContext(LoadPropertyContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportDeleteOn(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportDeleteOn(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportDeleteOn(this);
else return visitor.visitChildren(this);
}
}
public final LoadPropertyContext loadProperty() throws RecognitionException {
LoadPropertyContext _localctx = new LoadPropertyContext(_ctx, getState());
enterRule(_localctx, 314, RULE_loadProperty);
try {
setState(4796);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,620,_ctx) ) {
case 1:
_localctx = new SeparatorContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4786);
match(COLUMNS);
setState(4787);
match(TERMINATED);
setState(4788);
match(BY);
setState(4789);
match(STRING_LITERAL);
}
break;
case 2:
_localctx = new ImportColumnsContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4790);
importColumnsStatement();
}
break;
case 3:
_localctx = new ImportPrecedingFilterContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4791);
importPrecedingFilterStatement();
}
break;
case 4:
_localctx = new ImportWhereContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4792);
importWhereStatement();
}
break;
case 5:
_localctx = new ImportDeleteOnContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(4793);
importDeleteOnStatement();
}
break;
case 6:
_localctx = new ImportSequenceContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(4794);
importSequenceStatement();
}
break;
case 7:
_localctx = new ImportPartitionsContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(4795);
partitionSpec();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportSequenceStatementContext extends ParserRuleContext {
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ImportSequenceStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importSequenceStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportSequenceStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportSequenceStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportSequenceStatement(this);
else return visitor.visitChildren(this);
}
}
public final ImportSequenceStatementContext importSequenceStatement() throws RecognitionException {
ImportSequenceStatementContext _localctx = new ImportSequenceStatementContext(_ctx, getState());
enterRule(_localctx, 316, RULE_importSequenceStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(4798);
match(ORDER);
setState(4799);
match(BY);
setState(4800);
identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportDeleteOnStatementContext extends ParserRuleContext {
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public ImportDeleteOnStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importDeleteOnStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportDeleteOnStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportDeleteOnStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportDeleteOnStatement(this);
else return visitor.visitChildren(this);
}
}
public final ImportDeleteOnStatementContext importDeleteOnStatement() throws RecognitionException {
ImportDeleteOnStatementContext _localctx = new ImportDeleteOnStatementContext(_ctx, getState());
enterRule(_localctx, 318, RULE_importDeleteOnStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(4802);
match(DELETE);
setState(4803);
match(ON);
setState(4804);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportWhereStatementContext extends ParserRuleContext {
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public ImportWhereStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importWhereStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportWhereStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportWhereStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportWhereStatement(this);
else return visitor.visitChildren(this);
}
}
public final ImportWhereStatementContext importWhereStatement() throws RecognitionException {
ImportWhereStatementContext _localctx = new ImportWhereStatementContext(_ctx, getState());
enterRule(_localctx, 320, RULE_importWhereStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(4806);
match(WHERE);
setState(4807);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportPrecedingFilterStatementContext extends ParserRuleContext {
public TerminalNode PRECEDING() { return getToken(PLParser.PRECEDING, 0); }
public TerminalNode FILTER() { return getToken(PLParser.FILTER, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public ImportPrecedingFilterStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importPrecedingFilterStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportPrecedingFilterStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportPrecedingFilterStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportPrecedingFilterStatement(this);
else return visitor.visitChildren(this);
}
}
public final ImportPrecedingFilterStatementContext importPrecedingFilterStatement() throws RecognitionException {
ImportPrecedingFilterStatementContext _localctx = new ImportPrecedingFilterStatementContext(_ctx, getState());
enterRule(_localctx, 322, RULE_importPrecedingFilterStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(4809);
match(PRECEDING);
setState(4810);
match(FILTER);
setState(4811);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportColumnsStatementContext extends ParserRuleContext {
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<ImportColumnDescContext> importColumnDesc() {
return getRuleContexts(ImportColumnDescContext.class);
}
public ImportColumnDescContext importColumnDesc(int i) {
return getRuleContext(ImportColumnDescContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ImportColumnsStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importColumnsStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportColumnsStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportColumnsStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportColumnsStatement(this);
else return visitor.visitChildren(this);
}
}
public final ImportColumnsStatementContext importColumnsStatement() throws RecognitionException {
ImportColumnsStatementContext _localctx = new ImportColumnsStatementContext(_ctx, getState());
enterRule(_localctx, 324, RULE_importColumnsStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(4813);
match(COLUMNS);
setState(4814);
match(LEFT_PAREN);
setState(4815);
importColumnDesc();
setState(4820);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4816);
match(COMMA);
setState(4817);
importColumnDesc();
}
}
setState(4822);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(4823);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ImportColumnDescContext extends ParserRuleContext {
public IdentifierContext name;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ImportColumnDescContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_importColumnDesc; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterImportColumnDesc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitImportColumnDesc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitImportColumnDesc(this);
else return visitor.visitChildren(this);
}
}
public final ImportColumnDescContext importColumnDesc() throws RecognitionException {
ImportColumnDescContext _localctx = new ImportColumnDescContext(_ctx, getState());
enterRule(_localctx, 326, RULE_importColumnDesc);
int _la;
try {
setState(4838);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(4825);
((ImportColumnDescContext)_localctx).name = identifier();
setState(4828);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ) {
{
setState(4826);
match(EQ);
setState(4827);
booleanExpression(0);
}
}
}
break;
case LEFT_PAREN:
enterOuterAlt(_localctx, 2);
{
setState(4830);
match(LEFT_PAREN);
setState(4831);
((ImportColumnDescContext)_localctx).name = identifier();
setState(4834);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ) {
{
setState(4832);
match(EQ);
setState(4833);
booleanExpression(0);
}
}
setState(4836);
match(RIGHT_PAREN);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ChannelDescriptionsContext extends ParserRuleContext {
public List<ChannelDescriptionContext> channelDescription() {
return getRuleContexts(ChannelDescriptionContext.class);
}
public ChannelDescriptionContext channelDescription(int i) {
return getRuleContext(ChannelDescriptionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ChannelDescriptionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_channelDescriptions; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterChannelDescriptions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitChannelDescriptions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitChannelDescriptions(this);
else return visitor.visitChildren(this);
}
}
public final ChannelDescriptionsContext channelDescriptions() throws RecognitionException {
ChannelDescriptionsContext _localctx = new ChannelDescriptionsContext(_ctx, getState());
enterRule(_localctx, 328, RULE_channelDescriptions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(4840);
channelDescription();
setState(4845);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4841);
match(COMMA);
setState(4842);
channelDescription();
}
}
setState(4847);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ChannelDescriptionContext extends ParserRuleContext {
public MultipartIdentifierContext source;
public MultipartIdentifierContext destination;
public IdentifierListContext columnList;
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ChannelDescriptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_channelDescription; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterChannelDescription(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitChannelDescription(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitChannelDescription(this);
else return visitor.visitChildren(this);
}
}
public final ChannelDescriptionContext channelDescription() throws RecognitionException {
ChannelDescriptionContext _localctx = new ChannelDescriptionContext(_ctx, getState());
enterRule(_localctx, 330, RULE_channelDescription);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(4848);
match(FROM);
setState(4849);
((ChannelDescriptionContext)_localctx).source = multipartIdentifier();
setState(4850);
match(INTO);
setState(4851);
((ChannelDescriptionContext)_localctx).destination = multipartIdentifier();
setState(4853);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION || _la==PARTITIONS || _la==TEMPORARY) {
{
setState(4852);
partitionSpec();
}
}
setState(4856);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(4855);
((ChannelDescriptionContext)_localctx).columnList = identifierList();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedRefreshStatementContext extends ParserRuleContext {
public SupportedRefreshStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedRefreshStatement; }
public SupportedRefreshStatementContext() { }
public void copyFrom(SupportedRefreshStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshCatalogContext extends SupportedRefreshStatementContext {
public IdentifierContext name;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public RefreshCatalogContext(SupportedRefreshStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshCatalog(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshDictionaryContext extends SupportedRefreshStatementContext {
public MultipartIdentifierContext name;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode DICTIONARY() { return getToken(PLParser.DICTIONARY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public RefreshDictionaryContext(SupportedRefreshStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshDictionary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshDictionary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshDictionary(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshDatabaseContext extends SupportedRefreshStatementContext {
public MultipartIdentifierContext name;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public RefreshDatabaseContext(SupportedRefreshStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshTableContext extends SupportedRefreshStatementContext {
public MultipartIdentifierContext name;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public RefreshTableContext(SupportedRefreshStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshTable(this);
else return visitor.visitChildren(this);
}
}
public final SupportedRefreshStatementContext supportedRefreshStatement() throws RecognitionException {
SupportedRefreshStatementContext _localctx = new SupportedRefreshStatementContext(_ctx, getState());
enterRule(_localctx, 332, RULE_supportedRefreshStatement);
try {
setState(4876);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,630,_ctx) ) {
case 1:
_localctx = new RefreshCatalogContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4858);
match(REFRESH);
setState(4859);
match(CATALOG);
setState(4860);
((RefreshCatalogContext)_localctx).name = identifier();
setState(4862);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,628,_ctx) ) {
case 1:
{
setState(4861);
propertyClause();
}
break;
}
}
break;
case 2:
_localctx = new RefreshDatabaseContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4864);
match(REFRESH);
setState(4865);
match(DATABASE);
setState(4866);
((RefreshDatabaseContext)_localctx).name = multipartIdentifier();
setState(4868);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,629,_ctx) ) {
case 1:
{
setState(4867);
propertyClause();
}
break;
}
}
break;
case 3:
_localctx = new RefreshTableContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4870);
match(REFRESH);
setState(4871);
match(TABLE);
setState(4872);
((RefreshTableContext)_localctx).name = multipartIdentifier();
}
break;
case 4:
_localctx = new RefreshDictionaryContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4873);
match(REFRESH);
setState(4874);
match(DICTIONARY);
setState(4875);
((RefreshDictionaryContext)_localctx).name = multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCleanStatementContext extends ParserRuleContext {
public SupportedCleanStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedCleanStatement; }
public SupportedCleanStatementContext() { }
public void copyFrom(SupportedCleanStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CleanLabelContext extends SupportedCleanStatementContext {
public IdentifierContext label;
public IdentifierContext database;
public TerminalNode CLEAN() { return getToken(PLParser.CLEAN, 0); }
public TerminalNode LABEL() { return getToken(PLParser.LABEL, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public CleanLabelContext(SupportedCleanStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCleanLabel(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCleanLabel(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCleanLabel(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CleanQueryStatsContext extends SupportedCleanStatementContext {
public IdentifierContext database;
public MultipartIdentifierContext table;
public TerminalNode CLEAN() { return getToken(PLParser.CLEAN, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public CleanQueryStatsContext(SupportedCleanStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCleanQueryStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCleanQueryStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCleanQueryStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CleanAllProfileContext extends SupportedCleanStatementContext {
public TerminalNode CLEAN() { return getToken(PLParser.CLEAN, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode PROFILE() { return getToken(PLParser.PROFILE, 0); }
public CleanAllProfileContext(SupportedCleanStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCleanAllProfile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCleanAllProfile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCleanAllProfile(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CleanAllQueryStatsContext extends SupportedCleanStatementContext {
public TerminalNode CLEAN() { return getToken(PLParser.CLEAN, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public CleanAllQueryStatsContext(SupportedCleanStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCleanAllQueryStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCleanAllQueryStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCleanAllQueryStats(this);
else return visitor.visitChildren(this);
}
}
public final SupportedCleanStatementContext supportedCleanStatement() throws RecognitionException {
SupportedCleanStatementContext _localctx = new SupportedCleanStatementContext(_ctx, getState());
enterRule(_localctx, 334, RULE_supportedCleanStatement);
int _la;
try {
setState(4901);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,633,_ctx) ) {
case 1:
_localctx = new CleanAllProfileContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4878);
match(CLEAN);
setState(4879);
match(ALL);
setState(4880);
match(PROFILE);
}
break;
case 2:
_localctx = new CleanLabelContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4881);
match(CLEAN);
setState(4882);
match(LABEL);
setState(4884);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 189)) & ~0x3f) == 0 && ((1L << (_la - 189)) & 9096145289322186643L) != 0) || ((((_la - 253)) & ~0x3f) == 0 && ((1L << (_la - 253)) & -7038001146133217349L) != 0) || ((((_la - 317)) & ~0x3f) == 0 && ((1L << (_la - 317)) & -7112292307046518223L) != 0) || ((((_la - 382)) & ~0x3f) == 0 && ((1L << (_la - 382)) & 7409045836617449199L) != 0) || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & -179622406430917185L) != 0) || ((((_la - 511)) & ~0x3f) == 0 && ((1L << (_la - 511)) & -7638403517640311425L) != 0) || ((((_la - 575)) & ~0x3f) == 0 && ((1L << (_la - 575)) & -6423186400915692045L) != 0) || ((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & 18760411165017L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 49159L) != 0)) {
{
setState(4883);
((CleanLabelContext)_localctx).label = identifier();
}
}
setState(4886);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4887);
((CleanLabelContext)_localctx).database = identifier();
}
break;
case 3:
_localctx = new CleanQueryStatsContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4888);
match(CLEAN);
setState(4889);
match(QUERY);
setState(4890);
match(STATS);
setState(4895);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FOR:
{
{
setState(4891);
match(FOR);
setState(4892);
((CleanQueryStatsContext)_localctx).database = identifier();
}
}
break;
case FROM:
case IN:
{
{
setState(4893);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4894);
((CleanQueryStatsContext)_localctx).table = multipartIdentifier();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 4:
_localctx = new CleanAllQueryStatsContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4897);
match(CLEAN);
setState(4898);
match(ALL);
setState(4899);
match(QUERY);
setState(4900);
match(STATS);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedRefreshStatementContext extends ParserRuleContext {
public UnsupportedRefreshStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedRefreshStatement; }
public UnsupportedRefreshStatementContext() { }
public void copyFrom(UnsupportedRefreshStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshLdapContext extends UnsupportedRefreshStatementContext {
public IdentifierOrTextContext user;
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode LDAP() { return getToken(PLParser.LDAP, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public RefreshLdapContext(UnsupportedRefreshStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshLdap(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshLdap(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshLdap(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedRefreshStatementContext unsupportedRefreshStatement() throws RecognitionException {
UnsupportedRefreshStatementContext _localctx = new UnsupportedRefreshStatementContext(_ctx, getState());
enterRule(_localctx, 336, RULE_unsupportedRefreshStatement);
try {
_localctx = new RefreshLdapContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4903);
match(REFRESH);
setState(4904);
match(LDAP);
setState(4908);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALL:
{
setState(4905);
match(ALL);
}
break;
case FOR:
{
{
setState(4906);
match(FOR);
setState(4907);
((RefreshLdapContext)_localctx).user = identifierOrText();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedCancelStatementContext extends ParserRuleContext {
public SupportedCancelStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedCancelStatement; }
public SupportedCancelStatementContext() { }
public void copyFrom(SupportedCancelStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelBackupContext extends SupportedCancelStatementContext {
public IdentifierContext database;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode BACKUP() { return getToken(PLParser.BACKUP, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public CancelBackupContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelBackup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelBackup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelBackup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelWarmUpJobContext extends SupportedCancelStatementContext {
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode WARM() { return getToken(PLParser.WARM, 0); }
public TerminalNode UP() { return getToken(PLParser.UP, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public CancelWarmUpJobContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelWarmUpJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelWarmUpJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelWarmUpJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelExportContext extends SupportedCancelStatementContext {
public IdentifierContext database;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode EXPORT() { return getToken(PLParser.EXPORT, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public CancelExportContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelExport(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelExport(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelExport(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelBuildIndexContext extends SupportedCancelStatementContext {
public MultipartIdentifierContext tableName;
public Token INTEGER_VALUE;
public List<Token> jobIds = new ArrayList<Token>();
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode BUILD() { return getToken(PLParser.BUILD, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CancelBuildIndexContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelBuildIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelBuildIndex(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelBuildIndex(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelRestoreContext extends SupportedCancelStatementContext {
public IdentifierContext database;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode RESTORE() { return getToken(PLParser.RESTORE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public CancelRestoreContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelRestore(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelRestore(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelRestore(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelLoadContext extends SupportedCancelStatementContext {
public IdentifierContext database;
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public WildWhereContext wildWhere() {
return getRuleContext(WildWhereContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public CancelLoadContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelAlterTableContext extends SupportedCancelStatementContext {
public MultipartIdentifierContext tableName;
public Token INTEGER_VALUE;
public List<Token> jobIds = new ArrayList<Token>();
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CancelAlterTableContext(SupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelAlterTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelAlterTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelAlterTable(this);
else return visitor.visitChildren(this);
}
}
public final SupportedCancelStatementContext supportedCancelStatement() throws RecognitionException {
SupportedCancelStatementContext _localctx = new SupportedCancelStatementContext(_ctx, getState());
enterRule(_localctx, 338, RULE_supportedCancelStatement);
int _la;
try {
setState(4987);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,647,_ctx) ) {
case 1:
_localctx = new CancelLoadContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4910);
match(CANCEL);
setState(4911);
match(LOAD);
setState(4914);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,635,_ctx) ) {
case 1:
{
setState(4912);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4913);
((CancelLoadContext)_localctx).database = identifier();
}
break;
}
setState(4917);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,636,_ctx) ) {
case 1:
{
setState(4916);
wildWhere();
}
break;
}
}
break;
case 2:
_localctx = new CancelExportContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(4919);
match(CANCEL);
setState(4920);
match(EXPORT);
setState(4923);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,637,_ctx) ) {
case 1:
{
setState(4921);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4922);
((CancelExportContext)_localctx).database = identifier();
}
break;
}
setState(4926);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,638,_ctx) ) {
case 1:
{
setState(4925);
wildWhere();
}
break;
}
}
break;
case 3:
_localctx = new CancelWarmUpJobContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(4928);
match(CANCEL);
setState(4929);
match(WARM);
setState(4930);
match(UP);
setState(4931);
match(JOB);
setState(4933);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,639,_ctx) ) {
case 1:
{
setState(4932);
wildWhere();
}
break;
}
}
break;
case 4:
_localctx = new CancelBackupContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(4935);
match(CANCEL);
setState(4936);
match(BACKUP);
setState(4939);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,640,_ctx) ) {
case 1:
{
setState(4937);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4938);
((CancelBackupContext)_localctx).database = identifier();
}
break;
}
}
break;
case 5:
_localctx = new CancelRestoreContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(4941);
match(CANCEL);
setState(4942);
match(RESTORE);
setState(4945);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,641,_ctx) ) {
case 1:
{
setState(4943);
_la = _input.LA(1);
if ( !(_la==FROM || _la==IN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(4944);
((CancelRestoreContext)_localctx).database = identifier();
}
break;
}
}
break;
case 6:
_localctx = new CancelBuildIndexContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(4947);
match(CANCEL);
setState(4948);
match(BUILD);
setState(4949);
match(INDEX);
setState(4950);
match(ON);
setState(4951);
((CancelBuildIndexContext)_localctx).tableName = multipartIdentifier();
setState(4962);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,643,_ctx) ) {
case 1:
{
setState(4952);
match(LEFT_PAREN);
setState(4953);
((CancelBuildIndexContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((CancelBuildIndexContext)_localctx).jobIds.add(((CancelBuildIndexContext)_localctx).INTEGER_VALUE);
setState(4958);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4954);
match(COMMA);
setState(4955);
((CancelBuildIndexContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((CancelBuildIndexContext)_localctx).jobIds.add(((CancelBuildIndexContext)_localctx).INTEGER_VALUE);
}
}
setState(4960);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(4961);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 7:
_localctx = new CancelAlterTableContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(4964);
match(CANCEL);
setState(4965);
match(ALTER);
setState(4966);
match(TABLE);
setState(4971);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ROLLUP:
{
setState(4967);
match(ROLLUP);
}
break;
case MATERIALIZED:
{
{
setState(4968);
match(MATERIALIZED);
setState(4969);
match(VIEW);
}
}
break;
case COLUMN:
{
setState(4970);
match(COLUMN);
}
break;
default:
throw new NoViableAltException(this);
}
setState(4973);
match(FROM);
setState(4974);
((CancelAlterTableContext)_localctx).tableName = multipartIdentifier();
setState(4985);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,646,_ctx) ) {
case 1:
{
setState(4975);
match(LEFT_PAREN);
setState(4976);
((CancelAlterTableContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((CancelAlterTableContext)_localctx).jobIds.add(((CancelAlterTableContext)_localctx).INTEGER_VALUE);
setState(4981);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(4977);
match(COMMA);
setState(4978);
((CancelAlterTableContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((CancelAlterTableContext)_localctx).jobIds.add(((CancelAlterTableContext)_localctx).INTEGER_VALUE);
}
}
setState(4983);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(4984);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedCancelStatementContext extends ParserRuleContext {
public UnsupportedCancelStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedCancelStatement; }
public UnsupportedCancelStatementContext() { }
public void copyFrom(UnsupportedCancelStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CancelDecommisionBackendContext extends UnsupportedCancelStatementContext {
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode DECOMMISSION() { return getToken(PLParser.DECOMMISSION, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CancelDecommisionBackendContext(UnsupportedCancelStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCancelDecommisionBackend(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCancelDecommisionBackend(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCancelDecommisionBackend(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedCancelStatementContext unsupportedCancelStatement() throws RecognitionException {
UnsupportedCancelStatementContext _localctx = new UnsupportedCancelStatementContext(_ctx, getState());
enterRule(_localctx, 340, RULE_unsupportedCancelStatement);
try {
int _alt;
_localctx = new CancelDecommisionBackendContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(4989);
match(CANCEL);
setState(4990);
match(DECOMMISSION);
setState(4991);
match(BACKEND);
setState(4992);
((CancelDecommisionBackendContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((CancelDecommisionBackendContext)_localctx).hostPorts.add(((CancelDecommisionBackendContext)_localctx).STRING_LITERAL);
setState(4997);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,648,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(4993);
match(COMMA);
setState(4994);
((CancelDecommisionBackendContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((CancelDecommisionBackendContext)_localctx).hostPorts.add(((CancelDecommisionBackendContext)_localctx).STRING_LITERAL);
}
}
}
setState(4999);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,648,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedAdminStatementContext extends ParserRuleContext {
public SupportedAdminStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedAdminStatement; }
public SupportedAdminStatementContext() { }
public void copyFrom(SupportedAdminStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminShowReplicaDistributionContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode DISTRIBUTION() { return getToken(PLParser.DISTRIBUTION, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public AdminShowReplicaDistributionContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminShowReplicaDistribution(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminShowReplicaDistribution(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminShowReplicaDistribution(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminShowTabletStorageFormatContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode FORMAT() { return getToken(PLParser.FORMAT, 0); }
public TerminalNode VERBOSE() { return getToken(PLParser.VERBOSE, 0); }
public AdminShowTabletStorageFormatContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminShowTabletStorageFormat(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminShowTabletStorageFormat(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminShowTabletStorageFormat(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminRebalanceDiskContext extends SupportedAdminStatementContext {
public Token STRING_LITERAL;
public List<Token> backends = new ArrayList<Token>();
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode REBALANCE() { return getToken(PLParser.REBALANCE, 0); }
public TerminalNode DISK() { return getToken(PLParser.DISK, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AdminRebalanceDiskContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminRebalanceDisk(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminRebalanceDisk(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminRebalanceDisk(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminSetReplicaStatusContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public AdminSetReplicaStatusContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminSetReplicaStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminSetReplicaStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminSetReplicaStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminSetTableStatusContext extends SupportedAdminStatementContext {
public MultipartIdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AdminSetTableStatusContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminSetTableStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminSetTableStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminSetTableStatus(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCancelRepairTableContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode REPAIR() { return getToken(PLParser.REPAIR, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public AdminCancelRepairTableContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCancelRepairTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCancelRepairTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCancelRepairTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCopyTabletContext extends SupportedAdminStatementContext {
public Token tabletId;
public PropertyClauseContext properties;
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode COPY() { return getToken(PLParser.COPY, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AdminCopyTabletContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCopyTablet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCopyTablet(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCopyTablet(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminRepairTableContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode REPAIR() { return getToken(PLParser.REPAIR, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public AdminRepairTableContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminRepairTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminRepairTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminRepairTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminSetFrontendConfigContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode CONFIG() { return getToken(PLParser.CONFIG, 0); }
public TerminalNode FRONTEND() { return getToken(PLParser.FRONTEND, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> ALL() { return getTokens(PLParser.ALL); }
public TerminalNode ALL(int i) {
return getToken(PLParser.ALL, i);
}
public TerminalNode FRONTENDS() { return getToken(PLParser.FRONTENDS, 0); }
public AdminSetFrontendConfigContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminSetFrontendConfig(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminSetFrontendConfig(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminSetFrontendConfig(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCheckTabletsContext extends SupportedAdminStatementContext {
public PropertyClauseContext properties;
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode CHECK() { return getToken(PLParser.CHECK, 0); }
public TabletListContext tabletList() {
return getRuleContext(TabletListContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AdminCheckTabletsContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCheckTablets(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCheckTablets(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCheckTablets(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCleanTrashContext extends SupportedAdminStatementContext {
public Token STRING_LITERAL;
public List<Token> backends = new ArrayList<Token>();
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode CLEAN() { return getToken(PLParser.CLEAN, 0); }
public TerminalNode TRASH() { return getToken(PLParser.TRASH, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AdminCleanTrashContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCleanTrash(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCleanTrash(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCleanTrash(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCompactTableContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode COMPACT() { return getToken(PLParser.COMPACT, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode TYPE() { return getToken(PLParser.TYPE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AdminCompactTableContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCompactTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCompactTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCompactTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminDiagnoseTabletContext extends SupportedAdminStatementContext {
public Token tabletId;
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode DIAGNOSE() { return getToken(PLParser.DIAGNOSE, 0); }
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public AdminDiagnoseTabletContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminDiagnoseTablet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminDiagnoseTablet(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminDiagnoseTablet(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminCancelRebalanceDiskContext extends SupportedAdminStatementContext {
public Token STRING_LITERAL;
public List<Token> backends = new ArrayList<Token>();
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode CANCEL() { return getToken(PLParser.CANCEL, 0); }
public TerminalNode REBALANCE() { return getToken(PLParser.REBALANCE, 0); }
public TerminalNode DISK() { return getToken(PLParser.DISK, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AdminCancelRebalanceDiskContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminCancelRebalanceDisk(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminCancelRebalanceDisk(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminCancelRebalanceDisk(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminShowReplicaStatusContext extends SupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public List<TerminalNode> STATUS() { return getTokens(PLParser.STATUS); }
public TerminalNode STATUS(int i) {
return getToken(PLParser.STATUS, i);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public BaseTableRefContext baseTableRef() {
return getRuleContext(BaseTableRefContext.class,0);
}
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode NEQ() { return getToken(PLParser.NEQ, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AdminShowReplicaStatusContext(SupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminShowReplicaStatus(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminShowReplicaStatus(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminShowReplicaStatus(this);
else return visitor.visitChildren(this);
}
}
public final SupportedAdminStatementContext supportedAdminStatement() throws RecognitionException {
SupportedAdminStatementContext _localctx = new SupportedAdminStatementContext(_ctx, getState());
enterRule(_localctx, 342, RULE_supportedAdminStatement);
int _la;
try {
setState(5146);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,664,_ctx) ) {
case 1:
_localctx = new AdminShowReplicaDistributionContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5000);
match(ADMIN);
setState(5001);
match(SHOW);
setState(5002);
match(REPLICA);
setState(5003);
match(DISTRIBUTION);
setState(5004);
match(FROM);
setState(5005);
baseTableRef();
}
break;
case 2:
_localctx = new AdminRebalanceDiskContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5006);
match(ADMIN);
setState(5007);
match(REBALANCE);
setState(5008);
match(DISK);
setState(5020);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,650,_ctx) ) {
case 1:
{
setState(5009);
match(ON);
setState(5010);
match(LEFT_PAREN);
setState(5011);
((AdminRebalanceDiskContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminRebalanceDiskContext)_localctx).backends.add(((AdminRebalanceDiskContext)_localctx).STRING_LITERAL);
setState(5016);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5012);
match(COMMA);
setState(5013);
((AdminRebalanceDiskContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminRebalanceDiskContext)_localctx).backends.add(((AdminRebalanceDiskContext)_localctx).STRING_LITERAL);
}
}
setState(5018);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5019);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 3:
_localctx = new AdminCancelRebalanceDiskContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5022);
match(ADMIN);
setState(5023);
match(CANCEL);
setState(5024);
match(REBALANCE);
setState(5025);
match(DISK);
setState(5037);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,652,_ctx) ) {
case 1:
{
setState(5026);
match(ON);
setState(5027);
match(LEFT_PAREN);
setState(5028);
((AdminCancelRebalanceDiskContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminCancelRebalanceDiskContext)_localctx).backends.add(((AdminCancelRebalanceDiskContext)_localctx).STRING_LITERAL);
setState(5033);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5029);
match(COMMA);
setState(5030);
((AdminCancelRebalanceDiskContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminCancelRebalanceDiskContext)_localctx).backends.add(((AdminCancelRebalanceDiskContext)_localctx).STRING_LITERAL);
}
}
setState(5035);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5036);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 4:
_localctx = new AdminDiagnoseTabletContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(5039);
match(ADMIN);
setState(5040);
match(DIAGNOSE);
setState(5041);
match(TABLET);
setState(5042);
((AdminDiagnoseTabletContext)_localctx).tabletId = match(INTEGER_VALUE);
}
break;
case 5:
_localctx = new AdminShowReplicaStatusContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(5043);
match(ADMIN);
setState(5044);
match(SHOW);
setState(5045);
match(REPLICA);
setState(5046);
match(STATUS);
setState(5047);
match(FROM);
setState(5048);
baseTableRef();
setState(5054);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,653,_ctx) ) {
case 1:
{
setState(5049);
match(WHERE);
setState(5050);
match(STATUS);
setState(5051);
match(EQ);
}
break;
case 2:
{
setState(5052);
match(NEQ);
setState(5053);
match(STRING_LITERAL);
}
break;
}
}
break;
case 6:
_localctx = new AdminCompactTableContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(5056);
match(ADMIN);
setState(5057);
match(COMPACT);
setState(5058);
match(TABLE);
setState(5059);
baseTableRef();
setState(5064);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,654,_ctx) ) {
case 1:
{
setState(5060);
match(WHERE);
setState(5061);
match(TYPE);
setState(5062);
match(EQ);
setState(5063);
match(STRING_LITERAL);
}
break;
}
}
break;
case 7:
_localctx = new AdminCheckTabletsContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(5066);
match(ADMIN);
setState(5067);
match(CHECK);
setState(5068);
tabletList();
setState(5070);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,655,_ctx) ) {
case 1:
{
setState(5069);
((AdminCheckTabletsContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 8:
_localctx = new AdminShowTabletStorageFormatContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(5072);
match(ADMIN);
setState(5073);
match(SHOW);
setState(5074);
match(TABLET);
setState(5075);
match(STORAGE);
setState(5076);
match(FORMAT);
setState(5078);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,656,_ctx) ) {
case 1:
{
setState(5077);
match(VERBOSE);
}
break;
}
}
break;
case 9:
_localctx = new AdminSetFrontendConfigContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(5080);
match(ADMIN);
setState(5081);
match(SET);
setState(5085);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FRONTEND:
{
setState(5082);
match(FRONTEND);
}
break;
case ALL:
{
{
setState(5083);
match(ALL);
setState(5084);
match(FRONTENDS);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(5087);
match(CONFIG);
setState(5092);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,658,_ctx) ) {
case 1:
{
setState(5088);
match(LEFT_PAREN);
setState(5089);
propertyItemList();
setState(5090);
match(RIGHT_PAREN);
}
break;
}
setState(5095);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,659,_ctx) ) {
case 1:
{
setState(5094);
match(ALL);
}
break;
}
}
break;
case 10:
_localctx = new AdminCleanTrashContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(5097);
match(ADMIN);
setState(5098);
match(CLEAN);
setState(5099);
match(TRASH);
setState(5111);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,661,_ctx) ) {
case 1:
{
setState(5100);
match(ON);
setState(5101);
match(LEFT_PAREN);
setState(5102);
((AdminCleanTrashContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminCleanTrashContext)_localctx).backends.add(((AdminCleanTrashContext)_localctx).STRING_LITERAL);
setState(5107);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5103);
match(COMMA);
setState(5104);
((AdminCleanTrashContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AdminCleanTrashContext)_localctx).backends.add(((AdminCleanTrashContext)_localctx).STRING_LITERAL);
}
}
setState(5109);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5110);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 11:
_localctx = new AdminSetTableStatusContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(5113);
match(ADMIN);
setState(5114);
match(SET);
setState(5115);
match(TABLE);
setState(5116);
((AdminSetTableStatusContext)_localctx).name = multipartIdentifier();
setState(5117);
match(STATUS);
setState(5119);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,662,_ctx) ) {
case 1:
{
setState(5118);
((AdminSetTableStatusContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 12:
_localctx = new AdminSetReplicaStatusContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(5121);
match(ADMIN);
setState(5122);
match(SET);
setState(5123);
match(REPLICA);
setState(5124);
match(STATUS);
setState(5125);
match(PROPERTIES);
setState(5126);
match(LEFT_PAREN);
setState(5127);
propertyItemList();
setState(5128);
match(RIGHT_PAREN);
}
break;
case 13:
_localctx = new AdminRepairTableContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(5130);
match(ADMIN);
setState(5131);
match(REPAIR);
setState(5132);
match(TABLE);
setState(5133);
baseTableRef();
}
break;
case 14:
_localctx = new AdminCancelRepairTableContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(5134);
match(ADMIN);
setState(5135);
match(CANCEL);
setState(5136);
match(REPAIR);
setState(5137);
match(TABLE);
setState(5138);
baseTableRef();
}
break;
case 15:
_localctx = new AdminCopyTabletContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(5139);
match(ADMIN);
setState(5140);
match(COPY);
setState(5141);
match(TABLET);
setState(5142);
((AdminCopyTabletContext)_localctx).tabletId = match(INTEGER_VALUE);
setState(5144);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,663,_ctx) ) {
case 1:
{
setState(5143);
((AdminCopyTabletContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedRecoverStatementContext extends ParserRuleContext {
public SupportedRecoverStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedRecoverStatement; }
public SupportedRecoverStatementContext() { }
public void copyFrom(SupportedRecoverStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RecoverPartitionContext extends SupportedRecoverStatementContext {
public IdentifierContext name;
public Token id;
public IdentifierContext alias;
public MultipartIdentifierContext tableName;
public TerminalNode RECOVER() { return getToken(PLParser.RECOVER, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public RecoverPartitionContext(SupportedRecoverStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRecoverPartition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRecoverPartition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRecoverPartition(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RecoverTableContext extends SupportedRecoverStatementContext {
public MultipartIdentifierContext name;
public Token id;
public IdentifierContext alias;
public TerminalNode RECOVER() { return getToken(PLParser.RECOVER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public RecoverTableContext(SupportedRecoverStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRecoverTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRecoverTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRecoverTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RecoverDatabaseContext extends SupportedRecoverStatementContext {
public IdentifierContext name;
public Token id;
public IdentifierContext alias;
public TerminalNode RECOVER() { return getToken(PLParser.RECOVER, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public RecoverDatabaseContext(SupportedRecoverStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRecoverDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRecoverDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRecoverDatabase(this);
else return visitor.visitChildren(this);
}
}
public final SupportedRecoverStatementContext supportedRecoverStatement() throws RecognitionException {
SupportedRecoverStatementContext _localctx = new SupportedRecoverStatementContext(_ctx, getState());
enterRule(_localctx, 344, RULE_supportedRecoverStatement);
int _la;
try {
setState(5181);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,671,_ctx) ) {
case 1:
_localctx = new RecoverDatabaseContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5148);
match(RECOVER);
setState(5149);
match(DATABASE);
setState(5150);
((RecoverDatabaseContext)_localctx).name = identifier();
setState(5152);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,665,_ctx) ) {
case 1:
{
setState(5151);
((RecoverDatabaseContext)_localctx).id = match(INTEGER_VALUE);
}
break;
}
setState(5156);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,666,_ctx) ) {
case 1:
{
setState(5154);
match(AS);
setState(5155);
((RecoverDatabaseContext)_localctx).alias = identifier();
}
break;
}
}
break;
case 2:
_localctx = new RecoverTableContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5158);
match(RECOVER);
setState(5159);
match(TABLE);
setState(5160);
((RecoverTableContext)_localctx).name = multipartIdentifier();
setState(5162);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,667,_ctx) ) {
case 1:
{
setState(5161);
((RecoverTableContext)_localctx).id = match(INTEGER_VALUE);
}
break;
}
setState(5166);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,668,_ctx) ) {
case 1:
{
setState(5164);
match(AS);
setState(5165);
((RecoverTableContext)_localctx).alias = identifier();
}
break;
}
}
break;
case 3:
_localctx = new RecoverPartitionContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5168);
match(RECOVER);
setState(5169);
match(PARTITION);
setState(5170);
((RecoverPartitionContext)_localctx).name = identifier();
setState(5172);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INTEGER_VALUE) {
{
setState(5171);
((RecoverPartitionContext)_localctx).id = match(INTEGER_VALUE);
}
}
setState(5176);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(5174);
match(AS);
setState(5175);
((RecoverPartitionContext)_localctx).alias = identifier();
}
}
setState(5178);
match(FROM);
setState(5179);
((RecoverPartitionContext)_localctx).tableName = multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedAdminStatementContext extends ParserRuleContext {
public UnsupportedAdminStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedAdminStatement; }
public UnsupportedAdminStatementContext() { }
public void copyFrom(UnsupportedAdminStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminSetReplicaVersionContext extends UnsupportedAdminStatementContext {
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode REPLICA() { return getToken(PLParser.REPLICA, 0); }
public TerminalNode VERSION() { return getToken(PLParser.VERSION, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public AdminSetReplicaVersionContext(UnsupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminSetReplicaVersion(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminSetReplicaVersion(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminSetReplicaVersion(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AdminSetPartitionVersionContext extends UnsupportedAdminStatementContext {
public MultipartIdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode ADMIN() { return getToken(PLParser.ADMIN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode VERSION() { return getToken(PLParser.VERSION, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AdminSetPartitionVersionContext(UnsupportedAdminStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAdminSetPartitionVersion(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAdminSetPartitionVersion(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAdminSetPartitionVersion(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedAdminStatementContext unsupportedAdminStatement() throws RecognitionException {
UnsupportedAdminStatementContext _localctx = new UnsupportedAdminStatementContext(_ctx, getState());
enterRule(_localctx, 346, RULE_unsupportedAdminStatement);
try {
setState(5201);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,673,_ctx) ) {
case 1:
_localctx = new AdminSetReplicaVersionContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5183);
match(ADMIN);
setState(5184);
match(SET);
setState(5185);
match(REPLICA);
setState(5186);
match(VERSION);
setState(5187);
match(PROPERTIES);
setState(5188);
match(LEFT_PAREN);
setState(5189);
propertyItemList();
setState(5190);
match(RIGHT_PAREN);
}
break;
case 2:
_localctx = new AdminSetPartitionVersionContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5192);
match(ADMIN);
setState(5193);
match(SET);
setState(5194);
match(TABLE);
setState(5195);
((AdminSetPartitionVersionContext)_localctx).name = multipartIdentifier();
setState(5196);
match(PARTITION);
setState(5197);
match(VERSION);
setState(5199);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,672,_ctx) ) {
case 1:
{
setState(5198);
((AdminSetPartitionVersionContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BaseTableRefContext extends ParserRuleContext {
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public OptScanParamsContext optScanParams() {
return getRuleContext(OptScanParamsContext.class,0);
}
public TableSnapshotContext tableSnapshot() {
return getRuleContext(TableSnapshotContext.class,0);
}
public SpecifiedPartitionContext specifiedPartition() {
return getRuleContext(SpecifiedPartitionContext.class,0);
}
public TabletListContext tabletList() {
return getRuleContext(TabletListContext.class,0);
}
public SampleContext sample() {
return getRuleContext(SampleContext.class,0);
}
public RelationHintContext relationHint() {
return getRuleContext(RelationHintContext.class,0);
}
public BaseTableRefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_baseTableRef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBaseTableRef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBaseTableRef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBaseTableRef(this);
else return visitor.visitChildren(this);
}
}
public final BaseTableRefContext baseTableRef() throws RecognitionException {
BaseTableRefContext _localctx = new BaseTableRefContext(_ctx, getState());
enterRule(_localctx, 348, RULE_baseTableRef);
try {
enterOuterAlt(_localctx, 1);
{
setState(5203);
multipartIdentifier();
setState(5205);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,674,_ctx) ) {
case 1:
{
setState(5204);
optScanParams();
}
break;
}
setState(5208);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,675,_ctx) ) {
case 1:
{
setState(5207);
tableSnapshot();
}
break;
}
setState(5211);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,676,_ctx) ) {
case 1:
{
setState(5210);
specifiedPartition();
}
break;
}
setState(5214);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,677,_ctx) ) {
case 1:
{
setState(5213);
tabletList();
}
break;
}
setState(5216);
tableAlias();
setState(5218);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,678,_ctx) ) {
case 1:
{
setState(5217);
sample();
}
break;
}
setState(5221);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,679,_ctx) ) {
case 1:
{
setState(5220);
relationHint();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WildWhereContext extends ParserRuleContext {
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public WildWhereContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_wildWhere; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWildWhere(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWildWhere(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWildWhere(this);
else return visitor.visitChildren(this);
}
}
public final WildWhereContext wildWhere() throws RecognitionException {
WildWhereContext _localctx = new WildWhereContext(_ctx, getState());
enterRule(_localctx, 350, RULE_wildWhere);
try {
setState(5227);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LIKE:
enterOuterAlt(_localctx, 1);
{
setState(5223);
match(LIKE);
setState(5224);
match(STRING_LITERAL);
}
break;
case WHERE:
enterOuterAlt(_localctx, 2);
{
setState(5225);
match(WHERE);
setState(5226);
expression();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedTransactionStatementContext extends ParserRuleContext {
public SupportedTransactionStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedTransactionStatement; }
public SupportedTransactionStatementContext() { }
public void copyFrom(SupportedTransactionStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TranscationCommitContext extends SupportedTransactionStatementContext {
public TerminalNode COMMIT() { return getToken(PLParser.COMMIT, 0); }
public TerminalNode WORK() { return getToken(PLParser.WORK, 0); }
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public TerminalNode CHAIN() { return getToken(PLParser.CHAIN, 0); }
public TerminalNode RELEASE() { return getToken(PLParser.RELEASE, 0); }
public List<TerminalNode> NO() { return getTokens(PLParser.NO); }
public TerminalNode NO(int i) {
return getToken(PLParser.NO, i);
}
public TranscationCommitContext(SupportedTransactionStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTranscationCommit(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTranscationCommit(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTranscationCommit(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TransactionRollbackContext extends SupportedTransactionStatementContext {
public TerminalNode ROLLBACK() { return getToken(PLParser.ROLLBACK, 0); }
public TerminalNode WORK() { return getToken(PLParser.WORK, 0); }
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public TerminalNode CHAIN() { return getToken(PLParser.CHAIN, 0); }
public TerminalNode RELEASE() { return getToken(PLParser.RELEASE, 0); }
public List<TerminalNode> NO() { return getTokens(PLParser.NO); }
public TerminalNode NO(int i) {
return getToken(PLParser.NO, i);
}
public TransactionRollbackContext(SupportedTransactionStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTransactionRollback(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTransactionRollback(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTransactionRollback(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TransactionBeginContext extends SupportedTransactionStatementContext {
public TerminalNode BEGIN() { return getToken(PLParser.BEGIN, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode LABEL() { return getToken(PLParser.LABEL, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TransactionBeginContext(SupportedTransactionStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTransactionBegin(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTransactionBegin(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTransactionBegin(this);
else return visitor.visitChildren(this);
}
}
public final SupportedTransactionStatementContext supportedTransactionStatement() throws RecognitionException {
SupportedTransactionStatementContext _localctx = new SupportedTransactionStatementContext(_ctx, getState());
enterRule(_localctx, 352, RULE_supportedTransactionStatement);
int _la;
try {
setState(5271);
_errHandler.sync(this);
switch (_input.LA(1)) {
case BEGIN:
_localctx = new TransactionBeginContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5229);
match(BEGIN);
setState(5235);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,682,_ctx) ) {
case 1:
{
setState(5230);
match(WITH);
setState(5231);
match(LABEL);
setState(5233);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,681,_ctx) ) {
case 1:
{
setState(5232);
identifier();
}
break;
}
}
break;
}
}
break;
case COMMIT:
_localctx = new TranscationCommitContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5237);
match(COMMIT);
setState(5239);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,683,_ctx) ) {
case 1:
{
setState(5238);
match(WORK);
}
break;
}
setState(5246);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,685,_ctx) ) {
case 1:
{
setState(5241);
match(AND);
setState(5243);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NO) {
{
setState(5242);
match(NO);
}
}
setState(5245);
match(CHAIN);
}
break;
}
setState(5252);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,687,_ctx) ) {
case 1:
{
setState(5249);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NO) {
{
setState(5248);
match(NO);
}
}
setState(5251);
match(RELEASE);
}
break;
}
}
break;
case ROLLBACK:
_localctx = new TransactionRollbackContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5254);
match(ROLLBACK);
setState(5256);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,688,_ctx) ) {
case 1:
{
setState(5255);
match(WORK);
}
break;
}
setState(5263);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,690,_ctx) ) {
case 1:
{
setState(5258);
match(AND);
setState(5260);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NO) {
{
setState(5259);
match(NO);
}
}
setState(5262);
match(CHAIN);
}
break;
}
setState(5269);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,692,_ctx) ) {
case 1:
{
setState(5266);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NO) {
{
setState(5265);
match(NO);
}
}
setState(5268);
match(RELEASE);
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedGrantRevokeStatementContext extends ParserRuleContext {
public SupportedGrantRevokeStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedGrantRevokeStatement; }
public SupportedGrantRevokeStatementContext() { }
public void copyFrom(SupportedGrantRevokeStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class GrantResourcePrivilegeContext extends SupportedGrantRevokeStatementContext {
public TerminalNode GRANT() { return getToken(PLParser.GRANT, 0); }
public PrivilegeListContext privilegeList() {
return getRuleContext(PrivilegeListContext.class,0);
}
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierOrTextOrAsteriskContext identifierOrTextOrAsterisk() {
return getRuleContext(IdentifierOrTextOrAsteriskContext.class,0);
}
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public TerminalNode CLUSTER() { return getToken(PLParser.CLUSTER, 0); }
public TerminalNode COMPUTE() { return getToken(PLParser.COMPUTE, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public TerminalNode STAGE() { return getToken(PLParser.STAGE, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public GrantResourcePrivilegeContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGrantResourcePrivilege(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGrantResourcePrivilege(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGrantResourcePrivilege(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RevokeRoleContext extends SupportedGrantRevokeStatementContext {
public IdentifierOrTextContext identifierOrText;
public List<IdentifierOrTextContext> roles = new ArrayList<IdentifierOrTextContext>();
public TerminalNode REVOKE() { return getToken(PLParser.REVOKE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public RevokeRoleContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRevokeRole(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRevokeRole(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRevokeRole(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class GrantTablePrivilegeContext extends SupportedGrantRevokeStatementContext {
public TerminalNode GRANT() { return getToken(PLParser.GRANT, 0); }
public PrivilegeListContext privilegeList() {
return getRuleContext(PrivilegeListContext.class,0);
}
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public MultipartIdentifierOrAsteriskContext multipartIdentifierOrAsterisk() {
return getRuleContext(MultipartIdentifierOrAsteriskContext.class,0);
}
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public GrantTablePrivilegeContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGrantTablePrivilege(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGrantTablePrivilege(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGrantTablePrivilege(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class GrantRoleContext extends SupportedGrantRevokeStatementContext {
public IdentifierOrTextContext identifierOrText;
public List<IdentifierOrTextContext> roles = new ArrayList<IdentifierOrTextContext>();
public TerminalNode GRANT() { return getToken(PLParser.GRANT, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public GrantRoleContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGrantRole(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGrantRole(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGrantRole(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RevokeResourcePrivilegeContext extends SupportedGrantRevokeStatementContext {
public TerminalNode REVOKE() { return getToken(PLParser.REVOKE, 0); }
public PrivilegeListContext privilegeList() {
return getRuleContext(PrivilegeListContext.class,0);
}
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public IdentifierOrTextOrAsteriskContext identifierOrTextOrAsterisk() {
return getRuleContext(IdentifierOrTextOrAsteriskContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public TerminalNode CLUSTER() { return getToken(PLParser.CLUSTER, 0); }
public TerminalNode COMPUTE() { return getToken(PLParser.COMPUTE, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public TerminalNode STAGE() { return getToken(PLParser.STAGE, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public TerminalNode WORKLOAD() { return getToken(PLParser.WORKLOAD, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public RevokeResourcePrivilegeContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRevokeResourcePrivilege(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRevokeResourcePrivilege(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRevokeResourcePrivilege(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RevokeTablePrivilegeContext extends SupportedGrantRevokeStatementContext {
public TerminalNode REVOKE() { return getToken(PLParser.REVOKE, 0); }
public PrivilegeListContext privilegeList() {
return getRuleContext(PrivilegeListContext.class,0);
}
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public MultipartIdentifierOrAsteriskContext multipartIdentifierOrAsterisk() {
return getRuleContext(MultipartIdentifierOrAsteriskContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode ROLE() { return getToken(PLParser.ROLE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public RevokeTablePrivilegeContext(SupportedGrantRevokeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRevokeTablePrivilege(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRevokeTablePrivilege(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRevokeTablePrivilege(this);
else return visitor.visitChildren(this);
}
}
public final SupportedGrantRevokeStatementContext supportedGrantRevokeStatement() throws RecognitionException {
SupportedGrantRevokeStatementContext _localctx = new SupportedGrantRevokeStatementContext(_ctx, getState());
enterRule(_localctx, 354, RULE_supportedGrantRevokeStatement);
int _la;
try {
setState(5359);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,702,_ctx) ) {
case 1:
_localctx = new GrantTablePrivilegeContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5273);
match(GRANT);
setState(5274);
privilegeList();
setState(5275);
match(ON);
setState(5276);
multipartIdentifierOrAsterisk();
setState(5277);
match(TO);
setState(5281);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(5278);
userIdentify();
}
break;
case ROLE:
{
setState(5279);
match(ROLE);
setState(5280);
identifierOrText();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
_localctx = new GrantResourcePrivilegeContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5283);
match(GRANT);
setState(5284);
privilegeList();
setState(5285);
match(ON);
setState(5295);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RESOURCE:
{
setState(5286);
match(RESOURCE);
}
break;
case CLUSTER:
{
setState(5287);
match(CLUSTER);
}
break;
case COMPUTE:
{
setState(5288);
match(COMPUTE);
setState(5289);
match(GROUP);
}
break;
case STAGE:
{
setState(5290);
match(STAGE);
}
break;
case STORAGE:
{
setState(5291);
match(STORAGE);
setState(5292);
match(VAULT);
}
break;
case WORKLOAD:
{
setState(5293);
match(WORKLOAD);
setState(5294);
match(GROUP);
}
break;
default:
throw new NoViableAltException(this);
}
setState(5297);
identifierOrTextOrAsterisk();
setState(5298);
match(TO);
setState(5302);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(5299);
userIdentify();
}
break;
case ROLE:
{
setState(5300);
match(ROLE);
setState(5301);
identifierOrText();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 3:
_localctx = new GrantRoleContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5304);
match(GRANT);
setState(5305);
((GrantRoleContext)_localctx).identifierOrText = identifierOrText();
((GrantRoleContext)_localctx).roles.add(((GrantRoleContext)_localctx).identifierOrText);
setState(5310);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5306);
match(COMMA);
setState(5307);
((GrantRoleContext)_localctx).identifierOrText = identifierOrText();
((GrantRoleContext)_localctx).roles.add(((GrantRoleContext)_localctx).identifierOrText);
}
}
setState(5312);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5313);
match(TO);
setState(5314);
userIdentify();
}
break;
case 4:
_localctx = new RevokeRoleContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(5316);
match(REVOKE);
setState(5317);
((RevokeRoleContext)_localctx).identifierOrText = identifierOrText();
((RevokeRoleContext)_localctx).roles.add(((RevokeRoleContext)_localctx).identifierOrText);
setState(5322);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5318);
match(COMMA);
setState(5319);
((RevokeRoleContext)_localctx).identifierOrText = identifierOrText();
((RevokeRoleContext)_localctx).roles.add(((RevokeRoleContext)_localctx).identifierOrText);
}
}
setState(5324);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5325);
match(FROM);
setState(5326);
userIdentify();
}
break;
case 5:
_localctx = new RevokeResourcePrivilegeContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(5328);
match(REVOKE);
setState(5329);
privilegeList();
setState(5330);
match(ON);
setState(5340);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RESOURCE:
{
setState(5331);
match(RESOURCE);
}
break;
case CLUSTER:
{
setState(5332);
match(CLUSTER);
}
break;
case COMPUTE:
{
setState(5333);
match(COMPUTE);
setState(5334);
match(GROUP);
}
break;
case STAGE:
{
setState(5335);
match(STAGE);
}
break;
case STORAGE:
{
setState(5336);
match(STORAGE);
setState(5337);
match(VAULT);
}
break;
case WORKLOAD:
{
setState(5338);
match(WORKLOAD);
setState(5339);
match(GROUP);
}
break;
default:
throw new NoViableAltException(this);
}
setState(5342);
identifierOrTextOrAsterisk();
setState(5343);
match(FROM);
setState(5347);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(5344);
userIdentify();
}
break;
case ROLE:
{
setState(5345);
match(ROLE);
setState(5346);
identifierOrText();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 6:
_localctx = new RevokeTablePrivilegeContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(5349);
match(REVOKE);
setState(5350);
privilegeList();
setState(5351);
match(ON);
setState(5352);
multipartIdentifierOrAsterisk();
setState(5353);
match(FROM);
setState(5357);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(5354);
userIdentify();
}
break;
case ROLE:
{
setState(5355);
match(ROLE);
setState(5356);
identifierOrText();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrivilegeContext extends ParserRuleContext {
public IdentifierContext name;
public IdentifierListContext columns;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public PrivilegeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_privilege; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPrivilege(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPrivilege(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPrivilege(this);
else return visitor.visitChildren(this);
}
}
public final PrivilegeContext privilege() throws RecognitionException {
PrivilegeContext _localctx = new PrivilegeContext(_ctx, getState());
enterRule(_localctx, 356, RULE_privilege);
int _la;
try {
setState(5366);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(5361);
((PrivilegeContext)_localctx).name = identifier();
setState(5363);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(5362);
((PrivilegeContext)_localctx).columns = identifierList();
}
}
}
break;
case ALL:
enterOuterAlt(_localctx, 2);
{
setState(5365);
match(ALL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrivilegeListContext extends ParserRuleContext {
public List<PrivilegeContext> privilege() {
return getRuleContexts(PrivilegeContext.class);
}
public PrivilegeContext privilege(int i) {
return getRuleContext(PrivilegeContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PrivilegeListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_privilegeList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPrivilegeList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPrivilegeList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPrivilegeList(this);
else return visitor.visitChildren(this);
}
}
public final PrivilegeListContext privilegeList() throws RecognitionException {
PrivilegeListContext _localctx = new PrivilegeListContext(_ctx, getState());
enterRule(_localctx, 358, RULE_privilegeList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5368);
privilege();
setState(5373);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5369);
match(COMMA);
setState(5370);
privilege();
}
}
setState(5375);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedAlterStatementContext extends ParserRuleContext {
public UnsupportedAlterStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedAlterStatement; }
public UnsupportedAlterStatementContext() { }
public void copyFrom(UnsupportedAlterStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterStoragePlicyContext extends UnsupportedAlterStatementContext {
public IdentifierOrTextContext name;
public PropertyClauseContext properties;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterStoragePlicyContext(UnsupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterStoragePlicy(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterStoragePlicy(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterStoragePlicy(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterRoutineLoadContext extends UnsupportedAlterStatementContext {
public MultipartIdentifierContext name;
public PropertyClauseContext properties;
public IdentifierContext type;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public AlterRoutineLoadContext(UnsupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterRoutineLoad(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterRoutineLoad(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterRoutineLoad(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterColocateGroupContext extends UnsupportedAlterStatementContext {
public MultipartIdentifierContext name;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode COLOCATE() { return getToken(PLParser.COLOCATE, 0); }
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public AlterColocateGroupContext(UnsupportedAlterStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterColocateGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterColocateGroup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterColocateGroup(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedAlterStatementContext unsupportedAlterStatement() throws RecognitionException {
UnsupportedAlterStatementContext _localctx = new UnsupportedAlterStatementContext(_ctx, getState());
enterRule(_localctx, 360, RULE_unsupportedAlterStatement);
try {
setState(5407);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,708,_ctx) ) {
case 1:
_localctx = new AlterColocateGroupContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5376);
match(ALTER);
setState(5377);
match(COLOCATE);
setState(5378);
match(GROUP);
setState(5379);
((AlterColocateGroupContext)_localctx).name = multipartIdentifier();
setState(5380);
match(SET);
setState(5381);
match(LEFT_PAREN);
setState(5382);
propertyItemList();
setState(5383);
match(RIGHT_PAREN);
}
break;
case 2:
_localctx = new AlterRoutineLoadContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5385);
match(ALTER);
setState(5386);
match(ROUTINE);
setState(5387);
match(LOAD);
setState(5388);
match(FOR);
setState(5389);
((AlterRoutineLoadContext)_localctx).name = multipartIdentifier();
setState(5391);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,706,_ctx) ) {
case 1:
{
setState(5390);
((AlterRoutineLoadContext)_localctx).properties = propertyClause();
}
break;
}
setState(5399);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,707,_ctx) ) {
case 1:
{
setState(5393);
match(FROM);
setState(5394);
((AlterRoutineLoadContext)_localctx).type = identifier();
setState(5395);
match(LEFT_PAREN);
setState(5396);
propertyItemList();
setState(5397);
match(RIGHT_PAREN);
}
break;
}
}
break;
case 3:
_localctx = new AlterStoragePlicyContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5401);
match(ALTER);
setState(5402);
match(STORAGE);
setState(5403);
match(POLICY);
setState(5404);
((AlterStoragePlicyContext)_localctx).name = identifierOrText();
setState(5405);
((AlterStoragePlicyContext)_localctx).properties = propertyClause();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AlterSystemClauseContext extends ParserRuleContext {
public AlterSystemClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterSystemClause; }
public AlterSystemClauseContext() { }
public void copyFrom(AlterSystemClauseContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropBrokerClauseContext extends AlterSystemClauseContext {
public IdentifierOrTextContext name;
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public DropBrokerClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropBrokerClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropBrokerClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropBrokerClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyFrontendOrBackendHostNameClauseContext extends AlterSystemClauseContext {
public Token hostPort;
public Token hostName;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode HOSTNAME() { return getToken(PLParser.HOSTNAME, 0); }
public TerminalNode FRONTEND() { return getToken(PLParser.FRONTEND, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public ModifyFrontendOrBackendHostNameClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyFrontendOrBackendHostNameClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyFrontendOrBackendHostNameClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyFrontendOrBackendHostNameClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropObserverClauseContext extends AlterSystemClauseContext {
public Token hostPort;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode OBSERVER() { return getToken(PLParser.OBSERVER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public DropObserverClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropObserverClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropObserverClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropObserverClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddFollowerClauseContext extends AlterSystemClauseContext {
public Token hostPort;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode FOLLOWER() { return getToken(PLParser.FOLLOWER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AddFollowerClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddFollowerClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddFollowerClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddFollowerClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropFollowerClauseContext extends AlterSystemClauseContext {
public Token hostPort;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode FOLLOWER() { return getToken(PLParser.FOLLOWER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public DropFollowerClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropFollowerClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropFollowerClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropFollowerClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropAllBrokerClauseContext extends AlterSystemClauseContext {
public IdentifierOrTextContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public DropAllBrokerClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropAllBrokerClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropAllBrokerClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropAllBrokerClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropBackendClauseContext extends AlterSystemClauseContext {
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode DROPP() { return getToken(PLParser.DROPP, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public DropBackendClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropBackendClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropBackendClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropBackendClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterLoadErrorUrlClauseContext extends AlterSystemClauseContext {
public PropertyClauseContext properties;
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LOAD() { return getToken(PLParser.LOAD, 0); }
public TerminalNode ERRORS() { return getToken(PLParser.ERRORS, 0); }
public TerminalNode HUB() { return getToken(PLParser.HUB, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterLoadErrorUrlClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterLoadErrorUrlClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterLoadErrorUrlClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterLoadErrorUrlClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyBackendClauseContext extends AlterSystemClauseContext {
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ModifyBackendClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyBackendClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyBackendClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyBackendClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddBrokerClauseContext extends AlterSystemClauseContext {
public IdentifierOrTextContext name;
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AddBrokerClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddBrokerClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddBrokerClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddBrokerClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddObserverClauseContext extends AlterSystemClauseContext {
public Token hostPort;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode OBSERVER() { return getToken(PLParser.OBSERVER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AddObserverClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddObserverClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddObserverClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddObserverClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DecommissionBackendClauseContext extends AlterSystemClauseContext {
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public TerminalNode DECOMMISSION() { return getToken(PLParser.DECOMMISSION, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public DecommissionBackendClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDecommissionBackendClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDecommissionBackendClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDecommissionBackendClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddBackendClauseContext extends AlterSystemClauseContext {
public Token STRING_LITERAL;
public List<Token> hostPorts = new ArrayList<Token>();
public PropertyClauseContext properties;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode BACKEND() { return getToken(PLParser.BACKEND, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AddBackendClauseContext(AlterSystemClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddBackendClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddBackendClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddBackendClause(this);
else return visitor.visitChildren(this);
}
}
public final AlterSystemClauseContext alterSystemClause() throws RecognitionException {
AlterSystemClauseContext _localctx = new AlterSystemClauseContext(_ctx, getState());
enterRule(_localctx, 362, RULE_alterSystemClause);
int _la;
try {
int _alt;
setState(5507);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,717,_ctx) ) {
case 1:
_localctx = new AddBackendClauseContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5409);
match(ADD);
setState(5410);
match(BACKEND);
setState(5411);
((AddBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AddBackendClauseContext)_localctx).hostPorts.add(((AddBackendClauseContext)_localctx).STRING_LITERAL);
setState(5416);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,709,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5412);
match(COMMA);
setState(5413);
((AddBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AddBackendClauseContext)_localctx).hostPorts.add(((AddBackendClauseContext)_localctx).STRING_LITERAL);
}
}
}
setState(5418);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,709,_ctx);
}
setState(5420);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,710,_ctx) ) {
case 1:
{
setState(5419);
((AddBackendClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 2:
_localctx = new DropBackendClauseContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5422);
_la = _input.LA(1);
if ( !(_la==DROP || _la==DROPP) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(5423);
match(BACKEND);
setState(5424);
((DropBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DropBackendClauseContext)_localctx).hostPorts.add(((DropBackendClauseContext)_localctx).STRING_LITERAL);
setState(5429);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,711,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5425);
match(COMMA);
setState(5426);
((DropBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DropBackendClauseContext)_localctx).hostPorts.add(((DropBackendClauseContext)_localctx).STRING_LITERAL);
}
}
}
setState(5431);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,711,_ctx);
}
}
break;
case 3:
_localctx = new DecommissionBackendClauseContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5432);
match(DECOMMISSION);
setState(5433);
match(BACKEND);
setState(5434);
((DecommissionBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DecommissionBackendClauseContext)_localctx).hostPorts.add(((DecommissionBackendClauseContext)_localctx).STRING_LITERAL);
setState(5439);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,712,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5435);
match(COMMA);
setState(5436);
((DecommissionBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DecommissionBackendClauseContext)_localctx).hostPorts.add(((DecommissionBackendClauseContext)_localctx).STRING_LITERAL);
}
}
}
setState(5441);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,712,_ctx);
}
}
break;
case 4:
_localctx = new AddObserverClauseContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(5442);
match(ADD);
setState(5443);
match(OBSERVER);
setState(5444);
((AddObserverClauseContext)_localctx).hostPort = match(STRING_LITERAL);
}
break;
case 5:
_localctx = new DropObserverClauseContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(5445);
match(DROP);
setState(5446);
match(OBSERVER);
setState(5447);
((DropObserverClauseContext)_localctx).hostPort = match(STRING_LITERAL);
}
break;
case 6:
_localctx = new AddFollowerClauseContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(5448);
match(ADD);
setState(5449);
match(FOLLOWER);
setState(5450);
((AddFollowerClauseContext)_localctx).hostPort = match(STRING_LITERAL);
}
break;
case 7:
_localctx = new DropFollowerClauseContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(5451);
match(DROP);
setState(5452);
match(FOLLOWER);
setState(5453);
((DropFollowerClauseContext)_localctx).hostPort = match(STRING_LITERAL);
}
break;
case 8:
_localctx = new AddBrokerClauseContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(5454);
match(ADD);
setState(5455);
match(BROKER);
setState(5456);
((AddBrokerClauseContext)_localctx).name = identifierOrText();
setState(5457);
((AddBrokerClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AddBrokerClauseContext)_localctx).hostPorts.add(((AddBrokerClauseContext)_localctx).STRING_LITERAL);
setState(5462);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,713,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5458);
match(COMMA);
setState(5459);
((AddBrokerClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((AddBrokerClauseContext)_localctx).hostPorts.add(((AddBrokerClauseContext)_localctx).STRING_LITERAL);
}
}
}
setState(5464);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,713,_ctx);
}
}
break;
case 9:
_localctx = new DropBrokerClauseContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(5465);
match(DROP);
setState(5466);
match(BROKER);
setState(5467);
((DropBrokerClauseContext)_localctx).name = identifierOrText();
setState(5468);
((DropBrokerClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DropBrokerClauseContext)_localctx).hostPorts.add(((DropBrokerClauseContext)_localctx).STRING_LITERAL);
setState(5473);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,714,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5469);
match(COMMA);
setState(5470);
((DropBrokerClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DropBrokerClauseContext)_localctx).hostPorts.add(((DropBrokerClauseContext)_localctx).STRING_LITERAL);
}
}
}
setState(5475);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,714,_ctx);
}
}
break;
case 10:
_localctx = new DropAllBrokerClauseContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(5476);
match(DROP);
setState(5477);
match(ALL);
setState(5478);
match(BROKER);
setState(5479);
((DropAllBrokerClauseContext)_localctx).name = identifierOrText();
}
break;
case 11:
_localctx = new AlterLoadErrorUrlClauseContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(5480);
match(SET);
setState(5481);
match(LOAD);
setState(5482);
match(ERRORS);
setState(5483);
match(HUB);
setState(5485);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,715,_ctx) ) {
case 1:
{
setState(5484);
((AlterLoadErrorUrlClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 12:
_localctx = new ModifyBackendClauseContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(5487);
match(MODIFY);
setState(5488);
match(BACKEND);
setState(5489);
((ModifyBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((ModifyBackendClauseContext)_localctx).hostPorts.add(((ModifyBackendClauseContext)_localctx).STRING_LITERAL);
setState(5494);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5490);
match(COMMA);
setState(5491);
((ModifyBackendClauseContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((ModifyBackendClauseContext)_localctx).hostPorts.add(((ModifyBackendClauseContext)_localctx).STRING_LITERAL);
}
}
setState(5496);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(5497);
match(SET);
setState(5498);
match(LEFT_PAREN);
setState(5499);
propertyItemList();
setState(5500);
match(RIGHT_PAREN);
}
break;
case 13:
_localctx = new ModifyFrontendOrBackendHostNameClauseContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(5502);
match(MODIFY);
setState(5503);
_la = _input.LA(1);
if ( !(_la==BACKEND || _la==FRONTEND) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(5504);
((ModifyFrontendOrBackendHostNameClauseContext)_localctx).hostPort = match(STRING_LITERAL);
setState(5505);
match(HOSTNAME);
setState(5506);
((ModifyFrontendOrBackendHostNameClauseContext)_localctx).hostName = match(STRING_LITERAL);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DropRollupClauseContext extends ParserRuleContext {
public IdentifierContext rollupName;
public PropertyClauseContext properties;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public DropRollupClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropRollupClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropRollupClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropRollupClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropRollupClause(this);
else return visitor.visitChildren(this);
}
}
public final DropRollupClauseContext dropRollupClause() throws RecognitionException {
DropRollupClauseContext _localctx = new DropRollupClauseContext(_ctx, getState());
enterRule(_localctx, 364, RULE_dropRollupClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(5509);
((DropRollupClauseContext)_localctx).rollupName = identifier();
setState(5511);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,718,_ctx) ) {
case 1:
{
setState(5510);
((DropRollupClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AddRollupClauseContext extends ParserRuleContext {
public IdentifierContext rollupName;
public IdentifierListContext columns;
public IdentifierListContext dupKeys;
public PropertyClauseContext properties;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public TerminalNode DUPLICATE() { return getToken(PLParser.DUPLICATE, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public FromRollupContext fromRollup() {
return getRuleContext(FromRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AddRollupClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_addRollupClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddRollupClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddRollupClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddRollupClause(this);
else return visitor.visitChildren(this);
}
}
public final AddRollupClauseContext addRollupClause() throws RecognitionException {
AddRollupClauseContext _localctx = new AddRollupClauseContext(_ctx, getState());
enterRule(_localctx, 366, RULE_addRollupClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(5513);
((AddRollupClauseContext)_localctx).rollupName = identifier();
setState(5514);
((AddRollupClauseContext)_localctx).columns = identifierList();
setState(5518);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,719,_ctx) ) {
case 1:
{
setState(5515);
match(DUPLICATE);
setState(5516);
match(KEY);
setState(5517);
((AddRollupClauseContext)_localctx).dupKeys = identifierList();
}
break;
}
setState(5521);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,720,_ctx) ) {
case 1:
{
setState(5520);
fromRollup();
}
break;
}
setState(5524);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,721,_ctx) ) {
case 1:
{
setState(5523);
((AddRollupClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTableClauseContext extends ParserRuleContext {
public AlterTableClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTableClause; }
public AlterTableClauseContext() { }
public void copyFrom(AlterTableClauseContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddPartitionClauseContext extends AlterTableClauseContext {
public IdentifierListContext hashKeys;
public Token autoBucket;
public PropertyClauseContext properties;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public PartitionDefContext partitionDef() {
return getRuleContext(PartitionDefContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public TerminalNode DISTRIBUTED() { return getToken(PLParser.DISTRIBUTED, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public TerminalNode HASH() { return getToken(PLParser.HASH, 0); }
public TerminalNode RANDOM() { return getToken(PLParser.RANDOM, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public AddPartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddPartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddPartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddPartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyDistributionClauseContext extends AlterTableClauseContext {
public IdentifierListContext hashKeys;
public Token autoBucket;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode DISTRIBUTION() { return getToken(PLParser.DISTRIBUTION, 0); }
public TerminalNode DISTRIBUTED() { return getToken(PLParser.DISTRIBUTED, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public TerminalNode HASH() { return getToken(PLParser.HASH, 0); }
public TerminalNode RANDOM() { return getToken(PLParser.RANDOM, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public ModifyDistributionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyDistributionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyDistributionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyDistributionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddColumnClauseContext extends AlterTableClauseContext {
public PropertyClauseContext properties;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public ColumnDefContext columnDef() {
return getRuleContext(ColumnDefContext.class,0);
}
public ColumnPositionContext columnPosition() {
return getRuleContext(ColumnPositionContext.class,0);
}
public ToRollupContext toRollup() {
return getRuleContext(ToRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AddColumnClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddColumnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddColumnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddColumnClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyColumnClauseContext extends AlterTableClauseContext {
public PropertyClauseContext properties;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public ColumnDefContext columnDef() {
return getRuleContext(ColumnDefContext.class,0);
}
public ColumnPositionContext columnPosition() {
return getRuleContext(ColumnPositionContext.class,0);
}
public FromRollupContext fromRollup() {
return getRuleContext(FromRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public ModifyColumnClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyColumnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyColumnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyColumnClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RenameRollupClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public RenameRollupClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRenameRollupClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRenameRollupClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRenameRollupClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddColumnsClauseContext extends AlterTableClauseContext {
public PropertyClauseContext properties;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ColumnDefsContext columnDefs() {
return getRuleContext(ColumnDefsContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ToRollupContext toRollup() {
return getRuleContext(ToRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AddColumnsClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddColumnsClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddColumnsClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddColumnsClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ReplaceTableClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public ReplaceTableClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplaceTableClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplaceTableClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplaceTableClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RenamePartitionClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public RenamePartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRenamePartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRenamePartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRenamePartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropIndexClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public DropIndexClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropIndexClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropIndexClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropIndexClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropColumnClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FromRollupContext fromRollup() {
return getRuleContext(FromRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public DropColumnClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropColumnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropColumnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropColumnClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropPartitionClauseContext extends AlterTableClauseContext {
public IdentifierContext partitionName;
public IdentifierContext indexName;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public DropPartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropPartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropPartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropPartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ReplacePartitionClauseContext extends AlterTableClauseContext {
public PartitionSpecContext partitions;
public PartitionSpecContext tempPartitions;
public PropertyClauseContext properties;
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode FORCE() { return getToken(PLParser.FORCE, 0); }
public List<PartitionSpecContext> partitionSpec() {
return getRuleContexts(PartitionSpecContext.class);
}
public PartitionSpecContext partitionSpec(int i) {
return getRuleContext(PartitionSpecContext.class,i);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public ReplacePartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplacePartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplacePartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplacePartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RenameClauseContext extends AlterTableClauseContext {
public IdentifierContext newName;
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public RenameClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRenameClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRenameClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRenameClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyTableCommentClauseContext extends AlterTableClauseContext {
public Token comment;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ModifyTableCommentClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyTableCommentClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyTableCommentClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyTableCommentClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyPartitionClauseContext extends AlterTableClauseContext {
public IdentifierContext partitionName;
public IdentifierListContext partitionNames;
public PropertyItemListContext partitionProperties;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ModifyPartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyPartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyPartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyPartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyEngineClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public PropertyClauseContext properties;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode ENGINE() { return getToken(PLParser.ENGINE, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public ModifyEngineClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyEngineClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyEngineClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyEngineClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ReorderColumnsClauseContext extends AlterTableClauseContext {
public PropertyClauseContext properties;
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public FromRollupContext fromRollup() {
return getRuleContext(FromRollupContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public ReorderColumnsClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReorderColumnsClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReorderColumnsClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReorderColumnsClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AddIndexClauseContext extends AlterTableClauseContext {
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public IndexDefContext indexDef() {
return getRuleContext(IndexDefContext.class,0);
}
public AddIndexClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAddIndexClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAddIndexClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAddIndexClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ModifyColumnCommentClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public Token comment;
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ModifyColumnCommentClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterModifyColumnCommentClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitModifyColumnCommentClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitModifyColumnCommentClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterMultiPartitionClauseContext extends AlterTableClauseContext {
public PartitionValueListContext from;
public PartitionValueListContext to;
public IdentifierContext unit;
public PropertyClauseContext properties;
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode PARTITIONS() { return getToken(PLParser.PARTITIONS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode INTERVAL() { return getToken(PLParser.INTERVAL, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public List<PartitionValueListContext> partitionValueList() {
return getRuleContexts(PartitionValueListContext.class);
}
public PartitionValueListContext partitionValueList(int i) {
return getRuleContext(PartitionValueListContext.class,i);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AlterMultiPartitionClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterMultiPartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterMultiPartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterMultiPartitionClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RenameColumnClauseContext extends AlterTableClauseContext {
public IdentifierContext name;
public IdentifierContext newName;
public TerminalNode RENAME() { return getToken(PLParser.RENAME, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public RenameColumnClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRenameColumnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRenameColumnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRenameColumnClause(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class EnableFeatureClauseContext extends AlterTableClauseContext {
public Token name;
public PropertyClauseContext properties;
public TerminalNode ENABLE() { return getToken(PLParser.ENABLE, 0); }
public TerminalNode FEATURE() { return getToken(PLParser.FEATURE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public EnableFeatureClauseContext(AlterTableClauseContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterEnableFeatureClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitEnableFeatureClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitEnableFeatureClause(this);
else return visitor.visitChildren(this);
}
}
public final AlterTableClauseContext alterTableClause() throws RecognitionException {
AlterTableClauseContext _localctx = new AlterTableClauseContext(_ctx, getState());
enterRule(_localctx, 368, RULE_alterTableClause);
int _la;
try {
setState(5746);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,762,_ctx) ) {
case 1:
_localctx = new AddColumnClauseContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5526);
match(ADD);
setState(5527);
match(COLUMN);
setState(5528);
columnDef();
setState(5530);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,722,_ctx) ) {
case 1:
{
setState(5529);
columnPosition();
}
break;
}
setState(5533);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,723,_ctx) ) {
case 1:
{
setState(5532);
toRollup();
}
break;
}
setState(5536);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,724,_ctx) ) {
case 1:
{
setState(5535);
((AddColumnClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 2:
_localctx = new AddColumnsClauseContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5538);
match(ADD);
setState(5539);
match(COLUMN);
setState(5540);
match(LEFT_PAREN);
setState(5541);
columnDefs();
setState(5542);
match(RIGHT_PAREN);
setState(5544);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,725,_ctx) ) {
case 1:
{
setState(5543);
toRollup();
}
break;
}
setState(5547);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,726,_ctx) ) {
case 1:
{
setState(5546);
((AddColumnsClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 3:
_localctx = new DropColumnClauseContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5549);
match(DROP);
setState(5550);
match(COLUMN);
setState(5551);
((DropColumnClauseContext)_localctx).name = identifier();
setState(5553);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,727,_ctx) ) {
case 1:
{
setState(5552);
fromRollup();
}
break;
}
setState(5556);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,728,_ctx) ) {
case 1:
{
setState(5555);
((DropColumnClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 4:
_localctx = new ModifyColumnClauseContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(5558);
match(MODIFY);
setState(5559);
match(COLUMN);
setState(5560);
columnDef();
setState(5562);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,729,_ctx) ) {
case 1:
{
setState(5561);
columnPosition();
}
break;
}
setState(5565);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,730,_ctx) ) {
case 1:
{
setState(5564);
fromRollup();
}
break;
}
setState(5568);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,731,_ctx) ) {
case 1:
{
setState(5567);
((ModifyColumnClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 5:
_localctx = new ReorderColumnsClauseContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(5570);
match(ORDER);
setState(5571);
match(BY);
setState(5572);
identifierList();
setState(5574);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,732,_ctx) ) {
case 1:
{
setState(5573);
fromRollup();
}
break;
}
setState(5577);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,733,_ctx) ) {
case 1:
{
setState(5576);
((ReorderColumnsClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 6:
_localctx = new AddPartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(5579);
match(ADD);
setState(5581);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(5580);
match(TEMPORARY);
}
}
setState(5583);
partitionDef();
setState(5598);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,738,_ctx) ) {
case 1:
{
setState(5584);
match(DISTRIBUTED);
setState(5585);
match(BY);
setState(5589);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HASH:
{
setState(5586);
match(HASH);
setState(5587);
((AddPartitionClauseContext)_localctx).hashKeys = identifierList();
}
break;
case RANDOM:
{
setState(5588);
match(RANDOM);
}
break;
default:
throw new NoViableAltException(this);
}
setState(5596);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,737,_ctx) ) {
case 1:
{
setState(5591);
match(BUCKETS);
setState(5594);
_errHandler.sync(this);
switch (_input.LA(1)) {
case INTEGER_VALUE:
{
setState(5592);
match(INTEGER_VALUE);
}
break;
case AUTO:
{
setState(5593);
((AddPartitionClauseContext)_localctx).autoBucket = match(AUTO);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
break;
}
setState(5601);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,739,_ctx) ) {
case 1:
{
setState(5600);
((AddPartitionClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 7:
_localctx = new DropPartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(5603);
match(DROP);
setState(5605);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(5604);
match(TEMPORARY);
}
}
setState(5607);
match(PARTITION);
setState(5610);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(5608);
match(IF);
setState(5609);
match(EXISTS);
}
}
setState(5612);
((DropPartitionClauseContext)_localctx).partitionName = identifier();
setState(5614);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,742,_ctx) ) {
case 1:
{
setState(5613);
match(FORCE);
}
break;
}
setState(5619);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,743,_ctx) ) {
case 1:
{
setState(5616);
match(FROM);
setState(5617);
match(INDEX);
setState(5618);
((DropPartitionClauseContext)_localctx).indexName = identifier();
}
break;
}
}
break;
case 8:
_localctx = new ModifyPartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(5621);
match(MODIFY);
setState(5623);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(5622);
match(TEMPORARY);
}
}
setState(5625);
match(PARTITION);
setState(5631);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,745,_ctx) ) {
case 1:
{
setState(5626);
((ModifyPartitionClauseContext)_localctx).partitionName = identifier();
}
break;
case 2:
{
setState(5627);
((ModifyPartitionClauseContext)_localctx).partitionNames = identifierList();
}
break;
case 3:
{
setState(5628);
match(LEFT_PAREN);
setState(5629);
match(ASTERISK);
setState(5630);
match(RIGHT_PAREN);
}
break;
}
setState(5633);
match(SET);
setState(5634);
match(LEFT_PAREN);
setState(5635);
((ModifyPartitionClauseContext)_localctx).partitionProperties = propertyItemList();
setState(5636);
match(RIGHT_PAREN);
}
break;
case 9:
_localctx = new ReplacePartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(5638);
match(REPLACE);
setState(5640);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION || _la==PARTITIONS || _la==TEMPORARY) {
{
setState(5639);
((ReplacePartitionClauseContext)_localctx).partitions = partitionSpec();
}
}
setState(5642);
match(WITH);
setState(5644);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,747,_ctx) ) {
case 1:
{
setState(5643);
((ReplacePartitionClauseContext)_localctx).tempPartitions = partitionSpec();
}
break;
}
setState(5647);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,748,_ctx) ) {
case 1:
{
setState(5646);
match(FORCE);
}
break;
}
setState(5650);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,749,_ctx) ) {
case 1:
{
setState(5649);
((ReplacePartitionClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 10:
_localctx = new ReplaceTableClauseContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(5652);
match(REPLACE);
setState(5653);
match(WITH);
setState(5654);
match(TABLE);
setState(5655);
((ReplaceTableClauseContext)_localctx).name = identifier();
setState(5657);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,750,_ctx) ) {
case 1:
{
setState(5656);
((ReplaceTableClauseContext)_localctx).properties = propertyClause();
}
break;
}
setState(5660);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,751,_ctx) ) {
case 1:
{
setState(5659);
match(FORCE);
}
break;
}
}
break;
case 11:
_localctx = new RenameClauseContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(5662);
match(RENAME);
setState(5663);
((RenameClauseContext)_localctx).newName = identifier();
}
break;
case 12:
_localctx = new RenameRollupClauseContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(5664);
match(RENAME);
setState(5665);
match(ROLLUP);
setState(5666);
((RenameRollupClauseContext)_localctx).name = identifier();
setState(5667);
((RenameRollupClauseContext)_localctx).newName = identifier();
}
break;
case 13:
_localctx = new RenamePartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(5669);
match(RENAME);
setState(5670);
match(PARTITION);
setState(5671);
((RenamePartitionClauseContext)_localctx).name = identifier();
setState(5672);
((RenamePartitionClauseContext)_localctx).newName = identifier();
}
break;
case 14:
_localctx = new RenameColumnClauseContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(5674);
match(RENAME);
setState(5675);
match(COLUMN);
setState(5676);
((RenameColumnClauseContext)_localctx).name = identifier();
setState(5677);
((RenameColumnClauseContext)_localctx).newName = identifier();
}
break;
case 15:
_localctx = new AddIndexClauseContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(5679);
match(ADD);
setState(5680);
indexDef();
}
break;
case 16:
_localctx = new DropIndexClauseContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(5681);
match(DROP);
setState(5682);
match(INDEX);
setState(5685);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(5683);
match(IF);
setState(5684);
match(EXISTS);
}
}
setState(5687);
((DropIndexClauseContext)_localctx).name = identifier();
}
break;
case 17:
_localctx = new EnableFeatureClauseContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(5688);
match(ENABLE);
setState(5689);
match(FEATURE);
setState(5690);
((EnableFeatureClauseContext)_localctx).name = match(STRING_LITERAL);
setState(5693);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,753,_ctx) ) {
case 1:
{
setState(5691);
match(WITH);
setState(5692);
((EnableFeatureClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 18:
_localctx = new ModifyDistributionClauseContext(_localctx);
enterOuterAlt(_localctx, 18);
{
setState(5695);
match(MODIFY);
setState(5696);
match(DISTRIBUTION);
setState(5711);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,757,_ctx) ) {
case 1:
{
setState(5697);
match(DISTRIBUTED);
setState(5698);
match(BY);
setState(5702);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HASH:
{
setState(5699);
match(HASH);
setState(5700);
((ModifyDistributionClauseContext)_localctx).hashKeys = identifierList();
}
break;
case RANDOM:
{
setState(5701);
match(RANDOM);
}
break;
default:
throw new NoViableAltException(this);
}
setState(5709);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,756,_ctx) ) {
case 1:
{
setState(5704);
match(BUCKETS);
setState(5707);
_errHandler.sync(this);
switch (_input.LA(1)) {
case INTEGER_VALUE:
{
setState(5705);
match(INTEGER_VALUE);
}
break;
case AUTO:
{
setState(5706);
((ModifyDistributionClauseContext)_localctx).autoBucket = match(AUTO);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
break;
}
}
break;
case 19:
_localctx = new ModifyTableCommentClauseContext(_localctx);
enterOuterAlt(_localctx, 19);
{
setState(5713);
match(MODIFY);
setState(5714);
match(COMMENT);
setState(5715);
((ModifyTableCommentClauseContext)_localctx).comment = match(STRING_LITERAL);
}
break;
case 20:
_localctx = new ModifyColumnCommentClauseContext(_localctx);
enterOuterAlt(_localctx, 20);
{
setState(5716);
match(MODIFY);
setState(5717);
match(COLUMN);
setState(5718);
((ModifyColumnCommentClauseContext)_localctx).name = identifier();
setState(5719);
match(COMMENT);
setState(5720);
((ModifyColumnCommentClauseContext)_localctx).comment = match(STRING_LITERAL);
}
break;
case 21:
_localctx = new ModifyEngineClauseContext(_localctx);
enterOuterAlt(_localctx, 21);
{
setState(5722);
match(MODIFY);
setState(5723);
match(ENGINE);
setState(5724);
match(TO);
setState(5725);
((ModifyEngineClauseContext)_localctx).name = identifier();
setState(5727);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,758,_ctx) ) {
case 1:
{
setState(5726);
((ModifyEngineClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
case 22:
_localctx = new AlterMultiPartitionClauseContext(_localctx);
enterOuterAlt(_localctx, 22);
{
setState(5729);
match(ADD);
setState(5731);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(5730);
match(TEMPORARY);
}
}
setState(5733);
match(PARTITIONS);
setState(5734);
match(FROM);
setState(5735);
((AlterMultiPartitionClauseContext)_localctx).from = partitionValueList();
setState(5736);
match(TO);
setState(5737);
((AlterMultiPartitionClauseContext)_localctx).to = partitionValueList();
setState(5738);
match(INTERVAL);
setState(5739);
match(INTEGER_VALUE);
setState(5741);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,760,_ctx) ) {
case 1:
{
setState(5740);
((AlterMultiPartitionClauseContext)_localctx).unit = identifier();
}
break;
}
setState(5744);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,761,_ctx) ) {
case 1:
{
setState(5743);
((AlterMultiPartitionClauseContext)_localctx).properties = propertyClause();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColumnPositionContext extends ParserRuleContext {
public IdentifierContext position;
public TerminalNode FIRST() { return getToken(PLParser.FIRST, 0); }
public TerminalNode AFTER() { return getToken(PLParser.AFTER, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ColumnPositionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnPosition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColumnPosition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColumnPosition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColumnPosition(this);
else return visitor.visitChildren(this);
}
}
public final ColumnPositionContext columnPosition() throws RecognitionException {
ColumnPositionContext _localctx = new ColumnPositionContext(_ctx, getState());
enterRule(_localctx, 370, RULE_columnPosition);
try {
setState(5751);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FIRST:
enterOuterAlt(_localctx, 1);
{
setState(5748);
match(FIRST);
}
break;
case AFTER:
enterOuterAlt(_localctx, 2);
{
setState(5749);
match(AFTER);
setState(5750);
((ColumnPositionContext)_localctx).position = identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ToRollupContext extends ParserRuleContext {
public IdentifierContext rollup;
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ToRollupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_toRollup; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterToRollup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitToRollup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitToRollup(this);
else return visitor.visitChildren(this);
}
}
public final ToRollupContext toRollup() throws RecognitionException {
ToRollupContext _localctx = new ToRollupContext(_ctx, getState());
enterRule(_localctx, 372, RULE_toRollup);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5753);
_la = _input.LA(1);
if ( !(_la==IN || _la==TO) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(5754);
((ToRollupContext)_localctx).rollup = identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FromRollupContext extends ParserRuleContext {
public IdentifierContext rollup;
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FromRollupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fromRollup; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFromRollup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFromRollup(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFromRollup(this);
else return visitor.visitChildren(this);
}
}
public final FromRollupContext fromRollup() throws RecognitionException {
FromRollupContext _localctx = new FromRollupContext(_ctx, getState());
enterRule(_localctx, 374, RULE_fromRollup);
try {
enterOuterAlt(_localctx, 1);
{
setState(5756);
match(FROM);
setState(5757);
((FromRollupContext)_localctx).rollup = identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedStatsStatementContext extends ParserRuleContext {
public SupportedStatsStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedStatsStatement; }
public SupportedStatsStatementContext() { }
public void copyFrom(SupportedStatsStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowTableStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierListContext columnList;
public Token tableId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowTableStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowTableStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowTableStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowTableStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AnalyzeDatabaseContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext name;
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<TerminalNode> WITH() { return getTokens(PLParser.WITH); }
public TerminalNode WITH(int i) {
return getToken(PLParser.WITH, i);
}
public List<AnalyzePropertiesContext> analyzeProperties() {
return getRuleContexts(AnalyzePropertiesContext.class);
}
public AnalyzePropertiesContext analyzeProperties(int i) {
return getRuleContext(AnalyzePropertiesContext.class,i);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public AnalyzeDatabaseContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAnalyzeDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAnalyzeDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAnalyzeDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowQueuedAnalyzeJobsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierContext stateKey;
public Token stateValue;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode QUEUED() { return getToken(PLParser.QUEUED, 0); }
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode JOBS() { return getToken(PLParser.JOBS, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowQueuedAnalyzeJobsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowQueuedAnalyzeJobs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowQueuedAnalyzeJobs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowQueuedAnalyzeJobs(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowIndexStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierContext indexId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ShowIndexStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowIndexStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowIndexStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowIndexStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierListContext columns;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public DropStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropCachedStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode CACHED() { return getToken(PLParser.CACHED, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public DropCachedStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropCachedStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropCachedStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropCachedStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class KillAnalyzeJobContext extends SupportedStatsStatementContext {
public Token jobId;
public TerminalNode KILL() { return getToken(PLParser.KILL, 0); }
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public KillAnalyzeJobContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterKillAnalyzeJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitKillAnalyzeJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitKillAnalyzeJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowAnalyzeContext extends SupportedStatsStatementContext {
public Token jobId;
public MultipartIdentifierContext tableName;
public IdentifierContext stateKey;
public Token stateValue;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ShowAnalyzeContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowAnalyze(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowAnalyze(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowAnalyze(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropAnalyzeJobContext extends SupportedStatsStatementContext {
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public DropAnalyzeJobContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropAnalyzeJob(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropAnalyzeJob(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropAnalyzeJob(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterColumnStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext name;
public IdentifierContext indexName;
public IdentifierContext columnName;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public AlterColumnStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterColumnStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterColumnStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterColumnStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DropExpiredStatsContext extends SupportedStatsStatementContext {
public TerminalNode DROP() { return getToken(PLParser.DROP, 0); }
public TerminalNode EXPIRED() { return getToken(PLParser.EXPIRED, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public DropExpiredStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDropExpiredStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDropExpiredStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDropExpiredStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AnalyzeTableContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext name;
public IdentifierListContext columns;
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public List<TerminalNode> WITH() { return getTokens(PLParser.WITH); }
public TerminalNode WITH(int i) {
return getToken(PLParser.WITH, i);
}
public List<AnalyzePropertiesContext> analyzeProperties() {
return getRuleContexts(AnalyzePropertiesContext.class);
}
public AnalyzePropertiesContext analyzeProperties(int i) {
return getRuleContext(AnalyzePropertiesContext.class,i);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public AnalyzeTableContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAnalyzeTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAnalyzeTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAnalyzeTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AlterTableStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext name;
public TerminalNode ALTER() { return getToken(PLParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public AlterTableStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAlterTableStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAlterTableStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAlterTableStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowColumnHistogramStatsContext extends SupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierListContext columnList;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode HISTOGRAM() { return getToken(PLParser.HISTOGRAM, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ShowColumnHistogramStatsContext(SupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowColumnHistogramStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowColumnHistogramStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowColumnHistogramStats(this);
else return visitor.visitChildren(this);
}
}
public final SupportedStatsStatementContext supportedStatsStatement() throws RecognitionException {
SupportedStatsStatementContext _localctx = new SupportedStatsStatementContext(_ctx, getState());
enterRule(_localctx, 376, RULE_supportedStatsStatement);
int _la;
try {
int _alt;
setState(5899);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,782,_ctx) ) {
case 1:
_localctx = new ShowAnalyzeContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5759);
match(SHOW);
setState(5761);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AUTO) {
{
setState(5760);
match(AUTO);
}
}
setState(5763);
match(ANALYZE);
setState(5766);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,765,_ctx) ) {
case 1:
{
setState(5764);
((ShowAnalyzeContext)_localctx).jobId = match(INTEGER_VALUE);
}
break;
case 2:
{
setState(5765);
((ShowAnalyzeContext)_localctx).tableName = multipartIdentifier();
}
break;
}
setState(5773);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,766,_ctx) ) {
case 1:
{
setState(5768);
match(WHERE);
{
setState(5769);
((ShowAnalyzeContext)_localctx).stateKey = identifier();
}
setState(5770);
match(EQ);
{
setState(5771);
((ShowAnalyzeContext)_localctx).stateValue = match(STRING_LITERAL);
}
}
break;
}
}
break;
case 2:
_localctx = new ShowQueuedAnalyzeJobsContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5775);
match(SHOW);
setState(5776);
match(QUEUED);
setState(5777);
match(ANALYZE);
setState(5778);
match(JOBS);
setState(5780);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,767,_ctx) ) {
case 1:
{
setState(5779);
((ShowQueuedAnalyzeJobsContext)_localctx).tableName = multipartIdentifier();
}
break;
}
setState(5787);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,768,_ctx) ) {
case 1:
{
setState(5782);
match(WHERE);
{
setState(5783);
((ShowQueuedAnalyzeJobsContext)_localctx).stateKey = identifier();
}
setState(5784);
match(EQ);
{
setState(5785);
((ShowQueuedAnalyzeJobsContext)_localctx).stateValue = match(STRING_LITERAL);
}
}
break;
}
}
break;
case 3:
_localctx = new ShowColumnHistogramStatsContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(5789);
match(SHOW);
setState(5790);
match(COLUMN);
setState(5791);
match(HISTOGRAM);
setState(5792);
((ShowColumnHistogramStatsContext)_localctx).tableName = multipartIdentifier();
setState(5793);
((ShowColumnHistogramStatsContext)_localctx).columnList = identifierList();
}
break;
case 4:
_localctx = new AnalyzeDatabaseContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(5795);
match(ANALYZE);
setState(5796);
match(DATABASE);
setState(5797);
((AnalyzeDatabaseContext)_localctx).name = multipartIdentifier();
setState(5802);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,769,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5798);
match(WITH);
setState(5799);
analyzeProperties();
}
}
}
setState(5804);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,769,_ctx);
}
setState(5806);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,770,_ctx) ) {
case 1:
{
setState(5805);
propertyClause();
}
break;
}
}
break;
case 5:
_localctx = new AnalyzeTableContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(5808);
match(ANALYZE);
setState(5809);
match(TABLE);
setState(5810);
((AnalyzeTableContext)_localctx).name = multipartIdentifier();
setState(5812);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,771,_ctx) ) {
case 1:
{
setState(5811);
partitionSpec();
}
break;
}
setState(5815);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,772,_ctx) ) {
case 1:
{
setState(5814);
((AnalyzeTableContext)_localctx).columns = identifierList();
}
break;
}
setState(5821);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,773,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(5817);
match(WITH);
setState(5818);
analyzeProperties();
}
}
}
setState(5823);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,773,_ctx);
}
setState(5825);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,774,_ctx) ) {
case 1:
{
setState(5824);
propertyClause();
}
break;
}
}
break;
case 6:
_localctx = new AlterTableStatsContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(5827);
match(ALTER);
setState(5828);
match(TABLE);
setState(5829);
((AlterTableStatsContext)_localctx).name = multipartIdentifier();
setState(5830);
match(SET);
setState(5831);
match(STATS);
setState(5832);
match(LEFT_PAREN);
setState(5833);
propertyItemList();
setState(5834);
match(RIGHT_PAREN);
setState(5836);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,775,_ctx) ) {
case 1:
{
setState(5835);
partitionSpec();
}
break;
}
}
break;
case 7:
_localctx = new AlterColumnStatsContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(5838);
match(ALTER);
setState(5839);
match(TABLE);
setState(5840);
((AlterColumnStatsContext)_localctx).name = multipartIdentifier();
setState(5843);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INDEX) {
{
setState(5841);
match(INDEX);
setState(5842);
((AlterColumnStatsContext)_localctx).indexName = identifier();
}
}
setState(5845);
match(MODIFY);
setState(5846);
match(COLUMN);
setState(5847);
((AlterColumnStatsContext)_localctx).columnName = identifier();
setState(5848);
match(SET);
setState(5849);
match(STATS);
setState(5850);
match(LEFT_PAREN);
setState(5851);
propertyItemList();
setState(5852);
match(RIGHT_PAREN);
setState(5854);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,777,_ctx) ) {
case 1:
{
setState(5853);
partitionSpec();
}
break;
}
}
break;
case 8:
_localctx = new ShowIndexStatsContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(5856);
match(SHOW);
setState(5857);
match(INDEX);
setState(5858);
match(STATS);
setState(5859);
((ShowIndexStatsContext)_localctx).tableName = multipartIdentifier();
setState(5860);
((ShowIndexStatsContext)_localctx).indexId = identifier();
}
break;
case 9:
_localctx = new DropStatsContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(5862);
match(DROP);
setState(5863);
match(STATS);
setState(5864);
((DropStatsContext)_localctx).tableName = multipartIdentifier();
setState(5866);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,778,_ctx) ) {
case 1:
{
setState(5865);
((DropStatsContext)_localctx).columns = identifierList();
}
break;
}
setState(5869);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,779,_ctx) ) {
case 1:
{
setState(5868);
partitionSpec();
}
break;
}
}
break;
case 10:
_localctx = new DropCachedStatsContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(5871);
match(DROP);
setState(5872);
match(CACHED);
setState(5873);
match(STATS);
setState(5874);
((DropCachedStatsContext)_localctx).tableName = multipartIdentifier();
}
break;
case 11:
_localctx = new DropExpiredStatsContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(5875);
match(DROP);
setState(5876);
match(EXPIRED);
setState(5877);
match(STATS);
}
break;
case 12:
_localctx = new KillAnalyzeJobContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(5878);
match(KILL);
setState(5879);
match(ANALYZE);
setState(5880);
((KillAnalyzeJobContext)_localctx).jobId = match(INTEGER_VALUE);
}
break;
case 13:
_localctx = new DropAnalyzeJobContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(5881);
match(DROP);
setState(5882);
match(ANALYZE);
setState(5883);
match(JOB);
setState(5884);
match(INTEGER_VALUE);
}
break;
case 14:
_localctx = new ShowTableStatsContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(5885);
match(SHOW);
setState(5886);
match(TABLE);
setState(5887);
match(STATS);
setState(5888);
((ShowTableStatsContext)_localctx).tableName = multipartIdentifier();
setState(5890);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,780,_ctx) ) {
case 1:
{
setState(5889);
partitionSpec();
}
break;
}
setState(5893);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,781,_ctx) ) {
case 1:
{
setState(5892);
((ShowTableStatsContext)_localctx).columnList = identifierList();
}
break;
}
}
break;
case 15:
_localctx = new ShowTableStatsContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(5895);
match(SHOW);
setState(5896);
match(TABLE);
setState(5897);
match(STATS);
setState(5898);
((ShowTableStatsContext)_localctx).tableId = match(INTEGER_VALUE);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedStatsStatementContext extends ParserRuleContext {
public UnsupportedStatsStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedStatsStatement; }
public UnsupportedStatsStatementContext() { }
public void copyFrom(UnsupportedStatsStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowColumnStatsContext extends UnsupportedStatsStatementContext {
public MultipartIdentifierContext tableName;
public IdentifierListContext columnList;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode COLUMN() { return getToken(PLParser.COLUMN, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode CACHED() { return getToken(PLParser.CACHED, 0); }
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ShowColumnStatsContext(UnsupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowColumnStats(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowColumnStats(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowColumnStats(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ShowAnalyzeTaskContext extends UnsupportedStatsStatementContext {
public Token jobId;
public TerminalNode SHOW() { return getToken(PLParser.SHOW, 0); }
public TerminalNode ANALYZE() { return getToken(PLParser.ANALYZE, 0); }
public TerminalNode TASK() { return getToken(PLParser.TASK, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public ShowAnalyzeTaskContext(UnsupportedStatsStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterShowAnalyzeTask(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitShowAnalyzeTask(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitShowAnalyzeTask(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedStatsStatementContext unsupportedStatsStatement() throws RecognitionException {
UnsupportedStatsStatementContext _localctx = new UnsupportedStatsStatementContext(_ctx, getState());
enterRule(_localctx, 378, RULE_unsupportedStatsStatement);
int _la;
try {
setState(5919);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,786,_ctx) ) {
case 1:
_localctx = new ShowColumnStatsContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(5901);
match(SHOW);
setState(5902);
match(COLUMN);
setState(5904);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CACHED) {
{
setState(5903);
match(CACHED);
}
}
setState(5906);
match(STATS);
setState(5907);
((ShowColumnStatsContext)_localctx).tableName = multipartIdentifier();
setState(5909);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,784,_ctx) ) {
case 1:
{
setState(5908);
((ShowColumnStatsContext)_localctx).columnList = identifierList();
}
break;
}
setState(5912);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,785,_ctx) ) {
case 1:
{
setState(5911);
partitionSpec();
}
break;
}
}
break;
case 2:
_localctx = new ShowAnalyzeTaskContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(5914);
match(SHOW);
setState(5915);
match(ANALYZE);
setState(5916);
match(TASK);
setState(5917);
match(STATUS);
setState(5918);
((ShowAnalyzeTaskContext)_localctx).jobId = match(INTEGER_VALUE);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AnalyzePropertiesContext extends ParserRuleContext {
public Token rows;
public Token percent;
public Token bucket;
public Token periodInSecond;
public Token crontabExpr;
public TerminalNode SYNC() { return getToken(PLParser.SYNC, 0); }
public TerminalNode INCREMENTAL() { return getToken(PLParser.INCREMENTAL, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public TerminalNode SQL() { return getToken(PLParser.SQL, 0); }
public TerminalNode HISTOGRAM() { return getToken(PLParser.HISTOGRAM, 0); }
public TerminalNode SAMPLE() { return getToken(PLParser.SAMPLE, 0); }
public TerminalNode ROWS() { return getToken(PLParser.ROWS, 0); }
public TerminalNode PERCENT() { return getToken(PLParser.PERCENT, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public TerminalNode PERIOD() { return getToken(PLParser.PERIOD, 0); }
public TerminalNode CRON() { return getToken(PLParser.CRON, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public AnalyzePropertiesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_analyzeProperties; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAnalyzeProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAnalyzeProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAnalyzeProperties(this);
else return visitor.visitChildren(this);
}
}
public final AnalyzePropertiesContext analyzeProperties() throws RecognitionException {
AnalyzePropertiesContext _localctx = new AnalyzePropertiesContext(_ctx, getState());
enterRule(_localctx, 380, RULE_analyzeProperties);
try {
setState(5939);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SYNC:
enterOuterAlt(_localctx, 1);
{
setState(5921);
match(SYNC);
}
break;
case INCREMENTAL:
enterOuterAlt(_localctx, 2);
{
setState(5922);
match(INCREMENTAL);
}
break;
case FULL:
enterOuterAlt(_localctx, 3);
{
setState(5923);
match(FULL);
}
break;
case SQL:
enterOuterAlt(_localctx, 4);
{
setState(5924);
match(SQL);
}
break;
case HISTOGRAM:
enterOuterAlt(_localctx, 5);
{
setState(5925);
match(HISTOGRAM);
}
break;
case SAMPLE:
enterOuterAlt(_localctx, 6);
{
{
setState(5926);
match(SAMPLE);
setState(5931);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ROWS:
{
{
setState(5927);
match(ROWS);
setState(5928);
((AnalyzePropertiesContext)_localctx).rows = match(INTEGER_VALUE);
}
}
break;
case PERCENT:
{
{
setState(5929);
match(PERCENT);
setState(5930);
((AnalyzePropertiesContext)_localctx).percent = match(INTEGER_VALUE);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
}
break;
case BUCKETS:
enterOuterAlt(_localctx, 7);
{
{
setState(5933);
match(BUCKETS);
setState(5934);
((AnalyzePropertiesContext)_localctx).bucket = match(INTEGER_VALUE);
}
}
break;
case PERIOD:
enterOuterAlt(_localctx, 8);
{
{
setState(5935);
match(PERIOD);
setState(5936);
((AnalyzePropertiesContext)_localctx).periodInSecond = match(INTEGER_VALUE);
}
}
break;
case CRON:
enterOuterAlt(_localctx, 9);
{
{
setState(5937);
match(CRON);
setState(5938);
((AnalyzePropertiesContext)_localctx).crontabExpr = match(STRING_LITERAL);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WorkloadPolicyActionsContext extends ParserRuleContext {
public List<WorkloadPolicyActionContext> workloadPolicyAction() {
return getRuleContexts(WorkloadPolicyActionContext.class);
}
public WorkloadPolicyActionContext workloadPolicyAction(int i) {
return getRuleContext(WorkloadPolicyActionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public WorkloadPolicyActionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_workloadPolicyActions; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWorkloadPolicyActions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWorkloadPolicyActions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWorkloadPolicyActions(this);
else return visitor.visitChildren(this);
}
}
public final WorkloadPolicyActionsContext workloadPolicyActions() throws RecognitionException {
WorkloadPolicyActionsContext _localctx = new WorkloadPolicyActionsContext(_ctx, getState());
enterRule(_localctx, 382, RULE_workloadPolicyActions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5941);
workloadPolicyAction();
setState(5946);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5942);
match(COMMA);
setState(5943);
workloadPolicyAction();
}
}
setState(5948);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WorkloadPolicyActionContext extends ParserRuleContext {
public TerminalNode SET_SESSION_VARIABLE() { return getToken(PLParser.SET_SESSION_VARIABLE, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public WorkloadPolicyActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_workloadPolicyAction; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWorkloadPolicyAction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWorkloadPolicyAction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWorkloadPolicyAction(this);
else return visitor.visitChildren(this);
}
}
public final WorkloadPolicyActionContext workloadPolicyAction() throws RecognitionException {
WorkloadPolicyActionContext _localctx = new WorkloadPolicyActionContext(_ctx, getState());
enterRule(_localctx, 384, RULE_workloadPolicyAction);
int _la;
try {
setState(5955);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,791,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(5949);
match(SET_SESSION_VARIABLE);
setState(5950);
match(STRING_LITERAL);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(5951);
identifier();
setState(5953);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STRING_LITERAL) {
{
setState(5952);
match(STRING_LITERAL);
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WorkloadPolicyConditionsContext extends ParserRuleContext {
public List<WorkloadPolicyConditionContext> workloadPolicyCondition() {
return getRuleContexts(WorkloadPolicyConditionContext.class);
}
public WorkloadPolicyConditionContext workloadPolicyCondition(int i) {
return getRuleContext(WorkloadPolicyConditionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public WorkloadPolicyConditionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_workloadPolicyConditions; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWorkloadPolicyConditions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWorkloadPolicyConditions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWorkloadPolicyConditions(this);
else return visitor.visitChildren(this);
}
}
public final WorkloadPolicyConditionsContext workloadPolicyConditions() throws RecognitionException {
WorkloadPolicyConditionsContext _localctx = new WorkloadPolicyConditionsContext(_ctx, getState());
enterRule(_localctx, 386, RULE_workloadPolicyConditions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5957);
workloadPolicyCondition();
setState(5962);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(5958);
match(COMMA);
setState(5959);
workloadPolicyCondition();
}
}
setState(5964);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WorkloadPolicyConditionContext extends ParserRuleContext {
public IdentifierContext metricName;
public ComparisonOperatorContext comparisonOperator() {
return getRuleContext(ComparisonOperatorContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public NumberContext number() {
return getRuleContext(NumberContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public WorkloadPolicyConditionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_workloadPolicyCondition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWorkloadPolicyCondition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWorkloadPolicyCondition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWorkloadPolicyCondition(this);
else return visitor.visitChildren(this);
}
}
public final WorkloadPolicyConditionContext workloadPolicyCondition() throws RecognitionException {
WorkloadPolicyConditionContext _localctx = new WorkloadPolicyConditionContext(_ctx, getState());
enterRule(_localctx, 388, RULE_workloadPolicyCondition);
try {
enterOuterAlt(_localctx, 1);
{
setState(5965);
((WorkloadPolicyConditionContext)_localctx).metricName = identifier();
setState(5966);
comparisonOperator();
setState(5969);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SUBTRACT:
case INTEGER_VALUE:
case EXPONENT_VALUE:
case DECIMAL_VALUE:
{
setState(5967);
number();
}
break;
case STRING_LITERAL:
{
setState(5968);
match(STRING_LITERAL);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StorageBackendContext extends ParserRuleContext {
public IdentifierContext brokerName;
public PropertyClauseContext properties;
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode LOCATION() { return getToken(PLParser.LOCATION, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public TerminalNode S3() { return getToken(PLParser.S3, 0); }
public TerminalNode HDFS() { return getToken(PLParser.HDFS, 0); }
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public StorageBackendContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_storageBackend; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStorageBackend(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStorageBackend(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStorageBackend(this);
else return visitor.visitChildren(this);
}
}
public final StorageBackendContext storageBackend() throws RecognitionException {
StorageBackendContext _localctx = new StorageBackendContext(_ctx, getState());
enterRule(_localctx, 390, RULE_storageBackend);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5971);
_la = _input.LA(1);
if ( !(_la==BROKER || _la==HDFS || _la==LOCAL || _la==S3) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(5973);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 189)) & ~0x3f) == 0 && ((1L << (_la - 189)) & 9096145289322186643L) != 0) || ((((_la - 253)) & ~0x3f) == 0 && ((1L << (_la - 253)) & -7038001146133217349L) != 0) || ((((_la - 317)) & ~0x3f) == 0 && ((1L << (_la - 317)) & -7112292307046518223L) != 0) || ((((_la - 382)) & ~0x3f) == 0 && ((1L << (_la - 382)) & 7409045836617449199L) != 0) || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & -179622406430917185L) != 0) || ((((_la - 511)) & ~0x3f) == 0 && ((1L << (_la - 511)) & -7638403517640311425L) != 0) || ((((_la - 575)) & ~0x3f) == 0 && ((1L << (_la - 575)) & -6423186400915692045L) != 0) || ((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & 18760411165017L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 49159L) != 0)) {
{
setState(5972);
((StorageBackendContext)_localctx).brokerName = identifier();
}
}
setState(5975);
match(ON);
setState(5976);
match(LOCATION);
setState(5977);
match(STRING_LITERAL);
setState(5979);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,795,_ctx) ) {
case 1:
{
setState(5978);
((StorageBackendContext)_localctx).properties = propertyClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PasswordOptionContext extends ParserRuleContext {
public Token historyDefault;
public Token historyValue;
public Token expireDefault;
public Token expireNever;
public Token expireValue;
public Token expireTimeUnit;
public Token reuseDefault;
public Token reuseValue;
public Token attemptsValue;
public Token lockUnbounded;
public Token lockValue;
public Token lockTimeUint;
public TerminalNode PASSWORD_HISTORY() { return getToken(PLParser.PASSWORD_HISTORY, 0); }
public TerminalNode PASSWORD_EXPIRE() { return getToken(PLParser.PASSWORD_EXPIRE, 0); }
public TerminalNode PASSWORD_REUSE() { return getToken(PLParser.PASSWORD_REUSE, 0); }
public List<TerminalNode> INTERVAL() { return getTokens(PLParser.INTERVAL); }
public TerminalNode INTERVAL(int i) {
return getToken(PLParser.INTERVAL, i);
}
public TerminalNode FAILED_LOGIN_ATTEMPTS() { return getToken(PLParser.FAILED_LOGIN_ATTEMPTS, 0); }
public TerminalNode PASSWORD_LOCK_TIME() { return getToken(PLParser.PASSWORD_LOCK_TIME, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public TerminalNode ACCOUNT_LOCK() { return getToken(PLParser.ACCOUNT_LOCK, 0); }
public TerminalNode ACCOUNT_UNLOCK() { return getToken(PLParser.ACCOUNT_UNLOCK, 0); }
public List<TerminalNode> DAY() { return getTokens(PLParser.DAY); }
public TerminalNode DAY(int i) {
return getToken(PLParser.DAY, i);
}
public List<TerminalNode> DEFAULT() { return getTokens(PLParser.DEFAULT); }
public TerminalNode DEFAULT(int i) {
return getToken(PLParser.DEFAULT, i);
}
public TerminalNode NEVER() { return getToken(PLParser.NEVER, 0); }
public TerminalNode UNBOUNDED() { return getToken(PLParser.UNBOUNDED, 0); }
public List<TerminalNode> HOUR() { return getTokens(PLParser.HOUR); }
public TerminalNode HOUR(int i) {
return getToken(PLParser.HOUR, i);
}
public List<TerminalNode> SECOND() { return getTokens(PLParser.SECOND); }
public TerminalNode SECOND(int i) {
return getToken(PLParser.SECOND, i);
}
public PasswordOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_passwordOption; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPasswordOption(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPasswordOption(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPasswordOption(this);
else return visitor.visitChildren(this);
}
}
public final PasswordOptionContext passwordOption() throws RecognitionException {
PasswordOptionContext _localctx = new PasswordOptionContext(_ctx, getState());
enterRule(_localctx, 392, RULE_passwordOption);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(5986);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,797,_ctx) ) {
case 1:
{
setState(5981);
match(PASSWORD_HISTORY);
setState(5984);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DEFAULT:
{
setState(5982);
((PasswordOptionContext)_localctx).historyDefault = match(DEFAULT);
}
break;
case INTEGER_VALUE:
{
setState(5983);
((PasswordOptionContext)_localctx).historyValue = match(INTEGER_VALUE);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
setState(5996);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,799,_ctx) ) {
case 1:
{
setState(5988);
match(PASSWORD_EXPIRE);
setState(5994);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DEFAULT:
{
setState(5989);
((PasswordOptionContext)_localctx).expireDefault = match(DEFAULT);
}
break;
case NEVER:
{
setState(5990);
((PasswordOptionContext)_localctx).expireNever = match(NEVER);
}
break;
case INTERVAL:
{
setState(5991);
match(INTERVAL);
setState(5992);
((PasswordOptionContext)_localctx).expireValue = match(INTEGER_VALUE);
setState(5993);
((PasswordOptionContext)_localctx).expireTimeUnit = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DAY || _la==HOUR || _la==SECOND) ) {
((PasswordOptionContext)_localctx).expireTimeUnit = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
setState(6005);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,801,_ctx) ) {
case 1:
{
setState(5998);
match(PASSWORD_REUSE);
setState(5999);
match(INTERVAL);
setState(6003);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DEFAULT:
{
setState(6000);
((PasswordOptionContext)_localctx).reuseDefault = match(DEFAULT);
}
break;
case INTEGER_VALUE:
{
setState(6001);
((PasswordOptionContext)_localctx).reuseValue = match(INTEGER_VALUE);
setState(6002);
match(DAY);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
setState(6009);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,802,_ctx) ) {
case 1:
{
setState(6007);
match(FAILED_LOGIN_ATTEMPTS);
setState(6008);
((PasswordOptionContext)_localctx).attemptsValue = match(INTEGER_VALUE);
}
break;
}
setState(6017);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,804,_ctx) ) {
case 1:
{
setState(6011);
match(PASSWORD_LOCK_TIME);
setState(6015);
_errHandler.sync(this);
switch (_input.LA(1)) {
case UNBOUNDED:
{
setState(6012);
((PasswordOptionContext)_localctx).lockUnbounded = match(UNBOUNDED);
}
break;
case INTEGER_VALUE:
{
setState(6013);
((PasswordOptionContext)_localctx).lockValue = match(INTEGER_VALUE);
setState(6014);
((PasswordOptionContext)_localctx).lockTimeUint = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DAY || _la==HOUR || _la==SECOND) ) {
((PasswordOptionContext)_localctx).lockTimeUint = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
setState(6020);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,805,_ctx) ) {
case 1:
{
setState(6019);
_la = _input.LA(1);
if ( !(_la==ACCOUNT_LOCK || _la==ACCOUNT_UNLOCK) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FunctionArgumentsContext extends ParserRuleContext {
public TerminalNode DOTDOTDOT() { return getToken(PLParser.DOTDOTDOT, 0); }
public DataTypeListContext dataTypeList() {
return getRuleContext(DataTypeListContext.class,0);
}
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public FunctionArgumentsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionArguments; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunctionArguments(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunctionArguments(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunctionArguments(this);
else return visitor.visitChildren(this);
}
}
public final FunctionArgumentsContext functionArguments() throws RecognitionException {
FunctionArgumentsContext _localctx = new FunctionArgumentsContext(_ctx, getState());
enterRule(_localctx, 394, RULE_functionArguments);
try {
setState(6028);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,806,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6022);
match(DOTDOTDOT);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6023);
dataTypeList();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(6024);
dataTypeList();
setState(6025);
match(COMMA);
setState(6026);
match(DOTDOTDOT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DataTypeListContext extends ParserRuleContext {
public List<DataTypeContext> dataType() {
return getRuleContexts(DataTypeContext.class);
}
public DataTypeContext dataType(int i) {
return getRuleContext(DataTypeContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public DataTypeListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dataTypeList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDataTypeList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDataTypeList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDataTypeList(this);
else return visitor.visitChildren(this);
}
}
public final DataTypeListContext dataTypeList() throws RecognitionException {
DataTypeListContext _localctx = new DataTypeListContext(_ctx, getState());
enterRule(_localctx, 396, RULE_dataTypeList);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6030);
dataType();
setState(6035);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,807,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6031);
match(COMMA);
setState(6032);
dataType();
}
}
}
setState(6037);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,807,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedSetStatementContext extends ParserRuleContext {
public SupportedSetStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedSetStatement; }
public SupportedSetStatementContext() { }
public void copyFrom(SupportedSetStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetTransactionContext extends SupportedSetStatementContext {
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public TransactionAccessModeContext transactionAccessMode() {
return getRuleContext(TransactionAccessModeContext.class,0);
}
public IsolationLevelContext isolationLevel() {
return getRuleContext(IsolationLevelContext.class,0);
}
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public SetTransactionContext(SupportedSetStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetTransaction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetTransaction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetTransaction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetUserPropertiesContext extends SupportedSetStatementContext {
public IdentifierOrTextContext user;
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode PROPERTY() { return getToken(PLParser.PROPERTY, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public SetUserPropertiesContext(SupportedSetStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetUserProperties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetUserProperties(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetUserProperties(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetDefaultStorageVaultContext extends SupportedSetStatementContext {
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public SetDefaultStorageVaultContext(SupportedSetStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetDefaultStorageVault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetDefaultStorageVault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetDefaultStorageVault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetOptionsContext extends SupportedSetStatementContext {
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public List<OptionWithTypeContext> optionWithType() {
return getRuleContexts(OptionWithTypeContext.class);
}
public OptionWithTypeContext optionWithType(int i) {
return getRuleContext(OptionWithTypeContext.class,i);
}
public List<OptionWithoutTypeContext> optionWithoutType() {
return getRuleContexts(OptionWithoutTypeContext.class);
}
public OptionWithoutTypeContext optionWithoutType(int i) {
return getRuleContext(OptionWithoutTypeContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public SetOptionsContext(SupportedSetStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetOptions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetOptions(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetOptions(this);
else return visitor.visitChildren(this);
}
}
public final SupportedSetStatementContext supportedSetStatement() throws RecognitionException {
SupportedSetStatementContext _localctx = new SupportedSetStatementContext(_ctx, getState());
enterRule(_localctx, 398, RULE_supportedSetStatement);
int _la;
try {
int _alt;
setState(6084);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,814,_ctx) ) {
case 1:
_localctx = new SetOptionsContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6038);
match(SET);
setState(6041);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,808,_ctx) ) {
case 1:
{
setState(6039);
optionWithType();
}
break;
case 2:
{
setState(6040);
optionWithoutType();
}
break;
}
setState(6050);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,810,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6043);
match(COMMA);
setState(6046);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,809,_ctx) ) {
case 1:
{
setState(6044);
optionWithType();
}
break;
case 2:
{
setState(6045);
optionWithoutType();
}
break;
}
}
}
}
setState(6052);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,810,_ctx);
}
}
break;
case 2:
_localctx = new SetDefaultStorageVaultContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6053);
match(SET);
setState(6054);
identifier();
setState(6055);
match(AS);
setState(6056);
match(DEFAULT);
setState(6057);
match(STORAGE);
setState(6058);
match(VAULT);
}
break;
case 3:
_localctx = new SetUserPropertiesContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(6060);
match(SET);
setState(6061);
match(PROPERTY);
setState(6064);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FOR) {
{
setState(6062);
match(FOR);
setState(6063);
((SetUserPropertiesContext)_localctx).user = identifierOrText();
}
}
setState(6066);
propertyItemList();
}
break;
case 4:
_localctx = new SetTransactionContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(6067);
match(SET);
setState(6069);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(6068);
statementScope();
}
}
setState(6071);
match(TRANSACTION);
setState(6082);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,813,_ctx) ) {
case 1:
{
setState(6072);
transactionAccessMode();
}
break;
case 2:
{
setState(6073);
isolationLevel();
}
break;
case 3:
{
setState(6074);
transactionAccessMode();
setState(6075);
match(COMMA);
setState(6076);
isolationLevel();
}
break;
case 4:
{
setState(6078);
isolationLevel();
setState(6079);
match(COMMA);
setState(6080);
transactionAccessMode();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptionWithTypeContext extends ParserRuleContext {
public OptionWithTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optionWithType; }
public OptionWithTypeContext() { }
public void copyFrom(OptionWithTypeContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetVariableWithTypeContext extends OptionWithTypeContext {
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public SetVariableWithTypeContext(OptionWithTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetVariableWithType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetVariableWithType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetVariableWithType(this);
else return visitor.visitChildren(this);
}
}
public final OptionWithTypeContext optionWithType() throws RecognitionException {
OptionWithTypeContext _localctx = new OptionWithTypeContext(_ctx, getState());
enterRule(_localctx, 400, RULE_optionWithType);
try {
_localctx = new SetVariableWithTypeContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6086);
statementScope();
setState(6087);
identifier();
setState(6088);
match(EQ);
setState(6091);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_PAREN:
case LEFT_BRACKET:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case ADD:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BINARY:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATABASE:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXISTS:
case EXPIRED:
case EXTERNAL:
case EXTRACT:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IF:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEY:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LEFT:
case LESS:
case LEVEL:
case LIKE:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NOT:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLACEHOLDER:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REGEXP:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RIGHT:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case ASTERISK:
case TILDE:
case LOGICALNOT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case ATSIGN:
case DOUBLEATSIGN:
case STRING_LITERAL:
case INTEGER_VALUE:
case EXPONENT_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6089);
expression();
}
break;
case DEFAULT:
{
setState(6090);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptionWithoutTypeContext extends ParserRuleContext {
public OptionWithoutTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optionWithoutType; }
public OptionWithoutTypeContext() { }
public void copyFrom(OptionWithoutTypeContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetNamesContext extends OptionWithoutTypeContext {
public TerminalNode NAMES() { return getToken(PLParser.NAMES, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public SetNamesContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetNames(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetNames(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetNames(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetCharsetContext extends OptionWithoutTypeContext {
public IdentifierOrTextContext charsetName;
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode CHARSET() { return getToken(PLParser.CHARSET, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public SetCharsetContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetCharset(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetCharset(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetCharset(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetCollateContext extends OptionWithoutTypeContext {
public IdentifierOrTextContext charsetName;
public IdentifierOrTextContext collateName;
public TerminalNode NAMES() { return getToken(PLParser.NAMES, 0); }
public List<TerminalNode> DEFAULT() { return getTokens(PLParser.DEFAULT); }
public TerminalNode DEFAULT(int i) {
return getToken(PLParser.DEFAULT, i);
}
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public TerminalNode COLLATE() { return getToken(PLParser.COLLATE, 0); }
public SetCollateContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetCollate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetCollate(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetCollate(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetPasswordContext extends OptionWithoutTypeContext {
public Token pwd;
public Token isPlain;
public List<TerminalNode> PASSWORD() { return getTokens(PLParser.PASSWORD); }
public TerminalNode PASSWORD(int i) {
return getToken(PLParser.PASSWORD, i);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public SetPasswordContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetPassword(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetPassword(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetPassword(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetVariableWithoutTypeContext extends OptionWithoutTypeContext {
public VariableContext variable() {
return getRuleContext(VariableContext.class,0);
}
public SetVariableWithoutTypeContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetVariableWithoutType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetVariableWithoutType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetVariableWithoutType(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetLdapAdminPasswordContext extends OptionWithoutTypeContext {
public Token pwd;
public TerminalNode LDAP_ADMIN_PASSWORD() { return getToken(PLParser.LDAP_ADMIN_PASSWORD, 0); }
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode PASSWORD() { return getToken(PLParser.PASSWORD, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public SetLdapAdminPasswordContext(OptionWithoutTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetLdapAdminPassword(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetLdapAdminPassword(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetLdapAdminPassword(this);
else return visitor.visitChildren(this);
}
}
public final OptionWithoutTypeContext optionWithoutType() throws RecognitionException {
OptionWithoutTypeContext _localctx = new OptionWithoutTypeContext(_ctx, getState());
enterRule(_localctx, 402, RULE_optionWithoutType);
int _la;
try {
setState(6138);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,823,_ctx) ) {
case 1:
_localctx = new SetNamesContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6093);
match(NAMES);
setState(6094);
match(EQ);
setState(6095);
expression();
}
break;
case 2:
_localctx = new SetCharsetContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6099);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR:
{
setState(6096);
match(CHAR);
setState(6097);
match(SET);
}
break;
case CHARSET:
{
setState(6098);
match(CHARSET);
}
break;
default:
throw new NoViableAltException(this);
}
setState(6103);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6101);
((SetCharsetContext)_localctx).charsetName = identifierOrText();
}
break;
case DEFAULT:
{
setState(6102);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 3:
_localctx = new SetCollateContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(6105);
match(NAMES);
setState(6108);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6106);
((SetCollateContext)_localctx).charsetName = identifierOrText();
}
break;
case DEFAULT:
{
setState(6107);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
setState(6113);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,819,_ctx) ) {
case 1:
{
setState(6110);
match(COLLATE);
setState(6111);
((SetCollateContext)_localctx).collateName = identifierOrText();
}
break;
case 2:
{
setState(6112);
match(DEFAULT);
}
break;
}
}
break;
case 4:
_localctx = new SetPasswordContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(6115);
match(PASSWORD);
setState(6118);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FOR) {
{
setState(6116);
match(FOR);
setState(6117);
userIdentify();
}
}
setState(6120);
match(EQ);
setState(6126);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL:
{
setState(6121);
((SetPasswordContext)_localctx).pwd = match(STRING_LITERAL);
}
break;
case PASSWORD:
{
{
setState(6122);
((SetPasswordContext)_localctx).isPlain = match(PASSWORD);
setState(6123);
match(LEFT_PAREN);
setState(6124);
((SetPasswordContext)_localctx).pwd = match(STRING_LITERAL);
setState(6125);
match(RIGHT_PAREN);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 5:
_localctx = new SetLdapAdminPasswordContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(6128);
match(LDAP_ADMIN_PASSWORD);
setState(6129);
match(EQ);
setState(6135);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL:
{
setState(6130);
((SetLdapAdminPasswordContext)_localctx).pwd = match(STRING_LITERAL);
}
break;
case PASSWORD:
{
{
setState(6131);
match(PASSWORD);
setState(6132);
match(LEFT_PAREN);
setState(6133);
((SetLdapAdminPasswordContext)_localctx).pwd = match(STRING_LITERAL);
setState(6134);
match(RIGHT_PAREN);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 6:
_localctx = new SetVariableWithoutTypeContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(6137);
variable();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class VariableContext extends ParserRuleContext {
public VariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_variable; }
public VariableContext() { }
public void copyFrom(VariableContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetUserVariableContext extends VariableContext {
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public SetUserVariableContext(VariableContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetUserVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetUserVariable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetUserVariable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetSystemVariableContext extends VariableContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode DOUBLEATSIGN() { return getToken(PLParser.DOUBLEATSIGN, 0); }
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public SetSystemVariableContext(VariableContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetSystemVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetSystemVariable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetSystemVariable(this);
else return visitor.visitChildren(this);
}
}
public final VariableContext variable() throws RecognitionException {
VariableContext _localctx = new VariableContext(_ctx, getState());
enterRule(_localctx, 404, RULE_variable);
int _la;
try {
setState(6159);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case DOUBLEATSIGN:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
_localctx = new SetSystemVariableContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6146);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DOUBLEATSIGN) {
{
setState(6140);
match(DOUBLEATSIGN);
setState(6144);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,824,_ctx) ) {
case 1:
{
setState(6141);
statementScope();
setState(6142);
match(DOT);
}
break;
}
}
}
setState(6148);
identifier();
setState(6149);
match(EQ);
setState(6152);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_PAREN:
case LEFT_BRACKET:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case ADD:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BINARY:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATABASE:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXISTS:
case EXPIRED:
case EXTERNAL:
case EXTRACT:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IF:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEY:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LEFT:
case LESS:
case LEVEL:
case LIKE:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NOT:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLACEHOLDER:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REGEXP:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RIGHT:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case ASTERISK:
case TILDE:
case LOGICALNOT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case ATSIGN:
case DOUBLEATSIGN:
case STRING_LITERAL:
case INTEGER_VALUE:
case EXPONENT_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6150);
expression();
}
break;
case DEFAULT:
{
setState(6151);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case ATSIGN:
_localctx = new SetUserVariableContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6154);
match(ATSIGN);
setState(6155);
identifier();
setState(6156);
match(EQ);
setState(6157);
expression();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TransactionAccessModeContext extends ParserRuleContext {
public TerminalNode READ() { return getToken(PLParser.READ, 0); }
public TerminalNode ONLY() { return getToken(PLParser.ONLY, 0); }
public TerminalNode WRITE() { return getToken(PLParser.WRITE, 0); }
public TransactionAccessModeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_transactionAccessMode; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTransactionAccessMode(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTransactionAccessMode(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTransactionAccessMode(this);
else return visitor.visitChildren(this);
}
}
public final TransactionAccessModeContext transactionAccessMode() throws RecognitionException {
TransactionAccessModeContext _localctx = new TransactionAccessModeContext(_ctx, getState());
enterRule(_localctx, 406, RULE_transactionAccessMode);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6161);
match(READ);
setState(6162);
_la = _input.LA(1);
if ( !(_la==ONLY || _la==WRITE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IsolationLevelContext extends ParserRuleContext {
public TerminalNode ISOLATION() { return getToken(PLParser.ISOLATION, 0); }
public TerminalNode LEVEL() { return getToken(PLParser.LEVEL, 0); }
public TerminalNode READ() { return getToken(PLParser.READ, 0); }
public TerminalNode UNCOMMITTED() { return getToken(PLParser.UNCOMMITTED, 0); }
public TerminalNode COMMITTED() { return getToken(PLParser.COMMITTED, 0); }
public TerminalNode REPEATABLE() { return getToken(PLParser.REPEATABLE, 0); }
public TerminalNode SERIALIZABLE() { return getToken(PLParser.SERIALIZABLE, 0); }
public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_isolationLevel; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIsolationLevel(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIsolationLevel(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIsolationLevel(this);
else return visitor.visitChildren(this);
}
}
public final IsolationLevelContext isolationLevel() throws RecognitionException {
IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
enterRule(_localctx, 408, RULE_isolationLevel);
try {
enterOuterAlt(_localctx, 1);
{
setState(6164);
match(ISOLATION);
setState(6165);
match(LEVEL);
setState(6173);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,828,_ctx) ) {
case 1:
{
{
setState(6166);
match(READ);
setState(6167);
match(UNCOMMITTED);
}
}
break;
case 2:
{
{
setState(6168);
match(READ);
setState(6169);
match(COMMITTED);
}
}
break;
case 3:
{
{
setState(6170);
match(REPEATABLE);
setState(6171);
match(READ);
}
}
break;
case 4:
{
{
setState(6172);
match(SERIALIZABLE);
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedUnsetStatementContext extends ParserRuleContext {
public TerminalNode UNSET() { return getToken(PLParser.UNSET, 0); }
public TerminalNode VARIABLE() { return getToken(PLParser.VARIABLE, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public StatementScopeContext statementScope() {
return getRuleContext(StatementScopeContext.class,0);
}
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public SupportedUnsetStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedUnsetStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSupportedUnsetStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSupportedUnsetStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSupportedUnsetStatement(this);
else return visitor.visitChildren(this);
}
}
public final SupportedUnsetStatementContext supportedUnsetStatement() throws RecognitionException {
SupportedUnsetStatementContext _localctx = new SupportedUnsetStatementContext(_ctx, getState());
enterRule(_localctx, 410, RULE_supportedUnsetStatement);
int _la;
try {
setState(6188);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,831,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6175);
match(UNSET);
setState(6177);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GLOBAL || _la==LOCAL || _la==SESSION) {
{
setState(6176);
statementScope();
}
}
setState(6179);
match(VARIABLE);
setState(6182);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALL:
{
setState(6180);
match(ALL);
}
break;
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6181);
identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6184);
match(UNSET);
setState(6185);
match(DEFAULT);
setState(6186);
match(STORAGE);
setState(6187);
match(VAULT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedUseStatementContext extends ParserRuleContext {
public SupportedUseStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedUseStatement; }
public SupportedUseStatementContext() { }
public void copyFrom(SupportedUseStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UseDatabaseContext extends SupportedUseStatementContext {
public IdentifierContext catalog;
public IdentifierContext database;
public TerminalNode USE() { return getToken(PLParser.USE, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public UseDatabaseContext(SupportedUseStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUseDatabase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUseDatabase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUseDatabase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SwitchCatalogContext extends SupportedUseStatementContext {
public IdentifierContext catalog;
public TerminalNode SWITCH() { return getToken(PLParser.SWITCH, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public SwitchCatalogContext(SupportedUseStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSwitchCatalog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSwitchCatalog(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSwitchCatalog(this);
else return visitor.visitChildren(this);
}
}
public final SupportedUseStatementContext supportedUseStatement() throws RecognitionException {
SupportedUseStatementContext _localctx = new SupportedUseStatementContext(_ctx, getState());
enterRule(_localctx, 412, RULE_supportedUseStatement);
try {
setState(6199);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SWITCH:
_localctx = new SwitchCatalogContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6190);
match(SWITCH);
setState(6191);
((SwitchCatalogContext)_localctx).catalog = identifier();
}
break;
case USE:
_localctx = new UseDatabaseContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6192);
match(USE);
setState(6196);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,832,_ctx) ) {
case 1:
{
setState(6193);
((UseDatabaseContext)_localctx).catalog = identifier();
setState(6194);
match(DOT);
}
break;
}
setState(6198);
((UseDatabaseContext)_localctx).database = identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnsupportedUseStatementContext extends ParserRuleContext {
public UnsupportedUseStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unsupportedUseStatement; }
public UnsupportedUseStatementContext() { }
public void copyFrom(UnsupportedUseStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UseCloudClusterContext extends UnsupportedUseStatementContext {
public IdentifierContext catalog;
public IdentifierContext database;
public IdentifierContext cluster;
public TerminalNode USE() { return getToken(PLParser.USE, 0); }
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public UseCloudClusterContext(UnsupportedUseStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUseCloudCluster(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUseCloudCluster(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUseCloudCluster(this);
else return visitor.visitChildren(this);
}
}
public final UnsupportedUseStatementContext unsupportedUseStatement() throws RecognitionException {
UnsupportedUseStatementContext _localctx = new UnsupportedUseStatementContext(_ctx, getState());
enterRule(_localctx, 414, RULE_unsupportedUseStatement);
int _la;
try {
_localctx = new UseCloudClusterContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6201);
match(USE);
setState(6208);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 189)) & ~0x3f) == 0 && ((1L << (_la - 189)) & 9096145289322186643L) != 0) || ((((_la - 253)) & ~0x3f) == 0 && ((1L << (_la - 253)) & -7038001146133217349L) != 0) || ((((_la - 317)) & ~0x3f) == 0 && ((1L << (_la - 317)) & -7112292307046518223L) != 0) || ((((_la - 382)) & ~0x3f) == 0 && ((1L << (_la - 382)) & 7409045836617449199L) != 0) || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & -179622406430917185L) != 0) || ((((_la - 511)) & ~0x3f) == 0 && ((1L << (_la - 511)) & -7638403517640311425L) != 0) || ((((_la - 575)) & ~0x3f) == 0 && ((1L << (_la - 575)) & -6423186400915692045L) != 0) || ((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & 18760411165017L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 49159L) != 0)) {
{
setState(6205);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,834,_ctx) ) {
case 1:
{
setState(6202);
((UseCloudClusterContext)_localctx).catalog = identifier();
setState(6203);
match(DOT);
}
break;
}
setState(6207);
((UseCloudClusterContext)_localctx).database = identifier();
}
}
setState(6210);
match(ATSIGN);
setState(6211);
((UseCloudClusterContext)_localctx).cluster = identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StageAndPatternContext extends ParserRuleContext {
public IdentifierContext stage;
public Token pattern;
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public TerminalNode TILDE() { return getToken(PLParser.TILDE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public StageAndPatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stageAndPattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStageAndPattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStageAndPattern(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStageAndPattern(this);
else return visitor.visitChildren(this);
}
}
public final StageAndPatternContext stageAndPattern() throws RecognitionException {
StageAndPatternContext _localctx = new StageAndPatternContext(_ctx, getState());
enterRule(_localctx, 416, RULE_stageAndPattern);
try {
enterOuterAlt(_localctx, 1);
{
setState(6213);
match(ATSIGN);
setState(6216);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6214);
((StageAndPatternContext)_localctx).stage = identifier();
}
break;
case TILDE:
{
setState(6215);
match(TILDE);
}
break;
default:
throw new NoViableAltException(this);
}
setState(6221);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,837,_ctx) ) {
case 1:
{
setState(6218);
match(LEFT_PAREN);
setState(6219);
((StageAndPatternContext)_localctx).pattern = match(STRING_LITERAL);
setState(6220);
match(RIGHT_PAREN);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SupportedDescribeStatementContext extends ParserRuleContext {
public SupportedDescribeStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_supportedDescribeStatement; }
public SupportedDescribeStatementContext() { }
public void copyFrom(SupportedDescribeStatementContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DescribeTableValuedFunctionContext extends SupportedDescribeStatementContext {
public IdentifierContext tvfName;
public PropertyItemListContext properties;
public ExplainCommandContext explainCommand() {
return getRuleContext(ExplainCommandContext.class,0);
}
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public DescribeTableValuedFunctionContext(SupportedDescribeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDescribeTableValuedFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDescribeTableValuedFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDescribeTableValuedFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DescribeTableContext extends SupportedDescribeStatementContext {
public ExplainCommandContext explainCommand() {
return getRuleContext(ExplainCommandContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public SpecifiedPartitionContext specifiedPartition() {
return getRuleContext(SpecifiedPartitionContext.class,0);
}
public DescribeTableContext(SupportedDescribeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDescribeTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDescribeTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDescribeTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DescribeTableAllContext extends SupportedDescribeStatementContext {
public ExplainCommandContext explainCommand() {
return getRuleContext(ExplainCommandContext.class,0);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public DescribeTableAllContext(SupportedDescribeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDescribeTableAll(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDescribeTableAll(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDescribeTableAll(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DescribeDictionaryContext extends SupportedDescribeStatementContext {
public ExplainCommandContext explainCommand() {
return getRuleContext(ExplainCommandContext.class,0);
}
public TerminalNode DICTIONARY() { return getToken(PLParser.DICTIONARY, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public DescribeDictionaryContext(SupportedDescribeStatementContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDescribeDictionary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDescribeDictionary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDescribeDictionary(this);
else return visitor.visitChildren(this);
}
}
public final SupportedDescribeStatementContext supportedDescribeStatement() throws RecognitionException {
SupportedDescribeStatementContext _localctx = new SupportedDescribeStatementContext(_ctx, getState());
enterRule(_localctx, 418, RULE_supportedDescribeStatement);
int _la;
try {
setState(6246);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,840,_ctx) ) {
case 1:
_localctx = new DescribeTableValuedFunctionContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6223);
explainCommand();
setState(6224);
match(FUNCTION);
setState(6225);
((DescribeTableValuedFunctionContext)_localctx).tvfName = identifier();
setState(6226);
match(LEFT_PAREN);
setState(6228);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 187)) & ~0x3f) == 0 && ((1L << (_la - 187)) & -508906921410879923L) != 0) || ((((_la - 251)) & ~0x3f) == 0 && ((1L << (_la - 251)) & 8741483562886233837L) != 0) || ((((_la - 316)) & ~0x3f) == 0 && ((1L << (_la - 316)) & 4222159734494422115L) != 0) || ((((_la - 380)) & ~0x3f) == 0 && ((1L << (_la - 380)) & -7257304800949306435L) != 0) || ((((_la - 444)) & ~0x3f) == 0 && ((1L << (_la - 444)) & -1436970455354315271L) != 0) || ((((_la - 508)) & ~0x3f) == 0 && ((1L << (_la - 508)) & -5766995919993835521L) != 0) || ((((_la - 574)) & ~0x3f) == 0 && ((1L << (_la - 574)) & 5600371271878167527L) != 0) || ((((_la - 638)) & ~0x3f) == 0 && ((1L << (_la - 638)) & 18051919331812027L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 56359L) != 0)) {
{
setState(6227);
((DescribeTableValuedFunctionContext)_localctx).properties = propertyItemList();
}
}
setState(6230);
match(RIGHT_PAREN);
setState(6231);
tableAlias();
}
break;
case 2:
_localctx = new DescribeTableAllContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6233);
explainCommand();
setState(6234);
multipartIdentifier();
setState(6235);
match(ALL);
}
break;
case 3:
_localctx = new DescribeTableContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(6237);
explainCommand();
setState(6238);
multipartIdentifier();
setState(6240);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,839,_ctx) ) {
case 1:
{
setState(6239);
specifiedPartition();
}
break;
}
}
break;
case 4:
_localctx = new DescribeDictionaryContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(6242);
explainCommand();
setState(6243);
match(DICTIONARY);
setState(6244);
multipartIdentifier();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConstraintContext extends ParserRuleContext {
public IdentifierListContext slots;
public MultipartIdentifierContext referenceTable;
public IdentifierListContext referencedSlots;
public TerminalNode PRIMARY() { return getToken(PLParser.PRIMARY, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public TerminalNode UNIQUE() { return getToken(PLParser.UNIQUE, 0); }
public TerminalNode FOREIGN() { return getToken(PLParser.FOREIGN, 0); }
public TerminalNode REFERENCES() { return getToken(PLParser.REFERENCES, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ConstraintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_constraint; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterConstraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitConstraint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitConstraint(this);
else return visitor.visitChildren(this);
}
}
public final ConstraintContext constraint() throws RecognitionException {
ConstraintContext _localctx = new ConstraintContext(_ctx, getState());
enterRule(_localctx, 420, RULE_constraint);
try {
setState(6260);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PRIMARY:
enterOuterAlt(_localctx, 1);
{
setState(6248);
match(PRIMARY);
setState(6249);
match(KEY);
setState(6250);
((ConstraintContext)_localctx).slots = identifierList();
}
break;
case UNIQUE:
enterOuterAlt(_localctx, 2);
{
setState(6251);
match(UNIQUE);
setState(6252);
((ConstraintContext)_localctx).slots = identifierList();
}
break;
case FOREIGN:
enterOuterAlt(_localctx, 3);
{
setState(6253);
match(FOREIGN);
setState(6254);
match(KEY);
setState(6255);
((ConstraintContext)_localctx).slots = identifierList();
setState(6256);
match(REFERENCES);
setState(6257);
((ConstraintContext)_localctx).referenceTable = multipartIdentifier();
setState(6258);
((ConstraintContext)_localctx).referencedSlots = identifierList();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionSpecContext extends ParserRuleContext {
public IdentifierListContext partitions;
public ErrorCapturingIdentifierContext partition;
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode PARTITIONS() { return getToken(PLParser.PARTITIONS, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public ErrorCapturingIdentifierContext errorCapturingIdentifier() {
return getRuleContext(ErrorCapturingIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PartitionSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionSpec(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionSpec(this);
else return visitor.visitChildren(this);
}
}
public final PartitionSpecContext partitionSpec() throws RecognitionException {
PartitionSpecContext _localctx = new PartitionSpecContext(_ctx, getState());
enterRule(_localctx, 422, RULE_partitionSpec);
int _la;
try {
setState(6276);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,844,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6263);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(6262);
match(TEMPORARY);
}
}
setState(6265);
_la = _input.LA(1);
if ( !(_la==PARTITION || _la==PARTITIONS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(6266);
((PartitionSpecContext)_localctx).partitions = identifierList();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6268);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(6267);
match(TEMPORARY);
}
}
setState(6270);
match(PARTITION);
setState(6271);
((PartitionSpecContext)_localctx).partition = errorCapturingIdentifier();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(6272);
_la = _input.LA(1);
if ( !(_la==PARTITION || _la==PARTITIONS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(6273);
match(LEFT_PAREN);
setState(6274);
match(ASTERISK);
setState(6275);
match(RIGHT_PAREN);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionTableContext extends ParserRuleContext {
public Token autoPartition;
public IdentityOrFunctionListContext partitionList;
public PartitionsDefContext partitions;
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public IdentityOrFunctionListContext identityOrFunctionList() {
return getRuleContext(IdentityOrFunctionListContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public TerminalNode RANGE() { return getToken(PLParser.RANGE, 0); }
public TerminalNode LIST() { return getToken(PLParser.LIST, 0); }
public PartitionsDefContext partitionsDef() {
return getRuleContext(PartitionsDefContext.class,0);
}
public PartitionTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionTable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionTable(this);
else return visitor.visitChildren(this);
}
}
public final PartitionTableContext partitionTable() throws RecognitionException {
PartitionTableContext _localctx = new PartitionTableContext(_ctx, getState());
enterRule(_localctx, 424, RULE_partitionTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
{
setState(6279);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AUTO) {
{
setState(6278);
((PartitionTableContext)_localctx).autoPartition = match(AUTO);
}
}
setState(6281);
match(PARTITION);
setState(6282);
match(BY);
setState(6284);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LIST || _la==RANGE) {
{
setState(6283);
_la = _input.LA(1);
if ( !(_la==LIST || _la==RANGE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(6286);
((PartitionTableContext)_localctx).partitionList = identityOrFunctionList();
{
setState(6287);
match(LEFT_PAREN);
setState(6289);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM || _la==PARTITION) {
{
setState(6288);
((PartitionTableContext)_localctx).partitions = partitionsDef();
}
}
setState(6291);
match(RIGHT_PAREN);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentityOrFunctionListContext extends ParserRuleContext {
public IdentityOrFunctionContext identityOrFunction;
public List<IdentityOrFunctionContext> partitions = new ArrayList<IdentityOrFunctionContext>();
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<IdentityOrFunctionContext> identityOrFunction() {
return getRuleContexts(IdentityOrFunctionContext.class);
}
public IdentityOrFunctionContext identityOrFunction(int i) {
return getRuleContext(IdentityOrFunctionContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public IdentityOrFunctionListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identityOrFunctionList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentityOrFunctionList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentityOrFunctionList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentityOrFunctionList(this);
else return visitor.visitChildren(this);
}
}
public final IdentityOrFunctionListContext identityOrFunctionList() throws RecognitionException {
IdentityOrFunctionListContext _localctx = new IdentityOrFunctionListContext(_ctx, getState());
enterRule(_localctx, 426, RULE_identityOrFunctionList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6293);
match(LEFT_PAREN);
setState(6294);
identityOrFunction();
setState(6299);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6295);
match(COMMA);
setState(6296);
((IdentityOrFunctionListContext)_localctx).identityOrFunction = identityOrFunction();
((IdentityOrFunctionListContext)_localctx).partitions.add(((IdentityOrFunctionListContext)_localctx).identityOrFunction);
}
}
setState(6301);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6302);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentityOrFunctionContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FunctionCallExpressionContext functionCallExpression() {
return getRuleContext(FunctionCallExpressionContext.class,0);
}
public IdentityOrFunctionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identityOrFunction; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentityOrFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentityOrFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentityOrFunction(this);
else return visitor.visitChildren(this);
}
}
public final IdentityOrFunctionContext identityOrFunction() throws RecognitionException {
IdentityOrFunctionContext _localctx = new IdentityOrFunctionContext(_ctx, getState());
enterRule(_localctx, 428, RULE_identityOrFunction);
try {
enterOuterAlt(_localctx, 1);
{
setState(6306);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,849,_ctx) ) {
case 1:
{
setState(6304);
identifier();
}
break;
case 2:
{
setState(6305);
functionCallExpression();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DataDescContext extends ParserRuleContext {
public Token STRING_LITERAL;
public List<Token> filePaths = new ArrayList<Token>();
public List<Token> filePath = new ArrayList<Token>();
public IdentifierContext targetTableName;
public Token comma;
public Token separator;
public IdentifierOrTextContext format;
public IdentifierOrTextContext compressType;
public IdentifierListContext columns;
public ColFromPathContext columnsFromPath;
public ColMappingListContext columnMapping;
public PreFilterClauseContext preFilter;
public WhereClauseContext where;
public DeleteOnClauseContext deleteOn;
public SequenceColClauseContext sequenceColumn;
public IdentifierContext sourceTableName;
public IdentifierListContext partition;
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode INFILE() { return getToken(PLParser.INFILE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<TerminalNode> TABLE() { return getTokens(PLParser.TABLE); }
public TerminalNode TABLE(int i) {
return getToken(PLParser.TABLE, i);
}
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public MergeTypeContext mergeType() {
return getRuleContext(MergeTypeContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PartitionSpecContext partitionSpec() {
return getRuleContext(PartitionSpecContext.class,0);
}
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public List<TerminalNode> TERMINATED() { return getTokens(PLParser.TERMINATED); }
public TerminalNode TERMINATED(int i) {
return getToken(PLParser.TERMINATED, i);
}
public List<TerminalNode> BY() { return getTokens(PLParser.BY); }
public TerminalNode BY(int i) {
return getToken(PLParser.BY, i);
}
public TerminalNode LINES() { return getToken(PLParser.LINES, 0); }
public TerminalNode FORMAT() { return getToken(PLParser.FORMAT, 0); }
public List<TerminalNode> AS() { return getTokens(PLParser.AS); }
public TerminalNode AS(int i) {
return getToken(PLParser.AS, i);
}
public TerminalNode COMPRESS_TYPE() { return getToken(PLParser.COMPRESS_TYPE, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ColFromPathContext colFromPath() {
return getRuleContext(ColFromPathContext.class,0);
}
public ColMappingListContext colMappingList() {
return getRuleContext(ColMappingListContext.class,0);
}
public PreFilterClauseContext preFilterClause() {
return getRuleContext(PreFilterClauseContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public DeleteOnClauseContext deleteOnClause() {
return getRuleContext(DeleteOnClauseContext.class,0);
}
public SequenceColClauseContext sequenceColClause() {
return getRuleContext(SequenceColClauseContext.class,0);
}
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public DataDescContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dataDesc; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDataDesc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDataDesc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDataDesc(this);
else return visitor.visitChildren(this);
}
}
public final DataDescContext dataDesc() throws RecognitionException {
DataDescContext _localctx = new DataDescContext(_ctx, getState());
enterRule(_localctx, 430, RULE_dataDesc);
int _la;
try {
setState(6407);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,873,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6312);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==APPEND || _la==DELETE || _la==MERGE || _la==WITH) {
{
setState(6309);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(6308);
match(WITH);
}
}
setState(6311);
mergeType();
}
}
setState(6314);
match(DATA);
setState(6315);
match(INFILE);
setState(6316);
match(LEFT_PAREN);
setState(6317);
((DataDescContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DataDescContext)_localctx).filePaths.add(((DataDescContext)_localctx).STRING_LITERAL);
setState(6322);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6318);
match(COMMA);
setState(6319);
((DataDescContext)_localctx).STRING_LITERAL = match(STRING_LITERAL);
((DataDescContext)_localctx).filePath.add(((DataDescContext)_localctx).STRING_LITERAL);
}
}
setState(6324);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6325);
match(RIGHT_PAREN);
setState(6326);
match(INTO);
setState(6327);
match(TABLE);
setState(6328);
((DataDescContext)_localctx).targetTableName = identifier();
setState(6330);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION || _la==PARTITIONS || _la==TEMPORARY) {
{
setState(6329);
partitionSpec();
}
}
setState(6336);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,854,_ctx) ) {
case 1:
{
setState(6332);
match(COLUMNS);
setState(6333);
match(TERMINATED);
setState(6334);
match(BY);
setState(6335);
((DataDescContext)_localctx).comma = match(STRING_LITERAL);
}
break;
}
setState(6342);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LINES) {
{
setState(6338);
match(LINES);
setState(6339);
match(TERMINATED);
setState(6340);
match(BY);
setState(6341);
((DataDescContext)_localctx).separator = match(STRING_LITERAL);
}
}
setState(6347);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FORMAT) {
{
setState(6344);
match(FORMAT);
setState(6345);
match(AS);
setState(6346);
((DataDescContext)_localctx).format = identifierOrText();
}
}
setState(6352);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMPRESS_TYPE) {
{
setState(6349);
match(COMPRESS_TYPE);
setState(6350);
match(AS);
setState(6351);
((DataDescContext)_localctx).compressType = identifierOrText();
}
}
setState(6355);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(6354);
((DataDescContext)_localctx).columns = identifierList();
}
}
setState(6358);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMNS) {
{
setState(6357);
((DataDescContext)_localctx).columnsFromPath = colFromPath();
}
}
setState(6361);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SET) {
{
setState(6360);
((DataDescContext)_localctx).columnMapping = colMappingList();
}
}
setState(6364);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PRECEDING) {
{
setState(6363);
((DataDescContext)_localctx).preFilter = preFilterClause();
}
}
setState(6367);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WHERE) {
{
setState(6366);
((DataDescContext)_localctx).where = whereClause();
}
}
setState(6370);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DELETE) {
{
setState(6369);
((DataDescContext)_localctx).deleteOn = deleteOnClause();
}
}
setState(6373);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ORDER) {
{
setState(6372);
((DataDescContext)_localctx).sequenceColumn = sequenceColClause();
}
}
setState(6376);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROPERTIES) {
{
setState(6375);
propertyClause();
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6382);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==APPEND || _la==DELETE || _la==MERGE || _la==WITH) {
{
setState(6379);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(6378);
match(WITH);
}
}
setState(6381);
mergeType();
}
}
setState(6384);
match(DATA);
setState(6385);
match(FROM);
setState(6386);
match(TABLE);
setState(6387);
((DataDescContext)_localctx).sourceTableName = identifier();
setState(6388);
match(INTO);
setState(6389);
match(TABLE);
setState(6390);
((DataDescContext)_localctx).targetTableName = identifier();
setState(6393);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(6391);
match(PARTITION);
setState(6392);
((DataDescContext)_localctx).partition = identifierList();
}
}
setState(6396);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SET) {
{
setState(6395);
((DataDescContext)_localctx).columnMapping = colMappingList();
}
}
setState(6399);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WHERE) {
{
setState(6398);
((DataDescContext)_localctx).where = whereClause();
}
}
setState(6402);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DELETE) {
{
setState(6401);
((DataDescContext)_localctx).deleteOn = deleteOnClause();
}
}
setState(6405);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROPERTIES) {
{
setState(6404);
propertyClause();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StatementScopeContext extends ParserRuleContext {
public TerminalNode GLOBAL() { return getToken(PLParser.GLOBAL, 0); }
public TerminalNode SESSION() { return getToken(PLParser.SESSION, 0); }
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public StatementScopeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_statementScope; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStatementScope(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStatementScope(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStatementScope(this);
else return visitor.visitChildren(this);
}
}
public final StatementScopeContext statementScope() throws RecognitionException {
StatementScopeContext _localctx = new StatementScopeContext(_ctx, getState());
enterRule(_localctx, 432, RULE_statementScope);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6409);
_la = _input.LA(1);
if ( !(_la==GLOBAL || _la==LOCAL || _la==SESSION) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BuildModeContext extends ParserRuleContext {
public TerminalNode BUILD() { return getToken(PLParser.BUILD, 0); }
public TerminalNode IMMEDIATE() { return getToken(PLParser.IMMEDIATE, 0); }
public TerminalNode DEFERRED() { return getToken(PLParser.DEFERRED, 0); }
public BuildModeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_buildMode; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBuildMode(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBuildMode(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBuildMode(this);
else return visitor.visitChildren(this);
}
}
public final BuildModeContext buildMode() throws RecognitionException {
BuildModeContext _localctx = new BuildModeContext(_ctx, getState());
enterRule(_localctx, 434, RULE_buildMode);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6411);
match(BUILD);
setState(6412);
_la = _input.LA(1);
if ( !(_la==DEFERRED || _la==IMMEDIATE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshTriggerContext extends ParserRuleContext {
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode MANUAL() { return getToken(PLParser.MANUAL, 0); }
public TerminalNode SCHEDULE() { return getToken(PLParser.SCHEDULE, 0); }
public RefreshScheduleContext refreshSchedule() {
return getRuleContext(RefreshScheduleContext.class,0);
}
public TerminalNode COMMIT() { return getToken(PLParser.COMMIT, 0); }
public RefreshTriggerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_refreshTrigger; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshTrigger(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshTrigger(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshTrigger(this);
else return visitor.visitChildren(this);
}
}
public final RefreshTriggerContext refreshTrigger() throws RecognitionException {
RefreshTriggerContext _localctx = new RefreshTriggerContext(_ctx, getState());
enterRule(_localctx, 436, RULE_refreshTrigger);
try {
setState(6421);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,874,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6414);
match(ON);
setState(6415);
match(MANUAL);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6416);
match(ON);
setState(6417);
match(SCHEDULE);
setState(6418);
refreshSchedule();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(6419);
match(ON);
setState(6420);
match(COMMIT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshScheduleContext extends ParserRuleContext {
public IdentifierContext refreshUnit;
public TerminalNode EVERY() { return getToken(PLParser.EVERY, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STARTS() { return getToken(PLParser.STARTS, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public RefreshScheduleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_refreshSchedule; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshSchedule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshSchedule(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshSchedule(this);
else return visitor.visitChildren(this);
}
}
public final RefreshScheduleContext refreshSchedule() throws RecognitionException {
RefreshScheduleContext _localctx = new RefreshScheduleContext(_ctx, getState());
enterRule(_localctx, 438, RULE_refreshSchedule);
try {
enterOuterAlt(_localctx, 1);
{
setState(6423);
match(EVERY);
setState(6424);
match(INTEGER_VALUE);
setState(6425);
((RefreshScheduleContext)_localctx).refreshUnit = identifier();
setState(6428);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,875,_ctx) ) {
case 1:
{
setState(6426);
match(STARTS);
setState(6427);
match(STRING_LITERAL);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RefreshMethodContext extends ParserRuleContext {
public TerminalNode COMPLETE() { return getToken(PLParser.COMPLETE, 0); }
public TerminalNode AUTO() { return getToken(PLParser.AUTO, 0); }
public RefreshMethodContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_refreshMethod; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRefreshMethod(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRefreshMethod(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRefreshMethod(this);
else return visitor.visitChildren(this);
}
}
public final RefreshMethodContext refreshMethod() throws RecognitionException {
RefreshMethodContext _localctx = new RefreshMethodContext(_ctx, getState());
enterRule(_localctx, 440, RULE_refreshMethod);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6430);
_la = _input.LA(1);
if ( !(_la==AUTO || _la==COMPLETE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MvPartitionContext extends ParserRuleContext {
public IdentifierContext partitionKey;
public FunctionCallExpressionContext partitionExpr;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FunctionCallExpressionContext functionCallExpression() {
return getRuleContext(FunctionCallExpressionContext.class,0);
}
public MvPartitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_mvPartition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMvPartition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMvPartition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMvPartition(this);
else return visitor.visitChildren(this);
}
}
public final MvPartitionContext mvPartition() throws RecognitionException {
MvPartitionContext _localctx = new MvPartitionContext(_ctx, getState());
enterRule(_localctx, 442, RULE_mvPartition);
try {
setState(6434);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,876,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6432);
((MvPartitionContext)_localctx).partitionKey = identifier();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6433);
((MvPartitionContext)_localctx).partitionExpr = functionCallExpression();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierOrTextContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public IdentifierOrTextContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifierOrText; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifierOrText(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifierOrText(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifierOrText(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierOrTextContext identifierOrText() throws RecognitionException {
IdentifierOrTextContext _localctx = new IdentifierOrTextContext(_ctx, getState());
enterRule(_localctx, 444, RULE_identifierOrText);
try {
setState(6438);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(6436);
identifier();
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(6437);
match(STRING_LITERAL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierOrTextOrAsteriskContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public IdentifierOrTextOrAsteriskContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifierOrTextOrAsterisk; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifierOrTextOrAsterisk(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifierOrTextOrAsterisk(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifierOrTextOrAsterisk(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierOrTextOrAsteriskContext identifierOrTextOrAsterisk() throws RecognitionException {
IdentifierOrTextOrAsteriskContext _localctx = new IdentifierOrTextOrAsteriskContext(_ctx, getState());
enterRule(_localctx, 446, RULE_identifierOrTextOrAsterisk);
try {
setState(6443);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(6440);
identifier();
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(6441);
match(STRING_LITERAL);
}
break;
case ASTERISK:
enterOuterAlt(_localctx, 3);
{
setState(6442);
match(ASTERISK);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MultipartIdentifierOrAsteriskContext extends ParserRuleContext {
public IdentifierOrAsteriskContext identifierOrAsterisk;
public List<IdentifierOrAsteriskContext> parts = new ArrayList<IdentifierOrAsteriskContext>();
public List<IdentifierOrAsteriskContext> identifierOrAsterisk() {
return getRuleContexts(IdentifierOrAsteriskContext.class);
}
public IdentifierOrAsteriskContext identifierOrAsterisk(int i) {
return getRuleContext(IdentifierOrAsteriskContext.class,i);
}
public List<TerminalNode> DOT() { return getTokens(PLParser.DOT); }
public TerminalNode DOT(int i) {
return getToken(PLParser.DOT, i);
}
public MultipartIdentifierOrAsteriskContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_multipartIdentifierOrAsterisk; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMultipartIdentifierOrAsterisk(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMultipartIdentifierOrAsterisk(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMultipartIdentifierOrAsterisk(this);
else return visitor.visitChildren(this);
}
}
public final MultipartIdentifierOrAsteriskContext multipartIdentifierOrAsterisk() throws RecognitionException {
MultipartIdentifierOrAsteriskContext _localctx = new MultipartIdentifierOrAsteriskContext(_ctx, getState());
enterRule(_localctx, 448, RULE_multipartIdentifierOrAsterisk);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6445);
((MultipartIdentifierOrAsteriskContext)_localctx).identifierOrAsterisk = identifierOrAsterisk();
((MultipartIdentifierOrAsteriskContext)_localctx).parts.add(((MultipartIdentifierOrAsteriskContext)_localctx).identifierOrAsterisk);
setState(6450);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DOT) {
{
{
setState(6446);
match(DOT);
setState(6447);
((MultipartIdentifierOrAsteriskContext)_localctx).identifierOrAsterisk = identifierOrAsterisk();
((MultipartIdentifierOrAsteriskContext)_localctx).parts.add(((MultipartIdentifierOrAsteriskContext)_localctx).identifierOrAsterisk);
}
}
setState(6452);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierOrAsteriskContext extends ParserRuleContext {
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public IdentifierOrAsteriskContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifierOrAsterisk; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifierOrAsterisk(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifierOrAsterisk(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifierOrAsterisk(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierOrAsteriskContext identifierOrAsterisk() throws RecognitionException {
IdentifierOrAsteriskContext _localctx = new IdentifierOrAsteriskContext(_ctx, getState());
enterRule(_localctx, 450, RULE_identifierOrAsterisk);
try {
setState(6455);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(6453);
identifierOrText();
}
break;
case ASTERISK:
enterOuterAlt(_localctx, 2);
{
setState(6454);
match(ASTERISK);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UserIdentifyContext extends ParserRuleContext {
public IdentifierOrTextContext user;
public IdentifierOrTextContext host;
public List<IdentifierOrTextContext> identifierOrText() {
return getRuleContexts(IdentifierOrTextContext.class);
}
public IdentifierOrTextContext identifierOrText(int i) {
return getRuleContext(IdentifierOrTextContext.class,i);
}
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public UserIdentifyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_userIdentify; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUserIdentify(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUserIdentify(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUserIdentify(this);
else return visitor.visitChildren(this);
}
}
public final UserIdentifyContext userIdentify() throws RecognitionException {
UserIdentifyContext _localctx = new UserIdentifyContext(_ctx, getState());
enterRule(_localctx, 452, RULE_userIdentify);
try {
enterOuterAlt(_localctx, 1);
{
setState(6457);
((UserIdentifyContext)_localctx).user = identifierOrText();
setState(6466);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,882,_ctx) ) {
case 1:
{
setState(6458);
match(ATSIGN);
setState(6464);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case STRING_LITERAL:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6459);
((UserIdentifyContext)_localctx).host = identifierOrText();
}
break;
case LEFT_PAREN:
{
setState(6460);
match(LEFT_PAREN);
setState(6461);
((UserIdentifyContext)_localctx).host = identifierOrText();
setState(6462);
match(RIGHT_PAREN);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GrantUserIdentifyContext extends ParserRuleContext {
public UserIdentifyContext userIdentify() {
return getRuleContext(UserIdentifyContext.class,0);
}
public TerminalNode IDENTIFIED() { return getToken(PLParser.IDENTIFIED, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode PASSWORD() { return getToken(PLParser.PASSWORD, 0); }
public GrantUserIdentifyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_grantUserIdentify; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGrantUserIdentify(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGrantUserIdentify(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGrantUserIdentify(this);
else return visitor.visitChildren(this);
}
}
public final GrantUserIdentifyContext grantUserIdentify() throws RecognitionException {
GrantUserIdentifyContext _localctx = new GrantUserIdentifyContext(_ctx, getState());
enterRule(_localctx, 454, RULE_grantUserIdentify);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6468);
userIdentify();
setState(6475);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,884,_ctx) ) {
case 1:
{
setState(6469);
match(IDENTIFIED);
setState(6470);
match(BY);
setState(6472);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PASSWORD) {
{
setState(6471);
match(PASSWORD);
}
}
setState(6474);
match(STRING_LITERAL);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExplainContext extends ParserRuleContext {
public Token level;
public ExplainCommandContext explainCommand() {
return getRuleContext(ExplainCommandContext.class,0);
}
public PlanTypeContext planType() {
return getRuleContext(PlanTypeContext.class,0);
}
public TerminalNode PROCESS() { return getToken(PLParser.PROCESS, 0); }
public TerminalNode VERBOSE() { return getToken(PLParser.VERBOSE, 0); }
public TerminalNode TREE() { return getToken(PLParser.TREE, 0); }
public TerminalNode GRAPH() { return getToken(PLParser.GRAPH, 0); }
public TerminalNode PLAN() { return getToken(PLParser.PLAN, 0); }
public TerminalNode DUMP() { return getToken(PLParser.DUMP, 0); }
public ExplainContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_explain; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExplain(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExplain(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExplain(this);
else return visitor.visitChildren(this);
}
}
public final ExplainContext explain() throws RecognitionException {
ExplainContext _localctx = new ExplainContext(_ctx, getState());
enterRule(_localctx, 456, RULE_explain);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6477);
explainCommand();
setState(6479);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==ANALYZED || _la==DISTRIBUTED || ((((_la - 452)) & ~0x3f) == 0 && ((1L << (_la - 452)) & 2260595906723841L) != 0) || _la==PHYSICAL || _la==REWRITTEN || _la==SHAPE) {
{
setState(6478);
planType();
}
}
setState(6482);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DUMP || _la==GRAPH || _la==PLAN || _la==TREE || _la==VERBOSE) {
{
setState(6481);
((ExplainContext)_localctx).level = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DUMP || _la==GRAPH || _la==PLAN || _la==TREE || _la==VERBOSE) ) {
((ExplainContext)_localctx).level = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(6485);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROCESS) {
{
setState(6484);
match(PROCESS);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExplainCommandContext extends ParserRuleContext {
public TerminalNode EXPLAIN() { return getToken(PLParser.EXPLAIN, 0); }
public TerminalNode DESC() { return getToken(PLParser.DESC, 0); }
public TerminalNode DESCRIBE() { return getToken(PLParser.DESCRIBE, 0); }
public ExplainCommandContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_explainCommand; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExplainCommand(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExplainCommand(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExplainCommand(this);
else return visitor.visitChildren(this);
}
}
public final ExplainCommandContext explainCommand() throws RecognitionException {
ExplainCommandContext _localctx = new ExplainCommandContext(_ctx, getState());
enterRule(_localctx, 458, RULE_explainCommand);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6487);
_la = _input.LA(1);
if ( !(((((_la - 308)) & ~0x3f) == 0 && ((1L << (_la - 308)) & 1099511627779L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PlanTypeContext extends ParserRuleContext {
public TerminalNode PARSED() { return getToken(PLParser.PARSED, 0); }
public TerminalNode ANALYZED() { return getToken(PLParser.ANALYZED, 0); }
public TerminalNode REWRITTEN() { return getToken(PLParser.REWRITTEN, 0); }
public TerminalNode LOGICAL() { return getToken(PLParser.LOGICAL, 0); }
public TerminalNode OPTIMIZED() { return getToken(PLParser.OPTIMIZED, 0); }
public TerminalNode PHYSICAL() { return getToken(PLParser.PHYSICAL, 0); }
public TerminalNode SHAPE() { return getToken(PLParser.SHAPE, 0); }
public TerminalNode MEMO() { return getToken(PLParser.MEMO, 0); }
public TerminalNode DISTRIBUTED() { return getToken(PLParser.DISTRIBUTED, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public PlanTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_planType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPlanType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPlanType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPlanType(this);
else return visitor.visitChildren(this);
}
}
public final PlanTypeContext planType() throws RecognitionException {
PlanTypeContext _localctx = new PlanTypeContext(_ctx, getState());
enterRule(_localctx, 460, RULE_planType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6489);
_la = _input.LA(1);
if ( !(_la==ALL || _la==ANALYZED || _la==DISTRIBUTED || ((((_la - 452)) & ~0x3f) == 0 && ((1L << (_la - 452)) & 2260595906723841L) != 0) || _la==PHYSICAL || _la==REWRITTEN || _la==SHAPE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReplayCommandContext extends ParserRuleContext {
public TerminalNode PLAN() { return getToken(PLParser.PLAN, 0); }
public TerminalNode REPLAYER() { return getToken(PLParser.REPLAYER, 0); }
public ReplayTypeContext replayType() {
return getRuleContext(ReplayTypeContext.class,0);
}
public ReplayCommandContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_replayCommand; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplayCommand(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplayCommand(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplayCommand(this);
else return visitor.visitChildren(this);
}
}
public final ReplayCommandContext replayCommand() throws RecognitionException {
ReplayCommandContext _localctx = new ReplayCommandContext(_ctx, getState());
enterRule(_localctx, 462, RULE_replayCommand);
try {
enterOuterAlt(_localctx, 1);
{
setState(6491);
match(PLAN);
setState(6492);
match(REPLAYER);
setState(6493);
replayType();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReplayTypeContext extends ParserRuleContext {
public Token filePath;
public TerminalNode DUMP() { return getToken(PLParser.DUMP, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode PLAY() { return getToken(PLParser.PLAY, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public ReplayTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_replayType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplayType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplayType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplayType(this);
else return visitor.visitChildren(this);
}
}
public final ReplayTypeContext replayType() throws RecognitionException {
ReplayTypeContext _localctx = new ReplayTypeContext(_ctx, getState());
enterRule(_localctx, 464, RULE_replayType);
try {
setState(6499);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DUMP:
enterOuterAlt(_localctx, 1);
{
setState(6495);
match(DUMP);
setState(6496);
query();
}
break;
case PLAY:
enterOuterAlt(_localctx, 2);
{
setState(6497);
match(PLAY);
setState(6498);
((ReplayTypeContext)_localctx).filePath = match(STRING_LITERAL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MergeTypeContext extends ParserRuleContext {
public TerminalNode APPEND() { return getToken(PLParser.APPEND, 0); }
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode MERGE() { return getToken(PLParser.MERGE, 0); }
public MergeTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_mergeType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMergeType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMergeType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMergeType(this);
else return visitor.visitChildren(this);
}
}
public final MergeTypeContext mergeType() throws RecognitionException {
MergeTypeContext _localctx = new MergeTypeContext(_ctx, getState());
enterRule(_localctx, 466, RULE_mergeType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6501);
_la = _input.LA(1);
if ( !(_la==APPEND || _la==DELETE || _la==MERGE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PreFilterClauseContext extends ParserRuleContext {
public TerminalNode PRECEDING() { return getToken(PLParser.PRECEDING, 0); }
public TerminalNode FILTER() { return getToken(PLParser.FILTER, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public PreFilterClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_preFilterClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPreFilterClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPreFilterClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPreFilterClause(this);
else return visitor.visitChildren(this);
}
}
public final PreFilterClauseContext preFilterClause() throws RecognitionException {
PreFilterClauseContext _localctx = new PreFilterClauseContext(_ctx, getState());
enterRule(_localctx, 468, RULE_preFilterClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6503);
match(PRECEDING);
setState(6504);
match(FILTER);
setState(6505);
expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DeleteOnClauseContext extends ParserRuleContext {
public TerminalNode DELETE() { return getToken(PLParser.DELETE, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public DeleteOnClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_deleteOnClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDeleteOnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDeleteOnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDeleteOnClause(this);
else return visitor.visitChildren(this);
}
}
public final DeleteOnClauseContext deleteOnClause() throws RecognitionException {
DeleteOnClauseContext _localctx = new DeleteOnClauseContext(_ctx, getState());
enterRule(_localctx, 470, RULE_deleteOnClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6507);
match(DELETE);
setState(6508);
match(ON);
setState(6509);
expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SequenceColClauseContext extends ParserRuleContext {
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public SequenceColClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sequenceColClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSequenceColClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSequenceColClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSequenceColClause(this);
else return visitor.visitChildren(this);
}
}
public final SequenceColClauseContext sequenceColClause() throws RecognitionException {
SequenceColClauseContext _localctx = new SequenceColClauseContext(_ctx, getState());
enterRule(_localctx, 472, RULE_sequenceColClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6511);
match(ORDER);
setState(6512);
match(BY);
setState(6513);
identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColFromPathContext extends ParserRuleContext {
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode PATH() { return getToken(PLParser.PATH, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public ColFromPathContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_colFromPath; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColFromPath(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColFromPath(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColFromPath(this);
else return visitor.visitChildren(this);
}
}
public final ColFromPathContext colFromPath() throws RecognitionException {
ColFromPathContext _localctx = new ColFromPathContext(_ctx, getState());
enterRule(_localctx, 474, RULE_colFromPath);
try {
enterOuterAlt(_localctx, 1);
{
setState(6515);
match(COLUMNS);
setState(6516);
match(FROM);
setState(6517);
match(PATH);
setState(6518);
match(AS);
setState(6519);
identifierList();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColMappingListContext extends ParserRuleContext {
public MappingExprContext mappingExpr;
public List<MappingExprContext> mappingSet = new ArrayList<MappingExprContext>();
public TerminalNode SET() { return getToken(PLParser.SET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<MappingExprContext> mappingExpr() {
return getRuleContexts(MappingExprContext.class);
}
public MappingExprContext mappingExpr(int i) {
return getRuleContext(MappingExprContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ColMappingListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_colMappingList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColMappingList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColMappingList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColMappingList(this);
else return visitor.visitChildren(this);
}
}
public final ColMappingListContext colMappingList() throws RecognitionException {
ColMappingListContext _localctx = new ColMappingListContext(_ctx, getState());
enterRule(_localctx, 476, RULE_colMappingList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6521);
match(SET);
setState(6522);
match(LEFT_PAREN);
setState(6523);
((ColMappingListContext)_localctx).mappingExpr = mappingExpr();
((ColMappingListContext)_localctx).mappingSet.add(((ColMappingListContext)_localctx).mappingExpr);
setState(6528);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6524);
match(COMMA);
setState(6525);
((ColMappingListContext)_localctx).mappingExpr = mappingExpr();
((ColMappingListContext)_localctx).mappingSet.add(((ColMappingListContext)_localctx).mappingExpr);
}
}
setState(6530);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6531);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MappingExprContext extends ParserRuleContext {
public IdentifierContext mappingCol;
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MappingExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_mappingExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMappingExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMappingExpr(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMappingExpr(this);
else return visitor.visitChildren(this);
}
}
public final MappingExprContext mappingExpr() throws RecognitionException {
MappingExprContext _localctx = new MappingExprContext(_ctx, getState());
enterRule(_localctx, 478, RULE_mappingExpr);
try {
enterOuterAlt(_localctx, 1);
{
{
setState(6533);
((MappingExprContext)_localctx).mappingCol = identifier();
setState(6534);
match(EQ);
setState(6535);
expression();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WithRemoteStorageSystemContext extends ParserRuleContext {
public PropertyItemListContext brokerProperties;
public IdentifierOrTextContext brokerName;
public ResourceDescContext resourceDesc() {
return getRuleContext(ResourceDescContext.class,0);
}
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode S3() { return getToken(PLParser.S3, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode HDFS() { return getToken(PLParser.HDFS, 0); }
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public WithRemoteStorageSystemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_withRemoteStorageSystem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWithRemoteStorageSystem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWithRemoteStorageSystem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWithRemoteStorageSystem(this);
else return visitor.visitChildren(this);
}
}
public final WithRemoteStorageSystemContext withRemoteStorageSystem() throws RecognitionException {
WithRemoteStorageSystemContext _localctx = new WithRemoteStorageSystemContext(_ctx, getState());
enterRule(_localctx, 480, RULE_withRemoteStorageSystem);
try {
setState(6565);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,891,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6537);
resourceDesc();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6538);
match(WITH);
setState(6539);
match(S3);
setState(6540);
match(LEFT_PAREN);
setState(6541);
((WithRemoteStorageSystemContext)_localctx).brokerProperties = propertyItemList();
setState(6542);
match(RIGHT_PAREN);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(6544);
match(WITH);
setState(6545);
match(HDFS);
setState(6546);
match(LEFT_PAREN);
setState(6547);
((WithRemoteStorageSystemContext)_localctx).brokerProperties = propertyItemList();
setState(6548);
match(RIGHT_PAREN);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(6550);
match(WITH);
setState(6551);
match(LOCAL);
setState(6552);
match(LEFT_PAREN);
setState(6553);
((WithRemoteStorageSystemContext)_localctx).brokerProperties = propertyItemList();
setState(6554);
match(RIGHT_PAREN);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(6556);
match(WITH);
setState(6557);
match(BROKER);
setState(6558);
((WithRemoteStorageSystemContext)_localctx).brokerName = identifierOrText();
setState(6563);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,890,_ctx) ) {
case 1:
{
setState(6559);
match(LEFT_PAREN);
setState(6560);
((WithRemoteStorageSystemContext)_localctx).brokerProperties = propertyItemList();
setState(6561);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ResourceDescContext extends ParserRuleContext {
public IdentifierOrTextContext resourceName;
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ResourceDescContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_resourceDesc; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterResourceDesc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitResourceDesc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitResourceDesc(this);
else return visitor.visitChildren(this);
}
}
public final ResourceDescContext resourceDesc() throws RecognitionException {
ResourceDescContext _localctx = new ResourceDescContext(_ctx, getState());
enterRule(_localctx, 482, RULE_resourceDesc);
try {
enterOuterAlt(_localctx, 1);
{
setState(6567);
match(WITH);
setState(6568);
match(RESOURCE);
setState(6569);
((ResourceDescContext)_localctx).resourceName = identifierOrText();
setState(6574);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,892,_ctx) ) {
case 1:
{
setState(6570);
match(LEFT_PAREN);
setState(6571);
propertyItemList();
setState(6572);
match(RIGHT_PAREN);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MysqlDataDescContext extends ParserRuleContext {
public Token filePath;
public MultipartIdentifierContext tableName;
public IdentifierListContext partition;
public Token comma;
public Token separator;
public IdentifierListContext columns;
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode INFILE() { return getToken(PLParser.INFILE, 0); }
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public TerminalNode TABLE() { return getToken(PLParser.TABLE, 0); }
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public List<TerminalNode> TERMINATED() { return getTokens(PLParser.TERMINATED); }
public TerminalNode TERMINATED(int i) {
return getToken(PLParser.TERMINATED, i);
}
public List<TerminalNode> BY() { return getTokens(PLParser.BY); }
public TerminalNode BY(int i) {
return getToken(PLParser.BY, i);
}
public TerminalNode LINES() { return getToken(PLParser.LINES, 0); }
public SkipLinesContext skipLines() {
return getRuleContext(SkipLinesContext.class,0);
}
public ColMappingListContext colMappingList() {
return getRuleContext(ColMappingListContext.class,0);
}
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public MysqlDataDescContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_mysqlDataDesc; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMysqlDataDesc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMysqlDataDesc(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMysqlDataDesc(this);
else return visitor.visitChildren(this);
}
}
public final MysqlDataDescContext mysqlDataDesc() throws RecognitionException {
MysqlDataDescContext _localctx = new MysqlDataDescContext(_ctx, getState());
enterRule(_localctx, 484, RULE_mysqlDataDesc);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6576);
match(DATA);
setState(6578);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LOCAL) {
{
setState(6577);
match(LOCAL);
}
}
setState(6580);
match(INFILE);
setState(6581);
((MysqlDataDescContext)_localctx).filePath = match(STRING_LITERAL);
setState(6582);
match(INTO);
setState(6583);
match(TABLE);
setState(6584);
((MysqlDataDescContext)_localctx).tableName = multipartIdentifier();
setState(6587);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,894,_ctx) ) {
case 1:
{
setState(6585);
match(PARTITION);
setState(6586);
((MysqlDataDescContext)_localctx).partition = identifierList();
}
break;
}
setState(6593);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,895,_ctx) ) {
case 1:
{
setState(6589);
match(COLUMNS);
setState(6590);
match(TERMINATED);
setState(6591);
match(BY);
setState(6592);
((MysqlDataDescContext)_localctx).comma = match(STRING_LITERAL);
}
break;
}
setState(6599);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,896,_ctx) ) {
case 1:
{
setState(6595);
match(LINES);
setState(6596);
match(TERMINATED);
setState(6597);
match(BY);
setState(6598);
((MysqlDataDescContext)_localctx).separator = match(STRING_LITERAL);
}
break;
}
setState(6602);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,897,_ctx) ) {
case 1:
{
setState(6601);
skipLines();
}
break;
}
setState(6605);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,898,_ctx) ) {
case 1:
{
setState(6604);
((MysqlDataDescContext)_localctx).columns = identifierList();
}
break;
}
setState(6608);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,899,_ctx) ) {
case 1:
{
setState(6607);
colMappingList();
}
break;
}
setState(6611);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,900,_ctx) ) {
case 1:
{
setState(6610);
propertyClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SkipLinesContext extends ParserRuleContext {
public Token lines;
public TerminalNode IGNORE() { return getToken(PLParser.IGNORE, 0); }
public TerminalNode LINES() { return getToken(PLParser.LINES, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode ROWS() { return getToken(PLParser.ROWS, 0); }
public SkipLinesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_skipLines; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSkipLines(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSkipLines(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSkipLines(this);
else return visitor.visitChildren(this);
}
}
public final SkipLinesContext skipLines() throws RecognitionException {
SkipLinesContext _localctx = new SkipLinesContext(_ctx, getState());
enterRule(_localctx, 486, RULE_skipLines);
try {
setState(6619);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,901,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6613);
match(IGNORE);
setState(6614);
((SkipLinesContext)_localctx).lines = match(INTEGER_VALUE);
setState(6615);
match(LINES);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6616);
match(IGNORE);
setState(6617);
((SkipLinesContext)_localctx).lines = match(INTEGER_VALUE);
setState(6618);
match(ROWS);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OutFileClauseContext extends ParserRuleContext {
public ConstantContext filePath;
public IdentifierContext format;
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public TerminalNode OUTFILE() { return getToken(PLParser.OUTFILE, 0); }
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public TerminalNode FORMAT() { return getToken(PLParser.FORMAT, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public OutFileClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_outFileClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterOutFileClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitOutFileClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitOutFileClause(this);
else return visitor.visitChildren(this);
}
}
public final OutFileClauseContext outFileClause() throws RecognitionException {
OutFileClauseContext _localctx = new OutFileClauseContext(_ctx, getState());
enterRule(_localctx, 488, RULE_outFileClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6621);
match(INTO);
setState(6622);
match(OUTFILE);
setState(6623);
((OutFileClauseContext)_localctx).filePath = constant();
setState(6627);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,902,_ctx) ) {
case 1:
{
setState(6624);
match(FORMAT);
setState(6625);
match(AS);
setState(6626);
((OutFileClauseContext)_localctx).format = identifier();
}
break;
}
setState(6630);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,903,_ctx) ) {
case 1:
{
setState(6629);
propertyClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QueryContext extends ParserRuleContext {
public QueryTermContext queryTerm() {
return getRuleContext(QueryTermContext.class,0);
}
public QueryOrganizationContext queryOrganization() {
return getRuleContext(QueryOrganizationContext.class,0);
}
public CteContext cte() {
return getRuleContext(CteContext.class,0);
}
public QueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_query; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQuery(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQuery(this);
else return visitor.visitChildren(this);
}
}
public final QueryContext query() throws RecognitionException {
QueryContext _localctx = new QueryContext(_ctx, getState());
enterRule(_localctx, 490, RULE_query);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6633);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(6632);
cte();
}
}
setState(6635);
queryTerm(0);
setState(6636);
queryOrganization();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QueryTermContext extends ParserRuleContext {
public QueryTermContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_queryTerm; }
public QueryTermContext() { }
public void copyFrom(QueryTermContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class QueryTermDefaultContext extends QueryTermContext {
public QueryPrimaryContext queryPrimary() {
return getRuleContext(QueryPrimaryContext.class,0);
}
public QueryTermDefaultContext(QueryTermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQueryTermDefault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQueryTermDefault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQueryTermDefault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SetOperationContext extends QueryTermContext {
public QueryTermContext left;
public Token operator;
public QueryTermContext right;
public List<QueryTermContext> queryTerm() {
return getRuleContexts(QueryTermContext.class);
}
public QueryTermContext queryTerm(int i) {
return getRuleContext(QueryTermContext.class,i);
}
public TerminalNode INTERSECT() { return getToken(PLParser.INTERSECT, 0); }
public SetQuantifierContext setQuantifier() {
return getRuleContext(SetQuantifierContext.class,0);
}
public TerminalNode UNION() { return getToken(PLParser.UNION, 0); }
public TerminalNode EXCEPT() { return getToken(PLParser.EXCEPT, 0); }
public TerminalNode MINUS() { return getToken(PLParser.MINUS, 0); }
public SetOperationContext(QueryTermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetOperation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetOperation(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetOperation(this);
else return visitor.visitChildren(this);
}
}
public final QueryTermContext queryTerm() throws RecognitionException {
return queryTerm(0);
}
private QueryTermContext queryTerm(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
QueryTermContext _localctx = new QueryTermContext(_ctx, _parentState);
QueryTermContext _prevctx = _localctx;
int _startState = 492;
enterRecursionRule(_localctx, 492, RULE_queryTerm, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
_localctx = new QueryTermDefaultContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(6639);
queryPrimary();
}
_ctx.stop = _input.LT(-1);
setState(6655);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,908,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(6653);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,907,_ctx) ) {
case 1:
{
_localctx = new SetOperationContext(new QueryTermContext(_parentctx, _parentState));
((SetOperationContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_queryTerm);
setState(6641);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(6642);
((SetOperationContext)_localctx).operator = match(INTERSECT);
setState(6644);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(6643);
setQuantifier();
}
}
setState(6646);
((SetOperationContext)_localctx).right = queryTerm(3);
}
break;
case 2:
{
_localctx = new SetOperationContext(new QueryTermContext(_parentctx, _parentState));
((SetOperationContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_queryTerm);
setState(6647);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(6648);
((SetOperationContext)_localctx).operator = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==EXCEPT || _la==MINUS || _la==UNION) ) {
((SetOperationContext)_localctx).operator = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(6650);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(6649);
setQuantifier();
}
}
setState(6652);
((SetOperationContext)_localctx).right = queryTerm(2);
}
break;
}
}
}
setState(6657);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,908,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SetQuantifierContext extends ParserRuleContext {
public TerminalNode DISTINCT() { return getToken(PLParser.DISTINCT, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public SetQuantifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_setQuantifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSetQuantifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSetQuantifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSetQuantifier(this);
else return visitor.visitChildren(this);
}
}
public final SetQuantifierContext setQuantifier() throws RecognitionException {
SetQuantifierContext _localctx = new SetQuantifierContext(_ctx, getState());
enterRule(_localctx, 494, RULE_setQuantifier);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6658);
_la = _input.LA(1);
if ( !(_la==ALL || _la==DISTINCT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QueryPrimaryContext extends ParserRuleContext {
public QueryPrimaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_queryPrimary; }
public QueryPrimaryContext() { }
public void copyFrom(QueryPrimaryContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SubqueryContext extends QueryPrimaryContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public SubqueryContext(QueryPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSubquery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSubquery(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSubquery(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ValuesTableContext extends QueryPrimaryContext {
public InlineTableContext inlineTable() {
return getRuleContext(InlineTableContext.class,0);
}
public ValuesTableContext(QueryPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterValuesTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitValuesTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitValuesTable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class QueryPrimaryDefaultContext extends QueryPrimaryContext {
public QuerySpecificationContext querySpecification() {
return getRuleContext(QuerySpecificationContext.class,0);
}
public QueryPrimaryDefaultContext(QueryPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQueryPrimaryDefault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQueryPrimaryDefault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQueryPrimaryDefault(this);
else return visitor.visitChildren(this);
}
}
public final QueryPrimaryContext queryPrimary() throws RecognitionException {
QueryPrimaryContext _localctx = new QueryPrimaryContext(_ctx, getState());
enterRule(_localctx, 496, RULE_queryPrimary);
try {
setState(6666);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SELECT:
_localctx = new QueryPrimaryDefaultContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6660);
querySpecification();
}
break;
case LEFT_PAREN:
_localctx = new SubqueryContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6661);
match(LEFT_PAREN);
setState(6662);
query();
setState(6663);
match(RIGHT_PAREN);
}
break;
case VALUES:
_localctx = new ValuesTableContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(6665);
inlineTable();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QuerySpecificationContext extends ParserRuleContext {
public QuerySpecificationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_querySpecification; }
public QuerySpecificationContext() { }
public void copyFrom(QuerySpecificationContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RegularQuerySpecificationContext extends QuerySpecificationContext {
public SelectClauseContext selectClause() {
return getRuleContext(SelectClauseContext.class,0);
}
public QueryOrganizationContext queryOrganization() {
return getRuleContext(QueryOrganizationContext.class,0);
}
public IntoClauseContext intoClause() {
return getRuleContext(IntoClauseContext.class,0);
}
public FromClauseContext fromClause() {
return getRuleContext(FromClauseContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public AggClauseContext aggClause() {
return getRuleContext(AggClauseContext.class,0);
}
public HavingClauseContext havingClause() {
return getRuleContext(HavingClauseContext.class,0);
}
public QualifyClauseContext qualifyClause() {
return getRuleContext(QualifyClauseContext.class,0);
}
public RegularQuerySpecificationContext(QuerySpecificationContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRegularQuerySpecification(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRegularQuerySpecification(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRegularQuerySpecification(this);
else return visitor.visitChildren(this);
}
}
public final QuerySpecificationContext querySpecification() throws RecognitionException {
QuerySpecificationContext _localctx = new QuerySpecificationContext(_ctx, getState());
enterRule(_localctx, 498, RULE_querySpecification);
try {
_localctx = new RegularQuerySpecificationContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6668);
selectClause();
setState(6670);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,910,_ctx) ) {
case 1:
{
setState(6669);
intoClause();
}
break;
}
setState(6673);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,911,_ctx) ) {
case 1:
{
setState(6672);
fromClause();
}
break;
}
setState(6676);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,912,_ctx) ) {
case 1:
{
setState(6675);
whereClause();
}
break;
}
setState(6679);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,913,_ctx) ) {
case 1:
{
setState(6678);
aggClause();
}
break;
}
setState(6682);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,914,_ctx) ) {
case 1:
{
setState(6681);
havingClause();
}
break;
}
setState(6685);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,915,_ctx) ) {
case 1:
{
setState(6684);
qualifyClause();
}
break;
}
setState(6690);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,916,_ctx) ) {
case 1:
{
setState(6687);
if (!(!ansiSQLSyntax)) throw new FailedPredicateException(this, "!ansiSQLSyntax");
setState(6688);
queryOrganization();
}
break;
case 2:
{
setState(6689);
if (!(ansiSQLSyntax)) throw new FailedPredicateException(this, "ansiSQLSyntax");
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CteContext extends ParserRuleContext {
public TerminalNode WITH() { return getToken(PLParser.WITH, 0); }
public List<AliasQueryContext> aliasQuery() {
return getRuleContexts(AliasQueryContext.class);
}
public AliasQueryContext aliasQuery(int i) {
return getRuleContext(AliasQueryContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_cte; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCte(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCte(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCte(this);
else return visitor.visitChildren(this);
}
}
public final CteContext cte() throws RecognitionException {
CteContext _localctx = new CteContext(_ctx, getState());
enterRule(_localctx, 500, RULE_cte);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6692);
match(WITH);
setState(6693);
aliasQuery();
setState(6698);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6694);
match(COMMA);
setState(6695);
aliasQuery();
}
}
setState(6700);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AliasQueryContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ColumnAliasesContext columnAliases() {
return getRuleContext(ColumnAliasesContext.class,0);
}
public AliasQueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_aliasQuery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAliasQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAliasQuery(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAliasQuery(this);
else return visitor.visitChildren(this);
}
}
public final AliasQueryContext aliasQuery() throws RecognitionException {
AliasQueryContext _localctx = new AliasQueryContext(_ctx, getState());
enterRule(_localctx, 502, RULE_aliasQuery);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6701);
identifier();
setState(6703);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(6702);
columnAliases();
}
}
setState(6705);
match(AS);
setState(6706);
match(LEFT_PAREN);
setState(6707);
query();
setState(6708);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColumnAliasesContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ColumnAliasesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnAliases; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColumnAliases(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColumnAliases(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColumnAliases(this);
else return visitor.visitChildren(this);
}
}
public final ColumnAliasesContext columnAliases() throws RecognitionException {
ColumnAliasesContext _localctx = new ColumnAliasesContext(_ctx, getState());
enterRule(_localctx, 504, RULE_columnAliases);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6710);
match(LEFT_PAREN);
setState(6711);
identifier();
setState(6716);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6712);
match(COMMA);
setState(6713);
identifier();
}
}
setState(6718);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6719);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SelectClauseContext extends ParserRuleContext {
public TerminalNode SELECT() { return getToken(PLParser.SELECT, 0); }
public SelectColumnClauseContext selectColumnClause() {
return getRuleContext(SelectColumnClauseContext.class,0);
}
public TerminalNode DISTINCT() { return getToken(PLParser.DISTINCT, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public SelectClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_selectClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSelectClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSelectClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSelectClause(this);
else return visitor.visitChildren(this);
}
}
public final SelectClauseContext selectClause() throws RecognitionException {
SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
enterRule(_localctx, 506, RULE_selectClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6721);
match(SELECT);
setState(6723);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(6722);
_la = _input.LA(1);
if ( !(_la==ALL || _la==DISTINCT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(6725);
selectColumnClause();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SelectColumnClauseContext extends ParserRuleContext {
public NamedExpressionSeqContext namedExpressionSeq() {
return getRuleContext(NamedExpressionSeqContext.class,0);
}
public SelectColumnClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_selectColumnClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSelectColumnClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSelectColumnClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSelectColumnClause(this);
else return visitor.visitChildren(this);
}
}
public final SelectColumnClauseContext selectColumnClause() throws RecognitionException {
SelectColumnClauseContext _localctx = new SelectColumnClauseContext(_ctx, getState());
enterRule(_localctx, 508, RULE_selectColumnClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6727);
namedExpressionSeq();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WhereClauseContext extends ParserRuleContext {
public TerminalNode WHERE() { return getToken(PLParser.WHERE, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public WhereClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_whereClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWhereClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWhereClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWhereClause(this);
else return visitor.visitChildren(this);
}
}
public final WhereClauseContext whereClause() throws RecognitionException {
WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
enterRule(_localctx, 510, RULE_whereClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6729);
match(WHERE);
setState(6730);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FromClauseContext extends ParserRuleContext {
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public RelationsContext relations() {
return getRuleContext(RelationsContext.class,0);
}
public FromClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fromClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFromClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFromClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFromClause(this);
else return visitor.visitChildren(this);
}
}
public final FromClauseContext fromClause() throws RecognitionException {
FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
enterRule(_localctx, 512, RULE_fromClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6732);
match(FROM);
setState(6733);
relations();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IntoClauseContext extends ParserRuleContext {
public TerminalNode INTO() { return getToken(PLParser.INTO, 0); }
public List<TableRowContext> tableRow() {
return getRuleContexts(TableRowContext.class);
}
public TableRowContext tableRow(int i) {
return getRuleContext(TableRowContext.class,i);
}
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public BulkCollectClauseContext bulkCollectClause() {
return getRuleContext(BulkCollectClauseContext.class,0);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public IntoClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_intoClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIntoClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIntoClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIntoClause(this);
else return visitor.visitChildren(this);
}
}
public final IntoClauseContext intoClause() throws RecognitionException {
IntoClauseContext _localctx = new IntoClauseContext(_ctx, getState());
enterRule(_localctx, 514, RULE_intoClause);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6736);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BULK) {
{
setState(6735);
bulkCollectClause();
}
}
setState(6738);
match(INTO);
setState(6741);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,922,_ctx) ) {
case 1:
{
setState(6739);
tableRow();
}
break;
case 2:
{
setState(6740);
identifier();
}
break;
}
setState(6750);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,924,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6743);
match(COMMA);
setState(6746);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,923,_ctx) ) {
case 1:
{
setState(6744);
tableRow();
}
break;
case 2:
{
setState(6745);
identifier();
}
break;
}
}
}
}
setState(6752);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,924,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BulkCollectClauseContext extends ParserRuleContext {
public TerminalNode BULK() { return getToken(PLParser.BULK, 0); }
public TerminalNode COLLECT() { return getToken(PLParser.COLLECT, 0); }
public BulkCollectClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bulkCollectClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBulkCollectClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBulkCollectClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBulkCollectClause(this);
else return visitor.visitChildren(this);
}
}
public final BulkCollectClauseContext bulkCollectClause() throws RecognitionException {
BulkCollectClauseContext _localctx = new BulkCollectClauseContext(_ctx, getState());
enterRule(_localctx, 516, RULE_bulkCollectClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6753);
match(BULK);
setState(6754);
match(COLLECT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TableRowContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TableRowContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableRow; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTableRow(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTableRow(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTableRow(this);
else return visitor.visitChildren(this);
}
}
public final TableRowContext tableRow() throws RecognitionException {
TableRowContext _localctx = new TableRowContext(_ctx, getState());
enterRule(_localctx, 518, RULE_tableRow);
try {
enterOuterAlt(_localctx, 1);
{
setState(6756);
identifier();
setState(6757);
match(LEFT_PAREN);
setState(6758);
match(INTEGER_VALUE);
setState(6759);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RelationsContext extends ParserRuleContext {
public List<RelationContext> relation() {
return getRuleContexts(RelationContext.class);
}
public RelationContext relation(int i) {
return getRuleContext(RelationContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public RelationsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_relations; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRelations(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRelations(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRelations(this);
else return visitor.visitChildren(this);
}
}
public final RelationsContext relations() throws RecognitionException {
RelationsContext _localctx = new RelationsContext(_ctx, getState());
enterRule(_localctx, 520, RULE_relations);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6761);
relation();
setState(6766);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,925,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6762);
match(COMMA);
setState(6763);
relation();
}
}
}
setState(6768);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,925,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RelationContext extends ParserRuleContext {
public RelationPrimaryContext relationPrimary() {
return getRuleContext(RelationPrimaryContext.class,0);
}
public List<JoinRelationContext> joinRelation() {
return getRuleContexts(JoinRelationContext.class);
}
public JoinRelationContext joinRelation(int i) {
return getRuleContext(JoinRelationContext.class,i);
}
public RelationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_relation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRelation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRelation(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRelation(this);
else return visitor.visitChildren(this);
}
}
public final RelationContext relation() throws RecognitionException {
RelationContext _localctx = new RelationContext(_ctx, getState());
enterRule(_localctx, 522, RULE_relation);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6769);
relationPrimary();
setState(6773);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,926,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6770);
joinRelation();
}
}
}
setState(6775);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,926,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class JoinRelationContext extends ParserRuleContext {
public RelationPrimaryContext right;
public TerminalNode JOIN() { return getToken(PLParser.JOIN, 0); }
public RelationPrimaryContext relationPrimary() {
return getRuleContext(RelationPrimaryContext.class,0);
}
public JoinTypeContext joinType() {
return getRuleContext(JoinTypeContext.class,0);
}
public DistributeTypeContext distributeType() {
return getRuleContext(DistributeTypeContext.class,0);
}
public JoinCriteriaContext joinCriteria() {
return getRuleContext(JoinCriteriaContext.class,0);
}
public JoinRelationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_joinRelation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterJoinRelation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitJoinRelation(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitJoinRelation(this);
else return visitor.visitChildren(this);
}
}
public final JoinRelationContext joinRelation() throws RecognitionException {
JoinRelationContext _localctx = new JoinRelationContext(_ctx, getState());
enterRule(_localctx, 524, RULE_joinRelation);
try {
enterOuterAlt(_localctx, 1);
{
{
setState(6776);
joinType();
}
setState(6777);
match(JOIN);
setState(6779);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,927,_ctx) ) {
case 1:
{
setState(6778);
distributeType();
}
break;
}
setState(6781);
((JoinRelationContext)_localctx).right = relationPrimary();
setState(6783);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,928,_ctx) ) {
case 1:
{
setState(6782);
joinCriteria();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DistributeTypeContext extends ParserRuleContext {
public DistributeTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_distributeType; }
public DistributeTypeContext() { }
public void copyFrom(DistributeTypeContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CommentDistributeTypeContext extends DistributeTypeContext {
public TerminalNode HINT_START() { return getToken(PLParser.HINT_START, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode HINT_END() { return getToken(PLParser.HINT_END, 0); }
public CommentDistributeTypeContext(DistributeTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCommentDistributeType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCommentDistributeType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCommentDistributeType(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class BracketDistributeTypeContext extends DistributeTypeContext {
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public BracketDistributeTypeContext(DistributeTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBracketDistributeType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBracketDistributeType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBracketDistributeType(this);
else return visitor.visitChildren(this);
}
}
public final DistributeTypeContext distributeType() throws RecognitionException {
DistributeTypeContext _localctx = new DistributeTypeContext(_ctx, getState());
enterRule(_localctx, 526, RULE_distributeType);
try {
setState(6793);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LEFT_BRACKET:
_localctx = new BracketDistributeTypeContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6785);
match(LEFT_BRACKET);
setState(6786);
identifier();
setState(6787);
match(RIGHT_BRACKET);
}
break;
case HINT_START:
_localctx = new CommentDistributeTypeContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6789);
match(HINT_START);
setState(6790);
identifier();
setState(6791);
match(HINT_END);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RelationHintContext extends ParserRuleContext {
public RelationHintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_relationHint; }
public RelationHintContext() { }
public void copyFrom(RelationHintContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class BracketRelationHintContext extends RelationHintContext {
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public BracketRelationHintContext(RelationHintContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBracketRelationHint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBracketRelationHint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBracketRelationHint(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CommentRelationHintContext extends RelationHintContext {
public TerminalNode HINT_START() { return getToken(PLParser.HINT_START, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode HINT_END() { return getToken(PLParser.HINT_END, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public CommentRelationHintContext(RelationHintContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCommentRelationHint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCommentRelationHint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCommentRelationHint(this);
else return visitor.visitChildren(this);
}
}
public final RelationHintContext relationHint() throws RecognitionException {
RelationHintContext _localctx = new RelationHintContext(_ctx, getState());
enterRule(_localctx, 528, RULE_relationHint);
int _la;
try {
setState(6817);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LEFT_BRACKET:
_localctx = new BracketRelationHintContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(6795);
match(LEFT_BRACKET);
setState(6796);
identifier();
setState(6801);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6797);
match(COMMA);
setState(6798);
identifier();
}
}
setState(6803);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6804);
match(RIGHT_BRACKET);
}
break;
case HINT_START:
_localctx = new CommentRelationHintContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(6806);
match(HINT_START);
setState(6807);
identifier();
setState(6812);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6808);
match(COMMA);
setState(6809);
identifier();
}
}
setState(6814);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6815);
match(HINT_END);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AggClauseContext extends ParserRuleContext {
public TerminalNode GROUP() { return getToken(PLParser.GROUP, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public GroupingElementContext groupingElement() {
return getRuleContext(GroupingElementContext.class,0);
}
public AggClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_aggClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAggClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAggClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAggClause(this);
else return visitor.visitChildren(this);
}
}
public final AggClauseContext aggClause() throws RecognitionException {
AggClauseContext _localctx = new AggClauseContext(_ctx, getState());
enterRule(_localctx, 530, RULE_aggClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6819);
match(GROUP);
setState(6820);
match(BY);
setState(6821);
groupingElement();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GroupingElementContext extends ParserRuleContext {
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode CUBE() { return getToken(PLParser.CUBE, 0); }
public TerminalNode GROUPING() { return getToken(PLParser.GROUPING, 0); }
public TerminalNode SETS() { return getToken(PLParser.SETS, 0); }
public List<GroupingSetContext> groupingSet() {
return getRuleContexts(GroupingSetContext.class);
}
public GroupingSetContext groupingSet(int i) {
return getRuleContext(GroupingSetContext.class,i);
}
public GroupingElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_groupingElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGroupingElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGroupingElement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGroupingElement(this);
else return visitor.visitChildren(this);
}
}
public final GroupingElementContext groupingElement() throws RecognitionException {
GroupingElementContext _localctx = new GroupingElementContext(_ctx, getState());
enterRule(_localctx, 532, RULE_groupingElement);
int _la;
try {
int _alt;
setState(6870);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,939,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6823);
match(ROLLUP);
setState(6824);
match(LEFT_PAREN);
setState(6833);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(6825);
expression();
setState(6830);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6826);
match(COMMA);
setState(6827);
expression();
}
}
setState(6832);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(6835);
match(RIGHT_PAREN);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6836);
match(CUBE);
setState(6837);
match(LEFT_PAREN);
setState(6846);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(6838);
expression();
setState(6843);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6839);
match(COMMA);
setState(6840);
expression();
}
}
setState(6845);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(6848);
match(RIGHT_PAREN);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(6849);
match(GROUPING);
setState(6850);
match(SETS);
setState(6851);
match(LEFT_PAREN);
setState(6852);
groupingSet();
setState(6857);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6853);
match(COMMA);
setState(6854);
groupingSet();
}
}
setState(6859);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6860);
match(RIGHT_PAREN);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(6862);
expression();
setState(6867);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,938,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6863);
match(COMMA);
setState(6864);
expression();
}
}
}
setState(6869);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,938,_ctx);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GroupingSetContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public GroupingSetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_groupingSet; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterGroupingSet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitGroupingSet(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitGroupingSet(this);
else return visitor.visitChildren(this);
}
}
public final GroupingSetContext groupingSet() throws RecognitionException {
GroupingSetContext _localctx = new GroupingSetContext(_ctx, getState());
enterRule(_localctx, 534, RULE_groupingSet);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(6872);
match(LEFT_PAREN);
setState(6881);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(6873);
expression();
setState(6878);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6874);
match(COMMA);
setState(6875);
expression();
}
}
setState(6880);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(6883);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class HavingClauseContext extends ParserRuleContext {
public TerminalNode HAVING() { return getToken(PLParser.HAVING, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public HavingClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_havingClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHavingClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHavingClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHavingClause(this);
else return visitor.visitChildren(this);
}
}
public final HavingClauseContext havingClause() throws RecognitionException {
HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
enterRule(_localctx, 536, RULE_havingClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6885);
match(HAVING);
setState(6886);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QualifyClauseContext extends ParserRuleContext {
public TerminalNode QUALIFY() { return getToken(PLParser.QUALIFY, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public QualifyClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_qualifyClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQualifyClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQualifyClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQualifyClause(this);
else return visitor.visitChildren(this);
}
}
public final QualifyClauseContext qualifyClause() throws RecognitionException {
QualifyClauseContext _localctx = new QualifyClauseContext(_ctx, getState());
enterRule(_localctx, 538, RULE_qualifyClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(6888);
match(QUALIFY);
setState(6889);
booleanExpression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SelectHintContext extends ParserRuleContext {
public HintStatementContext hintStatement;
public List<HintStatementContext> hintStatements = new ArrayList<HintStatementContext>();
public TerminalNode HINT_END() { return getToken(PLParser.HINT_END, 0); }
public List<HintStatementContext> hintStatement() {
return getRuleContexts(HintStatementContext.class);
}
public HintStatementContext hintStatement(int i) {
return getRuleContext(HintStatementContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public SelectHintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_selectHint; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSelectHint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSelectHint(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSelectHint(this);
else return visitor.visitChildren(this);
}
}
public final SelectHintContext selectHint() throws RecognitionException {
SelectHintContext _localctx = new SelectHintContext(_ctx, getState());
enterRule(_localctx, 540, RULE_selectHint);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6891);
((SelectHintContext)_localctx).hintStatement = hintStatement();
((SelectHintContext)_localctx).hintStatements.add(((SelectHintContext)_localctx).hintStatement);
setState(6898);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,943,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6893);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(6892);
match(COMMA);
}
}
setState(6895);
((SelectHintContext)_localctx).hintStatement = hintStatement();
((SelectHintContext)_localctx).hintStatements.add(((SelectHintContext)_localctx).hintStatement);
}
}
}
setState(6900);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,943,_ctx);
}
setState(6901);
match(HINT_END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class HintStatementContext extends ParserRuleContext {
public IdentifierContext hintName;
public HintAssignmentContext hintAssignment;
public List<HintAssignmentContext> parameters = new ArrayList<HintAssignmentContext>();
public MultipartIdentifierContext multipartIdentifier;
public List<MultipartIdentifierContext> tableList = new ArrayList<MultipartIdentifierContext>();
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<HintAssignmentContext> hintAssignment() {
return getRuleContexts(HintAssignmentContext.class);
}
public HintAssignmentContext hintAssignment(int i) {
return getRuleContext(HintAssignmentContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode USE_MV() { return getToken(PLParser.USE_MV, 0); }
public TerminalNode NO_USE_MV() { return getToken(PLParser.NO_USE_MV, 0); }
public List<MultipartIdentifierContext> multipartIdentifier() {
return getRuleContexts(MultipartIdentifierContext.class);
}
public MultipartIdentifierContext multipartIdentifier(int i) {
return getRuleContext(MultipartIdentifierContext.class,i);
}
public HintStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_hintStatement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHintStatement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHintStatement(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHintStatement(this);
else return visitor.visitChildren(this);
}
}
public final HintStatementContext hintStatement() throws RecognitionException {
HintStatementContext _localctx = new HintStatementContext(_ctx, getState());
enterRule(_localctx, 542, RULE_hintStatement);
int _la;
try {
setState(6933);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(6903);
((HintStatementContext)_localctx).hintName = identifier();
setState(6917);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(6904);
match(LEFT_PAREN);
setState(6905);
((HintStatementContext)_localctx).hintAssignment = hintAssignment();
((HintStatementContext)_localctx).parameters.add(((HintStatementContext)_localctx).hintAssignment);
setState(6912);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==QUALIFY || _la==SQL || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & -4071255371287039383L) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & -3855107791748335761L) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & -6232420542927452621L) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & -5436412372931593261L) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & -4544783211959492711L) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & 9204264861177970687L) != 0) || ((((_la - 569)) & ~0x3f) == 0 && ((1L << (_la - 569)) & -5255560036994155291L) != 0) || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & 577661418617984873L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 56359L) != 0)) {
{
{
setState(6907);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(6906);
match(COMMA);
}
}
setState(6909);
((HintStatementContext)_localctx).hintAssignment = hintAssignment();
((HintStatementContext)_localctx).parameters.add(((HintStatementContext)_localctx).hintAssignment);
}
}
setState(6914);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6915);
match(RIGHT_PAREN);
}
}
}
break;
case NO_USE_MV:
case USE_MV:
enterOuterAlt(_localctx, 2);
{
setState(6919);
_la = _input.LA(1);
if ( !(_la==NO_USE_MV || _la==USE_MV) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(6931);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LEFT_PAREN) {
{
setState(6920);
match(LEFT_PAREN);
setState(6921);
((HintStatementContext)_localctx).multipartIdentifier = multipartIdentifier();
((HintStatementContext)_localctx).tableList.add(((HintStatementContext)_localctx).multipartIdentifier);
setState(6926);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6922);
match(COMMA);
setState(6923);
((HintStatementContext)_localctx).multipartIdentifier = multipartIdentifier();
((HintStatementContext)_localctx).tableList.add(((HintStatementContext)_localctx).multipartIdentifier);
}
}
setState(6928);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(6929);
match(RIGHT_PAREN);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class HintAssignmentContext extends ParserRuleContext {
public IdentifierOrTextContext key;
public ConstantContext constantValue;
public IdentifierContext identifierValue;
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public HintAssignmentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_hintAssignment; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterHintAssignment(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitHintAssignment(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitHintAssignment(this);
else return visitor.visitChildren(this);
}
}
public final HintAssignmentContext hintAssignment() throws RecognitionException {
HintAssignmentContext _localctx = new HintAssignmentContext(_ctx, getState());
enterRule(_localctx, 544, RULE_hintAssignment);
int _la;
try {
setState(6944);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,952,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(6935);
((HintAssignmentContext)_localctx).key = identifierOrText();
setState(6941);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ) {
{
setState(6936);
match(EQ);
setState(6939);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,950,_ctx) ) {
case 1:
{
setState(6937);
((HintAssignmentContext)_localctx).constantValue = constant();
}
break;
case 2:
{
setState(6938);
((HintAssignmentContext)_localctx).identifierValue = identifier();
}
break;
}
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(6943);
constant();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UpdateAssignmentContext extends ParserRuleContext {
public MultipartIdentifierContext col;
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public UpdateAssignmentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_updateAssignment; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUpdateAssignment(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUpdateAssignment(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUpdateAssignment(this);
else return visitor.visitChildren(this);
}
}
public final UpdateAssignmentContext updateAssignment() throws RecognitionException {
UpdateAssignmentContext _localctx = new UpdateAssignmentContext(_ctx, getState());
enterRule(_localctx, 546, RULE_updateAssignment);
try {
enterOuterAlt(_localctx, 1);
{
setState(6946);
((UpdateAssignmentContext)_localctx).col = multipartIdentifier();
setState(6947);
match(EQ);
setState(6950);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_PAREN:
case LEFT_BRACKET:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case ADD:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BINARY:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATABASE:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXISTS:
case EXPIRED:
case EXTERNAL:
case EXTRACT:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IF:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEY:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LEFT:
case LESS:
case LEVEL:
case LIKE:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NOT:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLACEHOLDER:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REGEXP:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RIGHT:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case ASTERISK:
case TILDE:
case LOGICALNOT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case ATSIGN:
case DOUBLEATSIGN:
case STRING_LITERAL:
case INTEGER_VALUE:
case EXPONENT_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(6948);
expression();
}
break;
case DEFAULT:
{
setState(6949);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UpdateAssignmentSeqContext extends ParserRuleContext {
public UpdateAssignmentContext updateAssignment;
public List<UpdateAssignmentContext> assignments = new ArrayList<UpdateAssignmentContext>();
public List<UpdateAssignmentContext> updateAssignment() {
return getRuleContexts(UpdateAssignmentContext.class);
}
public UpdateAssignmentContext updateAssignment(int i) {
return getRuleContext(UpdateAssignmentContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public UpdateAssignmentSeqContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_updateAssignmentSeq; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUpdateAssignmentSeq(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUpdateAssignmentSeq(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUpdateAssignmentSeq(this);
else return visitor.visitChildren(this);
}
}
public final UpdateAssignmentSeqContext updateAssignmentSeq() throws RecognitionException {
UpdateAssignmentSeqContext _localctx = new UpdateAssignmentSeqContext(_ctx, getState());
enterRule(_localctx, 548, RULE_updateAssignmentSeq);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6952);
((UpdateAssignmentSeqContext)_localctx).updateAssignment = updateAssignment();
((UpdateAssignmentSeqContext)_localctx).assignments.add(((UpdateAssignmentSeqContext)_localctx).updateAssignment);
setState(6957);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,954,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6953);
match(COMMA);
setState(6954);
((UpdateAssignmentSeqContext)_localctx).updateAssignment = updateAssignment();
((UpdateAssignmentSeqContext)_localctx).assignments.add(((UpdateAssignmentSeqContext)_localctx).updateAssignment);
}
}
}
setState(6959);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,954,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LateralViewContext extends ParserRuleContext {
public IdentifierContext functionName;
public IdentifierContext tableName;
public IdentifierContext identifier;
public List<IdentifierContext> columnNames = new ArrayList<IdentifierContext>();
public TerminalNode LATERAL() { return getToken(PLParser.LATERAL, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public LateralViewContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lateralView; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLateralView(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLateralView(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLateralView(this);
else return visitor.visitChildren(this);
}
}
public final LateralViewContext lateralView() throws RecognitionException {
LateralViewContext _localctx = new LateralViewContext(_ctx, getState());
enterRule(_localctx, 550, RULE_lateralView);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6960);
match(LATERAL);
setState(6961);
match(VIEW);
setState(6962);
((LateralViewContext)_localctx).functionName = identifier();
setState(6963);
match(LEFT_PAREN);
setState(6972);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(6964);
expression();
setState(6969);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(6965);
match(COMMA);
setState(6966);
expression();
}
}
setState(6971);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(6974);
match(RIGHT_PAREN);
setState(6975);
((LateralViewContext)_localctx).tableName = identifier();
setState(6976);
match(AS);
setState(6977);
((LateralViewContext)_localctx).identifier = identifier();
((LateralViewContext)_localctx).columnNames.add(((LateralViewContext)_localctx).identifier);
setState(6982);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,957,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6978);
match(COMMA);
setState(6979);
((LateralViewContext)_localctx).identifier = identifier();
((LateralViewContext)_localctx).columnNames.add(((LateralViewContext)_localctx).identifier);
}
}
}
setState(6984);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,957,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QueryOrganizationContext extends ParserRuleContext {
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public LimitClauseContext limitClause() {
return getRuleContext(LimitClauseContext.class,0);
}
public QueryOrganizationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_queryOrganization; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQueryOrganization(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQueryOrganization(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQueryOrganization(this);
else return visitor.visitChildren(this);
}
}
public final QueryOrganizationContext queryOrganization() throws RecognitionException {
QueryOrganizationContext _localctx = new QueryOrganizationContext(_ctx, getState());
enterRule(_localctx, 552, RULE_queryOrganization);
try {
enterOuterAlt(_localctx, 1);
{
setState(6986);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,958,_ctx) ) {
case 1:
{
setState(6985);
sortClause();
}
break;
}
setState(6989);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,959,_ctx) ) {
case 1:
{
setState(6988);
limitClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SortClauseContext extends ParserRuleContext {
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public List<SortItemContext> sortItem() {
return getRuleContexts(SortItemContext.class);
}
public SortItemContext sortItem(int i) {
return getRuleContext(SortItemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public SortClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sortClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSortClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSortClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSortClause(this);
else return visitor.visitChildren(this);
}
}
public final SortClauseContext sortClause() throws RecognitionException {
SortClauseContext _localctx = new SortClauseContext(_ctx, getState());
enterRule(_localctx, 554, RULE_sortClause);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(6991);
match(ORDER);
setState(6992);
match(BY);
setState(6993);
sortItem();
setState(6998);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,960,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(6994);
match(COMMA);
setState(6995);
sortItem();
}
}
}
setState(7000);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,960,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SortItemContext extends ParserRuleContext {
public Token ordering;
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode NULLS() { return getToken(PLParser.NULLS, 0); }
public TerminalNode FIRST() { return getToken(PLParser.FIRST, 0); }
public TerminalNode LAST() { return getToken(PLParser.LAST, 0); }
public TerminalNode ASC() { return getToken(PLParser.ASC, 0); }
public TerminalNode DESC() { return getToken(PLParser.DESC, 0); }
public SortItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sortItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSortItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSortItem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSortItem(this);
else return visitor.visitChildren(this);
}
}
public final SortItemContext sortItem() throws RecognitionException {
SortItemContext _localctx = new SortItemContext(_ctx, getState());
enterRule(_localctx, 556, RULE_sortItem);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7001);
expression();
setState(7003);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,961,_ctx) ) {
case 1:
{
setState(7002);
((SortItemContext)_localctx).ordering = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==ASC || _la==DESC) ) {
((SortItemContext)_localctx).ordering = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(7007);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,962,_ctx) ) {
case 1:
{
setState(7005);
match(NULLS);
setState(7006);
_la = _input.LA(1);
if ( !(_la==FIRST || _la==LAST) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LimitClauseContext extends ParserRuleContext {
public Token limit;
public Token offset;
public TerminalNode LIMIT() { return getToken(PLParser.LIMIT, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public TerminalNode OFFSET() { return getToken(PLParser.OFFSET, 0); }
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public LimitClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_limitClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLimitClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLimitClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLimitClause(this);
else return visitor.visitChildren(this);
}
}
public final LimitClauseContext limitClause() throws RecognitionException {
LimitClauseContext _localctx = new LimitClauseContext(_ctx, getState());
enterRule(_localctx, 558, RULE_limitClause);
try {
setState(7019);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,963,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(7009);
match(LIMIT);
setState(7010);
((LimitClauseContext)_localctx).limit = match(INTEGER_VALUE);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(7011);
match(LIMIT);
setState(7012);
((LimitClauseContext)_localctx).limit = match(INTEGER_VALUE);
setState(7013);
match(OFFSET);
setState(7014);
((LimitClauseContext)_localctx).offset = match(INTEGER_VALUE);
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
{
setState(7015);
match(LIMIT);
setState(7016);
((LimitClauseContext)_localctx).offset = match(INTEGER_VALUE);
setState(7017);
match(COMMA);
setState(7018);
((LimitClauseContext)_localctx).limit = match(INTEGER_VALUE);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionClauseContext extends ParserRuleContext {
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PartitionClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionClause(this);
else return visitor.visitChildren(this);
}
}
public final PartitionClauseContext partitionClause() throws RecognitionException {
PartitionClauseContext _localctx = new PartitionClauseContext(_ctx, getState());
enterRule(_localctx, 560, RULE_partitionClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7021);
match(PARTITION);
setState(7022);
match(BY);
setState(7023);
expression();
setState(7028);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7024);
match(COMMA);
setState(7025);
expression();
}
}
setState(7030);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class JoinTypeContext extends ParserRuleContext {
public TerminalNode INNER() { return getToken(PLParser.INNER, 0); }
public TerminalNode CROSS() { return getToken(PLParser.CROSS, 0); }
public TerminalNode LEFT() { return getToken(PLParser.LEFT, 0); }
public TerminalNode OUTER() { return getToken(PLParser.OUTER, 0); }
public TerminalNode RIGHT() { return getToken(PLParser.RIGHT, 0); }
public TerminalNode FULL() { return getToken(PLParser.FULL, 0); }
public TerminalNode SEMI() { return getToken(PLParser.SEMI, 0); }
public TerminalNode ANTI() { return getToken(PLParser.ANTI, 0); }
public JoinTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_joinType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterJoinType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitJoinType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitJoinType(this);
else return visitor.visitChildren(this);
}
}
public final JoinTypeContext joinType() throws RecognitionException {
JoinTypeContext _localctx = new JoinTypeContext(_ctx, getState());
enterRule(_localctx, 562, RULE_joinType);
int _la;
try {
setState(7055);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,969,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7032);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INNER) {
{
setState(7031);
match(INNER);
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7034);
match(CROSS);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(7035);
match(LEFT);
setState(7037);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OUTER) {
{
setState(7036);
match(OUTER);
}
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(7039);
match(RIGHT);
setState(7041);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OUTER) {
{
setState(7040);
match(OUTER);
}
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(7043);
match(FULL);
setState(7045);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OUTER) {
{
setState(7044);
match(OUTER);
}
}
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(7047);
match(LEFT);
setState(7048);
match(SEMI);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(7049);
match(RIGHT);
setState(7050);
match(SEMI);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(7051);
match(LEFT);
setState(7052);
match(ANTI);
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(7053);
match(RIGHT);
setState(7054);
match(ANTI);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class JoinCriteriaContext extends ParserRuleContext {
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public JoinCriteriaContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_joinCriteria; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterJoinCriteria(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitJoinCriteria(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitJoinCriteria(this);
else return visitor.visitChildren(this);
}
}
public final JoinCriteriaContext joinCriteria() throws RecognitionException {
JoinCriteriaContext _localctx = new JoinCriteriaContext(_ctx, getState());
enterRule(_localctx, 564, RULE_joinCriteria);
try {
setState(7061);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ON:
enterOuterAlt(_localctx, 1);
{
setState(7057);
match(ON);
setState(7058);
booleanExpression(0);
}
break;
case USING:
enterOuterAlt(_localctx, 2);
{
setState(7059);
match(USING);
setState(7060);
identifierList();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierListContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public IdentifierSeqContext identifierSeq() {
return getRuleContext(IdentifierSeqContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifierList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifierList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifierList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifierList(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierListContext identifierList() throws RecognitionException {
IdentifierListContext _localctx = new IdentifierListContext(_ctx, getState());
enterRule(_localctx, 566, RULE_identifierList);
try {
enterOuterAlt(_localctx, 1);
{
setState(7063);
match(LEFT_PAREN);
setState(7064);
identifierSeq();
setState(7065);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierSeqContext extends ParserRuleContext {
public ErrorCapturingIdentifierContext errorCapturingIdentifier;
public List<ErrorCapturingIdentifierContext> ident = new ArrayList<ErrorCapturingIdentifierContext>();
public List<ErrorCapturingIdentifierContext> errorCapturingIdentifier() {
return getRuleContexts(ErrorCapturingIdentifierContext.class);
}
public ErrorCapturingIdentifierContext errorCapturingIdentifier(int i) {
return getRuleContext(ErrorCapturingIdentifierContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public IdentifierSeqContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifierSeq; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifierSeq(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifierSeq(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifierSeq(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierSeqContext identifierSeq() throws RecognitionException {
IdentifierSeqContext _localctx = new IdentifierSeqContext(_ctx, getState());
enterRule(_localctx, 568, RULE_identifierSeq);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7067);
((IdentifierSeqContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((IdentifierSeqContext)_localctx).ident.add(((IdentifierSeqContext)_localctx).errorCapturingIdentifier);
setState(7072);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,971,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7068);
match(COMMA);
setState(7069);
((IdentifierSeqContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((IdentifierSeqContext)_localctx).ident.add(((IdentifierSeqContext)_localctx).errorCapturingIdentifier);
}
}
}
setState(7074);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,971,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptScanParamsContext extends ParserRuleContext {
public IdentifierContext funcName;
public PropertyItemListContext properties;
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public OptScanParamsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optScanParams; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterOptScanParams(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitOptScanParams(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitOptScanParams(this);
else return visitor.visitChildren(this);
}
}
public final OptScanParamsContext optScanParams() throws RecognitionException {
OptScanParamsContext _localctx = new OptScanParamsContext(_ctx, getState());
enterRule(_localctx, 570, RULE_optScanParams);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7075);
match(ATSIGN);
setState(7076);
((OptScanParamsContext)_localctx).funcName = identifier();
setState(7077);
match(LEFT_PAREN);
setState(7079);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 187)) & ~0x3f) == 0 && ((1L << (_la - 187)) & -508906921410879923L) != 0) || ((((_la - 251)) & ~0x3f) == 0 && ((1L << (_la - 251)) & 8741483562886233837L) != 0) || ((((_la - 316)) & ~0x3f) == 0 && ((1L << (_la - 316)) & 4222159734494422115L) != 0) || ((((_la - 380)) & ~0x3f) == 0 && ((1L << (_la - 380)) & -7257304800949306435L) != 0) || ((((_la - 444)) & ~0x3f) == 0 && ((1L << (_la - 444)) & -1436970455354315271L) != 0) || ((((_la - 508)) & ~0x3f) == 0 && ((1L << (_la - 508)) & -5766995919993835521L) != 0) || ((((_la - 574)) & ~0x3f) == 0 && ((1L << (_la - 574)) & 5600371271878167527L) != 0) || ((((_la - 638)) & ~0x3f) == 0 && ((1L << (_la - 638)) & 18051919331812027L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 56359L) != 0)) {
{
setState(7078);
((OptScanParamsContext)_localctx).properties = propertyItemList();
}
}
setState(7081);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RelationPrimaryContext extends ParserRuleContext {
public RelationPrimaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_relationPrimary; }
public RelationPrimaryContext() { }
public void copyFrom(RelationPrimaryContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TableValuedFunctionContext extends RelationPrimaryContext {
public IdentifierContext tvfName;
public PropertyItemListContext properties;
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TableValuedFunctionContext(RelationPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTableValuedFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTableValuedFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTableValuedFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RelationListContext extends RelationPrimaryContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public RelationsContext relations() {
return getRuleContext(RelationsContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public RelationListContext(RelationPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRelationList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRelationList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRelationList(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AliasedQueryContext extends RelationPrimaryContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public List<LateralViewContext> lateralView() {
return getRuleContexts(LateralViewContext.class);
}
public LateralViewContext lateralView(int i) {
return getRuleContext(LateralViewContext.class,i);
}
public AliasedQueryContext(RelationPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAliasedQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAliasedQuery(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAliasedQuery(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TableNameContext extends RelationPrimaryContext {
public MultipartIdentifierContext multipartIdentifier() {
return getRuleContext(MultipartIdentifierContext.class,0);
}
public TableAliasContext tableAlias() {
return getRuleContext(TableAliasContext.class,0);
}
public OptScanParamsContext optScanParams() {
return getRuleContext(OptScanParamsContext.class,0);
}
public MaterializedViewNameContext materializedViewName() {
return getRuleContext(MaterializedViewNameContext.class,0);
}
public TableSnapshotContext tableSnapshot() {
return getRuleContext(TableSnapshotContext.class,0);
}
public SpecifiedPartitionContext specifiedPartition() {
return getRuleContext(SpecifiedPartitionContext.class,0);
}
public TabletListContext tabletList() {
return getRuleContext(TabletListContext.class,0);
}
public SampleContext sample() {
return getRuleContext(SampleContext.class,0);
}
public RelationHintContext relationHint() {
return getRuleContext(RelationHintContext.class,0);
}
public List<LateralViewContext> lateralView() {
return getRuleContexts(LateralViewContext.class);
}
public LateralViewContext lateralView(int i) {
return getRuleContext(LateralViewContext.class,i);
}
public TableNameContext(RelationPrimaryContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTableName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTableName(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTableName(this);
else return visitor.visitChildren(this);
}
}
public final RelationPrimaryContext relationPrimary() throws RecognitionException {
RelationPrimaryContext _localctx = new RelationPrimaryContext(_ctx, getState());
enterRule(_localctx, 572, RULE_relationPrimary);
int _la;
try {
int _alt;
setState(7134);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,983,_ctx) ) {
case 1:
_localctx = new TableNameContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(7083);
multipartIdentifier();
setState(7085);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,973,_ctx) ) {
case 1:
{
setState(7084);
optScanParams();
}
break;
}
setState(7088);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,974,_ctx) ) {
case 1:
{
setState(7087);
materializedViewName();
}
break;
}
setState(7091);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,975,_ctx) ) {
case 1:
{
setState(7090);
tableSnapshot();
}
break;
}
setState(7094);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,976,_ctx) ) {
case 1:
{
setState(7093);
specifiedPartition();
}
break;
}
setState(7097);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,977,_ctx) ) {
case 1:
{
setState(7096);
tabletList();
}
break;
}
setState(7099);
tableAlias();
setState(7101);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,978,_ctx) ) {
case 1:
{
setState(7100);
sample();
}
break;
}
setState(7104);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,979,_ctx) ) {
case 1:
{
setState(7103);
relationHint();
}
break;
}
setState(7109);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,980,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7106);
lateralView();
}
}
}
setState(7111);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,980,_ctx);
}
}
break;
case 2:
_localctx = new AliasedQueryContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(7112);
match(LEFT_PAREN);
setState(7113);
query();
setState(7114);
match(RIGHT_PAREN);
setState(7115);
tableAlias();
setState(7119);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,981,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7116);
lateralView();
}
}
}
setState(7121);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,981,_ctx);
}
}
break;
case 3:
_localctx = new TableValuedFunctionContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(7122);
((TableValuedFunctionContext)_localctx).tvfName = identifier();
setState(7123);
match(LEFT_PAREN);
setState(7125);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 187)) & ~0x3f) == 0 && ((1L << (_la - 187)) & -508906921410879923L) != 0) || ((((_la - 251)) & ~0x3f) == 0 && ((1L << (_la - 251)) & 8741483562886233837L) != 0) || ((((_la - 316)) & ~0x3f) == 0 && ((1L << (_la - 316)) & 4222159734494422115L) != 0) || ((((_la - 380)) & ~0x3f) == 0 && ((1L << (_la - 380)) & -7257304800949306435L) != 0) || ((((_la - 444)) & ~0x3f) == 0 && ((1L << (_la - 444)) & -1436970455354315271L) != 0) || ((((_la - 508)) & ~0x3f) == 0 && ((1L << (_la - 508)) & -5766995919993835521L) != 0) || ((((_la - 574)) & ~0x3f) == 0 && ((1L << (_la - 574)) & 5600371271878167527L) != 0) || ((((_la - 638)) & ~0x3f) == 0 && ((1L << (_la - 638)) & 18051919331812027L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 56359L) != 0)) {
{
setState(7124);
((TableValuedFunctionContext)_localctx).properties = propertyItemList();
}
}
setState(7127);
match(RIGHT_PAREN);
setState(7128);
tableAlias();
}
break;
case 4:
_localctx = new RelationListContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(7130);
match(LEFT_PAREN);
setState(7131);
relations();
setState(7132);
match(RIGHT_PAREN);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MaterializedViewNameContext extends ParserRuleContext {
public IdentifierContext indexName;
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public MaterializedViewNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_materializedViewName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMaterializedViewName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMaterializedViewName(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMaterializedViewName(this);
else return visitor.visitChildren(this);
}
}
public final MaterializedViewNameContext materializedViewName() throws RecognitionException {
MaterializedViewNameContext _localctx = new MaterializedViewNameContext(_ctx, getState());
enterRule(_localctx, 574, RULE_materializedViewName);
try {
enterOuterAlt(_localctx, 1);
{
setState(7136);
match(INDEX);
setState(7137);
((MaterializedViewNameContext)_localctx).indexName = identifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropertyClauseContext extends ParserRuleContext {
public PropertyItemListContext fileProperties;
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public PropertyClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propertyClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPropertyClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPropertyClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPropertyClause(this);
else return visitor.visitChildren(this);
}
}
public final PropertyClauseContext propertyClause() throws RecognitionException {
PropertyClauseContext _localctx = new PropertyClauseContext(_ctx, getState());
enterRule(_localctx, 576, RULE_propertyClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(7139);
match(PROPERTIES);
setState(7140);
match(LEFT_PAREN);
setState(7141);
((PropertyClauseContext)_localctx).fileProperties = propertyItemList();
setState(7142);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropertyItemListContext extends ParserRuleContext {
public PropertyItemContext propertyItem;
public List<PropertyItemContext> properties = new ArrayList<PropertyItemContext>();
public List<PropertyItemContext> propertyItem() {
return getRuleContexts(PropertyItemContext.class);
}
public PropertyItemContext propertyItem(int i) {
return getRuleContext(PropertyItemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PropertyItemListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propertyItemList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPropertyItemList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPropertyItemList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPropertyItemList(this);
else return visitor.visitChildren(this);
}
}
public final PropertyItemListContext propertyItemList() throws RecognitionException {
PropertyItemListContext _localctx = new PropertyItemListContext(_ctx, getState());
enterRule(_localctx, 578, RULE_propertyItemList);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7144);
((PropertyItemListContext)_localctx).propertyItem = propertyItem();
((PropertyItemListContext)_localctx).properties.add(((PropertyItemListContext)_localctx).propertyItem);
setState(7149);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,984,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7145);
match(COMMA);
setState(7146);
((PropertyItemListContext)_localctx).propertyItem = propertyItem();
((PropertyItemListContext)_localctx).properties.add(((PropertyItemListContext)_localctx).propertyItem);
}
}
}
setState(7151);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,984,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropertyItemContext extends ParserRuleContext {
public PropertyKeyContext key;
public PropertyValueContext value;
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public PropertyKeyContext propertyKey() {
return getRuleContext(PropertyKeyContext.class,0);
}
public PropertyValueContext propertyValue() {
return getRuleContext(PropertyValueContext.class,0);
}
public PropertyItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propertyItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPropertyItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPropertyItem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPropertyItem(this);
else return visitor.visitChildren(this);
}
}
public final PropertyItemContext propertyItem() throws RecognitionException {
PropertyItemContext _localctx = new PropertyItemContext(_ctx, getState());
enterRule(_localctx, 580, RULE_propertyItem);
try {
enterOuterAlt(_localctx, 1);
{
setState(7152);
((PropertyItemContext)_localctx).key = propertyKey();
setState(7153);
match(EQ);
setState(7154);
((PropertyItemContext)_localctx).value = propertyValue();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropertyKeyContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public PropertyKeyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propertyKey; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPropertyKey(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPropertyKey(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPropertyKey(this);
else return visitor.visitChildren(this);
}
}
public final PropertyKeyContext propertyKey() throws RecognitionException {
PropertyKeyContext _localctx = new PropertyKeyContext(_ctx, getState());
enterRule(_localctx, 582, RULE_propertyKey);
try {
setState(7158);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,985,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7156);
identifier();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7157);
constant();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropertyValueContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public PropertyValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propertyValue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPropertyValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPropertyValue(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPropertyValue(this);
else return visitor.visitChildren(this);
}
}
public final PropertyValueContext propertyValue() throws RecognitionException {
PropertyValueContext _localctx = new PropertyValueContext(_ctx, getState());
enterRule(_localctx, 584, RULE_propertyValue);
try {
setState(7162);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,986,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7160);
identifier();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7161);
constant();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TableAliasContext extends ParserRuleContext {
public StrictIdentifierContext strictIdentifier() {
return getRuleContext(StrictIdentifierContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TableAliasContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableAlias; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTableAlias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTableAlias(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTableAlias(this);
else return visitor.visitChildren(this);
}
}
public final TableAliasContext tableAlias() throws RecognitionException {
TableAliasContext _localctx = new TableAliasContext(_ctx, getState());
enterRule(_localctx, 586, RULE_tableAlias);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7171);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,989,_ctx) ) {
case 1:
{
setState(7165);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(7164);
match(AS);
}
}
setState(7167);
strictIdentifier();
setState(7169);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,988,_ctx) ) {
case 1:
{
setState(7168);
identifierList();
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MultipartIdentifierContext extends ParserRuleContext {
public ErrorCapturingIdentifierContext errorCapturingIdentifier;
public List<ErrorCapturingIdentifierContext> parts = new ArrayList<ErrorCapturingIdentifierContext>();
public List<ErrorCapturingIdentifierContext> errorCapturingIdentifier() {
return getRuleContexts(ErrorCapturingIdentifierContext.class);
}
public ErrorCapturingIdentifierContext errorCapturingIdentifier(int i) {
return getRuleContext(ErrorCapturingIdentifierContext.class,i);
}
public List<TerminalNode> DOT() { return getTokens(PLParser.DOT); }
public TerminalNode DOT(int i) {
return getToken(PLParser.DOT, i);
}
public MultipartIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_multipartIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMultipartIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMultipartIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMultipartIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final MultipartIdentifierContext multipartIdentifier() throws RecognitionException {
MultipartIdentifierContext _localctx = new MultipartIdentifierContext(_ctx, getState());
enterRule(_localctx, 588, RULE_multipartIdentifier);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7173);
((MultipartIdentifierContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((MultipartIdentifierContext)_localctx).parts.add(((MultipartIdentifierContext)_localctx).errorCapturingIdentifier);
setState(7178);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,990,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7174);
match(DOT);
setState(7175);
((MultipartIdentifierContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((MultipartIdentifierContext)_localctx).parts.add(((MultipartIdentifierContext)_localctx).errorCapturingIdentifier);
}
}
}
setState(7180);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,990,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SimpleColumnDefsContext extends ParserRuleContext {
public SimpleColumnDefContext simpleColumnDef;
public List<SimpleColumnDefContext> cols = new ArrayList<SimpleColumnDefContext>();
public List<SimpleColumnDefContext> simpleColumnDef() {
return getRuleContexts(SimpleColumnDefContext.class);
}
public SimpleColumnDefContext simpleColumnDef(int i) {
return getRuleContext(SimpleColumnDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public SimpleColumnDefsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simpleColumnDefs; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSimpleColumnDefs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSimpleColumnDefs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSimpleColumnDefs(this);
else return visitor.visitChildren(this);
}
}
public final SimpleColumnDefsContext simpleColumnDefs() throws RecognitionException {
SimpleColumnDefsContext _localctx = new SimpleColumnDefsContext(_ctx, getState());
enterRule(_localctx, 590, RULE_simpleColumnDefs);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7181);
((SimpleColumnDefsContext)_localctx).simpleColumnDef = simpleColumnDef();
((SimpleColumnDefsContext)_localctx).cols.add(((SimpleColumnDefsContext)_localctx).simpleColumnDef);
setState(7186);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7182);
match(COMMA);
setState(7183);
((SimpleColumnDefsContext)_localctx).simpleColumnDef = simpleColumnDef();
((SimpleColumnDefsContext)_localctx).cols.add(((SimpleColumnDefsContext)_localctx).simpleColumnDef);
}
}
setState(7188);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SimpleColumnDefContext extends ParserRuleContext {
public IdentifierContext colName;
public Token comment;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public SimpleColumnDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simpleColumnDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSimpleColumnDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSimpleColumnDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSimpleColumnDef(this);
else return visitor.visitChildren(this);
}
}
public final SimpleColumnDefContext simpleColumnDef() throws RecognitionException {
SimpleColumnDefContext _localctx = new SimpleColumnDefContext(_ctx, getState());
enterRule(_localctx, 592, RULE_simpleColumnDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7189);
((SimpleColumnDefContext)_localctx).colName = identifier();
setState(7192);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(7190);
match(COMMENT);
setState(7191);
((SimpleColumnDefContext)_localctx).comment = match(STRING_LITERAL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColumnDefsContext extends ParserRuleContext {
public ColumnDefContext columnDef;
public List<ColumnDefContext> cols = new ArrayList<ColumnDefContext>();
public List<ColumnDefContext> columnDef() {
return getRuleContexts(ColumnDefContext.class);
}
public ColumnDefContext columnDef(int i) {
return getRuleContext(ColumnDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ColumnDefsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnDefs; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColumnDefs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColumnDefs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColumnDefs(this);
else return visitor.visitChildren(this);
}
}
public final ColumnDefsContext columnDefs() throws RecognitionException {
ColumnDefsContext _localctx = new ColumnDefsContext(_ctx, getState());
enterRule(_localctx, 594, RULE_columnDefs);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7194);
((ColumnDefsContext)_localctx).columnDef = columnDef();
((ColumnDefsContext)_localctx).cols.add(((ColumnDefsContext)_localctx).columnDef);
setState(7199);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,993,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7195);
match(COMMA);
setState(7196);
((ColumnDefsContext)_localctx).columnDef = columnDef();
((ColumnDefsContext)_localctx).cols.add(((ColumnDefsContext)_localctx).columnDef);
}
}
}
setState(7201);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,993,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ColumnDefContext extends ParserRuleContext {
public IdentifierContext colName;
public DataTypeContext type;
public AggTypeDefContext aggType;
public ExpressionContext generatedExpr;
public Token nullable;
public NumberContext autoIncInitValue;
public Token nullValue;
public Token stringValue;
public Token defaultTimestamp;
public NumberContext defaultValuePrecision;
public NumberContext onUpdateValuePrecision;
public Token comment;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public List<TerminalNode> LEFT_PAREN() { return getTokens(PLParser.LEFT_PAREN); }
public TerminalNode LEFT_PAREN(int i) {
return getToken(PLParser.LEFT_PAREN, i);
}
public List<TerminalNode> RIGHT_PAREN() { return getTokens(PLParser.RIGHT_PAREN); }
public TerminalNode RIGHT_PAREN(int i) {
return getToken(PLParser.RIGHT_PAREN, i);
}
public TerminalNode AUTO_INCREMENT() { return getToken(PLParser.AUTO_INCREMENT, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public TerminalNode ON() { return getToken(PLParser.ON, 0); }
public TerminalNode UPDATE() { return getToken(PLParser.UPDATE, 0); }
public List<TerminalNode> CURRENT_TIMESTAMP() { return getTokens(PLParser.CURRENT_TIMESTAMP); }
public TerminalNode CURRENT_TIMESTAMP(int i) {
return getToken(PLParser.CURRENT_TIMESTAMP, i);
}
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public AggTypeDefContext aggTypeDef() {
return getRuleContext(AggTypeDefContext.class,0);
}
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public List<TerminalNode> NULL() { return getTokens(PLParser.NULL); }
public TerminalNode NULL(int i) {
return getToken(PLParser.NULL, i);
}
public List<TerminalNode> STRING_LITERAL() { return getTokens(PLParser.STRING_LITERAL); }
public TerminalNode STRING_LITERAL(int i) {
return getToken(PLParser.STRING_LITERAL, i);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode DECIMAL_VALUE() { return getToken(PLParser.DECIMAL_VALUE, 0); }
public TerminalNode PI() { return getToken(PLParser.PI, 0); }
public TerminalNode E() { return getToken(PLParser.E, 0); }
public TerminalNode BITMAP_EMPTY() { return getToken(PLParser.BITMAP_EMPTY, 0); }
public TerminalNode CURRENT_DATE() { return getToken(PLParser.CURRENT_DATE, 0); }
public TerminalNode GENERATED() { return getToken(PLParser.GENERATED, 0); }
public TerminalNode ALWAYS() { return getToken(PLParser.ALWAYS, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public List<NumberContext> number() {
return getRuleContexts(NumberContext.class);
}
public NumberContext number(int i) {
return getRuleContext(NumberContext.class,i);
}
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public ColumnDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColumnDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColumnDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColumnDef(this);
else return visitor.visitChildren(this);
}
}
public final ColumnDefContext columnDef() throws RecognitionException {
ColumnDefContext _localctx = new ColumnDefContext(_ctx, getState());
enterRule(_localctx, 596, RULE_columnDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7202);
((ColumnDefContext)_localctx).colName = identifier();
setState(7203);
((ColumnDefContext)_localctx).type = dataType();
setState(7205);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,994,_ctx) ) {
case 1:
{
setState(7204);
match(KEY);
}
break;
}
setState(7208);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,995,_ctx) ) {
case 1:
{
setState(7207);
((ColumnDefContext)_localctx).aggType = aggTypeDef();
}
break;
}
setState(7219);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,997,_ctx) ) {
case 1:
{
setState(7212);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GENERATED) {
{
setState(7210);
match(GENERATED);
setState(7211);
match(ALWAYS);
}
}
setState(7214);
match(AS);
setState(7215);
match(LEFT_PAREN);
setState(7216);
((ColumnDefContext)_localctx).generatedExpr = expression();
setState(7217);
match(RIGHT_PAREN);
}
break;
}
setState(7225);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,999,_ctx) ) {
case 1:
{
setState(7222);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7221);
match(NOT);
}
}
setState(7224);
((ColumnDefContext)_localctx).nullable = match(NULL);
}
break;
}
setState(7234);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1001,_ctx) ) {
case 1:
{
setState(7227);
match(AUTO_INCREMENT);
setState(7232);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1000,_ctx) ) {
case 1:
{
setState(7228);
match(LEFT_PAREN);
setState(7229);
((ColumnDefContext)_localctx).autoIncInitValue = number();
setState(7230);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
setState(7260);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1006,_ctx) ) {
case 1:
{
setState(7236);
match(DEFAULT);
setState(7258);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1005,_ctx) ) {
case 1:
{
setState(7237);
((ColumnDefContext)_localctx).nullValue = match(NULL);
}
break;
case 2:
{
setState(7239);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(7238);
match(SUBTRACT);
}
}
setState(7241);
match(INTEGER_VALUE);
}
break;
case 3:
{
setState(7243);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(7242);
match(SUBTRACT);
}
}
setState(7245);
match(DECIMAL_VALUE);
}
break;
case 4:
{
setState(7246);
match(PI);
}
break;
case 5:
{
setState(7247);
match(E);
}
break;
case 6:
{
setState(7248);
match(BITMAP_EMPTY);
}
break;
case 7:
{
setState(7249);
((ColumnDefContext)_localctx).stringValue = match(STRING_LITERAL);
}
break;
case 8:
{
setState(7250);
match(CURRENT_DATE);
}
break;
case 9:
{
setState(7251);
((ColumnDefContext)_localctx).defaultTimestamp = match(CURRENT_TIMESTAMP);
setState(7256);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1004,_ctx) ) {
case 1:
{
setState(7252);
match(LEFT_PAREN);
setState(7253);
((ColumnDefContext)_localctx).defaultValuePrecision = number();
setState(7254);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
}
break;
}
setState(7271);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1008,_ctx) ) {
case 1:
{
setState(7262);
match(ON);
setState(7263);
match(UPDATE);
setState(7264);
match(CURRENT_TIMESTAMP);
setState(7269);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1007,_ctx) ) {
case 1:
{
setState(7265);
match(LEFT_PAREN);
setState(7266);
((ColumnDefContext)_localctx).onUpdateValuePrecision = number();
setState(7267);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
setState(7275);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1009,_ctx) ) {
case 1:
{
setState(7273);
match(COMMENT);
setState(7274);
((ColumnDefContext)_localctx).comment = match(STRING_LITERAL);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IndexDefsContext extends ParserRuleContext {
public IndexDefContext indexDef;
public List<IndexDefContext> indexes = new ArrayList<IndexDefContext>();
public List<IndexDefContext> indexDef() {
return getRuleContexts(IndexDefContext.class);
}
public IndexDefContext indexDef(int i) {
return getRuleContext(IndexDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public IndexDefsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexDefs; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIndexDefs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIndexDefs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIndexDefs(this);
else return visitor.visitChildren(this);
}
}
public final IndexDefsContext indexDefs() throws RecognitionException {
IndexDefsContext _localctx = new IndexDefsContext(_ctx, getState());
enterRule(_localctx, 598, RULE_indexDefs);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7277);
((IndexDefsContext)_localctx).indexDef = indexDef();
((IndexDefsContext)_localctx).indexes.add(((IndexDefsContext)_localctx).indexDef);
setState(7282);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1010,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7278);
match(COMMA);
setState(7279);
((IndexDefsContext)_localctx).indexDef = indexDef();
((IndexDefsContext)_localctx).indexes.add(((IndexDefsContext)_localctx).indexDef);
}
}
}
setState(7284);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1010,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IndexDefContext extends ParserRuleContext {
public Token ifNotExists;
public IdentifierContext indexName;
public IdentifierListContext cols;
public Token indexType;
public PropertyItemListContext properties;
public Token comment;
public TerminalNode INDEX() { return getToken(PLParser.INDEX, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode BITMAP() { return getToken(PLParser.BITMAP, 0); }
public TerminalNode INVERTED() { return getToken(PLParser.INVERTED, 0); }
public TerminalNode NGRAM_BF() { return getToken(PLParser.NGRAM_BF, 0); }
public IndexDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIndexDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIndexDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIndexDef(this);
else return visitor.visitChildren(this);
}
}
public final IndexDefContext indexDef() throws RecognitionException {
IndexDefContext _localctx = new IndexDefContext(_ctx, getState());
enterRule(_localctx, 600, RULE_indexDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7285);
match(INDEX);
setState(7289);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(7286);
((IndexDefContext)_localctx).ifNotExists = match(IF);
setState(7287);
match(NOT);
setState(7288);
match(EXISTS);
}
}
setState(7291);
((IndexDefContext)_localctx).indexName = identifier();
setState(7292);
((IndexDefContext)_localctx).cols = identifierList();
setState(7295);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1012,_ctx) ) {
case 1:
{
setState(7293);
match(USING);
setState(7294);
((IndexDefContext)_localctx).indexType = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==BITMAP || _la==INVERTED || _la==NGRAM_BF) ) {
((IndexDefContext)_localctx).indexType = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(7302);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1013,_ctx) ) {
case 1:
{
setState(7297);
match(PROPERTIES);
setState(7298);
match(LEFT_PAREN);
setState(7299);
((IndexDefContext)_localctx).properties = propertyItemList();
setState(7300);
match(RIGHT_PAREN);
}
break;
}
setState(7306);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1014,_ctx) ) {
case 1:
{
setState(7304);
match(COMMENT);
setState(7305);
((IndexDefContext)_localctx).comment = match(STRING_LITERAL);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionsDefContext extends ParserRuleContext {
public PartitionDefContext partitionDef;
public List<PartitionDefContext> partitions = new ArrayList<PartitionDefContext>();
public List<PartitionDefContext> partitionDef() {
return getRuleContexts(PartitionDefContext.class);
}
public PartitionDefContext partitionDef(int i) {
return getRuleContext(PartitionDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PartitionsDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionsDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionsDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionsDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionsDef(this);
else return visitor.visitChildren(this);
}
}
public final PartitionsDefContext partitionsDef() throws RecognitionException {
PartitionsDefContext _localctx = new PartitionsDefContext(_ctx, getState());
enterRule(_localctx, 602, RULE_partitionsDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7308);
((PartitionsDefContext)_localctx).partitionDef = partitionDef();
((PartitionsDefContext)_localctx).partitions.add(((PartitionsDefContext)_localctx).partitionDef);
setState(7313);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7309);
match(COMMA);
setState(7310);
((PartitionsDefContext)_localctx).partitionDef = partitionDef();
((PartitionsDefContext)_localctx).partitions.add(((PartitionsDefContext)_localctx).partitionDef);
}
}
setState(7315);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionDefContext extends ParserRuleContext {
public PropertyItemListContext partitionProperties;
public LessThanPartitionDefContext lessThanPartitionDef() {
return getRuleContext(LessThanPartitionDefContext.class,0);
}
public FixedPartitionDefContext fixedPartitionDef() {
return getRuleContext(FixedPartitionDefContext.class,0);
}
public StepPartitionDefContext stepPartitionDef() {
return getRuleContext(StepPartitionDefContext.class,0);
}
public InPartitionDefContext inPartitionDef() {
return getRuleContext(InPartitionDefContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PropertyItemListContext propertyItemList() {
return getRuleContext(PropertyItemListContext.class,0);
}
public PartitionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionDef(this);
else return visitor.visitChildren(this);
}
}
public final PartitionDefContext partitionDef() throws RecognitionException {
PartitionDefContext _localctx = new PartitionDefContext(_ctx, getState());
enterRule(_localctx, 604, RULE_partitionDef);
try {
enterOuterAlt(_localctx, 1);
{
setState(7320);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1016,_ctx) ) {
case 1:
{
setState(7316);
lessThanPartitionDef();
}
break;
case 2:
{
setState(7317);
fixedPartitionDef();
}
break;
case 3:
{
setState(7318);
stepPartitionDef();
}
break;
case 4:
{
setState(7319);
inPartitionDef();
}
break;
}
setState(7326);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1017,_ctx) ) {
case 1:
{
setState(7322);
match(LEFT_PAREN);
setState(7323);
((PartitionDefContext)_localctx).partitionProperties = propertyItemList();
setState(7324);
match(RIGHT_PAREN);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LessThanPartitionDefContext extends ParserRuleContext {
public IdentifierContext partitionName;
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode VALUES() { return getToken(PLParser.VALUES, 0); }
public TerminalNode LESS() { return getToken(PLParser.LESS, 0); }
public TerminalNode THAN() { return getToken(PLParser.THAN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode MAXVALUE() { return getToken(PLParser.MAXVALUE, 0); }
public PartitionValueListContext partitionValueList() {
return getRuleContext(PartitionValueListContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public LessThanPartitionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lessThanPartitionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLessThanPartitionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLessThanPartitionDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLessThanPartitionDef(this);
else return visitor.visitChildren(this);
}
}
public final LessThanPartitionDefContext lessThanPartitionDef() throws RecognitionException {
LessThanPartitionDefContext _localctx = new LessThanPartitionDefContext(_ctx, getState());
enterRule(_localctx, 606, RULE_lessThanPartitionDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7328);
match(PARTITION);
setState(7332);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(7329);
match(IF);
setState(7330);
match(NOT);
setState(7331);
match(EXISTS);
}
}
setState(7334);
((LessThanPartitionDefContext)_localctx).partitionName = identifier();
setState(7335);
match(VALUES);
setState(7336);
match(LESS);
setState(7337);
match(THAN);
setState(7340);
_errHandler.sync(this);
switch (_input.LA(1)) {
case MAXVALUE:
{
setState(7338);
match(MAXVALUE);
}
break;
case LEFT_PAREN:
{
setState(7339);
partitionValueList();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FixedPartitionDefContext extends ParserRuleContext {
public IdentifierContext partitionName;
public PartitionValueListContext lower;
public PartitionValueListContext upper;
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public TerminalNode VALUES() { return getToken(PLParser.VALUES, 0); }
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public List<PartitionValueListContext> partitionValueList() {
return getRuleContexts(PartitionValueListContext.class);
}
public PartitionValueListContext partitionValueList(int i) {
return getRuleContext(PartitionValueListContext.class,i);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public FixedPartitionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fixedPartitionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFixedPartitionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFixedPartitionDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFixedPartitionDef(this);
else return visitor.visitChildren(this);
}
}
public final FixedPartitionDefContext fixedPartitionDef() throws RecognitionException {
FixedPartitionDefContext _localctx = new FixedPartitionDefContext(_ctx, getState());
enterRule(_localctx, 608, RULE_fixedPartitionDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7342);
match(PARTITION);
setState(7346);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(7343);
match(IF);
setState(7344);
match(NOT);
setState(7345);
match(EXISTS);
}
}
setState(7348);
((FixedPartitionDefContext)_localctx).partitionName = identifier();
setState(7349);
match(VALUES);
setState(7350);
match(LEFT_BRACKET);
setState(7351);
((FixedPartitionDefContext)_localctx).lower = partitionValueList();
setState(7352);
match(COMMA);
setState(7353);
((FixedPartitionDefContext)_localctx).upper = partitionValueList();
setState(7354);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StepPartitionDefContext extends ParserRuleContext {
public PartitionValueListContext from;
public PartitionValueListContext to;
public Token unitsAmount;
public UnitIdentifierContext unit;
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode TO() { return getToken(PLParser.TO, 0); }
public TerminalNode INTERVAL() { return getToken(PLParser.INTERVAL, 0); }
public List<PartitionValueListContext> partitionValueList() {
return getRuleContexts(PartitionValueListContext.class);
}
public PartitionValueListContext partitionValueList(int i) {
return getRuleContext(PartitionValueListContext.class,i);
}
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public UnitIdentifierContext unitIdentifier() {
return getRuleContext(UnitIdentifierContext.class,0);
}
public StepPartitionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stepPartitionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStepPartitionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStepPartitionDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStepPartitionDef(this);
else return visitor.visitChildren(this);
}
}
public final StepPartitionDefContext stepPartitionDef() throws RecognitionException {
StepPartitionDefContext _localctx = new StepPartitionDefContext(_ctx, getState());
enterRule(_localctx, 610, RULE_stepPartitionDef);
try {
enterOuterAlt(_localctx, 1);
{
setState(7356);
match(FROM);
setState(7357);
((StepPartitionDefContext)_localctx).from = partitionValueList();
setState(7358);
match(TO);
setState(7359);
((StepPartitionDefContext)_localctx).to = partitionValueList();
setState(7360);
match(INTERVAL);
setState(7361);
((StepPartitionDefContext)_localctx).unitsAmount = match(INTEGER_VALUE);
setState(7363);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1021,_ctx) ) {
case 1:
{
setState(7362);
((StepPartitionDefContext)_localctx).unit = unitIdentifier();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class InPartitionDefContext extends ParserRuleContext {
public IdentifierContext partitionName;
public PartitionValueListContext partitionValueList;
public List<PartitionValueListContext> partitionValueLists = new ArrayList<PartitionValueListContext>();
public PartitionValueListContext constants;
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode VALUES() { return getToken(PLParser.VALUES, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public List<PartitionValueListContext> partitionValueList() {
return getRuleContexts(PartitionValueListContext.class);
}
public PartitionValueListContext partitionValueList(int i) {
return getRuleContext(PartitionValueListContext.class,i);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public InPartitionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_inPartitionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInPartitionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInPartitionDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInPartitionDef(this);
else return visitor.visitChildren(this);
}
}
public final InPartitionDefContext inPartitionDef() throws RecognitionException {
InPartitionDefContext _localctx = new InPartitionDefContext(_ctx, getState());
enterRule(_localctx, 612, RULE_inPartitionDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7365);
match(PARTITION);
setState(7369);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(7366);
match(IF);
setState(7367);
match(NOT);
setState(7368);
match(EXISTS);
}
}
setState(7371);
((InPartitionDefContext)_localctx).partitionName = identifier();
setState(7388);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1025,_ctx) ) {
case 1:
{
setState(7372);
match(VALUES);
setState(7373);
match(IN);
setState(7386);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1024,_ctx) ) {
case 1:
{
{
setState(7374);
match(LEFT_PAREN);
setState(7375);
((InPartitionDefContext)_localctx).partitionValueList = partitionValueList();
((InPartitionDefContext)_localctx).partitionValueLists.add(((InPartitionDefContext)_localctx).partitionValueList);
setState(7380);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7376);
match(COMMA);
setState(7377);
((InPartitionDefContext)_localctx).partitionValueList = partitionValueList();
((InPartitionDefContext)_localctx).partitionValueLists.add(((InPartitionDefContext)_localctx).partitionValueList);
}
}
setState(7382);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7383);
match(RIGHT_PAREN);
}
}
break;
case 2:
{
setState(7385);
((InPartitionDefContext)_localctx).constants = partitionValueList();
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionValueListContext extends ParserRuleContext {
public PartitionValueDefContext partitionValueDef;
public List<PartitionValueDefContext> values = new ArrayList<PartitionValueDefContext>();
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<PartitionValueDefContext> partitionValueDef() {
return getRuleContexts(PartitionValueDefContext.class);
}
public PartitionValueDefContext partitionValueDef(int i) {
return getRuleContext(PartitionValueDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PartitionValueListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionValueList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionValueList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionValueList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionValueList(this);
else return visitor.visitChildren(this);
}
}
public final PartitionValueListContext partitionValueList() throws RecognitionException {
PartitionValueListContext _localctx = new PartitionValueListContext(_ctx, getState());
enterRule(_localctx, 614, RULE_partitionValueList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7390);
match(LEFT_PAREN);
setState(7391);
((PartitionValueListContext)_localctx).partitionValueDef = partitionValueDef();
((PartitionValueListContext)_localctx).values.add(((PartitionValueListContext)_localctx).partitionValueDef);
setState(7396);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7392);
match(COMMA);
setState(7393);
((PartitionValueListContext)_localctx).partitionValueDef = partitionValueDef();
((PartitionValueListContext)_localctx).values.add(((PartitionValueListContext)_localctx).partitionValueDef);
}
}
setState(7398);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7399);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PartitionValueDefContext extends ParserRuleContext {
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode MAXVALUE() { return getToken(PLParser.MAXVALUE, 0); }
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public PartitionValueDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionValueDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPartitionValueDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPartitionValueDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPartitionValueDef(this);
else return visitor.visitChildren(this);
}
}
public final PartitionValueDefContext partitionValueDef() throws RecognitionException {
PartitionValueDefContext _localctx = new PartitionValueDefContext(_ctx, getState());
enterRule(_localctx, 616, RULE_partitionValueDef);
int _la;
try {
setState(7408);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SUBTRACT:
case INTEGER_VALUE:
enterOuterAlt(_localctx, 1);
{
setState(7402);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(7401);
match(SUBTRACT);
}
}
setState(7404);
match(INTEGER_VALUE);
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(7405);
match(STRING_LITERAL);
}
break;
case MAXVALUE:
enterOuterAlt(_localctx, 3);
{
setState(7406);
match(MAXVALUE);
}
break;
case NULL:
enterOuterAlt(_localctx, 4);
{
setState(7407);
match(NULL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RollupDefsContext extends ParserRuleContext {
public RollupDefContext rollupDef;
public List<RollupDefContext> rollups = new ArrayList<RollupDefContext>();
public List<RollupDefContext> rollupDef() {
return getRuleContexts(RollupDefContext.class);
}
public RollupDefContext rollupDef(int i) {
return getRuleContext(RollupDefContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public RollupDefsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rollupDefs; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRollupDefs(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRollupDefs(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRollupDefs(this);
else return visitor.visitChildren(this);
}
}
public final RollupDefsContext rollupDefs() throws RecognitionException {
RollupDefsContext _localctx = new RollupDefsContext(_ctx, getState());
enterRule(_localctx, 618, RULE_rollupDefs);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7410);
((RollupDefsContext)_localctx).rollupDef = rollupDef();
((RollupDefsContext)_localctx).rollups.add(((RollupDefsContext)_localctx).rollupDef);
setState(7415);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7411);
match(COMMA);
setState(7412);
((RollupDefsContext)_localctx).rollupDef = rollupDef();
((RollupDefsContext)_localctx).rollups.add(((RollupDefsContext)_localctx).rollupDef);
}
}
setState(7417);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RollupDefContext extends ParserRuleContext {
public IdentifierContext rollupName;
public IdentifierListContext rollupCols;
public IdentifierListContext dupKeys;
public PropertyClauseContext properties;
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public List<IdentifierListContext> identifierList() {
return getRuleContexts(IdentifierListContext.class);
}
public IdentifierListContext identifierList(int i) {
return getRuleContext(IdentifierListContext.class,i);
}
public TerminalNode DUPLICATE() { return getToken(PLParser.DUPLICATE, 0); }
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public PropertyClauseContext propertyClause() {
return getRuleContext(PropertyClauseContext.class,0);
}
public RollupDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rollupDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRollupDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRollupDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRollupDef(this);
else return visitor.visitChildren(this);
}
}
public final RollupDefContext rollupDef() throws RecognitionException {
RollupDefContext _localctx = new RollupDefContext(_ctx, getState());
enterRule(_localctx, 620, RULE_rollupDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7418);
((RollupDefContext)_localctx).rollupName = identifier();
setState(7419);
((RollupDefContext)_localctx).rollupCols = identifierList();
setState(7423);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DUPLICATE) {
{
setState(7420);
match(DUPLICATE);
setState(7421);
match(KEY);
setState(7422);
((RollupDefContext)_localctx).dupKeys = identifierList();
}
}
setState(7426);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PROPERTIES) {
{
setState(7425);
((RollupDefContext)_localctx).properties = propertyClause();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AggTypeDefContext extends ParserRuleContext {
public TerminalNode MAX() { return getToken(PLParser.MAX, 0); }
public TerminalNode MIN() { return getToken(PLParser.MIN, 0); }
public TerminalNode SUM() { return getToken(PLParser.SUM, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode REPLACE_IF_NOT_NULL() { return getToken(PLParser.REPLACE_IF_NOT_NULL, 0); }
public TerminalNode HLL_UNION() { return getToken(PLParser.HLL_UNION, 0); }
public TerminalNode BITMAP_UNION() { return getToken(PLParser.BITMAP_UNION, 0); }
public TerminalNode QUANTILE_UNION() { return getToken(PLParser.QUANTILE_UNION, 0); }
public TerminalNode GENERIC() { return getToken(PLParser.GENERIC, 0); }
public AggTypeDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_aggTypeDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAggTypeDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAggTypeDef(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAggTypeDef(this);
else return visitor.visitChildren(this);
}
}
public final AggTypeDefContext aggTypeDef() throws RecognitionException {
AggTypeDefContext _localctx = new AggTypeDefContext(_ctx, getState());
enterRule(_localctx, 622, RULE_aggTypeDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7428);
_la = _input.LA(1);
if ( !(_la==BITMAP_UNION || _la==GENERIC || _la==HLL_UNION || _la==MAX || _la==MIN || ((((_la - 536)) & ~0x3f) == 0 && ((1L << (_la - 536)) & 3145729L) != 0) || _la==SUM) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TabletListContext extends ParserRuleContext {
public Token INTEGER_VALUE;
public List<Token> tabletIdList = new ArrayList<Token>();
public TerminalNode TABLET() { return getToken(PLParser.TABLET, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TabletListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tabletList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTabletList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTabletList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTabletList(this);
else return visitor.visitChildren(this);
}
}
public final TabletListContext tabletList() throws RecognitionException {
TabletListContext _localctx = new TabletListContext(_ctx, getState());
enterRule(_localctx, 624, RULE_tabletList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7430);
match(TABLET);
setState(7431);
match(LEFT_PAREN);
setState(7432);
((TabletListContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((TabletListContext)_localctx).tabletIdList.add(((TabletListContext)_localctx).INTEGER_VALUE);
setState(7437);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7433);
match(COMMA);
setState(7434);
((TabletListContext)_localctx).INTEGER_VALUE = match(INTEGER_VALUE);
((TabletListContext)_localctx).tabletIdList.add(((TabletListContext)_localctx).INTEGER_VALUE);
}
}
setState(7439);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7440);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class InlineTableContext extends ParserRuleContext {
public TerminalNode VALUES() { return getToken(PLParser.VALUES, 0); }
public List<RowConstructorContext> rowConstructor() {
return getRuleContexts(RowConstructorContext.class);
}
public RowConstructorContext rowConstructor(int i) {
return getRuleContext(RowConstructorContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public InlineTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_inlineTable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInlineTable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInlineTable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInlineTable(this);
else return visitor.visitChildren(this);
}
}
public final InlineTableContext inlineTable() throws RecognitionException {
InlineTableContext _localctx = new InlineTableContext(_ctx, getState());
enterRule(_localctx, 626, RULE_inlineTable);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7442);
match(VALUES);
setState(7443);
rowConstructor();
setState(7448);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1033,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7444);
match(COMMA);
setState(7445);
rowConstructor();
}
}
}
setState(7450);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1033,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NamedExpressionContext extends ParserRuleContext {
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public NamedExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_namedExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNamedExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNamedExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNamedExpression(this);
else return visitor.visitChildren(this);
}
}
public final NamedExpressionContext namedExpression() throws RecognitionException {
NamedExpressionContext _localctx = new NamedExpressionContext(_ctx, getState());
enterRule(_localctx, 628, RULE_namedExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7451);
expression();
setState(7456);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1035,_ctx) ) {
case 1:
{
setState(7453);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(7452);
match(AS);
}
}
{
setState(7455);
identifierOrText();
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NamedExpressionSeqContext extends ParserRuleContext {
public List<NamedExpressionContext> namedExpression() {
return getRuleContexts(NamedExpressionContext.class);
}
public NamedExpressionContext namedExpression(int i) {
return getRuleContext(NamedExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public NamedExpressionSeqContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_namedExpressionSeq; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNamedExpressionSeq(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNamedExpressionSeq(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNamedExpressionSeq(this);
else return visitor.visitChildren(this);
}
}
public final NamedExpressionSeqContext namedExpressionSeq() throws RecognitionException {
NamedExpressionSeqContext _localctx = new NamedExpressionSeqContext(_ctx, getState());
enterRule(_localctx, 630, RULE_namedExpressionSeq);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7458);
namedExpression();
setState(7463);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1036,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7459);
match(COMMA);
setState(7460);
namedExpression();
}
}
}
setState(7465);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1036,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExpressionContext extends ParserRuleContext {
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public LambdaExpressionContext lambdaExpression() {
return getRuleContext(LambdaExpressionContext.class,0);
}
public ExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExpression(this);
else return visitor.visitChildren(this);
}
}
public final ExpressionContext expression() throws RecognitionException {
ExpressionContext _localctx = new ExpressionContext(_ctx, getState());
enterRule(_localctx, 632, RULE_expression);
try {
setState(7468);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1037,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7466);
booleanExpression(0);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7467);
lambdaExpression();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LambdaExpressionContext extends ParserRuleContext {
public ErrorCapturingIdentifierContext errorCapturingIdentifier;
public List<ErrorCapturingIdentifierContext> args = new ArrayList<ErrorCapturingIdentifierContext>();
public BooleanExpressionContext body;
public TerminalNode ARROW() { return getToken(PLParser.ARROW, 0); }
public List<ErrorCapturingIdentifierContext> errorCapturingIdentifier() {
return getRuleContexts(ErrorCapturingIdentifierContext.class);
}
public ErrorCapturingIdentifierContext errorCapturingIdentifier(int i) {
return getRuleContext(ErrorCapturingIdentifierContext.class,i);
}
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public LambdaExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lambdaExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLambdaExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLambdaExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLambdaExpression(this);
else return visitor.visitChildren(this);
}
}
public final LambdaExpressionContext lambdaExpression() throws RecognitionException {
LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState());
enterRule(_localctx, 634, RULE_lambdaExpression);
int _la;
try {
setState(7486);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(7470);
((LambdaExpressionContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((LambdaExpressionContext)_localctx).args.add(((LambdaExpressionContext)_localctx).errorCapturingIdentifier);
setState(7471);
match(ARROW);
setState(7472);
((LambdaExpressionContext)_localctx).body = booleanExpression(0);
}
break;
case LEFT_PAREN:
enterOuterAlt(_localctx, 2);
{
setState(7474);
match(LEFT_PAREN);
setState(7475);
((LambdaExpressionContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((LambdaExpressionContext)_localctx).args.add(((LambdaExpressionContext)_localctx).errorCapturingIdentifier);
setState(7478);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(7476);
match(COMMA);
setState(7477);
((LambdaExpressionContext)_localctx).errorCapturingIdentifier = errorCapturingIdentifier();
((LambdaExpressionContext)_localctx).args.add(((LambdaExpressionContext)_localctx).errorCapturingIdentifier);
}
}
setState(7480);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==COMMA );
setState(7482);
match(RIGHT_PAREN);
setState(7483);
match(ARROW);
setState(7484);
((LambdaExpressionContext)_localctx).body = booleanExpression(0);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BooleanExpressionContext extends ParserRuleContext {
public BooleanExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_booleanExpression; }
public BooleanExpressionContext() { }
public void copyFrom(BooleanExpressionContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ExistContext extends BooleanExpressionContext {
public TerminalNode EXISTS() { return getToken(PLParser.EXISTS, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ExistContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExist(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExist(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LogicalNotContext extends BooleanExpressionContext {
public TerminalNode LOGICALNOT() { return getToken(PLParser.LOGICALNOT, 0); }
public BooleanExpressionContext booleanExpression() {
return getRuleContext(BooleanExpressionContext.class,0);
}
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public LogicalNotContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLogicalNot(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLogicalNot(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLogicalNot(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PredicatedContext extends BooleanExpressionContext {
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public PredicateContext predicate() {
return getRuleContext(PredicateContext.class,0);
}
public PredicatedContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPredicated(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPredicated(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPredicated(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class IsnullContext extends BooleanExpressionContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode ISNULL() { return getToken(PLParser.ISNULL, 0); }
public TerminalNode IS_NULL_PRED() { return getToken(PLParser.IS_NULL_PRED, 0); }
public IsnullContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIsnull(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIsnull(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIsnull(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Is_not_null_predContext extends BooleanExpressionContext {
public TerminalNode IS_NOT_NULL_PRED() { return getToken(PLParser.IS_NOT_NULL_PRED, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public Is_not_null_predContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIs_not_null_pred(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIs_not_null_pred(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIs_not_null_pred(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LogicalBinaryContext extends BooleanExpressionContext {
public BooleanExpressionContext left;
public Token operator;
public BooleanExpressionContext right;
public List<BooleanExpressionContext> booleanExpression() {
return getRuleContexts(BooleanExpressionContext.class);
}
public BooleanExpressionContext booleanExpression(int i) {
return getRuleContext(BooleanExpressionContext.class,i);
}
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public TerminalNode LOGICALAND() { return getToken(PLParser.LOGICALAND, 0); }
public TerminalNode XOR() { return getToken(PLParser.XOR, 0); }
public TerminalNode OR() { return getToken(PLParser.OR, 0); }
public LogicalBinaryContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLogicalBinary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLogicalBinary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLogicalBinary(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DoublePipesContext extends BooleanExpressionContext {
public BooleanExpressionContext left;
public Token operator;
public BooleanExpressionContext right;
public List<BooleanExpressionContext> booleanExpression() {
return getRuleContexts(BooleanExpressionContext.class);
}
public BooleanExpressionContext booleanExpression(int i) {
return getRuleContext(BooleanExpressionContext.class,i);
}
public TerminalNode DOUBLEPIPES() { return getToken(PLParser.DOUBLEPIPES, 0); }
public DoublePipesContext(BooleanExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDoublePipes(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDoublePipes(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDoublePipes(this);
else return visitor.visitChildren(this);
}
}
public final BooleanExpressionContext booleanExpression() throws RecognitionException {
return booleanExpression(0);
}
private BooleanExpressionContext booleanExpression(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
BooleanExpressionContext _localctx = new BooleanExpressionContext(_ctx, _parentState);
BooleanExpressionContext _prevctx = _localctx;
int _startState = 636;
enterRecursionRule(_localctx, 636, RULE_booleanExpression, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7512);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1041,_ctx) ) {
case 1:
{
_localctx = new LogicalNotContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7489);
match(LOGICALNOT);
setState(7490);
booleanExpression(10);
}
break;
case 2:
{
_localctx = new ExistContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7491);
match(EXISTS);
setState(7492);
match(LEFT_PAREN);
setState(7493);
query();
setState(7494);
match(RIGHT_PAREN);
}
break;
case 3:
{
_localctx = new IsnullContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7496);
_la = _input.LA(1);
if ( !(_la==IS_NULL_PRED || _la==ISNULL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7497);
match(LEFT_PAREN);
setState(7498);
valueExpression(0);
setState(7499);
match(RIGHT_PAREN);
}
break;
case 4:
{
_localctx = new Is_not_null_predContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7501);
match(IS_NOT_NULL_PRED);
setState(7502);
match(LEFT_PAREN);
setState(7503);
valueExpression(0);
setState(7504);
match(RIGHT_PAREN);
}
break;
case 5:
{
_localctx = new PredicatedContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7506);
valueExpression(0);
setState(7508);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1040,_ctx) ) {
case 1:
{
setState(7507);
predicate();
}
break;
}
}
break;
case 6:
{
_localctx = new LogicalNotContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7510);
match(NOT);
setState(7511);
booleanExpression(5);
}
break;
}
_ctx.stop = _input.LT(-1);
setState(7528);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1043,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(7526);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1042,_ctx) ) {
case 1:
{
_localctx = new LogicalBinaryContext(new BooleanExpressionContext(_parentctx, _parentState));
((LogicalBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_booleanExpression);
setState(7514);
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
setState(7515);
((LogicalBinaryContext)_localctx).operator = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==AND || _la==LOGICALAND) ) {
((LogicalBinaryContext)_localctx).operator = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7516);
((LogicalBinaryContext)_localctx).right = booleanExpression(5);
}
break;
case 2:
{
_localctx = new LogicalBinaryContext(new BooleanExpressionContext(_parentctx, _parentState));
((LogicalBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_booleanExpression);
setState(7517);
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
setState(7518);
((LogicalBinaryContext)_localctx).operator = match(XOR);
setState(7519);
((LogicalBinaryContext)_localctx).right = booleanExpression(4);
}
break;
case 3:
{
_localctx = new LogicalBinaryContext(new BooleanExpressionContext(_parentctx, _parentState));
((LogicalBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_booleanExpression);
setState(7520);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(7521);
((LogicalBinaryContext)_localctx).operator = match(OR);
setState(7522);
((LogicalBinaryContext)_localctx).right = booleanExpression(3);
}
break;
case 4:
{
_localctx = new DoublePipesContext(new BooleanExpressionContext(_parentctx, _parentState));
((DoublePipesContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_booleanExpression);
setState(7523);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(7524);
((DoublePipesContext)_localctx).operator = match(DOUBLEPIPES);
setState(7525);
((DoublePipesContext)_localctx).right = booleanExpression(2);
}
break;
}
}
}
setState(7530);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1043,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RowConstructorContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<RowConstructorItemContext> rowConstructorItem() {
return getRuleContexts(RowConstructorItemContext.class);
}
public RowConstructorItemContext rowConstructorItem(int i) {
return getRuleContext(RowConstructorItemContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public RowConstructorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rowConstructor; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRowConstructor(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRowConstructor(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRowConstructor(this);
else return visitor.visitChildren(this);
}
}
public final RowConstructorContext rowConstructor() throws RecognitionException {
RowConstructorContext _localctx = new RowConstructorContext(_ctx, getState());
enterRule(_localctx, 638, RULE_rowConstructor);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7531);
match(LEFT_PAREN);
setState(7540);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3314578467240009151L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234271025L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(7532);
rowConstructorItem();
setState(7537);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7533);
match(COMMA);
setState(7534);
rowConstructorItem();
}
}
setState(7539);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(7542);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RowConstructorItemContext extends ParserRuleContext {
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public NamedExpressionContext namedExpression() {
return getRuleContext(NamedExpressionContext.class,0);
}
public RowConstructorItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rowConstructorItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRowConstructorItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRowConstructorItem(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRowConstructorItem(this);
else return visitor.visitChildren(this);
}
}
public final RowConstructorItemContext rowConstructorItem() throws RecognitionException {
RowConstructorItemContext _localctx = new RowConstructorItemContext(_ctx, getState());
enterRule(_localctx, 640, RULE_rowConstructorItem);
try {
setState(7547);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1046,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7544);
constant();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7545);
match(DEFAULT);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(7546);
namedExpression();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PredicateContext extends ParserRuleContext {
public Token kind;
public ValueExpressionContext lower;
public ValueExpressionContext upper;
public ValueExpressionContext pattern;
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public TerminalNode BETWEEN() { return getToken(PLParser.BETWEEN, 0); }
public List<ValueExpressionContext> valueExpression() {
return getRuleContexts(ValueExpressionContext.class);
}
public ValueExpressionContext valueExpression(int i) {
return getRuleContext(ValueExpressionContext.class,i);
}
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode REGEXP() { return getToken(PLParser.REGEXP, 0); }
public TerminalNode RLIKE() { return getToken(PLParser.RLIKE, 0); }
public TerminalNode MATCH() { return getToken(PLParser.MATCH, 0); }
public TerminalNode MATCH_ANY() { return getToken(PLParser.MATCH_ANY, 0); }
public TerminalNode MATCH_ALL() { return getToken(PLParser.MATCH_ALL, 0); }
public TerminalNode MATCH_PHRASE() { return getToken(PLParser.MATCH_PHRASE, 0); }
public TerminalNode MATCH_PHRASE_PREFIX() { return getToken(PLParser.MATCH_PHRASE_PREFIX, 0); }
public TerminalNode MATCH_REGEXP() { return getToken(PLParser.MATCH_REGEXP, 0); }
public TerminalNode MATCH_PHRASE_EDGE() { return getToken(PLParser.MATCH_PHRASE_EDGE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode IN() { return getToken(PLParser.IN, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode IS() { return getToken(PLParser.IS, 0); }
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public TerminalNode TRUE() { return getToken(PLParser.TRUE, 0); }
public TerminalNode FALSE() { return getToken(PLParser.FALSE, 0); }
public PredicateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_predicate; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPredicate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPredicate(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPredicate(this);
else return visitor.visitChildren(this);
}
}
public final PredicateContext predicate() throws RecognitionException {
PredicateContext _localctx = new PredicateContext(_ctx, getState());
enterRule(_localctx, 642, RULE_predicate);
int _la;
try {
setState(7600);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1055,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7550);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7549);
match(NOT);
}
}
setState(7552);
((PredicateContext)_localctx).kind = match(BETWEEN);
setState(7553);
((PredicateContext)_localctx).lower = valueExpression(0);
setState(7554);
match(AND);
setState(7555);
((PredicateContext)_localctx).upper = valueExpression(0);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7558);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7557);
match(NOT);
}
}
setState(7560);
((PredicateContext)_localctx).kind = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==LIKE || _la==REGEXP || _la==RLIKE) ) {
((PredicateContext)_localctx).kind = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7561);
((PredicateContext)_localctx).pattern = valueExpression(0);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(7563);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7562);
match(NOT);
}
}
setState(7565);
((PredicateContext)_localctx).kind = _input.LT(1);
_la = _input.LA(1);
if ( !(((((_la - 456)) & ~0x3f) == 0 && ((1L << (_la - 456)) & 127L) != 0)) ) {
((PredicateContext)_localctx).kind = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7566);
((PredicateContext)_localctx).pattern = valueExpression(0);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(7568);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7567);
match(NOT);
}
}
setState(7570);
((PredicateContext)_localctx).kind = match(IN);
setState(7571);
match(LEFT_PAREN);
setState(7572);
query();
setState(7573);
match(RIGHT_PAREN);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(7576);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7575);
match(NOT);
}
}
setState(7578);
((PredicateContext)_localctx).kind = match(IN);
setState(7579);
match(LEFT_PAREN);
setState(7580);
expression();
setState(7585);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7581);
match(COMMA);
setState(7582);
expression();
}
}
setState(7587);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7588);
match(RIGHT_PAREN);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(7590);
match(IS);
setState(7592);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7591);
match(NOT);
}
}
setState(7594);
((PredicateContext)_localctx).kind = match(NULL);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(7595);
match(IS);
setState(7597);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7596);
match(NOT);
}
}
setState(7599);
((PredicateContext)_localctx).kind = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==FALSE || _la==TRUE) ) {
((PredicateContext)_localctx).kind = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ValueExpressionContext extends ParserRuleContext {
public ValueExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_valueExpression; }
public ValueExpressionContext() { }
public void copyFrom(ValueExpressionContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ValueExpressionDefaultContext extends ValueExpressionContext {
public PrimaryExpressionContext primaryExpression() {
return getRuleContext(PrimaryExpressionContext.class,0);
}
public ValueExpressionDefaultContext(ValueExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterValueExpressionDefault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitValueExpressionDefault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitValueExpressionDefault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ComparisonContext extends ValueExpressionContext {
public ValueExpressionContext left;
public ValueExpressionContext right;
public ComparisonOperatorContext comparisonOperator() {
return getRuleContext(ComparisonOperatorContext.class,0);
}
public List<ValueExpressionContext> valueExpression() {
return getRuleContexts(ValueExpressionContext.class);
}
public ValueExpressionContext valueExpression(int i) {
return getRuleContext(ValueExpressionContext.class,i);
}
public ComparisonContext(ValueExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterComparison(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitComparison(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitComparison(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ArithmeticBinaryContext extends ValueExpressionContext {
public ValueExpressionContext left;
public Token operator;
public ValueExpressionContext right;
public List<ValueExpressionContext> valueExpression() {
return getRuleContexts(ValueExpressionContext.class);
}
public ValueExpressionContext valueExpression(int i) {
return getRuleContext(ValueExpressionContext.class,i);
}
public TerminalNode HAT() { return getToken(PLParser.HAT, 0); }
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public TerminalNode SLASH() { return getToken(PLParser.SLASH, 0); }
public TerminalNode MOD() { return getToken(PLParser.MOD, 0); }
public TerminalNode DIV() { return getToken(PLParser.DIV, 0); }
public TerminalNode PLUS() { return getToken(PLParser.PLUS, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public TerminalNode AMPERSAND() { return getToken(PLParser.AMPERSAND, 0); }
public TerminalNode PIPE() { return getToken(PLParser.PIPE, 0); }
public ArithmeticBinaryContext(ValueExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterArithmeticBinary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitArithmeticBinary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitArithmeticBinary(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ArithmeticUnaryContext extends ValueExpressionContext {
public Token operator;
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public TerminalNode PLUS() { return getToken(PLParser.PLUS, 0); }
public TerminalNode TILDE() { return getToken(PLParser.TILDE, 0); }
public ArithmeticUnaryContext(ValueExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterArithmeticUnary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitArithmeticUnary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitArithmeticUnary(this);
else return visitor.visitChildren(this);
}
}
public final ValueExpressionContext valueExpression() throws RecognitionException {
return valueExpression(0);
}
private ValueExpressionContext valueExpression(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
ValueExpressionContext _localctx = new ValueExpressionContext(_ctx, _parentState);
ValueExpressionContext _prevctx = _localctx;
int _startState = 644;
enterRecursionRule(_localctx, 644, RULE_valueExpression, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7606);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1056,_ctx) ) {
case 1:
{
_localctx = new ValueExpressionDefaultContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7603);
primaryExpression(0);
}
break;
case 2:
{
_localctx = new ArithmeticUnaryContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7604);
((ArithmeticUnaryContext)_localctx).operator = _input.LT(1);
_la = _input.LA(1);
if ( !(((((_la - 691)) & ~0x3f) == 0 && ((1L << (_la - 691)) & 35L) != 0)) ) {
((ArithmeticUnaryContext)_localctx).operator = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7605);
valueExpression(7);
}
break;
}
_ctx.stop = _input.LT(-1);
setState(7629);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1058,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(7627);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1057,_ctx) ) {
case 1:
{
_localctx = new ArithmeticBinaryContext(new ValueExpressionContext(_parentctx, _parentState));
((ArithmeticBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7608);
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
setState(7609);
((ArithmeticBinaryContext)_localctx).operator = match(HAT);
setState(7610);
((ArithmeticBinaryContext)_localctx).right = valueExpression(7);
}
break;
case 2:
{
_localctx = new ArithmeticBinaryContext(new ValueExpressionContext(_parentctx, _parentState));
((ArithmeticBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7611);
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
setState(7612);
((ArithmeticBinaryContext)_localctx).operator = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DIV || ((((_la - 693)) & ~0x3f) == 0 && ((1L << (_la - 693)) & 7L) != 0)) ) {
((ArithmeticBinaryContext)_localctx).operator = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7613);
((ArithmeticBinaryContext)_localctx).right = valueExpression(6);
}
break;
case 3:
{
_localctx = new ArithmeticBinaryContext(new ValueExpressionContext(_parentctx, _parentState));
((ArithmeticBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7614);
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
setState(7615);
((ArithmeticBinaryContext)_localctx).operator = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==SUBTRACT) ) {
((ArithmeticBinaryContext)_localctx).operator = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7616);
((ArithmeticBinaryContext)_localctx).right = valueExpression(5);
}
break;
case 4:
{
_localctx = new ArithmeticBinaryContext(new ValueExpressionContext(_parentctx, _parentState));
((ArithmeticBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7617);
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
setState(7618);
((ArithmeticBinaryContext)_localctx).operator = match(AMPERSAND);
setState(7619);
((ArithmeticBinaryContext)_localctx).right = valueExpression(4);
}
break;
case 5:
{
_localctx = new ArithmeticBinaryContext(new ValueExpressionContext(_parentctx, _parentState));
((ArithmeticBinaryContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7620);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(7621);
((ArithmeticBinaryContext)_localctx).operator = match(PIPE);
setState(7622);
((ArithmeticBinaryContext)_localctx).right = valueExpression(3);
}
break;
case 6:
{
_localctx = new ComparisonContext(new ValueExpressionContext(_parentctx, _parentState));
((ComparisonContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_valueExpression);
setState(7623);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(7624);
comparisonOperator();
setState(7625);
((ComparisonContext)_localctx).right = valueExpression(2);
}
break;
}
}
}
setState(7631);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1058,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrimaryExpressionContext extends ParserRuleContext {
public PrimaryExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_primaryExpression; }
public PrimaryExpressionContext() { }
public void copyFrom(PrimaryExpressionContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DereferenceContext extends PrimaryExpressionContext {
public PrimaryExpressionContext base;
public IdentifierContext fieldName;
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public PrimaryExpressionContext primaryExpression() {
return getRuleContext(PrimaryExpressionContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public DereferenceContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDereference(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDereference(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDereference(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CurrentDateContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode CURRENT_DATE() { return getToken(PLParser.CURRENT_DATE, 0); }
public CurrentDateContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCurrentDate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCurrentDate(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCurrentDate(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CastContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public CastDataTypeContext castDataType() {
return getRuleContext(CastDataTypeContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode CAST() { return getToken(PLParser.CAST, 0); }
public CastContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCast(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCast(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCast(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ParenthesizedExpressionContext extends PrimaryExpressionContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ParenthesizedExpressionContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterParenthesizedExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitParenthesizedExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitParenthesizedExpression(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UserVariableContext extends PrimaryExpressionContext {
public TerminalNode ATSIGN() { return getToken(PLParser.ATSIGN, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public UserVariableContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUserVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUserVariable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUserVariable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ElementAtContext extends PrimaryExpressionContext {
public PrimaryExpressionContext value;
public ValueExpressionContext index;
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public PrimaryExpressionContext primaryExpression() {
return getRuleContext(PrimaryExpressionContext.class,0);
}
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public ElementAtContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterElementAt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitElementAt(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitElementAt(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LocalTimestampContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode LOCALTIMESTAMP() { return getToken(PLParser.LOCALTIMESTAMP, 0); }
public LocalTimestampContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLocalTimestamp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLocalTimestamp(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLocalTimestamp(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CharFunctionContext extends PrimaryExpressionContext {
public ExpressionContext expression;
public List<ExpressionContext> arguments = new ArrayList<ExpressionContext>();
public IdentifierOrTextContext charSet;
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public CharFunctionContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCharFunction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCharFunction(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCharFunction(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class IntervalLiteralContext extends PrimaryExpressionContext {
public IntervalContext interval() {
return getRuleContext(IntervalContext.class,0);
}
public IntervalLiteralContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIntervalLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIntervalLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIntervalLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SimpleCaseContext extends PrimaryExpressionContext {
public ExpressionContext value;
public ExpressionContext elseExpression;
public TerminalNode CASE() { return getToken(PLParser.CASE, 0); }
public TerminalNode END() { return getToken(PLParser.END, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<WhenClauseContext> whenClause() {
return getRuleContexts(WhenClauseContext.class);
}
public WhenClauseContext whenClause(int i) {
return getRuleContext(WhenClauseContext.class,i);
}
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public SimpleCaseContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSimpleCase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSimpleCase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSimpleCase(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ColumnReferenceContext extends PrimaryExpressionContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode BINARY() { return getToken(PLParser.BINARY, 0); }
public ColumnReferenceContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterColumnReference(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitColumnReference(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitColumnReference(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StarContext extends PrimaryExpressionContext {
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public List<ExceptOrReplaceContext> exceptOrReplace() {
return getRuleContexts(ExceptOrReplaceContext.class);
}
public ExceptOrReplaceContext exceptOrReplace(int i) {
return getRuleContext(ExceptOrReplaceContext.class,i);
}
public QualifiedNameContext qualifiedName() {
return getRuleContext(QualifiedNameContext.class,0);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public StarContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStar(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStar(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStar(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SessionUserContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode SESSION_USER() { return getToken(PLParser.SESSION_USER, 0); }
public SessionUserContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSessionUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSessionUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSessionUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ConvertTypeContext extends PrimaryExpressionContext {
public ExpressionContext argument;
public TerminalNode CONVERT() { return getToken(PLParser.CONVERT, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public CastDataTypeContext castDataType() {
return getRuleContext(CastDataTypeContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public ConvertTypeContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterConvertType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitConvertType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitConvertType(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ConvertCharSetContext extends PrimaryExpressionContext {
public ExpressionContext argument;
public IdentifierOrTextContext charSet;
public TerminalNode CONVERT() { return getToken(PLParser.CONVERT, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode USING() { return getToken(PLParser.USING, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public IdentifierOrTextContext identifierOrText() {
return getRuleContext(IdentifierOrTextContext.class,0);
}
public ConvertCharSetContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterConvertCharSet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitConvertCharSet(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitConvertCharSet(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SubqueryExpressionContext extends PrimaryExpressionContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public QueryContext query() {
return getRuleContext(QueryContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public SubqueryExpressionContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSubqueryExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSubqueryExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSubqueryExpression(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class EncryptKeyContext extends PrimaryExpressionContext {
public IdentifierContext dbName;
public IdentifierContext keyName;
public TerminalNode KEY() { return getToken(PLParser.KEY, 0); }
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public EncryptKeyContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterEncryptKey(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitEncryptKey(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitEncryptKey(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CurrentTimeContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode CURRENT_TIME() { return getToken(PLParser.CURRENT_TIME, 0); }
public CurrentTimeContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCurrentTime(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCurrentTime(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCurrentTime(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class LocalTimeContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode LOCALTIME() { return getToken(PLParser.LOCALTIME, 0); }
public LocalTimeContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterLocalTime(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitLocalTime(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitLocalTime(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SystemVariableContext extends PrimaryExpressionContext {
public Token kind;
public TerminalNode DOUBLEATSIGN() { return getToken(PLParser.DOUBLEATSIGN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public TerminalNode GLOBAL() { return getToken(PLParser.GLOBAL, 0); }
public TerminalNode SESSION() { return getToken(PLParser.SESSION, 0); }
public SystemVariableContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSystemVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSystemVariable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSystemVariable(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CollateContext extends PrimaryExpressionContext {
public PrimaryExpressionContext primaryExpression() {
return getRuleContext(PrimaryExpressionContext.class,0);
}
public TerminalNode COLLATE() { return getToken(PLParser.COLLATE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode DEFAULT() { return getToken(PLParser.DEFAULT, 0); }
public CollateContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCollate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCollate(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCollate(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CurrentUserContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode CURRENT_USER() { return getToken(PLParser.CURRENT_USER, 0); }
public CurrentUserContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCurrentUser(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCurrentUser(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCurrentUser(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ConstantDefaultContext extends PrimaryExpressionContext {
public ConstantContext constant() {
return getRuleContext(ConstantContext.class,0);
}
public ConstantDefaultContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterConstantDefault(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitConstantDefault(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitConstantDefault(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ExtractContext extends PrimaryExpressionContext {
public IdentifierContext field;
public ValueExpressionContext source;
public TerminalNode EXTRACT() { return getToken(PLParser.EXTRACT, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode FROM() { return getToken(PLParser.FROM, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ValueExpressionContext valueExpression() {
return getRuleContext(ValueExpressionContext.class,0);
}
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public ExtractContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExtract(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExtract(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExtract(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class CurrentTimestampContext extends PrimaryExpressionContext {
public Token name;
public TerminalNode CURRENT_TIMESTAMP() { return getToken(PLParser.CURRENT_TIMESTAMP, 0); }
public CurrentTimestampContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCurrentTimestamp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCurrentTimestamp(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCurrentTimestamp(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class FunctionCallContext extends PrimaryExpressionContext {
public FunctionCallExpressionContext functionCallExpression() {
return getRuleContext(FunctionCallExpressionContext.class,0);
}
public FunctionCallContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunctionCall(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunctionCall(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunctionCall(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ArraySliceContext extends PrimaryExpressionContext {
public PrimaryExpressionContext value;
public ValueExpressionContext begin;
public ValueExpressionContext end;
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public PrimaryExpressionContext primaryExpression() {
return getRuleContext(PrimaryExpressionContext.class,0);
}
public List<ValueExpressionContext> valueExpression() {
return getRuleContexts(ValueExpressionContext.class);
}
public ValueExpressionContext valueExpression(int i) {
return getRuleContext(ValueExpressionContext.class,i);
}
public ArraySliceContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterArraySlice(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitArraySlice(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitArraySlice(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SearchedCaseContext extends PrimaryExpressionContext {
public ExpressionContext elseExpression;
public TerminalNode CASE() { return getToken(PLParser.CASE, 0); }
public TerminalNode END() { return getToken(PLParser.END, 0); }
public List<WhenClauseContext> whenClause() {
return getRuleContexts(WhenClauseContext.class);
}
public WhenClauseContext whenClause(int i) {
return getRuleContext(WhenClauseContext.class,i);
}
public TerminalNode ELSE() { return getToken(PLParser.ELSE, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public SearchedCaseContext(PrimaryExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSearchedCase(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSearchedCase(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSearchedCase(this);
else return visitor.visitChildren(this);
}
}
public final PrimaryExpressionContext primaryExpression() throws RecognitionException {
return primaryExpression(0);
}
private PrimaryExpressionContext primaryExpression(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
PrimaryExpressionContext _localctx = new PrimaryExpressionContext(_ctx, _parentState);
PrimaryExpressionContext _prevctx = _localctx;
int _startState = 646;
enterRecursionRule(_localctx, 646, RULE_primaryExpression, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7758);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1071,_ctx) ) {
case 1:
{
_localctx = new CurrentDateContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7633);
((CurrentDateContext)_localctx).name = match(CURRENT_DATE);
}
break;
case 2:
{
_localctx = new CurrentTimeContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7634);
((CurrentTimeContext)_localctx).name = match(CURRENT_TIME);
}
break;
case 3:
{
_localctx = new CurrentTimestampContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7635);
((CurrentTimestampContext)_localctx).name = match(CURRENT_TIMESTAMP);
}
break;
case 4:
{
_localctx = new LocalTimeContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7636);
((LocalTimeContext)_localctx).name = match(LOCALTIME);
}
break;
case 5:
{
_localctx = new LocalTimestampContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7637);
((LocalTimestampContext)_localctx).name = match(LOCALTIMESTAMP);
}
break;
case 6:
{
_localctx = new CurrentUserContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7638);
((CurrentUserContext)_localctx).name = match(CURRENT_USER);
}
break;
case 7:
{
_localctx = new SessionUserContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7639);
((SessionUserContext)_localctx).name = match(SESSION_USER);
}
break;
case 8:
{
_localctx = new SearchedCaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7640);
match(CASE);
setState(7642);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(7641);
whenClause();
}
}
setState(7644);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WHEN );
setState(7648);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(7646);
match(ELSE);
setState(7647);
((SearchedCaseContext)_localctx).elseExpression = expression();
}
}
setState(7650);
match(END);
}
break;
case 9:
{
_localctx = new SimpleCaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7652);
match(CASE);
setState(7653);
((SimpleCaseContext)_localctx).value = expression();
setState(7655);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(7654);
whenClause();
}
}
setState(7657);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WHEN );
setState(7661);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(7659);
match(ELSE);
setState(7660);
((SimpleCaseContext)_localctx).elseExpression = expression();
}
}
setState(7663);
match(END);
}
break;
case 10:
{
_localctx = new CastContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7665);
((CastContext)_localctx).name = match(CAST);
setState(7666);
match(LEFT_PAREN);
setState(7667);
expression();
setState(7668);
match(AS);
setState(7669);
castDataType();
setState(7670);
match(RIGHT_PAREN);
}
break;
case 11:
{
_localctx = new ConstantDefaultContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7672);
constant();
}
break;
case 12:
{
_localctx = new IntervalLiteralContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7673);
interval();
}
break;
case 13:
{
_localctx = new StarContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7674);
match(ASTERISK);
setState(7678);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1063,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7675);
exceptOrReplace();
}
}
}
setState(7680);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1063,_ctx);
}
}
break;
case 14:
{
_localctx = new StarContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7681);
qualifiedName();
setState(7682);
match(DOT);
setState(7683);
match(ASTERISK);
setState(7687);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1064,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7684);
exceptOrReplace();
}
}
}
setState(7689);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1064,_ctx);
}
}
break;
case 15:
{
_localctx = new CharFunctionContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7690);
match(CHAR);
setState(7691);
match(LEFT_PAREN);
setState(7692);
((CharFunctionContext)_localctx).expression = expression();
((CharFunctionContext)_localctx).arguments.add(((CharFunctionContext)_localctx).expression);
setState(7697);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7693);
match(COMMA);
setState(7694);
((CharFunctionContext)_localctx).expression = expression();
((CharFunctionContext)_localctx).arguments.add(((CharFunctionContext)_localctx).expression);
}
}
setState(7699);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7702);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==USING) {
{
setState(7700);
match(USING);
setState(7701);
((CharFunctionContext)_localctx).charSet = identifierOrText();
}
}
setState(7704);
match(RIGHT_PAREN);
}
break;
case 16:
{
_localctx = new ConvertCharSetContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7706);
match(CONVERT);
setState(7707);
match(LEFT_PAREN);
setState(7708);
((ConvertCharSetContext)_localctx).argument = expression();
setState(7709);
match(USING);
setState(7710);
((ConvertCharSetContext)_localctx).charSet = identifierOrText();
setState(7711);
match(RIGHT_PAREN);
}
break;
case 17:
{
_localctx = new ConvertTypeContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7713);
match(CONVERT);
setState(7714);
match(LEFT_PAREN);
setState(7715);
((ConvertTypeContext)_localctx).argument = expression();
setState(7716);
match(COMMA);
setState(7717);
castDataType();
setState(7718);
match(RIGHT_PAREN);
}
break;
case 18:
{
_localctx = new FunctionCallContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7720);
functionCallExpression();
}
break;
case 19:
{
_localctx = new SubqueryExpressionContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7721);
match(LEFT_PAREN);
setState(7722);
query();
setState(7723);
match(RIGHT_PAREN);
}
break;
case 20:
{
_localctx = new UserVariableContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7725);
match(ATSIGN);
setState(7726);
identifierOrText();
}
break;
case 21:
{
_localctx = new SystemVariableContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7727);
match(DOUBLEATSIGN);
setState(7730);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1067,_ctx) ) {
case 1:
{
setState(7728);
((SystemVariableContext)_localctx).kind = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==GLOBAL || _la==SESSION) ) {
((SystemVariableContext)_localctx).kind = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7729);
match(DOT);
}
break;
}
setState(7732);
identifier();
}
break;
case 22:
{
_localctx = new ColumnReferenceContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7734);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BINARY) {
{
setState(7733);
match(BINARY);
}
}
setState(7736);
identifier();
}
break;
case 23:
{
_localctx = new ParenthesizedExpressionContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7737);
match(LEFT_PAREN);
setState(7738);
expression();
setState(7739);
match(RIGHT_PAREN);
}
break;
case 24:
{
_localctx = new EncryptKeyContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7741);
match(KEY);
setState(7745);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1069,_ctx) ) {
case 1:
{
setState(7742);
((EncryptKeyContext)_localctx).dbName = identifier();
setState(7743);
match(DOT);
}
break;
}
setState(7747);
((EncryptKeyContext)_localctx).keyName = identifier();
}
break;
case 25:
{
_localctx = new ExtractContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(7748);
match(EXTRACT);
setState(7749);
match(LEFT_PAREN);
setState(7750);
((ExtractContext)_localctx).field = identifier();
setState(7751);
match(FROM);
setState(7753);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1070,_ctx) ) {
case 1:
{
setState(7752);
_la = _input.LA(1);
if ( !(_la==DATE || _la==TIMESTAMP) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
setState(7755);
((ExtractContext)_localctx).source = valueExpression(0);
setState(7756);
match(RIGHT_PAREN);
}
break;
}
_ctx.stop = _input.LT(-1);
setState(7786);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1075,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(7784);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1074,_ctx) ) {
case 1:
{
_localctx = new ElementAtContext(new PrimaryExpressionContext(_parentctx, _parentState));
((ElementAtContext)_localctx).value = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_primaryExpression);
setState(7760);
if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
setState(7761);
match(LEFT_BRACKET);
setState(7762);
((ElementAtContext)_localctx).index = valueExpression(0);
setState(7763);
match(RIGHT_BRACKET);
}
break;
case 2:
{
_localctx = new ArraySliceContext(new PrimaryExpressionContext(_parentctx, _parentState));
((ArraySliceContext)_localctx).value = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_primaryExpression);
setState(7765);
if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
setState(7766);
match(LEFT_BRACKET);
setState(7767);
((ArraySliceContext)_localctx).begin = valueExpression(0);
setState(7768);
match(COLON);
setState(7770);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865989727L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933699953747761L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089566423918985417L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868097L) != 0)) {
{
setState(7769);
((ArraySliceContext)_localctx).end = valueExpression(0);
}
}
setState(7772);
match(RIGHT_BRACKET);
}
break;
case 3:
{
_localctx = new DereferenceContext(new PrimaryExpressionContext(_parentctx, _parentState));
((DereferenceContext)_localctx).base = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_primaryExpression);
setState(7774);
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
setState(7775);
match(DOT);
setState(7776);
((DereferenceContext)_localctx).fieldName = identifier();
}
break;
case 4:
{
_localctx = new CollateContext(new PrimaryExpressionContext(_parentctx, _parentState));
pushNewRecursionContext(_localctx, _startState, RULE_primaryExpression);
setState(7777);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(7778);
match(COLLATE);
setState(7782);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(7779);
identifier();
}
break;
case STRING_LITERAL:
{
setState(7780);
match(STRING_LITERAL);
}
break;
case DEFAULT:
{
setState(7781);
match(DEFAULT);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
}
setState(7788);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1075,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExceptOrReplaceContext extends ParserRuleContext {
public ExceptOrReplaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exceptOrReplace; }
public ExceptOrReplaceContext() { }
public void copyFrom(ExceptOrReplaceContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ReplaceContext extends ExceptOrReplaceContext {
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public NamedExpressionSeqContext namedExpressionSeq() {
return getRuleContext(NamedExpressionSeqContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ReplaceContext(ExceptOrReplaceContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterReplace(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitReplace(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitReplace(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ExceptContext extends ExceptOrReplaceContext {
public TerminalNode EXCEPT() { return getToken(PLParser.EXCEPT, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public NamedExpressionSeqContext namedExpressionSeq() {
return getRuleContext(NamedExpressionSeqContext.class,0);
}
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public ExceptContext(ExceptOrReplaceContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterExcept(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitExcept(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitExcept(this);
else return visitor.visitChildren(this);
}
}
public final ExceptOrReplaceContext exceptOrReplace() throws RecognitionException {
ExceptOrReplaceContext _localctx = new ExceptOrReplaceContext(_ctx, getState());
enterRule(_localctx, 648, RULE_exceptOrReplace);
try {
setState(7799);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EXCEPT:
_localctx = new ExceptContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(7789);
match(EXCEPT);
setState(7790);
match(LEFT_PAREN);
setState(7791);
namedExpressionSeq();
setState(7792);
match(RIGHT_PAREN);
}
break;
case REPLACE:
_localctx = new ReplaceContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(7794);
match(REPLACE);
setState(7795);
match(LEFT_PAREN);
setState(7796);
namedExpressionSeq();
setState(7797);
match(RIGHT_PAREN);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CastDataTypeContext extends ParserRuleContext {
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public TerminalNode SIGNED() { return getToken(PLParser.SIGNED, 0); }
public TerminalNode UNSIGNED() { return getToken(PLParser.UNSIGNED, 0); }
public TerminalNode INT() { return getToken(PLParser.INT, 0); }
public TerminalNode INTEGER() { return getToken(PLParser.INTEGER, 0); }
public CastDataTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_castDataType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCastDataType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCastDataType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCastDataType(this);
else return visitor.visitChildren(this);
}
}
public final CastDataTypeContext castDataType() throws RecognitionException {
CastDataTypeContext _localctx = new CastDataTypeContext(_ctx, getState());
enterRule(_localctx, 650, RULE_castDataType);
int _la;
try {
setState(7806);
_errHandler.sync(this);
switch (_input.LA(1)) {
case AGG_STATE:
case ALL:
case ARRAY:
case BIGINT:
case BITMAP:
case BOOLEAN:
case CHAR:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DOUBLE:
case FLOAT:
case HLL:
case INT:
case INTEGER:
case IPV4:
case IPV6:
case JSON:
case JSONB:
case LARGEINT:
case MAP:
case QUANTILE_STATE:
case SMALLINT:
case STRING:
case STRUCT:
case TEXT:
case TIME:
case TINYINT:
case VARCHAR:
case VARIANT:
enterOuterAlt(_localctx, 1);
{
setState(7801);
dataType();
}
break;
case SIGNED:
case UNSIGNED:
enterOuterAlt(_localctx, 2);
{
setState(7802);
_la = _input.LA(1);
if ( !(_la==SIGNED || _la==UNSIGNED) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7804);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INT || _la==INTEGER) {
{
setState(7803);
_la = _input.LA(1);
if ( !(_la==INT || _la==INTEGER) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FunctionCallExpressionContext extends ParserRuleContext {
public ExpressionContext expression;
public List<ExpressionContext> arguments = new ArrayList<ExpressionContext>();
public FunctionIdentifierContext functionIdentifier() {
return getRuleContext(FunctionIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode OVER() { return getToken(PLParser.OVER, 0); }
public WindowSpecContext windowSpec() {
return getRuleContext(WindowSpecContext.class,0);
}
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public TerminalNode ORDER() { return getToken(PLParser.ORDER, 0); }
public TerminalNode BY() { return getToken(PLParser.BY, 0); }
public List<SortItemContext> sortItem() {
return getRuleContexts(SortItemContext.class);
}
public SortItemContext sortItem(int i) {
return getRuleContext(SortItemContext.class,i);
}
public TerminalNode DISTINCT() { return getToken(PLParser.DISTINCT, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public FunctionCallExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionCallExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunctionCallExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunctionCallExpression(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunctionCallExpression(this);
else return visitor.visitChildren(this);
}
}
public final FunctionCallExpressionContext functionCallExpression() throws RecognitionException {
FunctionCallExpressionContext _localctx = new FunctionCallExpressionContext(_ctx, getState());
enterRule(_localctx, 652, RULE_functionCallExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7808);
functionIdentifier();
setState(7809);
match(LEFT_PAREN);
setState(7833);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==QUALIFY || _la==SQL || ((((_la - 182)) & ~0x3f) == 0 && ((1L << (_la - 182)) & -2449963429865727583L) != 0) || ((((_la - 246)) & ~0x3f) == 0 && ((1L << (_la - 246)) & 3026348091088297407L) != 0) || ((((_la - 310)) & ~0x3f) == 0 && ((1L << (_la - 310)) & -6482933631234270993L) != 0) || ((((_la - 375)) & ~0x3f) == 0 && ((1L << (_la - 375)) & -1640445372310521945L) != 0) || ((((_la - 439)) & ~0x3f) == 0 && ((1L << (_la - 439)) & -9089425686430630089L) != 0) || ((((_la - 503)) & ~0x3f) == 0 && ((1L << (_la - 503)) & -76147227730509827L) != 0) || ((((_la - 567)) & ~0x3f) == 0 && ((1L << (_la - 567)) & -2575496074267069539L) != 0) || ((((_la - 632)) & ~0x3f) == 0 && ((1L << (_la - 632)) & 4037626598753087443L) != 0) || ((((_la - 696)) & ~0x3f) == 0 && ((1L << (_la - 696)) & 28868105L) != 0)) {
{
setState(7811);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALL || _la==DISTINCT) {
{
setState(7810);
_la = _input.LA(1);
if ( !(_la==ALL || _la==DISTINCT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(7813);
((FunctionCallExpressionContext)_localctx).expression = expression();
((FunctionCallExpressionContext)_localctx).arguments.add(((FunctionCallExpressionContext)_localctx).expression);
setState(7818);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7814);
match(COMMA);
setState(7815);
((FunctionCallExpressionContext)_localctx).expression = expression();
((FunctionCallExpressionContext)_localctx).arguments.add(((FunctionCallExpressionContext)_localctx).expression);
}
}
setState(7820);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7831);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ORDER) {
{
setState(7821);
match(ORDER);
setState(7822);
match(BY);
setState(7823);
sortItem();
setState(7828);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7824);
match(COMMA);
setState(7825);
sortItem();
}
}
setState(7830);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
}
}
setState(7835);
match(RIGHT_PAREN);
setState(7838);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1084,_ctx) ) {
case 1:
{
setState(7836);
match(OVER);
setState(7837);
windowSpec();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FunctionIdentifierContext extends ParserRuleContext {
public IdentifierContext dbName;
public FunctionNameIdentifierContext functionNameIdentifier() {
return getRuleContext(FunctionNameIdentifierContext.class,0);
}
public TerminalNode DOT() { return getToken(PLParser.DOT, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FunctionIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunctionIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunctionIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunctionIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final FunctionIdentifierContext functionIdentifier() throws RecognitionException {
FunctionIdentifierContext _localctx = new FunctionIdentifierContext(_ctx, getState());
enterRule(_localctx, 654, RULE_functionIdentifier);
try {
enterOuterAlt(_localctx, 1);
{
setState(7843);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1085,_ctx) ) {
case 1:
{
setState(7840);
((FunctionIdentifierContext)_localctx).dbName = identifier();
setState(7841);
match(DOT);
}
break;
}
setState(7845);
functionNameIdentifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FunctionNameIdentifierContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode ADD() { return getToken(PLParser.ADD, 0); }
public TerminalNode CONNECTION_ID() { return getToken(PLParser.CONNECTION_ID, 0); }
public TerminalNode CURRENT_CATALOG() { return getToken(PLParser.CURRENT_CATALOG, 0); }
public TerminalNode CURRENT_USER() { return getToken(PLParser.CURRENT_USER, 0); }
public TerminalNode DATABASE() { return getToken(PLParser.DATABASE, 0); }
public TerminalNode IF() { return getToken(PLParser.IF, 0); }
public TerminalNode LEFT() { return getToken(PLParser.LEFT, 0); }
public TerminalNode LIKE() { return getToken(PLParser.LIKE, 0); }
public TerminalNode PASSWORD() { return getToken(PLParser.PASSWORD, 0); }
public TerminalNode REGEXP() { return getToken(PLParser.REGEXP, 0); }
public TerminalNode RIGHT() { return getToken(PLParser.RIGHT, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public TerminalNode SESSION_USER() { return getToken(PLParser.SESSION_USER, 0); }
public TerminalNode TRIM() { return getToken(PLParser.TRIM, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public FunctionNameIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionNameIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFunctionNameIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFunctionNameIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFunctionNameIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final FunctionNameIdentifierContext functionNameIdentifier() throws RecognitionException {
FunctionNameIdentifierContext _localctx = new FunctionNameIdentifierContext(_ctx, getState());
enterRule(_localctx, 656, RULE_functionNameIdentifier);
try {
setState(7863);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1086,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7847);
identifier();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7848);
match(ADD);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(7849);
match(CONNECTION_ID);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(7850);
match(CURRENT_CATALOG);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(7851);
match(CURRENT_USER);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(7852);
match(DATABASE);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(7853);
match(IF);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(7854);
match(LEFT);
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(7855);
match(LIKE);
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(7856);
match(PASSWORD);
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(7857);
match(REGEXP);
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(7858);
match(RIGHT);
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(7859);
match(SCHEMA);
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(7860);
match(SESSION_USER);
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(7861);
match(TRIM);
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(7862);
match(USER);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WindowSpecContext extends ParserRuleContext {
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public PartitionClauseContext partitionClause() {
return getRuleContext(PartitionClauseContext.class,0);
}
public SortClauseContext sortClause() {
return getRuleContext(SortClauseContext.class,0);
}
public WindowFrameContext windowFrame() {
return getRuleContext(WindowFrameContext.class,0);
}
public WindowSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_windowSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWindowSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWindowSpec(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWindowSpec(this);
else return visitor.visitChildren(this);
}
}
public final WindowSpecContext windowSpec() throws RecognitionException {
WindowSpecContext _localctx = new WindowSpecContext(_ctx, getState());
enterRule(_localctx, 658, RULE_windowSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7865);
match(LEFT_PAREN);
setState(7867);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(7866);
partitionClause();
}
}
setState(7870);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ORDER) {
{
setState(7869);
sortClause();
}
}
setState(7873);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RANGE || _la==ROWS) {
{
setState(7872);
windowFrame();
}
}
setState(7875);
match(RIGHT_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WindowFrameContext extends ParserRuleContext {
public FrameBoundaryContext start;
public FrameBoundaryContext end;
public FrameUnitsContext frameUnits() {
return getRuleContext(FrameUnitsContext.class,0);
}
public List<FrameBoundaryContext> frameBoundary() {
return getRuleContexts(FrameBoundaryContext.class);
}
public FrameBoundaryContext frameBoundary(int i) {
return getRuleContext(FrameBoundaryContext.class,i);
}
public TerminalNode BETWEEN() { return getToken(PLParser.BETWEEN, 0); }
public TerminalNode AND() { return getToken(PLParser.AND, 0); }
public WindowFrameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_windowFrame; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWindowFrame(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWindowFrame(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWindowFrame(this);
else return visitor.visitChildren(this);
}
}
public final WindowFrameContext windowFrame() throws RecognitionException {
WindowFrameContext _localctx = new WindowFrameContext(_ctx, getState());
enterRule(_localctx, 660, RULE_windowFrame);
try {
setState(7886);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1090,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7877);
frameUnits();
setState(7878);
((WindowFrameContext)_localctx).start = frameBoundary();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7880);
frameUnits();
setState(7881);
match(BETWEEN);
setState(7882);
((WindowFrameContext)_localctx).start = frameBoundary();
setState(7883);
match(AND);
setState(7884);
((WindowFrameContext)_localctx).end = frameBoundary();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FrameUnitsContext extends ParserRuleContext {
public TerminalNode ROWS() { return getToken(PLParser.ROWS, 0); }
public TerminalNode RANGE() { return getToken(PLParser.RANGE, 0); }
public FrameUnitsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_frameUnits; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFrameUnits(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFrameUnits(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFrameUnits(this);
else return visitor.visitChildren(this);
}
}
public final FrameUnitsContext frameUnits() throws RecognitionException {
FrameUnitsContext _localctx = new FrameUnitsContext(_ctx, getState());
enterRule(_localctx, 662, RULE_frameUnits);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7888);
_la = _input.LA(1);
if ( !(_la==RANGE || _la==ROWS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FrameBoundaryContext extends ParserRuleContext {
public Token boundType;
public TerminalNode UNBOUNDED() { return getToken(PLParser.UNBOUNDED, 0); }
public TerminalNode PRECEDING() { return getToken(PLParser.PRECEDING, 0); }
public TerminalNode FOLLOWING() { return getToken(PLParser.FOLLOWING, 0); }
public TerminalNode ROW() { return getToken(PLParser.ROW, 0); }
public TerminalNode CURRENT() { return getToken(PLParser.CURRENT, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public FrameBoundaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_frameBoundary; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterFrameBoundary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitFrameBoundary(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitFrameBoundary(this);
else return visitor.visitChildren(this);
}
}
public final FrameBoundaryContext frameBoundary() throws RecognitionException {
FrameBoundaryContext _localctx = new FrameBoundaryContext(_ctx, getState());
enterRule(_localctx, 664, RULE_frameBoundary);
int _la;
try {
setState(7897);
_errHandler.sync(this);
switch (_input.LA(1)) {
case UNBOUNDED:
enterOuterAlt(_localctx, 1);
{
setState(7890);
match(UNBOUNDED);
setState(7891);
((FrameBoundaryContext)_localctx).boundType = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==FOLLOWING || _la==PRECEDING) ) {
((FrameBoundaryContext)_localctx).boundType = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case CURRENT:
enterOuterAlt(_localctx, 2);
{
setState(7892);
((FrameBoundaryContext)_localctx).boundType = match(CURRENT);
setState(7893);
match(ROW);
}
break;
case QUALIFY:
case SQL:
case LEFT_PAREN:
case LEFT_BRACKET:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case ADD:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BINARY:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CASE:
case CAST:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATABASE:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXISTS:
case EXPIRED:
case EXTERNAL:
case EXTRACT:
case FAILED_LOGIN_ATTEMPTS:
case FALSE:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IF:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INTERVAL:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case KEY:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LEFT:
case LESS:
case LEVEL:
case LIKE:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NOT:
case NULL:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLACEHOLDER:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REGEXP:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RIGHT:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRIM:
case TRUE:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case PLUS:
case SUBTRACT:
case ASTERISK:
case TILDE:
case LOGICALNOT:
case HINT_START:
case HINT_END:
case COMMENT_START:
case ATSIGN:
case DOUBLEATSIGN:
case STRING_LITERAL:
case INTEGER_VALUE:
case EXPONENT_VALUE:
case DECIMAL_VALUE:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
enterOuterAlt(_localctx, 3);
{
setState(7894);
expression();
setState(7895);
((FrameBoundaryContext)_localctx).boundType = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==FOLLOWING || _la==PRECEDING) ) {
((FrameBoundaryContext)_localctx).boundType = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QualifiedNameContext extends ParserRuleContext {
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public List<TerminalNode> DOT() { return getTokens(PLParser.DOT); }
public TerminalNode DOT(int i) {
return getToken(PLParser.DOT, i);
}
public QualifiedNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_qualifiedName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQualifiedName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQualifiedName(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQualifiedName(this);
else return visitor.visitChildren(this);
}
}
public final QualifiedNameContext qualifiedName() throws RecognitionException {
QualifiedNameContext _localctx = new QualifiedNameContext(_ctx, getState());
enterRule(_localctx, 666, RULE_qualifiedName);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(7899);
identifier();
setState(7904);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1092,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(7900);
match(DOT);
setState(7901);
identifier();
}
}
}
setState(7906);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1092,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SpecifiedPartitionContext extends ParserRuleContext {
public TerminalNode PARTITION() { return getToken(PLParser.PARTITION, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public TerminalNode PARTITIONS() { return getToken(PLParser.PARTITIONS, 0); }
public SpecifiedPartitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_specifiedPartition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSpecifiedPartition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSpecifiedPartition(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSpecifiedPartition(this);
else return visitor.visitChildren(this);
}
}
public final SpecifiedPartitionContext specifiedPartition() throws RecognitionException {
SpecifiedPartitionContext _localctx = new SpecifiedPartitionContext(_ctx, getState());
enterRule(_localctx, 668, RULE_specifiedPartition);
int _la;
try {
setState(7920);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1096,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(7908);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(7907);
match(TEMPORARY);
}
}
setState(7910);
match(PARTITION);
setState(7913);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
case IDENTIFIER:
case BACKQUOTED_IDENTIFIER:
{
setState(7911);
identifier();
}
break;
case LEFT_PAREN:
{
setState(7912);
identifierList();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(7916);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(7915);
match(TEMPORARY);
}
}
setState(7918);
match(PARTITIONS);
setState(7919);
identifierList();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConstantContext extends ParserRuleContext {
public ConstantContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_constant; }
public ConstantContext() { }
public void copyFrom(ConstantContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StructLiteralContext extends ConstantContext {
public ConstantContext constant;
public List<ConstantContext> items = new ArrayList<ConstantContext>();
public TerminalNode LEFT_BRACE() { return getToken(PLParser.LEFT_BRACE, 0); }
public TerminalNode RIGHT_BRACE() { return getToken(PLParser.RIGHT_BRACE, 0); }
public List<ConstantContext> constant() {
return getRuleContexts(ConstantContext.class);
}
public ConstantContext constant(int i) {
return getRuleContext(ConstantContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public StructLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStructLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStructLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStructLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class NullLiteralContext extends ConstantContext {
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public NullLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNullLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNullLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNullLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class StringLiteralContext extends ConstantContext {
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode BINARY() { return getToken(PLParser.BINARY, 0); }
public StringLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterStringLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitStringLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitStringLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class TypeConstructorContext extends ConstantContext {
public Token type;
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode DATEV1() { return getToken(PLParser.DATEV1, 0); }
public TerminalNode DATEV2() { return getToken(PLParser.DATEV2, 0); }
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public TypeConstructorContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTypeConstructor(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTypeConstructor(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTypeConstructor(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ArrayLiteralContext extends ConstantContext {
public ConstantContext constant;
public List<ConstantContext> items = new ArrayList<ConstantContext>();
public TerminalNode LEFT_BRACKET() { return getToken(PLParser.LEFT_BRACKET, 0); }
public TerminalNode RIGHT_BRACKET() { return getToken(PLParser.RIGHT_BRACKET, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public List<ConstantContext> constant() {
return getRuleContexts(ConstantContext.class);
}
public ConstantContext constant(int i) {
return getRuleContext(ConstantContext.class,i);
}
public ArrayLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterArrayLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitArrayLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitArrayLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PlaceholderContext extends ConstantContext {
public TerminalNode PLACEHOLDER() { return getToken(PLParser.PLACEHOLDER, 0); }
public PlaceholderContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPlaceholder(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPlaceholder(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPlaceholder(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class MapLiteralContext extends ConstantContext {
public ConstantContext constant;
public List<ConstantContext> items = new ArrayList<ConstantContext>();
public TerminalNode LEFT_BRACE() { return getToken(PLParser.LEFT_BRACE, 0); }
public TerminalNode RIGHT_BRACE() { return getToken(PLParser.RIGHT_BRACE, 0); }
public List<TerminalNode> COLON() { return getTokens(PLParser.COLON); }
public TerminalNode COLON(int i) {
return getToken(PLParser.COLON, i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public List<ConstantContext> constant() {
return getRuleContexts(ConstantContext.class);
}
public ConstantContext constant(int i) {
return getRuleContext(ConstantContext.class,i);
}
public MapLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterMapLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitMapLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitMapLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class NumericLiteralContext extends ConstantContext {
public NumberContext number() {
return getRuleContext(NumberContext.class,0);
}
public NumericLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNumericLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNumericLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNumericLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class BooleanLiteralContext extends ConstantContext {
public BooleanValueContext booleanValue() {
return getRuleContext(BooleanValueContext.class,0);
}
public BooleanLiteralContext(ConstantContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBooleanLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBooleanLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBooleanLiteral(this);
else return visitor.visitChildren(this);
}
}
public final ConstantContext constant() throws RecognitionException {
ConstantContext _localctx = new ConstantContext(_ctx, getState());
enterRule(_localctx, 670, RULE_constant);
int _la;
try {
setState(7973);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1103,_ctx) ) {
case 1:
_localctx = new NullLiteralContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(7922);
match(NULL);
}
break;
case 2:
_localctx = new TypeConstructorContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(7923);
((TypeConstructorContext)_localctx).type = _input.LT(1);
_la = _input.LA(1);
if ( !(((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 41L) != 0) || _la==TIMESTAMP) ) {
((TypeConstructorContext)_localctx).type = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(7924);
match(STRING_LITERAL);
}
break;
case 3:
_localctx = new NumericLiteralContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(7925);
number();
}
break;
case 4:
_localctx = new BooleanLiteralContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(7926);
booleanValue();
}
break;
case 5:
_localctx = new StringLiteralContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(7928);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BINARY) {
{
setState(7927);
match(BINARY);
}
}
setState(7930);
match(STRING_LITERAL);
}
break;
case 6:
_localctx = new ArrayLiteralContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(7931);
match(LEFT_BRACKET);
setState(7933);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 187)) & ~0x3f) == 0 && ((1L << (_la - 187)) & 68719476741L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 2305843009213693993L) != 0) || _la==NULL || _la==PLACEHOLDER || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & 576460752303423745L) != 0) || ((((_la - 710)) & ~0x3f) == 0 && ((1L << (_la - 710)) & 225L) != 0)) {
{
setState(7932);
((ArrayLiteralContext)_localctx).constant = constant();
((ArrayLiteralContext)_localctx).items.add(((ArrayLiteralContext)_localctx).constant);
}
}
setState(7939);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7935);
match(COMMA);
setState(7936);
((ArrayLiteralContext)_localctx).constant = constant();
((ArrayLiteralContext)_localctx).items.add(((ArrayLiteralContext)_localctx).constant);
}
}
setState(7941);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7942);
match(RIGHT_BRACKET);
}
break;
case 7:
_localctx = new MapLiteralContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(7943);
match(LEFT_BRACE);
setState(7948);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 187)) & ~0x3f) == 0 && ((1L << (_la - 187)) & 68719476741L) != 0) || ((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & 2305843009213693993L) != 0) || _la==NULL || _la==PLACEHOLDER || ((((_la - 633)) & ~0x3f) == 0 && ((1L << (_la - 633)) & 576460752303423745L) != 0) || ((((_la - 710)) & ~0x3f) == 0 && ((1L << (_la - 710)) & 225L) != 0)) {
{
setState(7944);
((MapLiteralContext)_localctx).constant = constant();
((MapLiteralContext)_localctx).items.add(((MapLiteralContext)_localctx).constant);
setState(7945);
match(COLON);
setState(7946);
((MapLiteralContext)_localctx).constant = constant();
((MapLiteralContext)_localctx).items.add(((MapLiteralContext)_localctx).constant);
}
}
setState(7957);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7950);
match(COMMA);
setState(7951);
((MapLiteralContext)_localctx).constant = constant();
((MapLiteralContext)_localctx).items.add(((MapLiteralContext)_localctx).constant);
setState(7952);
match(COLON);
setState(7953);
((MapLiteralContext)_localctx).constant = constant();
((MapLiteralContext)_localctx).items.add(((MapLiteralContext)_localctx).constant);
}
}
setState(7959);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7960);
match(RIGHT_BRACE);
}
break;
case 8:
_localctx = new StructLiteralContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(7961);
match(LEFT_BRACE);
setState(7962);
((StructLiteralContext)_localctx).constant = constant();
((StructLiteralContext)_localctx).items.add(((StructLiteralContext)_localctx).constant);
setState(7967);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(7963);
match(COMMA);
setState(7964);
((StructLiteralContext)_localctx).constant = constant();
((StructLiteralContext)_localctx).items.add(((StructLiteralContext)_localctx).constant);
}
}
setState(7969);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(7970);
match(RIGHT_BRACE);
}
break;
case 9:
_localctx = new PlaceholderContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(7972);
match(PLACEHOLDER);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ComparisonOperatorContext extends ParserRuleContext {
public TerminalNode EQ() { return getToken(PLParser.EQ, 0); }
public TerminalNode NEQ() { return getToken(PLParser.NEQ, 0); }
public TerminalNode LT() { return getToken(PLParser.LT, 0); }
public TerminalNode LTE() { return getToken(PLParser.LTE, 0); }
public TerminalNode GT() { return getToken(PLParser.GT, 0); }
public TerminalNode GTE() { return getToken(PLParser.GTE, 0); }
public TerminalNode NSEQ() { return getToken(PLParser.NSEQ, 0); }
public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comparisonOperator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterComparisonOperator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitComparisonOperator(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitComparisonOperator(this);
else return visitor.visitChildren(this);
}
}
public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
enterRule(_localctx, 672, RULE_comparisonOperator);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7975);
_la = _input.LA(1);
if ( !(((((_la - 684)) & ~0x3f) == 0 && ((1L << (_la - 684)) & 127L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BooleanValueContext extends ParserRuleContext {
public TerminalNode TRUE() { return getToken(PLParser.TRUE, 0); }
public TerminalNode FALSE() { return getToken(PLParser.FALSE, 0); }
public BooleanValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_booleanValue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterBooleanValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitBooleanValue(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitBooleanValue(this);
else return visitor.visitChildren(this);
}
}
public final BooleanValueContext booleanValue() throws RecognitionException {
BooleanValueContext _localctx = new BooleanValueContext(_ctx, getState());
enterRule(_localctx, 674, RULE_booleanValue);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7977);
_la = _input.LA(1);
if ( !(_la==FALSE || _la==TRUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class WhenClauseContext extends ParserRuleContext {
public ExpressionContext condition;
public ExpressionContext result;
public TerminalNode WHEN() { return getToken(PLParser.WHEN, 0); }
public TerminalNode THEN() { return getToken(PLParser.THEN, 0); }
public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public WhenClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_whenClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterWhenClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitWhenClause(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitWhenClause(this);
else return visitor.visitChildren(this);
}
}
public final WhenClauseContext whenClause() throws RecognitionException {
WhenClauseContext _localctx = new WhenClauseContext(_ctx, getState());
enterRule(_localctx, 676, RULE_whenClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(7979);
match(WHEN);
setState(7980);
((WhenClauseContext)_localctx).condition = expression();
setState(7981);
match(THEN);
setState(7982);
((WhenClauseContext)_localctx).result = expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IntervalContext extends ParserRuleContext {
public ExpressionContext value;
public UnitIdentifierContext unit;
public TerminalNode INTERVAL() { return getToken(PLParser.INTERVAL, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public UnitIdentifierContext unitIdentifier() {
return getRuleContext(UnitIdentifierContext.class,0);
}
public IntervalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_interval; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterInterval(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitInterval(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitInterval(this);
else return visitor.visitChildren(this);
}
}
public final IntervalContext interval() throws RecognitionException {
IntervalContext _localctx = new IntervalContext(_ctx, getState());
enterRule(_localctx, 678, RULE_interval);
try {
enterOuterAlt(_localctx, 1);
{
setState(7984);
match(INTERVAL);
setState(7985);
((IntervalContext)_localctx).value = expression();
setState(7986);
((IntervalContext)_localctx).unit = unitIdentifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UnitIdentifierContext extends ParserRuleContext {
public TerminalNode YEAR() { return getToken(PLParser.YEAR, 0); }
public TerminalNode QUARTER() { return getToken(PLParser.QUARTER, 0); }
public TerminalNode MONTH() { return getToken(PLParser.MONTH, 0); }
public TerminalNode WEEK() { return getToken(PLParser.WEEK, 0); }
public TerminalNode DAY() { return getToken(PLParser.DAY, 0); }
public TerminalNode HOUR() { return getToken(PLParser.HOUR, 0); }
public TerminalNode MINUTE() { return getToken(PLParser.MINUTE, 0); }
public TerminalNode SECOND() { return getToken(PLParser.SECOND, 0); }
public UnitIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unitIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnitIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnitIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnitIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final UnitIdentifierContext unitIdentifier() throws RecognitionException {
UnitIdentifierContext _localctx = new UnitIdentifierContext(_ctx, getState());
enterRule(_localctx, 680, RULE_unitIdentifier);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7988);
_la = _input.LA(1);
if ( !(_la==DAY || _la==HOUR || _la==MINUTE || _la==MONTH || _la==QUARTER || _la==SECOND || _la==WEEK || _la==YEAR) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DataTypeWithNullableContext extends ParserRuleContext {
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public TerminalNode NULL() { return getToken(PLParser.NULL, 0); }
public TerminalNode NOT() { return getToken(PLParser.NOT, 0); }
public DataTypeWithNullableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dataTypeWithNullable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDataTypeWithNullable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDataTypeWithNullable(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDataTypeWithNullable(this);
else return visitor.visitChildren(this);
}
}
public final DataTypeWithNullableContext dataTypeWithNullable() throws RecognitionException {
DataTypeWithNullableContext _localctx = new DataTypeWithNullableContext(_ctx, getState());
enterRule(_localctx, 682, RULE_dataTypeWithNullable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(7990);
dataType();
setState(7995);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT || _la==NULL) {
{
setState(7992);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(7991);
match(NOT);
}
}
setState(7994);
match(NULL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DataTypeContext extends ParserRuleContext {
public DataTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dataType; }
public DataTypeContext() { }
public void copyFrom(DataTypeContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ComplexDataTypeContext extends DataTypeContext {
public Token complex;
public TerminalNode LT() { return getToken(PLParser.LT, 0); }
public List<DataTypeContext> dataType() {
return getRuleContexts(DataTypeContext.class);
}
public DataTypeContext dataType(int i) {
return getRuleContext(DataTypeContext.class,i);
}
public TerminalNode GT() { return getToken(PLParser.GT, 0); }
public TerminalNode ARRAY() { return getToken(PLParser.ARRAY, 0); }
public TerminalNode COMMA() { return getToken(PLParser.COMMA, 0); }
public TerminalNode MAP() { return getToken(PLParser.MAP, 0); }
public ComplexColTypeListContext complexColTypeList() {
return getRuleContext(ComplexColTypeListContext.class,0);
}
public TerminalNode STRUCT() { return getToken(PLParser.STRUCT, 0); }
public ComplexDataTypeContext(DataTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterComplexDataType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitComplexDataType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitComplexDataType(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class AggStateDataTypeContext extends DataTypeContext {
public DataTypeWithNullableContext dataTypeWithNullable;
public List<DataTypeWithNullableContext> dataTypes = new ArrayList<DataTypeWithNullableContext>();
public TerminalNode AGG_STATE() { return getToken(PLParser.AGG_STATE, 0); }
public TerminalNode LT() { return getToken(PLParser.LT, 0); }
public FunctionNameIdentifierContext functionNameIdentifier() {
return getRuleContext(FunctionNameIdentifierContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public TerminalNode GT() { return getToken(PLParser.GT, 0); }
public List<DataTypeWithNullableContext> dataTypeWithNullable() {
return getRuleContexts(DataTypeWithNullableContext.class);
}
public DataTypeWithNullableContext dataTypeWithNullable(int i) {
return getRuleContext(DataTypeWithNullableContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public AggStateDataTypeContext(DataTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterAggStateDataType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitAggStateDataType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitAggStateDataType(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PrimitiveDataTypeContext extends DataTypeContext {
public PrimitiveColTypeContext primitiveColType() {
return getRuleContext(PrimitiveColTypeContext.class,0);
}
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public List<TerminalNode> INTEGER_VALUE() { return getTokens(PLParser.INTEGER_VALUE); }
public TerminalNode INTEGER_VALUE(int i) {
return getToken(PLParser.INTEGER_VALUE, i);
}
public TerminalNode ASTERISK() { return getToken(PLParser.ASTERISK, 0); }
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public PrimitiveDataTypeContext(DataTypeContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPrimitiveDataType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPrimitiveDataType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPrimitiveDataType(this);
else return visitor.visitChildren(this);
}
}
public final DataTypeContext dataType() throws RecognitionException {
DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
enterRule(_localctx, 684, RULE_dataType);
int _la;
try {
setState(8042);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1109,_ctx) ) {
case 1:
_localctx = new ComplexDataTypeContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(7997);
((ComplexDataTypeContext)_localctx).complex = match(ARRAY);
setState(7998);
match(LT);
setState(7999);
dataType();
setState(8000);
match(GT);
}
break;
case 2:
_localctx = new ComplexDataTypeContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(8002);
((ComplexDataTypeContext)_localctx).complex = match(MAP);
setState(8003);
match(LT);
setState(8004);
dataType();
setState(8005);
match(COMMA);
setState(8006);
dataType();
setState(8007);
match(GT);
}
break;
case 3:
_localctx = new ComplexDataTypeContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(8009);
((ComplexDataTypeContext)_localctx).complex = match(STRUCT);
setState(8010);
match(LT);
setState(8011);
complexColTypeList();
setState(8012);
match(GT);
}
break;
case 4:
_localctx = new AggStateDataTypeContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(8014);
match(AGG_STATE);
setState(8015);
match(LT);
setState(8016);
functionNameIdentifier();
setState(8017);
match(LEFT_PAREN);
setState(8018);
((AggStateDataTypeContext)_localctx).dataTypeWithNullable = dataTypeWithNullable();
((AggStateDataTypeContext)_localctx).dataTypes.add(((AggStateDataTypeContext)_localctx).dataTypeWithNullable);
setState(8023);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(8019);
match(COMMA);
setState(8020);
((AggStateDataTypeContext)_localctx).dataTypeWithNullable = dataTypeWithNullable();
((AggStateDataTypeContext)_localctx).dataTypes.add(((AggStateDataTypeContext)_localctx).dataTypeWithNullable);
}
}
setState(8025);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(8026);
match(RIGHT_PAREN);
setState(8027);
match(GT);
}
break;
case 5:
_localctx = new PrimitiveDataTypeContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(8029);
primitiveColType();
setState(8040);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1108,_ctx) ) {
case 1:
{
setState(8030);
match(LEFT_PAREN);
setState(8031);
_la = _input.LA(1);
if ( !(_la==ASTERISK || _la==INTEGER_VALUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(8036);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(8032);
match(COMMA);
setState(8033);
match(INTEGER_VALUE);
}
}
setState(8038);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(8039);
match(RIGHT_PAREN);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrimitiveColTypeContext extends ParserRuleContext {
public Token type;
public TerminalNode TINYINT() { return getToken(PLParser.TINYINT, 0); }
public TerminalNode SMALLINT() { return getToken(PLParser.SMALLINT, 0); }
public TerminalNode INT() { return getToken(PLParser.INT, 0); }
public TerminalNode INTEGER() { return getToken(PLParser.INTEGER, 0); }
public TerminalNode BIGINT() { return getToken(PLParser.BIGINT, 0); }
public TerminalNode LARGEINT() { return getToken(PLParser.LARGEINT, 0); }
public TerminalNode BOOLEAN() { return getToken(PLParser.BOOLEAN, 0); }
public TerminalNode FLOAT() { return getToken(PLParser.FLOAT, 0); }
public TerminalNode DOUBLE() { return getToken(PLParser.DOUBLE, 0); }
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode DATETIME() { return getToken(PLParser.DATETIME, 0); }
public TerminalNode TIME() { return getToken(PLParser.TIME, 0); }
public TerminalNode DATEV2() { return getToken(PLParser.DATEV2, 0); }
public TerminalNode DATETIMEV2() { return getToken(PLParser.DATETIMEV2, 0); }
public TerminalNode DATEV1() { return getToken(PLParser.DATEV1, 0); }
public TerminalNode DATETIMEV1() { return getToken(PLParser.DATETIMEV1, 0); }
public TerminalNode BITMAP() { return getToken(PLParser.BITMAP, 0); }
public TerminalNode QUANTILE_STATE() { return getToken(PLParser.QUANTILE_STATE, 0); }
public TerminalNode HLL() { return getToken(PLParser.HLL, 0); }
public TerminalNode AGG_STATE() { return getToken(PLParser.AGG_STATE, 0); }
public TerminalNode STRING() { return getToken(PLParser.STRING, 0); }
public TerminalNode JSON() { return getToken(PLParser.JSON, 0); }
public TerminalNode JSONB() { return getToken(PLParser.JSONB, 0); }
public TerminalNode TEXT() { return getToken(PLParser.TEXT, 0); }
public TerminalNode VARCHAR() { return getToken(PLParser.VARCHAR, 0); }
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode DECIMAL() { return getToken(PLParser.DECIMAL, 0); }
public TerminalNode DECIMALV2() { return getToken(PLParser.DECIMALV2, 0); }
public TerminalNode DECIMALV3() { return getToken(PLParser.DECIMALV3, 0); }
public TerminalNode IPV4() { return getToken(PLParser.IPV4, 0); }
public TerminalNode IPV6() { return getToken(PLParser.IPV6, 0); }
public TerminalNode VARIANT() { return getToken(PLParser.VARIANT, 0); }
public TerminalNode ALL() { return getToken(PLParser.ALL, 0); }
public PrimitiveColTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_primitiveColType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterPrimitiveColType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitPrimitiveColType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitPrimitiveColType(this);
else return visitor.visitChildren(this);
}
}
public final PrimitiveColTypeContext primitiveColType() throws RecognitionException {
PrimitiveColTypeContext _localctx = new PrimitiveColTypeContext(_ctx, getState());
enterRule(_localctx, 686, RULE_primitiveColType);
int _la;
try {
setState(8076);
_errHandler.sync(this);
switch (_input.LA(1)) {
case TINYINT:
enterOuterAlt(_localctx, 1);
{
setState(8044);
((PrimitiveColTypeContext)_localctx).type = match(TINYINT);
}
break;
case SMALLINT:
enterOuterAlt(_localctx, 2);
{
setState(8045);
((PrimitiveColTypeContext)_localctx).type = match(SMALLINT);
}
break;
case INT:
case INTEGER:
enterOuterAlt(_localctx, 3);
{
setState(8046);
((PrimitiveColTypeContext)_localctx).type = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==INT || _la==INTEGER) ) {
((PrimitiveColTypeContext)_localctx).type = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case BIGINT:
enterOuterAlt(_localctx, 4);
{
setState(8047);
((PrimitiveColTypeContext)_localctx).type = match(BIGINT);
}
break;
case LARGEINT:
enterOuterAlt(_localctx, 5);
{
setState(8048);
((PrimitiveColTypeContext)_localctx).type = match(LARGEINT);
}
break;
case BOOLEAN:
enterOuterAlt(_localctx, 6);
{
setState(8049);
((PrimitiveColTypeContext)_localctx).type = match(BOOLEAN);
}
break;
case FLOAT:
enterOuterAlt(_localctx, 7);
{
setState(8050);
((PrimitiveColTypeContext)_localctx).type = match(FLOAT);
}
break;
case DOUBLE:
enterOuterAlt(_localctx, 8);
{
setState(8051);
((PrimitiveColTypeContext)_localctx).type = match(DOUBLE);
}
break;
case DATE:
enterOuterAlt(_localctx, 9);
{
setState(8052);
((PrimitiveColTypeContext)_localctx).type = match(DATE);
}
break;
case DATETIME:
enterOuterAlt(_localctx, 10);
{
setState(8053);
((PrimitiveColTypeContext)_localctx).type = match(DATETIME);
}
break;
case TIME:
enterOuterAlt(_localctx, 11);
{
setState(8054);
((PrimitiveColTypeContext)_localctx).type = match(TIME);
}
break;
case DATEV2:
enterOuterAlt(_localctx, 12);
{
setState(8055);
((PrimitiveColTypeContext)_localctx).type = match(DATEV2);
}
break;
case DATETIMEV2:
enterOuterAlt(_localctx, 13);
{
setState(8056);
((PrimitiveColTypeContext)_localctx).type = match(DATETIMEV2);
}
break;
case DATEV1:
enterOuterAlt(_localctx, 14);
{
setState(8057);
((PrimitiveColTypeContext)_localctx).type = match(DATEV1);
}
break;
case DATETIMEV1:
enterOuterAlt(_localctx, 15);
{
setState(8058);
((PrimitiveColTypeContext)_localctx).type = match(DATETIMEV1);
}
break;
case BITMAP:
enterOuterAlt(_localctx, 16);
{
setState(8059);
((PrimitiveColTypeContext)_localctx).type = match(BITMAP);
}
break;
case QUANTILE_STATE:
enterOuterAlt(_localctx, 17);
{
setState(8060);
((PrimitiveColTypeContext)_localctx).type = match(QUANTILE_STATE);
}
break;
case HLL:
enterOuterAlt(_localctx, 18);
{
setState(8061);
((PrimitiveColTypeContext)_localctx).type = match(HLL);
}
break;
case AGG_STATE:
enterOuterAlt(_localctx, 19);
{
setState(8062);
((PrimitiveColTypeContext)_localctx).type = match(AGG_STATE);
}
break;
case STRING:
enterOuterAlt(_localctx, 20);
{
setState(8063);
((PrimitiveColTypeContext)_localctx).type = match(STRING);
}
break;
case JSON:
enterOuterAlt(_localctx, 21);
{
setState(8064);
((PrimitiveColTypeContext)_localctx).type = match(JSON);
}
break;
case JSONB:
enterOuterAlt(_localctx, 22);
{
setState(8065);
((PrimitiveColTypeContext)_localctx).type = match(JSONB);
}
break;
case TEXT:
enterOuterAlt(_localctx, 23);
{
setState(8066);
((PrimitiveColTypeContext)_localctx).type = match(TEXT);
}
break;
case VARCHAR:
enterOuterAlt(_localctx, 24);
{
setState(8067);
((PrimitiveColTypeContext)_localctx).type = match(VARCHAR);
}
break;
case CHAR:
enterOuterAlt(_localctx, 25);
{
setState(8068);
((PrimitiveColTypeContext)_localctx).type = match(CHAR);
}
break;
case DECIMAL:
enterOuterAlt(_localctx, 26);
{
setState(8069);
((PrimitiveColTypeContext)_localctx).type = match(DECIMAL);
}
break;
case DECIMALV2:
enterOuterAlt(_localctx, 27);
{
setState(8070);
((PrimitiveColTypeContext)_localctx).type = match(DECIMALV2);
}
break;
case DECIMALV3:
enterOuterAlt(_localctx, 28);
{
setState(8071);
((PrimitiveColTypeContext)_localctx).type = match(DECIMALV3);
}
break;
case IPV4:
enterOuterAlt(_localctx, 29);
{
setState(8072);
((PrimitiveColTypeContext)_localctx).type = match(IPV4);
}
break;
case IPV6:
enterOuterAlt(_localctx, 30);
{
setState(8073);
((PrimitiveColTypeContext)_localctx).type = match(IPV6);
}
break;
case VARIANT:
enterOuterAlt(_localctx, 31);
{
setState(8074);
((PrimitiveColTypeContext)_localctx).type = match(VARIANT);
}
break;
case ALL:
enterOuterAlt(_localctx, 32);
{
setState(8075);
((PrimitiveColTypeContext)_localctx).type = match(ALL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ComplexColTypeListContext extends ParserRuleContext {
public List<ComplexColTypeContext> complexColType() {
return getRuleContexts(ComplexColTypeContext.class);
}
public ComplexColTypeContext complexColType(int i) {
return getRuleContext(ComplexColTypeContext.class,i);
}
public List<TerminalNode> COMMA() { return getTokens(PLParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(PLParser.COMMA, i);
}
public ComplexColTypeListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_complexColTypeList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterComplexColTypeList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitComplexColTypeList(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitComplexColTypeList(this);
else return visitor.visitChildren(this);
}
}
public final ComplexColTypeListContext complexColTypeList() throws RecognitionException {
ComplexColTypeListContext _localctx = new ComplexColTypeListContext(_ctx, getState());
enterRule(_localctx, 688, RULE_complexColTypeList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(8078);
complexColType();
setState(8083);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(8079);
match(COMMA);
setState(8080);
complexColType();
}
}
setState(8085);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ComplexColTypeContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode COLON() { return getToken(PLParser.COLON, 0); }
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public CommentSpecContext commentSpec() {
return getRuleContext(CommentSpecContext.class,0);
}
public ComplexColTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_complexColType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterComplexColType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitComplexColType(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitComplexColType(this);
else return visitor.visitChildren(this);
}
}
public final ComplexColTypeContext complexColType() throws RecognitionException {
ComplexColTypeContext _localctx = new ComplexColTypeContext(_ctx, getState());
enterRule(_localctx, 690, RULE_complexColType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(8086);
identifier();
setState(8087);
match(COLON);
setState(8088);
dataType();
setState(8090);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(8089);
commentSpec();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CommentSpecContext extends ParserRuleContext {
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public CommentSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_commentSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterCommentSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitCommentSpec(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitCommentSpec(this);
else return visitor.visitChildren(this);
}
}
public final CommentSpecContext commentSpec() throws RecognitionException {
CommentSpecContext _localctx = new CommentSpecContext(_ctx, getState());
enterRule(_localctx, 692, RULE_commentSpec);
try {
enterOuterAlt(_localctx, 1);
{
setState(8092);
match(COMMENT);
setState(8093);
match(STRING_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SampleContext extends ParserRuleContext {
public Token seed;
public TerminalNode TABLESAMPLE() { return getToken(PLParser.TABLESAMPLE, 0); }
public TerminalNode LEFT_PAREN() { return getToken(PLParser.LEFT_PAREN, 0); }
public TerminalNode RIGHT_PAREN() { return getToken(PLParser.RIGHT_PAREN, 0); }
public SampleMethodContext sampleMethod() {
return getRuleContext(SampleMethodContext.class,0);
}
public TerminalNode REPEATABLE() { return getToken(PLParser.REPEATABLE, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public SampleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sample; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSample(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSample(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSample(this);
else return visitor.visitChildren(this);
}
}
public final SampleContext sample() throws RecognitionException {
SampleContext _localctx = new SampleContext(_ctx, getState());
enterRule(_localctx, 694, RULE_sample);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(8095);
match(TABLESAMPLE);
setState(8096);
match(LEFT_PAREN);
setState(8098);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INTEGER_VALUE) {
{
setState(8097);
sampleMethod();
}
}
setState(8100);
match(RIGHT_PAREN);
setState(8103);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1114,_ctx) ) {
case 1:
{
setState(8101);
match(REPEATABLE);
setState(8102);
((SampleContext)_localctx).seed = match(INTEGER_VALUE);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SampleMethodContext extends ParserRuleContext {
public SampleMethodContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sampleMethod; }
public SampleMethodContext() { }
public void copyFrom(SampleMethodContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SampleByRowsContext extends SampleMethodContext {
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode ROWS() { return getToken(PLParser.ROWS, 0); }
public SampleByRowsContext(SampleMethodContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSampleByRows(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSampleByRows(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSampleByRows(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class SampleByPercentileContext extends SampleMethodContext {
public Token percentage;
public TerminalNode PERCENT() { return getToken(PLParser.PERCENT, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public SampleByPercentileContext(SampleMethodContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterSampleByPercentile(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitSampleByPercentile(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitSampleByPercentile(this);
else return visitor.visitChildren(this);
}
}
public final SampleMethodContext sampleMethod() throws RecognitionException {
SampleMethodContext _localctx = new SampleMethodContext(_ctx, getState());
enterRule(_localctx, 696, RULE_sampleMethod);
try {
setState(8109);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1115,_ctx) ) {
case 1:
_localctx = new SampleByPercentileContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(8105);
((SampleByPercentileContext)_localctx).percentage = match(INTEGER_VALUE);
setState(8106);
match(PERCENT);
}
break;
case 2:
_localctx = new SampleByRowsContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(8107);
match(INTEGER_VALUE);
setState(8108);
match(ROWS);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TableSnapshotContext extends ParserRuleContext {
public Token version;
public Token time;
public TerminalNode FOR() { return getToken(PLParser.FOR, 0); }
public TerminalNode VERSION() { return getToken(PLParser.VERSION, 0); }
public TerminalNode AS() { return getToken(PLParser.AS, 0); }
public TerminalNode OF() { return getToken(PLParser.OF, 0); }
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode TIME() { return getToken(PLParser.TIME, 0); }
public TerminalNode STRING_LITERAL() { return getToken(PLParser.STRING_LITERAL, 0); }
public TableSnapshotContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableSnapshot; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterTableSnapshot(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitTableSnapshot(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitTableSnapshot(this);
else return visitor.visitChildren(this);
}
}
public final TableSnapshotContext tableSnapshot() throws RecognitionException {
TableSnapshotContext _localctx = new TableSnapshotContext(_ctx, getState());
enterRule(_localctx, 698, RULE_tableSnapshot);
try {
setState(8121);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1116,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(8111);
match(FOR);
setState(8112);
match(VERSION);
setState(8113);
match(AS);
setState(8114);
match(OF);
setState(8115);
((TableSnapshotContext)_localctx).version = match(INTEGER_VALUE);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(8116);
match(FOR);
setState(8117);
match(TIME);
setState(8118);
match(AS);
setState(8119);
match(OF);
setState(8120);
((TableSnapshotContext)_localctx).time = match(STRING_LITERAL);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ErrorCapturingIdentifierContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ErrorCapturingIdentifierExtraContext errorCapturingIdentifierExtra() {
return getRuleContext(ErrorCapturingIdentifierExtraContext.class,0);
}
public ErrorCapturingIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_errorCapturingIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterErrorCapturingIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitErrorCapturingIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitErrorCapturingIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final ErrorCapturingIdentifierContext errorCapturingIdentifier() throws RecognitionException {
ErrorCapturingIdentifierContext _localctx = new ErrorCapturingIdentifierContext(_ctx, getState());
enterRule(_localctx, 700, RULE_errorCapturingIdentifier);
try {
enterOuterAlt(_localctx, 1);
{
setState(8123);
identifier();
setState(8124);
errorCapturingIdentifierExtra();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ErrorCapturingIdentifierExtraContext extends ParserRuleContext {
public ErrorCapturingIdentifierExtraContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_errorCapturingIdentifierExtra; }
public ErrorCapturingIdentifierExtraContext() { }
public void copyFrom(ErrorCapturingIdentifierExtraContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ErrorIdentContext extends ErrorCapturingIdentifierExtraContext {
public List<TerminalNode> SUBTRACT() { return getTokens(PLParser.SUBTRACT); }
public TerminalNode SUBTRACT(int i) {
return getToken(PLParser.SUBTRACT, i);
}
public List<IdentifierContext> identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public ErrorIdentContext(ErrorCapturingIdentifierExtraContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterErrorIdent(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitErrorIdent(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitErrorIdent(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class RealIdentContext extends ErrorCapturingIdentifierExtraContext {
public RealIdentContext(ErrorCapturingIdentifierExtraContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterRealIdent(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitRealIdent(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitRealIdent(this);
else return visitor.visitChildren(this);
}
}
public final ErrorCapturingIdentifierExtraContext errorCapturingIdentifierExtra() throws RecognitionException {
ErrorCapturingIdentifierExtraContext _localctx = new ErrorCapturingIdentifierExtraContext(_ctx, getState());
enterRule(_localctx, 702, RULE_errorCapturingIdentifierExtra);
try {
int _alt;
setState(8133);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1118,_ctx) ) {
case 1:
_localctx = new ErrorIdentContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(8128);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(8126);
match(SUBTRACT);
setState(8127);
identifier();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(8130);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,1117,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
break;
case 2:
_localctx = new RealIdentContext(_localctx);
enterOuterAlt(_localctx, 2);
{
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdentifierContext extends ParserRuleContext {
public StrictIdentifierContext strictIdentifier() {
return getRuleContext(StrictIdentifierContext.class,0);
}
public IdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_identifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final IdentifierContext identifier() throws RecognitionException {
IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
enterRule(_localctx, 704, RULE_identifier);
try {
enterOuterAlt(_localctx, 1);
{
setState(8135);
strictIdentifier();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StrictIdentifierContext extends ParserRuleContext {
public StrictIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_strictIdentifier; }
public StrictIdentifierContext() { }
public void copyFrom(StrictIdentifierContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class QuotedIdentifierAlternativeContext extends StrictIdentifierContext {
public QuotedIdentifierContext quotedIdentifier() {
return getRuleContext(QuotedIdentifierContext.class,0);
}
public QuotedIdentifierAlternativeContext(StrictIdentifierContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQuotedIdentifierAlternative(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQuotedIdentifierAlternative(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQuotedIdentifierAlternative(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class UnquotedIdentifierContext extends StrictIdentifierContext {
public TerminalNode IDENTIFIER() { return getToken(PLParser.IDENTIFIER, 0); }
public NonReservedContext nonReserved() {
return getRuleContext(NonReservedContext.class,0);
}
public UnquotedIdentifierContext(StrictIdentifierContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterUnquotedIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitUnquotedIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitUnquotedIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final StrictIdentifierContext strictIdentifier() throws RecognitionException {
StrictIdentifierContext _localctx = new StrictIdentifierContext(_ctx, getState());
enterRule(_localctx, 706, RULE_strictIdentifier);
try {
setState(8140);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IDENTIFIER:
_localctx = new UnquotedIdentifierContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(8137);
match(IDENTIFIER);
}
break;
case BACKQUOTED_IDENTIFIER:
_localctx = new QuotedIdentifierAlternativeContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(8138);
quotedIdentifier();
}
break;
case QUALIFY:
case SQL:
case LEFT_BRACE:
case RIGHT_BRACE:
case ACTIONS:
case AFTER:
case AGG_STATE:
case AGGREGATE:
case ALIAS:
case ANALYZED:
case ARRAY:
case AT:
case AUTHORS:
case AUTO_INCREMENT:
case ALWAYS:
case BACKENDS:
case BACKUP:
case BEGIN:
case BELONG:
case BIN:
case BITAND:
case BITMAP:
case BITMAP_EMPTY:
case BITMAP_UNION:
case BITOR:
case BITXOR:
case BLOB:
case BOOLEAN:
case BRIEF:
case BROKER:
case BUCKETS:
case BUILD:
case BUILTIN:
case BULK:
case CACHE:
case CACHED:
case CALL:
case CATALOG:
case CATALOGS:
case CHAIN:
case CHAR:
case CHARSET:
case CHECK:
case CLUSTER:
case CLUSTERS:
case COLLATION:
case COLLECT:
case COLOCATE:
case COLUMNS:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETE:
case COMPRESS_TYPE:
case COMPUTE:
case CONDITIONS:
case CONFIG:
case CONNECTION:
case CONNECTION_ID:
case CONSISTENT:
case CONSTRAINTS:
case CONVERT:
case CONVERT_LSC:
case COPY:
case COUNT:
case CREATION:
case CRON:
case CURRENT_CATALOG:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
case CURRENT_USER:
case DATA:
case DATE:
case DATETIME:
case DATETIMEV2:
case DATEV2:
case DATETIMEV1:
case DATEV1:
case DAY:
case DECIMAL:
case DECIMALV2:
case DECIMALV3:
case DEFERRED:
case DEMAND:
case DIAGNOSE:
case DIAGNOSIS:
case DICTIONARIES:
case DICTIONARY:
case DISTINCTPC:
case DISTINCTPCSA:
case DO:
case DORIS_INTERNAL_TABLE_ID:
case DUAL:
case DYNAMIC:
case E:
case ENABLE:
case ENCRYPTKEY:
case ENCRYPTKEYS:
case END:
case ENDS:
case ENGINE:
case ENGINES:
case ERRORS:
case EVENTS:
case EVERY:
case EXCLUDE:
case EXPIRED:
case EXTERNAL:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FEATURE:
case FIELDS:
case FILE:
case FILTER:
case FIRST:
case FORMAT:
case FREE:
case FRONTENDS:
case FUNCTION:
case GENERATED:
case GENERIC:
case GLOBAL:
case GRAPH:
case GROUPING:
case GROUPS:
case HASH:
case HASH_MAP:
case HDFS:
case HELP:
case HISTOGRAM:
case HLL_UNION:
case HOSTNAME:
case HOTSPOT:
case HOUR:
case HUB:
case IDENTIFIED:
case IGNORE:
case IMMEDIATE:
case INCREMENTAL:
case INDEXES:
case INVERTED:
case IP_TRIE:
case IPV4:
case IPV6:
case IS_NOT_NULL_PRED:
case IS_NULL_PRED:
case ISNULL:
case ISOLATION:
case JOB:
case JOBS:
case JSON:
case JSONB:
case LABEL:
case LAST:
case LDAP:
case LDAP_ADMIN_PASSWORD:
case LESS:
case LEVEL:
case LINES:
case LINK:
case LOCAL:
case LOCALTIME:
case LOCALTIMESTAMP:
case LOCATION:
case LOCK:
case LOGICAL:
case MANUAL:
case MAP:
case MATCH_ALL:
case MATCH_ANY:
case MATCH_PHRASE:
case MATCH_PHRASE_EDGE:
case MATCH_PHRASE_PREFIX:
case MATCH_REGEXP:
case MATERIALIZED:
case MAX:
case MEMO:
case MERGE:
case MIGRATE:
case MIGRATIONS:
case MIN:
case MINUTE:
case MODIFY:
case MONTH:
case MTMV:
case NAME:
case NAMES:
case NEGATIVE:
case NEVER:
case NEXT:
case NGRAM_BF:
case NO:
case NON_NULLABLE:
case NULLS:
case OF:
case OFFSET:
case ONLY:
case OPEN:
case OPTIMIZED:
case PARAMETER:
case PARSED:
case PARTITIONS:
case PASSWORD:
case PASSWORD_EXPIRE:
case PASSWORD_HISTORY:
case PASSWORD_LOCK_TIME:
case PASSWORD_REUSE:
case PATH:
case PAUSE:
case PERCENT:
case PERIOD:
case PERMISSIVE:
case PHYSICAL:
case PI:
case PLAN:
case PRIVILEGES:
case PROCESS:
case PLUGIN:
case PLUGINS:
case POLICY:
case PROC:
case PROCESSLIST:
case PROFILE:
case PROPERTIES:
case PROPERTY:
case QUANTILE_STATE:
case QUANTILE_UNION:
case QUERY:
case QUEUED:
case QUOTA:
case QUARTER:
case RANDOM:
case RECENT:
case RECOVER:
case RECYCLE:
case REFRESH:
case REPEATABLE:
case REPLACE:
case REPLACE_IF_NOT_NULL:
case REPLAYER:
case REPOSITORIES:
case REPOSITORY:
case RESOURCE:
case RESOURCES:
case RESTORE:
case RESTRICTIVE:
case RESUME:
case RETURNS:
case REWRITTEN:
case RLIKE:
case ROLLBACK:
case ROLLUP:
case ROUTINE:
case S3:
case SAMPLE:
case SCHEDULE:
case SCHEDULER:
case SCHEMA:
case SECOND:
case SERIALIZABLE:
case SESSION:
case SESSION_USER:
case SET_SESSION_VARIABLE:
case SHAPE:
case SKEW:
case SNAPSHOT:
case SONAME:
case SPLIT:
case STAGE:
case STAGES:
case START:
case STARTS:
case STATS:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STREAMING:
case STRING:
case STRUCT:
case SUM:
case TABLES:
case TASK:
case TASKS:
case TEMPORARY:
case TEXT:
case THAN:
case TIME:
case TIMESTAMP:
case TRANSACTION:
case TREE:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNCOMMITTED:
case UNLOCK:
case UNSET:
case UP:
case USER:
case VALUE:
case VARCHAR:
case VARIABLE:
case VARIABLES:
case VARIANT:
case VAULT:
case VAULTS:
case VERBOSE:
case VERSION:
case VIEW:
case VIEWS:
case WARM:
case WARNINGS:
case WEEK:
case WORK:
case YEAR:
case HINT_START:
case HINT_END:
case COMMENT_START:
_localctx = new UnquotedIdentifierContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(8139);
nonReserved();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class QuotedIdentifierContext extends ParserRuleContext {
public TerminalNode BACKQUOTED_IDENTIFIER() { return getToken(PLParser.BACKQUOTED_IDENTIFIER, 0); }
public QuotedIdentifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_quotedIdentifier; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterQuotedIdentifier(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitQuotedIdentifier(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitQuotedIdentifier(this);
else return visitor.visitChildren(this);
}
}
public final QuotedIdentifierContext quotedIdentifier() throws RecognitionException {
QuotedIdentifierContext _localctx = new QuotedIdentifierContext(_ctx, getState());
enterRule(_localctx, 708, RULE_quotedIdentifier);
try {
enterOuterAlt(_localctx, 1);
{
setState(8142);
match(BACKQUOTED_IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NumberContext extends ParserRuleContext {
public NumberContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_number; }
public NumberContext() { }
public void copyFrom(NumberContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class DecimalLiteralContext extends NumberContext {
public TerminalNode EXPONENT_VALUE() { return getToken(PLParser.EXPONENT_VALUE, 0); }
public TerminalNode DECIMAL_VALUE() { return getToken(PLParser.DECIMAL_VALUE, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public DecimalLiteralContext(NumberContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterDecimalLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitDecimalLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitDecimalLiteral(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class IntegerLiteralContext extends NumberContext {
public TerminalNode INTEGER_VALUE() { return getToken(PLParser.INTEGER_VALUE, 0); }
public TerminalNode SUBTRACT() { return getToken(PLParser.SUBTRACT, 0); }
public IntegerLiteralContext(NumberContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterIntegerLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitIntegerLiteral(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitIntegerLiteral(this);
else return visitor.visitChildren(this);
}
}
public final NumberContext number() throws RecognitionException {
NumberContext _localctx = new NumberContext(_ctx, getState());
enterRule(_localctx, 710, RULE_number);
int _la;
try {
setState(8152);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1122,_ctx) ) {
case 1:
_localctx = new IntegerLiteralContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(8145);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(8144);
match(SUBTRACT);
}
}
setState(8147);
match(INTEGER_VALUE);
}
break;
case 2:
_localctx = new DecimalLiteralContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(8149);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SUBTRACT) {
{
setState(8148);
match(SUBTRACT);
}
}
setState(8151);
_la = _input.LA(1);
if ( !(_la==EXPONENT_VALUE || _la==DECIMAL_VALUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NonReservedContext extends ParserRuleContext {
public TerminalNode ACTIONS() { return getToken(PLParser.ACTIONS, 0); }
public TerminalNode AFTER() { return getToken(PLParser.AFTER, 0); }
public TerminalNode AGG_STATE() { return getToken(PLParser.AGG_STATE, 0); }
public TerminalNode AGGREGATE() { return getToken(PLParser.AGGREGATE, 0); }
public TerminalNode ALIAS() { return getToken(PLParser.ALIAS, 0); }
public TerminalNode ALWAYS() { return getToken(PLParser.ALWAYS, 0); }
public TerminalNode ANALYZED() { return getToken(PLParser.ANALYZED, 0); }
public TerminalNode ARRAY() { return getToken(PLParser.ARRAY, 0); }
public TerminalNode AT() { return getToken(PLParser.AT, 0); }
public TerminalNode AUTHORS() { return getToken(PLParser.AUTHORS, 0); }
public TerminalNode AUTO_INCREMENT() { return getToken(PLParser.AUTO_INCREMENT, 0); }
public TerminalNode BACKENDS() { return getToken(PLParser.BACKENDS, 0); }
public TerminalNode BACKUP() { return getToken(PLParser.BACKUP, 0); }
public TerminalNode BEGIN() { return getToken(PLParser.BEGIN, 0); }
public TerminalNode BELONG() { return getToken(PLParser.BELONG, 0); }
public TerminalNode BIN() { return getToken(PLParser.BIN, 0); }
public TerminalNode BITAND() { return getToken(PLParser.BITAND, 0); }
public TerminalNode BITMAP() { return getToken(PLParser.BITMAP, 0); }
public TerminalNode BITMAP_EMPTY() { return getToken(PLParser.BITMAP_EMPTY, 0); }
public TerminalNode BITMAP_UNION() { return getToken(PLParser.BITMAP_UNION, 0); }
public TerminalNode BITOR() { return getToken(PLParser.BITOR, 0); }
public TerminalNode BITXOR() { return getToken(PLParser.BITXOR, 0); }
public TerminalNode BLOB() { return getToken(PLParser.BLOB, 0); }
public TerminalNode BOOLEAN() { return getToken(PLParser.BOOLEAN, 0); }
public TerminalNode BRIEF() { return getToken(PLParser.BRIEF, 0); }
public TerminalNode BROKER() { return getToken(PLParser.BROKER, 0); }
public TerminalNode BUCKETS() { return getToken(PLParser.BUCKETS, 0); }
public TerminalNode BUILD() { return getToken(PLParser.BUILD, 0); }
public TerminalNode BUILTIN() { return getToken(PLParser.BUILTIN, 0); }
public TerminalNode BULK() { return getToken(PLParser.BULK, 0); }
public TerminalNode CACHE() { return getToken(PLParser.CACHE, 0); }
public TerminalNode CACHED() { return getToken(PLParser.CACHED, 0); }
public TerminalNode CALL() { return getToken(PLParser.CALL, 0); }
public TerminalNode CATALOG() { return getToken(PLParser.CATALOG, 0); }
public TerminalNode CATALOGS() { return getToken(PLParser.CATALOGS, 0); }
public TerminalNode CHAIN() { return getToken(PLParser.CHAIN, 0); }
public TerminalNode CHAR() { return getToken(PLParser.CHAR, 0); }
public TerminalNode CHARSET() { return getToken(PLParser.CHARSET, 0); }
public TerminalNode CHECK() { return getToken(PLParser.CHECK, 0); }
public TerminalNode CLUSTER() { return getToken(PLParser.CLUSTER, 0); }
public TerminalNode CLUSTERS() { return getToken(PLParser.CLUSTERS, 0); }
public TerminalNode COLLATION() { return getToken(PLParser.COLLATION, 0); }
public TerminalNode COLLECT() { return getToken(PLParser.COLLECT, 0); }
public TerminalNode COLOCATE() { return getToken(PLParser.COLOCATE, 0); }
public TerminalNode COLUMNS() { return getToken(PLParser.COLUMNS, 0); }
public TerminalNode COMMENT() { return getToken(PLParser.COMMENT, 0); }
public TerminalNode COMMENT_START() { return getToken(PLParser.COMMENT_START, 0); }
public TerminalNode COMMIT() { return getToken(PLParser.COMMIT, 0); }
public TerminalNode COMMITTED() { return getToken(PLParser.COMMITTED, 0); }
public TerminalNode COMPACT() { return getToken(PLParser.COMPACT, 0); }
public TerminalNode COMPLETE() { return getToken(PLParser.COMPLETE, 0); }
public TerminalNode COMPRESS_TYPE() { return getToken(PLParser.COMPRESS_TYPE, 0); }
public TerminalNode COMPUTE() { return getToken(PLParser.COMPUTE, 0); }
public TerminalNode CONDITIONS() { return getToken(PLParser.CONDITIONS, 0); }
public TerminalNode CONFIG() { return getToken(PLParser.CONFIG, 0); }
public TerminalNode CONNECTION() { return getToken(PLParser.CONNECTION, 0); }
public TerminalNode CONNECTION_ID() { return getToken(PLParser.CONNECTION_ID, 0); }
public TerminalNode CONSISTENT() { return getToken(PLParser.CONSISTENT, 0); }
public TerminalNode CONSTRAINTS() { return getToken(PLParser.CONSTRAINTS, 0); }
public TerminalNode CONVERT() { return getToken(PLParser.CONVERT, 0); }
public TerminalNode CONVERT_LSC() { return getToken(PLParser.CONVERT_LSC, 0); }
public TerminalNode COPY() { return getToken(PLParser.COPY, 0); }
public TerminalNode COUNT() { return getToken(PLParser.COUNT, 0); }
public TerminalNode CREATION() { return getToken(PLParser.CREATION, 0); }
public TerminalNode CRON() { return getToken(PLParser.CRON, 0); }
public TerminalNode CURRENT_CATALOG() { return getToken(PLParser.CURRENT_CATALOG, 0); }
public TerminalNode CURRENT_DATE() { return getToken(PLParser.CURRENT_DATE, 0); }
public TerminalNode CURRENT_TIME() { return getToken(PLParser.CURRENT_TIME, 0); }
public TerminalNode CURRENT_TIMESTAMP() { return getToken(PLParser.CURRENT_TIMESTAMP, 0); }
public TerminalNode CURRENT_USER() { return getToken(PLParser.CURRENT_USER, 0); }
public TerminalNode DATA() { return getToken(PLParser.DATA, 0); }
public TerminalNode DATE() { return getToken(PLParser.DATE, 0); }
public TerminalNode DATETIME() { return getToken(PLParser.DATETIME, 0); }
public TerminalNode DATETIMEV1() { return getToken(PLParser.DATETIMEV1, 0); }
public TerminalNode DATETIMEV2() { return getToken(PLParser.DATETIMEV2, 0); }
public TerminalNode DATEV1() { return getToken(PLParser.DATEV1, 0); }
public TerminalNode DATEV2() { return getToken(PLParser.DATEV2, 0); }
public TerminalNode DAY() { return getToken(PLParser.DAY, 0); }
public TerminalNode DECIMAL() { return getToken(PLParser.DECIMAL, 0); }
public TerminalNode DECIMALV2() { return getToken(PLParser.DECIMALV2, 0); }
public TerminalNode DECIMALV3() { return getToken(PLParser.DECIMALV3, 0); }
public TerminalNode DEFERRED() { return getToken(PLParser.DEFERRED, 0); }
public TerminalNode DEMAND() { return getToken(PLParser.DEMAND, 0); }
public TerminalNode DIAGNOSE() { return getToken(PLParser.DIAGNOSE, 0); }
public TerminalNode DIAGNOSIS() { return getToken(PLParser.DIAGNOSIS, 0); }
public TerminalNode DICTIONARIES() { return getToken(PLParser.DICTIONARIES, 0); }
public TerminalNode DICTIONARY() { return getToken(PLParser.DICTIONARY, 0); }
public TerminalNode DISTINCTPC() { return getToken(PLParser.DISTINCTPC, 0); }
public TerminalNode DISTINCTPCSA() { return getToken(PLParser.DISTINCTPCSA, 0); }
public TerminalNode DO() { return getToken(PLParser.DO, 0); }
public TerminalNode DORIS_INTERNAL_TABLE_ID() { return getToken(PLParser.DORIS_INTERNAL_TABLE_ID, 0); }
public TerminalNode DUAL() { return getToken(PLParser.DUAL, 0); }
public TerminalNode DYNAMIC() { return getToken(PLParser.DYNAMIC, 0); }
public TerminalNode E() { return getToken(PLParser.E, 0); }
public TerminalNode ENABLE() { return getToken(PLParser.ENABLE, 0); }
public TerminalNode ENCRYPTKEY() { return getToken(PLParser.ENCRYPTKEY, 0); }
public TerminalNode ENCRYPTKEYS() { return getToken(PLParser.ENCRYPTKEYS, 0); }
public TerminalNode END() { return getToken(PLParser.END, 0); }
public TerminalNode ENDS() { return getToken(PLParser.ENDS, 0); }
public TerminalNode ENGINE() { return getToken(PLParser.ENGINE, 0); }
public TerminalNode ENGINES() { return getToken(PLParser.ENGINES, 0); }
public TerminalNode ERRORS() { return getToken(PLParser.ERRORS, 0); }
public TerminalNode EVENTS() { return getToken(PLParser.EVENTS, 0); }
public TerminalNode EVERY() { return getToken(PLParser.EVERY, 0); }
public TerminalNode EXCLUDE() { return getToken(PLParser.EXCLUDE, 0); }
public TerminalNode EXPIRED() { return getToken(PLParser.EXPIRED, 0); }
public TerminalNode EXTERNAL() { return getToken(PLParser.EXTERNAL, 0); }
public TerminalNode FAILED_LOGIN_ATTEMPTS() { return getToken(PLParser.FAILED_LOGIN_ATTEMPTS, 0); }
public TerminalNode FAST() { return getToken(PLParser.FAST, 0); }
public TerminalNode FEATURE() { return getToken(PLParser.FEATURE, 0); }
public TerminalNode FIELDS() { return getToken(PLParser.FIELDS, 0); }
public TerminalNode FILE() { return getToken(PLParser.FILE, 0); }
public TerminalNode FILTER() { return getToken(PLParser.FILTER, 0); }
public TerminalNode FIRST() { return getToken(PLParser.FIRST, 0); }
public TerminalNode FORMAT() { return getToken(PLParser.FORMAT, 0); }
public TerminalNode FREE() { return getToken(PLParser.FREE, 0); }
public TerminalNode FRONTENDS() { return getToken(PLParser.FRONTENDS, 0); }
public TerminalNode FUNCTION() { return getToken(PLParser.FUNCTION, 0); }
public TerminalNode GENERATED() { return getToken(PLParser.GENERATED, 0); }
public TerminalNode GENERIC() { return getToken(PLParser.GENERIC, 0); }
public TerminalNode GLOBAL() { return getToken(PLParser.GLOBAL, 0); }
public TerminalNode GRAPH() { return getToken(PLParser.GRAPH, 0); }
public TerminalNode GROUPING() { return getToken(PLParser.GROUPING, 0); }
public TerminalNode GROUPS() { return getToken(PLParser.GROUPS, 0); }
public TerminalNode HASH() { return getToken(PLParser.HASH, 0); }
public TerminalNode HASH_MAP() { return getToken(PLParser.HASH_MAP, 0); }
public TerminalNode HDFS() { return getToken(PLParser.HDFS, 0); }
public TerminalNode HELP() { return getToken(PLParser.HELP, 0); }
public TerminalNode HINT_END() { return getToken(PLParser.HINT_END, 0); }
public TerminalNode HINT_START() { return getToken(PLParser.HINT_START, 0); }
public TerminalNode HISTOGRAM() { return getToken(PLParser.HISTOGRAM, 0); }
public TerminalNode HLL_UNION() { return getToken(PLParser.HLL_UNION, 0); }
public TerminalNode HOSTNAME() { return getToken(PLParser.HOSTNAME, 0); }
public TerminalNode HOTSPOT() { return getToken(PLParser.HOTSPOT, 0); }
public TerminalNode HOUR() { return getToken(PLParser.HOUR, 0); }
public TerminalNode HUB() { return getToken(PLParser.HUB, 0); }
public TerminalNode IDENTIFIED() { return getToken(PLParser.IDENTIFIED, 0); }
public TerminalNode IGNORE() { return getToken(PLParser.IGNORE, 0); }
public TerminalNode IMMEDIATE() { return getToken(PLParser.IMMEDIATE, 0); }
public TerminalNode INCREMENTAL() { return getToken(PLParser.INCREMENTAL, 0); }
public TerminalNode INDEXES() { return getToken(PLParser.INDEXES, 0); }
public TerminalNode INVERTED() { return getToken(PLParser.INVERTED, 0); }
public TerminalNode IP_TRIE() { return getToken(PLParser.IP_TRIE, 0); }
public TerminalNode IPV4() { return getToken(PLParser.IPV4, 0); }
public TerminalNode IPV6() { return getToken(PLParser.IPV6, 0); }
public TerminalNode IS_NOT_NULL_PRED() { return getToken(PLParser.IS_NOT_NULL_PRED, 0); }
public TerminalNode IS_NULL_PRED() { return getToken(PLParser.IS_NULL_PRED, 0); }
public TerminalNode ISNULL() { return getToken(PLParser.ISNULL, 0); }
public TerminalNode ISOLATION() { return getToken(PLParser.ISOLATION, 0); }
public TerminalNode JOB() { return getToken(PLParser.JOB, 0); }
public TerminalNode JOBS() { return getToken(PLParser.JOBS, 0); }
public TerminalNode JSON() { return getToken(PLParser.JSON, 0); }
public TerminalNode JSONB() { return getToken(PLParser.JSONB, 0); }
public TerminalNode LABEL() { return getToken(PLParser.LABEL, 0); }
public TerminalNode LAST() { return getToken(PLParser.LAST, 0); }
public TerminalNode LDAP() { return getToken(PLParser.LDAP, 0); }
public TerminalNode LDAP_ADMIN_PASSWORD() { return getToken(PLParser.LDAP_ADMIN_PASSWORD, 0); }
public TerminalNode LEFT_BRACE() { return getToken(PLParser.LEFT_BRACE, 0); }
public TerminalNode LESS() { return getToken(PLParser.LESS, 0); }
public TerminalNode LEVEL() { return getToken(PLParser.LEVEL, 0); }
public TerminalNode LINES() { return getToken(PLParser.LINES, 0); }
public TerminalNode LINK() { return getToken(PLParser.LINK, 0); }
public TerminalNode LOCAL() { return getToken(PLParser.LOCAL, 0); }
public TerminalNode LOCALTIME() { return getToken(PLParser.LOCALTIME, 0); }
public TerminalNode LOCALTIMESTAMP() { return getToken(PLParser.LOCALTIMESTAMP, 0); }
public TerminalNode LOCATION() { return getToken(PLParser.LOCATION, 0); }
public TerminalNode LOCK() { return getToken(PLParser.LOCK, 0); }
public TerminalNode LOGICAL() { return getToken(PLParser.LOGICAL, 0); }
public TerminalNode MANUAL() { return getToken(PLParser.MANUAL, 0); }
public TerminalNode MAP() { return getToken(PLParser.MAP, 0); }
public TerminalNode MATCH_ALL() { return getToken(PLParser.MATCH_ALL, 0); }
public TerminalNode MATCH_ANY() { return getToken(PLParser.MATCH_ANY, 0); }
public TerminalNode MATCH_PHRASE() { return getToken(PLParser.MATCH_PHRASE, 0); }
public TerminalNode MATCH_PHRASE_EDGE() { return getToken(PLParser.MATCH_PHRASE_EDGE, 0); }
public TerminalNode MATCH_PHRASE_PREFIX() { return getToken(PLParser.MATCH_PHRASE_PREFIX, 0); }
public TerminalNode MATCH_REGEXP() { return getToken(PLParser.MATCH_REGEXP, 0); }
public TerminalNode MATERIALIZED() { return getToken(PLParser.MATERIALIZED, 0); }
public TerminalNode MAX() { return getToken(PLParser.MAX, 0); }
public TerminalNode MEMO() { return getToken(PLParser.MEMO, 0); }
public TerminalNode MERGE() { return getToken(PLParser.MERGE, 0); }
public TerminalNode MIGRATE() { return getToken(PLParser.MIGRATE, 0); }
public TerminalNode MIGRATIONS() { return getToken(PLParser.MIGRATIONS, 0); }
public TerminalNode MIN() { return getToken(PLParser.MIN, 0); }
public TerminalNode MINUTE() { return getToken(PLParser.MINUTE, 0); }
public TerminalNode MODIFY() { return getToken(PLParser.MODIFY, 0); }
public TerminalNode MONTH() { return getToken(PLParser.MONTH, 0); }
public TerminalNode MTMV() { return getToken(PLParser.MTMV, 0); }
public TerminalNode NAME() { return getToken(PLParser.NAME, 0); }
public TerminalNode NAMES() { return getToken(PLParser.NAMES, 0); }
public TerminalNode NEGATIVE() { return getToken(PLParser.NEGATIVE, 0); }
public TerminalNode NEVER() { return getToken(PLParser.NEVER, 0); }
public TerminalNode NEXT() { return getToken(PLParser.NEXT, 0); }
public TerminalNode NGRAM_BF() { return getToken(PLParser.NGRAM_BF, 0); }
public TerminalNode NO() { return getToken(PLParser.NO, 0); }
public TerminalNode NON_NULLABLE() { return getToken(PLParser.NON_NULLABLE, 0); }
public TerminalNode NULLS() { return getToken(PLParser.NULLS, 0); }
public TerminalNode OF() { return getToken(PLParser.OF, 0); }
public TerminalNode OFFSET() { return getToken(PLParser.OFFSET, 0); }
public TerminalNode ONLY() { return getToken(PLParser.ONLY, 0); }
public TerminalNode OPEN() { return getToken(PLParser.OPEN, 0); }
public TerminalNode OPTIMIZED() { return getToken(PLParser.OPTIMIZED, 0); }
public TerminalNode PARAMETER() { return getToken(PLParser.PARAMETER, 0); }
public TerminalNode PARSED() { return getToken(PLParser.PARSED, 0); }
public TerminalNode PASSWORD() { return getToken(PLParser.PASSWORD, 0); }
public TerminalNode PASSWORD_EXPIRE() { return getToken(PLParser.PASSWORD_EXPIRE, 0); }
public TerminalNode PASSWORD_HISTORY() { return getToken(PLParser.PASSWORD_HISTORY, 0); }
public TerminalNode PASSWORD_LOCK_TIME() { return getToken(PLParser.PASSWORD_LOCK_TIME, 0); }
public TerminalNode PASSWORD_REUSE() { return getToken(PLParser.PASSWORD_REUSE, 0); }
public TerminalNode PARTITIONS() { return getToken(PLParser.PARTITIONS, 0); }
public TerminalNode PATH() { return getToken(PLParser.PATH, 0); }
public TerminalNode PAUSE() { return getToken(PLParser.PAUSE, 0); }
public TerminalNode PERCENT() { return getToken(PLParser.PERCENT, 0); }
public TerminalNode PERIOD() { return getToken(PLParser.PERIOD, 0); }
public TerminalNode PERMISSIVE() { return getToken(PLParser.PERMISSIVE, 0); }
public TerminalNode PHYSICAL() { return getToken(PLParser.PHYSICAL, 0); }
public TerminalNode PI() { return getToken(PLParser.PI, 0); }
public TerminalNode PLAN() { return getToken(PLParser.PLAN, 0); }
public TerminalNode PLUGIN() { return getToken(PLParser.PLUGIN, 0); }
public TerminalNode PLUGINS() { return getToken(PLParser.PLUGINS, 0); }
public TerminalNode POLICY() { return getToken(PLParser.POLICY, 0); }
public TerminalNode PRIVILEGES() { return getToken(PLParser.PRIVILEGES, 0); }
public TerminalNode PROC() { return getToken(PLParser.PROC, 0); }
public TerminalNode PROCESS() { return getToken(PLParser.PROCESS, 0); }
public TerminalNode PROCESSLIST() { return getToken(PLParser.PROCESSLIST, 0); }
public TerminalNode PROFILE() { return getToken(PLParser.PROFILE, 0); }
public TerminalNode PROPERTIES() { return getToken(PLParser.PROPERTIES, 0); }
public TerminalNode PROPERTY() { return getToken(PLParser.PROPERTY, 0); }
public TerminalNode QUANTILE_STATE() { return getToken(PLParser.QUANTILE_STATE, 0); }
public TerminalNode QUANTILE_UNION() { return getToken(PLParser.QUANTILE_UNION, 0); }
public TerminalNode QUARTER() { return getToken(PLParser.QUARTER, 0); }
public TerminalNode QUERY() { return getToken(PLParser.QUERY, 0); }
public TerminalNode QUOTA() { return getToken(PLParser.QUOTA, 0); }
public TerminalNode QUALIFY() { return getToken(PLParser.QUALIFY, 0); }
public TerminalNode QUEUED() { return getToken(PLParser.QUEUED, 0); }
public TerminalNode RANDOM() { return getToken(PLParser.RANDOM, 0); }
public TerminalNode RECENT() { return getToken(PLParser.RECENT, 0); }
public TerminalNode RECOVER() { return getToken(PLParser.RECOVER, 0); }
public TerminalNode RECYCLE() { return getToken(PLParser.RECYCLE, 0); }
public TerminalNode REFRESH() { return getToken(PLParser.REFRESH, 0); }
public TerminalNode REPEATABLE() { return getToken(PLParser.REPEATABLE, 0); }
public TerminalNode REPLACE() { return getToken(PLParser.REPLACE, 0); }
public TerminalNode REPLACE_IF_NOT_NULL() { return getToken(PLParser.REPLACE_IF_NOT_NULL, 0); }
public TerminalNode REPLAYER() { return getToken(PLParser.REPLAYER, 0); }
public TerminalNode REPOSITORIES() { return getToken(PLParser.REPOSITORIES, 0); }
public TerminalNode REPOSITORY() { return getToken(PLParser.REPOSITORY, 0); }
public TerminalNode RESOURCE() { return getToken(PLParser.RESOURCE, 0); }
public TerminalNode RESOURCES() { return getToken(PLParser.RESOURCES, 0); }
public TerminalNode RESTORE() { return getToken(PLParser.RESTORE, 0); }
public TerminalNode RESTRICTIVE() { return getToken(PLParser.RESTRICTIVE, 0); }
public TerminalNode RESUME() { return getToken(PLParser.RESUME, 0); }
public TerminalNode RETURNS() { return getToken(PLParser.RETURNS, 0); }
public TerminalNode REWRITTEN() { return getToken(PLParser.REWRITTEN, 0); }
public TerminalNode RIGHT_BRACE() { return getToken(PLParser.RIGHT_BRACE, 0); }
public TerminalNode RLIKE() { return getToken(PLParser.RLIKE, 0); }
public TerminalNode ROLLBACK() { return getToken(PLParser.ROLLBACK, 0); }
public TerminalNode ROLLUP() { return getToken(PLParser.ROLLUP, 0); }
public TerminalNode ROUTINE() { return getToken(PLParser.ROUTINE, 0); }
public TerminalNode S3() { return getToken(PLParser.S3, 0); }
public TerminalNode SAMPLE() { return getToken(PLParser.SAMPLE, 0); }
public TerminalNode SCHEDULE() { return getToken(PLParser.SCHEDULE, 0); }
public TerminalNode SCHEDULER() { return getToken(PLParser.SCHEDULER, 0); }
public TerminalNode SCHEMA() { return getToken(PLParser.SCHEMA, 0); }
public TerminalNode SECOND() { return getToken(PLParser.SECOND, 0); }
public TerminalNode SERIALIZABLE() { return getToken(PLParser.SERIALIZABLE, 0); }
public TerminalNode SET_SESSION_VARIABLE() { return getToken(PLParser.SET_SESSION_VARIABLE, 0); }
public TerminalNode SESSION() { return getToken(PLParser.SESSION, 0); }
public TerminalNode SESSION_USER() { return getToken(PLParser.SESSION_USER, 0); }
public TerminalNode SHAPE() { return getToken(PLParser.SHAPE, 0); }
public TerminalNode SKEW() { return getToken(PLParser.SKEW, 0); }
public TerminalNode SNAPSHOT() { return getToken(PLParser.SNAPSHOT, 0); }
public TerminalNode SONAME() { return getToken(PLParser.SONAME, 0); }
public TerminalNode SPLIT() { return getToken(PLParser.SPLIT, 0); }
public TerminalNode SQL() { return getToken(PLParser.SQL, 0); }
public TerminalNode STAGE() { return getToken(PLParser.STAGE, 0); }
public TerminalNode STAGES() { return getToken(PLParser.STAGES, 0); }
public TerminalNode START() { return getToken(PLParser.START, 0); }
public TerminalNode STARTS() { return getToken(PLParser.STARTS, 0); }
public TerminalNode STATS() { return getToken(PLParser.STATS, 0); }
public TerminalNode STATUS() { return getToken(PLParser.STATUS, 0); }
public TerminalNode STOP() { return getToken(PLParser.STOP, 0); }
public TerminalNode STORAGE() { return getToken(PLParser.STORAGE, 0); }
public TerminalNode STREAM() { return getToken(PLParser.STREAM, 0); }
public TerminalNode STREAMING() { return getToken(PLParser.STREAMING, 0); }
public TerminalNode STRING() { return getToken(PLParser.STRING, 0); }
public TerminalNode STRUCT() { return getToken(PLParser.STRUCT, 0); }
public TerminalNode SUM() { return getToken(PLParser.SUM, 0); }
public TerminalNode TABLES() { return getToken(PLParser.TABLES, 0); }
public TerminalNode TASK() { return getToken(PLParser.TASK, 0); }
public TerminalNode TASKS() { return getToken(PLParser.TASKS, 0); }
public TerminalNode TEMPORARY() { return getToken(PLParser.TEMPORARY, 0); }
public TerminalNode TEXT() { return getToken(PLParser.TEXT, 0); }
public TerminalNode THAN() { return getToken(PLParser.THAN, 0); }
public TerminalNode TIME() { return getToken(PLParser.TIME, 0); }
public TerminalNode TIMESTAMP() { return getToken(PLParser.TIMESTAMP, 0); }
public TerminalNode TRANSACTION() { return getToken(PLParser.TRANSACTION, 0); }
public TerminalNode TREE() { return getToken(PLParser.TREE, 0); }
public TerminalNode TRIGGERS() { return getToken(PLParser.TRIGGERS, 0); }
public TerminalNode TRUNCATE() { return getToken(PLParser.TRUNCATE, 0); }
public TerminalNode TYPE() { return getToken(PLParser.TYPE, 0); }
public TerminalNode TYPES() { return getToken(PLParser.TYPES, 0); }
public TerminalNode UNCOMMITTED() { return getToken(PLParser.UNCOMMITTED, 0); }
public TerminalNode UNLOCK() { return getToken(PLParser.UNLOCK, 0); }
public TerminalNode UNSET() { return getToken(PLParser.UNSET, 0); }
public TerminalNode UP() { return getToken(PLParser.UP, 0); }
public TerminalNode USER() { return getToken(PLParser.USER, 0); }
public TerminalNode VALUE() { return getToken(PLParser.VALUE, 0); }
public TerminalNode VARCHAR() { return getToken(PLParser.VARCHAR, 0); }
public TerminalNode VARIABLE() { return getToken(PLParser.VARIABLE, 0); }
public TerminalNode VARIABLES() { return getToken(PLParser.VARIABLES, 0); }
public TerminalNode VARIANT() { return getToken(PLParser.VARIANT, 0); }
public TerminalNode VAULT() { return getToken(PLParser.VAULT, 0); }
public TerminalNode VAULTS() { return getToken(PLParser.VAULTS, 0); }
public TerminalNode VERBOSE() { return getToken(PLParser.VERBOSE, 0); }
public TerminalNode VERSION() { return getToken(PLParser.VERSION, 0); }
public TerminalNode VIEW() { return getToken(PLParser.VIEW, 0); }
public TerminalNode VIEWS() { return getToken(PLParser.VIEWS, 0); }
public TerminalNode WARM() { return getToken(PLParser.WARM, 0); }
public TerminalNode WARNINGS() { return getToken(PLParser.WARNINGS, 0); }
public TerminalNode WEEK() { return getToken(PLParser.WEEK, 0); }
public TerminalNode WORK() { return getToken(PLParser.WORK, 0); }
public TerminalNode YEAR() { return getToken(PLParser.YEAR, 0); }
public NonReservedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nonReserved; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).enterNonReserved(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PLParserListener ) ((PLParserListener)listener).exitNonReserved(this);
}
@Override
public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
if ( visitor instanceof PLParserVisitor ) return ((PLParserVisitor<? extends T>)visitor).visitNonReserved(this);
else return visitor.visitChildren(this);
}
}
public final NonReservedContext nonReserved() throws RecognitionException {
NonReservedContext _localctx = new NonReservedContext(_ctx, getState());
enterRule(_localctx, 712, RULE_nonReserved);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(8154);
_la = _input.LA(1);
if ( !(_la==QUALIFY || _la==SQL || ((((_la - 189)) & ~0x3f) == 0 && ((1L << (_la - 189)) & 9096145289322186643L) != 0) || ((((_la - 253)) & ~0x3f) == 0 && ((1L << (_la - 253)) & -7038001146133217349L) != 0) || ((((_la - 317)) & ~0x3f) == 0 && ((1L << (_la - 317)) & -7112292307046518223L) != 0) || ((((_la - 382)) & ~0x3f) == 0 && ((1L << (_la - 382)) & 7409045836617449199L) != 0) || ((((_la - 447)) & ~0x3f) == 0 && ((1L << (_la - 447)) & -179622406430917185L) != 0) || ((((_la - 511)) & ~0x3f) == 0 && ((1L << (_la - 511)) & -7638403517640311425L) != 0) || ((((_la - 575)) & ~0x3f) == 0 && ((1L << (_la - 575)) & -6423186400915692045L) != 0) || ((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & 18760411165017L) != 0) || ((((_la - 705)) & ~0x3f) == 0 && ((1L << (_la - 705)) & 7L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 4:
return block_end_sempred((Block_endContext)_localctx, predIndex);
case 12:
return expr_stmt_sempred((Expr_stmtContext)_localctx, predIndex);
case 50:
return create_routine_params_sempred((Create_routine_paramsContext)_localctx, predIndex);
case 91:
return bool_expr_sempred((Bool_exprContext)_localctx, predIndex);
case 97:
return expr_sempred((ExprContext)_localctx, predIndex);
case 118:
return func_param_sempred((Func_paramContext)_localctx, predIndex);
case 246:
return queryTerm_sempred((QueryTermContext)_localctx, predIndex);
case 249:
return querySpecification_sempred((QuerySpecificationContext)_localctx, predIndex);
case 318:
return booleanExpression_sempred((BooleanExpressionContext)_localctx, predIndex);
case 322:
return valueExpression_sempred((ValueExpressionContext)_localctx, predIndex);
case 323:
return primaryExpression_sempred((PrimaryExpressionContext)_localctx, predIndex);
}
return true;
}
private boolean block_end_sempred(Block_endContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return !_input.LT(2).getText().equalsIgnoreCase("TRANSACTION");
}
return true;
}
private boolean expr_stmt_sempred(Expr_stmtContext _localctx, int predIndex) {
switch (predIndex) {
case 1:
return !_input.LT(1).getText().equalsIgnoreCase("GO");
}
return true;
}
private boolean create_routine_params_sempred(Create_routine_paramsContext _localctx, int predIndex) {
switch (predIndex) {
case 2:
return !_input.LT(1).getText().equalsIgnoreCase("IS") &&
!_input.LT(1).getText().equalsIgnoreCase("AS") &&
!(_input.LT(1).getText().equalsIgnoreCase("DYNAMIC") && _input.LT(2).getText().equalsIgnoreCase("RESULT"))
;
}
return true;
}
private boolean bool_expr_sempred(Bool_exprContext _localctx, int predIndex) {
switch (predIndex) {
case 3:
return precpred(_ctx, 2);
}
return true;
}
private boolean expr_sempred(ExprContext _localctx, int predIndex) {
switch (predIndex) {
case 4:
return precpred(_ctx, 13);
case 5:
return precpred(_ctx, 12);
case 6:
return precpred(_ctx, 14);
}
return true;
}
private boolean func_param_sempred(Func_paramContext _localctx, int predIndex) {
switch (predIndex) {
case 7:
return !_input.LT(1).getText().equalsIgnoreCase("INTO");
}
return true;
}
private boolean queryTerm_sempred(QueryTermContext _localctx, int predIndex) {
switch (predIndex) {
case 8:
return precpred(_ctx, 2);
case 9:
return precpred(_ctx, 1);
}
return true;
}
private boolean querySpecification_sempred(QuerySpecificationContext _localctx, int predIndex) {
switch (predIndex) {
case 10:
return !ansiSQLSyntax;
case 11:
return ansiSQLSyntax;
}
return true;
}
private boolean booleanExpression_sempred(BooleanExpressionContext _localctx, int predIndex) {
switch (predIndex) {
case 12:
return precpred(_ctx, 4);
case 13:
return precpred(_ctx, 3);
case 14:
return precpred(_ctx, 2);
case 15:
return precpred(_ctx, 1);
}
return true;
}
private boolean valueExpression_sempred(ValueExpressionContext _localctx, int predIndex) {
switch (predIndex) {
case 16:
return precpred(_ctx, 6);
case 17:
return precpred(_ctx, 5);
case 18:
return precpred(_ctx, 4);
case 19:
return precpred(_ctx, 3);
case 20:
return precpred(_ctx, 2);
case 21:
return precpred(_ctx, 1);
}
return true;
}
private boolean primaryExpression_sempred(PrimaryExpressionContext _localctx, int predIndex) {
switch (predIndex) {
case 22:
return precpred(_ctx, 11);
case 23:
return precpred(_ctx, 10);
case 24:
return precpred(_ctx, 5);
case 25:
return precpred(_ctx, 1);
}
return true;
}
private static final String _serializedATNSegment0 =
"\u0004\u0001\u02d5\u1fdd\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
"\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
"\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
"\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
"\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
"\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
"\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
"\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
"\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
"\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
"\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
"\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
"\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
"1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
"6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
"@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
"E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
"J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
"O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
"T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
"Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
"^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
"c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
"h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
"m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
"r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
"w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
"|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
"\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
"\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
"\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
"\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
"\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
"\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
"\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
"\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
"\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
"\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
"\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
"\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
"\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
"\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
"\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
"\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
"\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
"\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
"\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
"\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
"\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
"\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
"\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
"\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
"\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
"\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
"\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
"\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
"\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
"\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
"\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
"\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
"\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
"\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
"\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
"\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
"\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
"\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
"\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
"\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
"\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
"\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
"\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
"\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
"\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
"\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
"\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
"\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
"\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
"\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
"\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
"\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
"\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
"\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
"\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
"\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
"\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
"\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
"\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
"\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
"\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
"\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
"\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
"\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
"\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
"\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
"\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
"\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
"\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
"\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
"\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
"\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
"\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
"\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
"\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
"\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
"\u0164\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0003"+
"\u0001\u02d0\b\u0001\u0001\u0001\u0003\u0001\u02d3\b\u0001\u0004\u0001"+
"\u02d5\b\u0001\u000b\u0001\f\u0001\u02d6\u0001\u0002\u0003\u0002\u02da"+
"\b\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0003\u0002\u02df\b\u0002"+
"\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0003\u0003"+
"\u02e6\b\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0003\u0003"+
"\u02ec\b\u0003\u0003\u0003\u02ee\b\u0003\u0001\u0004\u0001\u0004\u0001"+
"\u0004\u0001\u0005\u0001\u0005\u0004\u0005\u02f5\b\u0005\u000b\u0005\f"+
"\u0005\u02f6\u0001\u0005\u0003\u0005\u02fa\b\u0005\u0003\u0005\u02fc\b"+
"\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\u0007\u0001\u0007\u0003\u0007\u0329\b\u0007\u0001\b\u0001\b\u0001\t\u0001"+
"\t\u0004\t\u032f\b\t\u000b\t\f\t\u0330\u0001\n\u0001\n\u0001\n\u0001\n"+
"\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\f\u0001\f\u0001\f\u0001"+
"\r\u0001\r\u0001\r\u0003\r\u0341\b\r\u0001\r\u0001\r\u0001\r\u0005\r\u0346"+
"\b\r\n\r\f\r\u0349\t\r\u0003\r\u034b\b\r\u0001\u000e\u0001\u000e\u0001"+
"\u000e\u0001\u000e\u0003\u000e\u0351\b\u000e\u0001\u000f\u0001\u000f\u0003"+
"\u000f\u0355\b\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001"+
"\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u035e\b\u000f\u0001\u000f\u0001"+
"\u000f\u0001\u000f\u0003\u000f\u0363\b\u000f\u0001\u0010\u0001\u0010\u0001"+
"\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001"+
"\u0011\u0005\u0011\u036e\b\u0011\n\u0011\f\u0011\u0371\t\u0011\u0001\u0011"+
"\u0001\u0011\u0003\u0011\u0375\b\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+
"\u0001\u0011\u0001\u0011\u0005\u0011\u037c\b\u0011\n\u0011\f\u0011\u037f"+
"\t\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001"+
"\u0012\u0001\u0012\u0005\u0012\u0388\b\u0012\n\u0012\f\u0012\u038b\t\u0012"+
"\u0001\u0012\u0001\u0012\u0003\u0012\u038f\b\u0012\u0001\u0012\u0003\u0012"+
"\u0392\b\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012"+
"\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+
"\u0001\u0013\u0003\u0013\u03a0\b\u0013\u0001\u0013\u0001\u0013\u0001\u0014"+
"\u0001\u0014\u0001\u0014\u0003\u0014\u03a7\b\u0014\u0001\u0014\u0001\u0014"+
"\u0001\u0014\u0001\u0014\u0001\u0014\u0005\u0014\u03ae\b\u0014\n\u0014"+
"\f\u0014\u03b1\t\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014"+
"\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016"+
"\u0001\u0016\u0003\u0016\u03be\b\u0016\u0001\u0017\u0001\u0017\u0001\u0017"+
"\u0001\u0017\u0005\u0017\u03c4\b\u0017\n\u0017\f\u0017\u03c7\t\u0017\u0001"+
"\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0005"+
"\u0018\u03cf\b\u0018\n\u0018\f\u0018\u03d2\t\u0018\u0001\u0019\u0001\u0019"+
"\u0001\u0019\u0001\u0019\u0001\u0019\u0005\u0019\u03d9\b\u0019\n\u0019"+
"\f\u0019\u03dc\t\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a"+
"\u0003\u001a\u03e2\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0005\u001b"+
"\u03e7\b\u001b\n\u001b\f\u001b\u03ea\t\u001b\u0001\u001b\u0003\u001b\u03ed"+
"\b\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u03f1\b\u001b\u0001\u001b"+
"\u0005\u001b\u03f4\b\u001b\n\u001b\f\u001b\u03f7\t\u001b\u0001\u001b\u0003"+
"\u001b\u03fa\b\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u03ff"+
"\b\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u0403\b\u001b\u0001\u001b"+
"\u0001\u001b\u0003\u001b\u0407\b\u001b\u0001\u001c\u0001\u001c\u0001\u001c"+
"\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d"+
"\u0411\b\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u0415\b\u001d\u0001"+
"\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u041a\b\u001d\u0001\u001e\u0001"+
"\u001e\u0001\u001e\u0003\u001e\u041f\b\u001e\u0001\u001e\u0001\u001e\u0003"+
"\u001e\u0423\b\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001"+
" \u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0003 \u0430\b \u0001 \u0001"+
" \u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001"+
"!\u0001!\u0001!\u0003!\u0440\b!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001"+
"!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001"+
"!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001!\u0001"+
"!\u0001!\u0001!\u0001!\u0003!\u045f\b!\u0003!\u0461\b!\u0001\"\u0001\""+
"\u0001\"\u0003\"\u0466\b\"\u0001\"\u0001\"\u0003\"\u046a\b\"\u0001\"\u0001"+
"\"\u0001#\u0003#\u046f\b#\u0001#\u0001#\u0001#\u0001#\u0001#\u0003#\u0476"+
"\b#\u0001#\u0003#\u0479\b#\u0001$\u0003$\u047c\b$\u0001$\u0001$\u0001"+
"$\u0003$\u0481\b$\u0001$\u0001$\u0003$\u0485\b$\u0003$\u0487\b$\u0001"+
"%\u0001%\u0001%\u0001%\u0003%\u048d\b%\u0001%\u0003%\u0490\b%\u0001%\u0001"+
"%\u0001%\u0003%\u0495\b%\u0001%\u0001%\u0003%\u0499\b%\u0001%\u0003%\u049c"+
"\b%\u0001%\u0001%\u0001&\u0001&\u0001&\u0003&\u04a3\b&\u0001\'\u0001\'"+
"\u0001\'\u0001\'\u0003\'\u04a9\b\'\u0001\'\u0003\'\u04ac\b\'\u0001\'\u0001"+
"\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0003\'\u04b6\b\'\u0001"+
"(\u0001(\u0001(\u0001(\u0001(\u0005(\u04bd\b(\n(\f(\u04c0\t(\u0001)\u0001"+
")\u0001)\u0001)\u0003)\u04c6\b)\u0001)\u0001)\u0001)\u0001)\u0001)\u0003"+
")\u04cd\b)\u0003)\u04cf\b)\u0001*\u0001*\u0001*\u0001*\u0003*\u04d5\b"+
"*\u0001*\u0003*\u04d8\b*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001"+
"*\u0001*\u0001*\u0003*\u04e3\b*\u0001+\u0001+\u0001+\u0001+\u0001+\u0005"+
"+\u04ea\b+\n+\f+\u04ed\t+\u0001,\u0001,\u0001,\u0003,\u04f2\b,\u0001-"+
"\u0001-\u0001-\u0001-\u0003-\u04f8\b-\u0001-\u0003-\u04fb\b-\u0001-\u0001"+
"-\u0001-\u0003-\u0500\b-\u0001-\u0003-\u0503\b-\u0001-\u0003-\u0506\b"+
"-\u0001-\u0003-\u0509\b-\u0001-\u0003-\u050c\b-\u0001-\u0001-\u0001-\u0001"+
"-\u0003-\u0512\b-\u0001.\u0001.\u0001.\u0001.\u0003.\u0518\b.\u0001.\u0001"+
".\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0003/\u0522\b/\u00010\u0001"+
"0\u00010\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00031\u052e"+
"\b1\u00011\u00011\u00031\u0532\b1\u00012\u00012\u00012\u00012\u00012\u0001"+
"2\u00052\u053a\b2\n2\f2\u053d\t2\u00012\u00012\u00012\u00012\u00012\u0001"+
"2\u00052\u0545\b2\n2\f2\u0548\t2\u00032\u054a\b2\u00013\u00013\u00013"+
"\u00013\u00013\u00033\u0551\b3\u00013\u00013\u00013\u00033\u0556\b3\u0001"+
"3\u00053\u0559\b3\n3\f3\u055c\t3\u00013\u00033\u055f\b3\u00013\u00013"+
"\u00013\u00013\u00013\u00013\u00033\u0567\b3\u00013\u00013\u00033\u056b"+
"\b3\u00013\u00053\u056e\b3\n3\f3\u0571\t3\u00013\u00033\u0574\b3\u0003"+
"3\u0576\b3\u00014\u00044\u0579\b4\u000b4\f4\u057a\u00015\u00015\u0001"+
"5\u00015\u00015\u00015\u00035\u0583\b5\u00015\u00015\u00015\u00035\u0588"+
"\b5\u00016\u00016\u00036\u058c\b6\u00016\u00016\u00016\u00016\u00016\u0001"+
"6\u00036\u0594\b6\u00016\u00016\u00016\u00016\u00056\u059a\b6\n6\f6\u059d"+
"\t6\u00036\u059f\b6\u00016\u00036\u05a2\b6\u00017\u00017\u00017\u0003"+
"7\u05a7\b7\u00018\u00018\u00018\u00018\u00018\u00058\u05ae\b8\n8\f8\u05b1"+
"\t8\u00018\u00038\u05b4\b8\u00018\u00018\u00018\u00019\u00019\u00019\u0001"+
"9\u00019\u00039\u05be\b9\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001"+
";\u0001;\u0001;\u0001;\u0001;\u0001<\u0001<\u0001<\u0001=\u0001=\u0001"+
"=\u0003=\u05d1\b=\u0001>\u0001>\u0003>\u05d5\b>\u0001>\u0001>\u0003>\u05d9"+
"\b>\u0001?\u0001?\u0001?\u0001?\u0001@\u0001@\u0003@\u05e1\b@\u0001A\u0001"+
"A\u0001A\u0001A\u0001A\u0001A\u0001B\u0001B\u0001B\u0001B\u0001C\u0001"+
"C\u0003C\u05ef\bC\u0001D\u0001D\u0001D\u0001D\u0001D\u0003D\u05f6\bD\u0001"+
"D\u0001D\u0003D\u05fa\bD\u0001E\u0001E\u0001E\u0001E\u0001E\u0003E\u0601"+
"\bE\u0003E\u0603\bE\u0001F\u0001F\u0003F\u0607\bF\u0001F\u0001F\u0003"+
"F\u060b\bF\u0001F\u0001F\u0001F\u0001F\u0005F\u0611\bF\nF\fF\u0614\tF"+
"\u0001F\u0003F\u0617\bF\u0001G\u0001G\u0001G\u0001H\u0001H\u0001H\u0001"+
"I\u0001I\u0001I\u0001I\u0001I\u0001I\u0001I\u0003I\u0626\bI\u0001J\u0003"+
"J\u0629\bJ\u0001J\u0001J\u0003J\u062d\bJ\u0001K\u0001K\u0001L\u0001L\u0001"+
"L\u0003L\u0634\bL\u0001L\u0001L\u0001L\u0001L\u0001L\u0003L\u063b\bL\u0003"+
"L\u063d\bL\u0001M\u0001M\u0003M\u0641\bM\u0001N\u0001N\u0001N\u0001N\u0003"+
"N\u0647\bN\u0001O\u0003O\u064a\bO\u0001O\u0001O\u0001O\u0001O\u0001P\u0003"+
"P\u0651\bP\u0001P\u0001P\u0003P\u0655\bP\u0001P\u0003P\u0658\bP\u0001"+
"P\u0001P\u0001Q\u0001Q\u0001Q\u0001R\u0001R\u0001R\u0001R\u0003R\u0663"+
"\bR\u0001R\u0003R\u0666\bR\u0001R\u0001R\u0001R\u0001S\u0001S\u0001S\u0001"+
"T\u0001T\u0003T\u0670\bT\u0001T\u0001T\u0001T\u0005T\u0675\bT\nT\fT\u0678"+
"\tT\u0001T\u0003T\u067b\bT\u0001T\u0001T\u0003T\u067f\bT\u0001T\u0001"+
"T\u0001T\u0005T\u0684\bT\nT\fT\u0687\tT\u0001T\u0003T\u068a\bT\u0001U"+
"\u0001U\u0001U\u0001U\u0001U\u0001U\u0003U\u0692\bU\u0001V\u0001V\u0001"+
"V\u0001V\u0001V\u0001W\u0001W\u0001W\u0001W\u0003W\u069d\bW\u0001W\u0001"+
"W\u0003W\u06a1\bW\u0001W\u0001W\u0001W\u0001W\u0001W\u0001X\u0001X\u0001"+
"X\u0001X\u0003X\u06ac\bX\u0001X\u0001X\u0001X\u0001X\u0001X\u0003X\u06b3"+
"\bX\u0001X\u0001X\u0001X\u0001X\u0001X\u0001Y\u0001Y\u0001Y\u0001Y\u0001"+
"Y\u0001Y\u0001Y\u0003Y\u06c1\bY\u0001Z\u0001Z\u0001Z\u0001Z\u0005Z\u06c7"+
"\bZ\nZ\fZ\u06ca\tZ\u0001[\u0001[\u0003[\u06ce\b[\u0001[\u0001[\u0001["+
"\u0001[\u0001[\u0003[\u06d5\b[\u0001[\u0001[\u0001[\u0001[\u0005[\u06db"+
"\b[\n[\f[\u06de\t[\u0001\\\u0001\\\u0001\\\u0003\\\u06e3\b\\\u0001]\u0001"+
"]\u0001]\u0003]\u06e8\b]\u0001]\u0001]\u0001]\u0001]\u0001]\u0001]\u0001"+
"]\u0001]\u0003]\u06f2\b]\u0001^\u0001^\u0001^\u0001^\u0001_\u0001_\u0001"+
"`\u0001`\u0001`\u0001`\u0001`\u0001`\u0001`\u0003`\u0701\b`\u0001`\u0003"+
"`\u0704\b`\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001"+
"a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0003"+
"a\u0718\ba\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0001a\u0005"+
"a\u0722\ba\na\fa\u0725\ta\u0001b\u0001b\u0001b\u0001b\u0001b\u0001b\u0001"+
"b\u0001b\u0003b\u072f\bb\u0001c\u0001c\u0001c\u0001c\u0001d\u0001d\u0001"+
"e\u0001e\u0001e\u0001e\u0001e\u0005e\u073c\be\ne\fe\u073f\te\u0001f\u0001"+
"f\u0001f\u0001f\u0001f\u0001f\u0001f\u0001f\u0001f\u0001f\u0003f\u074b"+
"\bf\u0001g\u0001g\u0003g\u074f\bg\u0001h\u0001h\u0001h\u0001h\u0001h\u0001"+
"h\u0001h\u0004h\u0758\bh\u000bh\fh\u0759\u0001h\u0001h\u0003h\u075e\b"+
"h\u0001h\u0001h\u0001i\u0001i\u0001i\u0001i\u0001i\u0001i\u0004i\u0768"+
"\bi\u000bi\fi\u0769\u0001i\u0001i\u0003i\u076e\bi\u0001i\u0001i\u0001"+
"j\u0001j\u0001j\u0001j\u0001k\u0001k\u0001k\u0003k\u0779\bk\u0001k\u0001"+
"k\u0001k\u0003k\u077e\bk\u0001k\u0001k\u0001k\u0003k\u0783\bk\u0001k\u0001"+
"k\u0003k\u0787\bk\u0001k\u0001k\u0003k\u078b\bk\u0001k\u0001k\u0001k\u0003"+
"k\u0790\bk\u0001k\u0001k\u0003k\u0794\bk\u0001k\u0001k\u0003k\u0798\b"+
"k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001"+
"k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001"+
"k\u0001k\u0003k\u07af\bk\u0003k\u07b1\bk\u0001k\u0001k\u0001k\u0001k\u0001"+
"k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001"+
"k\u0001k\u0003k\u07c3\bk\u0003k\u07c5\bk\u0001k\u0001k\u0001k\u0001k\u0001"+
"k\u0001k\u0003k\u07cd\bk\u0001k\u0001k\u0001k\u0003k\u07d2\bk\u0001k\u0001"+
"k\u0001k\u0003k\u07d7\bk\u0001k\u0001k\u0001k\u0003k\u07dc\bk\u0001k\u0001"+
"k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0001k\u0003"+
"k\u07e9\bk\u0001k\u0001k\u0001k\u0003k\u07ee\bk\u0001k\u0001k\u0001k\u0003"+
"k\u07f3\bk\u0001k\u0001k\u0001k\u0003k\u07f8\bk\u0001k\u0001k\u0001k\u0003"+
"k\u07fd\bk\u0001k\u0001k\u0001k\u0003k\u0802\bk\u0001k\u0001k\u0001k\u0003"+
"k\u0807\bk\u0001k\u0001k\u0001k\u0003k\u080c\bk\u0003k\u080e\bk\u0001"+
"l\u0001l\u0001m\u0001m\u0001m\u0001m\u0003m\u0816\bm\u0001m\u0001m\u0001"+
"m\u0003m\u081b\bm\u0005m\u081d\bm\nm\fm\u0820\tm\u0001n\u0001n\u0001n"+
"\u0003n\u0825\bn\u0001n\u0003n\u0828\bn\u0001n\u0001n\u0001o\u0001o\u0001"+
"o\u0001o\u0001o\u0005o\u0831\bo\no\fo\u0834\to\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0001p\u0001p\u0003p\u083d\bp\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0003p\u0845\bp\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0003p\u084e\bp\u0001p\u0001p\u0001p\u0001p\u0003p\u0854\bp\u0001p\u0001"+
"p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0005p\u0863\bp\np\fp\u0866\tp\u0003p\u0868\bp\u0001p\u0001p"+
"\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0005p\u0876\bp\np\fp\u0879\tp\u0003p\u087b\bp\u0001p\u0001p\u0001p"+
"\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0005"+
"p\u0889\bp\np\fp\u088c\tp\u0003p\u088e\bp\u0001p\u0001p\u0001p\u0001p"+
"\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0005p\u089c"+
"\bp\np\fp\u089f\tp\u0003p\u08a1\bp\u0001p\u0001p\u0001p\u0001p\u0001p"+
"\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0005p\u08af\bp\np\f"+
"p\u08b2\tp\u0003p\u08b4\bp\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0001p\u0001p\u0001p\u0001p\u0005p\u08c2\bp\np\fp\u08c5\tp\u0003"+
"p\u08c7\bp\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0005p\u08d3\bp\np\fp\u08d6\tp\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0001p\u0001p\u0001p\u0001p\u0004p\u08e2\bp\u000bp\fp\u08e3\u0001"+
"p\u0001p\u0003p\u08e8\bp\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001"+
"p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0003p\u08f8\bp\u0001"+
"p\u0001p\u0001p\u0001p\u0003p\u08fe\bp\u0001q\u0001q\u0001q\u0003q\u0903"+
"\bq\u0001q\u0001q\u0001r\u0001r\u0003r\u0909\br\u0001s\u0001s\u0003s\u090d"+
"\bs\u0001s\u0001s\u0001s\u0001t\u0001t\u0003t\u0914\bt\u0001t\u0001t\u0001"+
"t\u0001u\u0001u\u0001u\u0005u\u091c\bu\nu\fu\u091f\tu\u0001v\u0001v\u0001"+
"v\u0001v\u0003v\u0925\bv\u0003v\u0927\bv\u0001v\u0001v\u0001w\u0001w\u0001"+
"w\u0001w\u0001w\u0003w\u0930\bw\u0001x\u0005x\u0933\bx\nx\fx\u0936\tx"+
"\u0001y\u0001y\u0001y\u0001z\u0001z\u0001z\u0001z\u0003z\u093f\bz\u0001"+
"z\u0001z\u0001z\u0005z\u0944\bz\nz\fz\u0947\tz\u0003z\u0949\bz\u0001{"+
"\u0001{\u0001{\u0001|\u0001|\u0001|\u0001}\u0003}\u0952\b}\u0001}\u0001"+
"}\u0001}\u0003}\u0957\b}\u0001~\u0001~\u0001~\u0005~\u095c\b~\n~\f~\u095f"+
"\t~\u0001\u007f\u0001\u007f\u0001\u0080\u0003\u0080\u0964\b\u0080\u0001"+
"\u0080\u0001\u0080\u0001\u0081\u0003\u0081\u0969\b\u0081\u0001\u0081\u0001"+
"\u0081\u0001\u0082\u0001\u0082\u0001\u0083\u0001\u0083\u0001\u0084\u0001"+
"\u0084\u0001\u0085\u0005\u0085\u0974\b\u0085\n\u0085\f\u0085\u0977\t\u0085"+
"\u0001\u0085\u0003\u0085\u097a\b\u0085\u0001\u0085\u0004\u0085\u097d\b"+
"\u0085\u000b\u0085\f\u0085\u097e\u0001\u0085\u0005\u0085\u0982\b\u0085"+
"\n\u0085\f\u0085\u0985\t\u0085\u0001\u0085\u0005\u0085\u0988\b\u0085\n"+
"\u0085\f\u0085\u098b\t\u0085\u0001\u0085\u0001\u0085\u0001\u0086\u0005"+
"\u0086\u0990\b\u0086\n\u0086\f\u0086\u0993\t\u0086\u0001\u0086\u0003\u0086"+
"\u0996\b\u0086\u0001\u0086\u0005\u0086\u0999\b\u0086\n\u0086\f\u0086\u099c"+
"\t\u0086\u0001\u0086\u0001\u0086\u0001\u0087\u0001\u0087\u0001\u0087\u0001"+
"\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0005\u0087\u09a7\b\u0087\n"+
"\u0087\f\u0087\u09aa\t\u0087\u0003\u0087\u09ac\b\u0087\u0001\u0087\u0001"+
"\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087\u09b4"+
"\b\u0087\u0001\u0087\u0003\u0087\u09b7\b\u0087\u0001\u0087\u0001\u0087"+
"\u0001\u0087\u0001\u0087\u0005\u0087\u09bd\b\u0087\n\u0087\f\u0087\u09c0"+
"\t\u0087\u0001\u0087\u0001\u0087\u0005\u0087\u09c4\b\u0087\n\u0087\f\u0087"+
"\u09c7\t\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087"+
"\u09cd\b\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087"+
"\u0001\u0087\u0001\u0087\u0003\u0087\u09d6\b\u0087\u0001\u0087\u0001\u0087"+
"\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087\u09dd\b\u0087\u0001\u0087"+
"\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087\u09e4\b\u0087"+
"\u0001\u0087\u0001\u0087\u0003\u0087\u09e8\b\u0087\u0003\u0087\u09ea\b"+
"\u0087\u0001\u0088\u0003\u0088\u09ed\b\u0088\u0001\u0088\u0001\u0088\u0003"+
"\u0088\u09f1\b\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001"+
"\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001"+
"\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001"+
"\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001"+
"\u0088\u0001\u0088\u0003\u0088\u0a0b\b\u0088\u0001\u0089\u0001\u0089\u0001"+
"\u0089\u0001\u0089\u0001\u0089\u0001\u0089\u0001\u0089\u0001\u0089\u0001"+
"\u0089\u0003\u0089\u0a16\b\u0089\u0001\u008a\u0001\u008a\u0001\u008a\u0001"+
"\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a1e\b\u008a\u0001\u008a\u0001"+
"\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a25\b\u008a\u0001"+
"\u008a\u0003\u008a\u0a28\b\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a2c"+
"\b\u008a\u0001\u008a\u0003\u008a\u0a2f\b\u008a\u0003\u008a\u0a31\b\u008a"+
"\u0001\u008a\u0003\u008a\u0a34\b\u008a\u0001\u008a\u0001\u008a\u0003\u008a"+
"\u0a38\b\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a3c\b\u008a\u0001"+
"\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0003"+
"\u008a\u0a44\b\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001"+
"\u008a\u0003\u008a\u0a4b\b\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a4f"+
"\b\u008a\u0003\u008a\u0a51\b\u008a\u0001\u008a\u0003\u008a\u0a54\b\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a60\b\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0003\u008a\u0a6e\b\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0003\u008a\u0a76\b\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a7d\b\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a84\b\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u0a89\b\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
"\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a"+
"\u0aa3\b\u008a\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0003\u008b\u0ab0\b\u008b\u0003\u008b\u0ab2\b\u008b\u0001\u008b\u0001"+
"\u008b\u0003\u008b\u0ab6\b\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0003"+
"\u008b\u0abb\b\u008b\u0003\u008b\u0abd\b\u008b\u0001\u008b\u0003\u008b"+
"\u0ac0\b\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0003\u008b\u0ad0\b\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b"+
"\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0003\u008b\u0ae9\b\u008b"+
"\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c"+
"\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c"+
"\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c"+
"\u0001\u008c\u0003\u008c\u0afe\b\u008c\u0001\u008d\u0003\u008d\u0b01\b"+
"\u008d\u0001\u008d\u0003\u008d\u0b04\b\u008d\u0001\u008d\u0001\u008d\u0001"+
"\u008d\u0001\u008d\u0003\u008d\u0b0a\b\u008d\u0001\u008d\u0001\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b11\b\u008d\u0001\u008d\u0003"+
"\u008d\u0b14\b\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b19"+
"\b\u008d\u0001\u008d\u0003\u008d\u0b1c\b\u008d\u0001\u008d\u0001\u008d"+
"\u0001\u008d\u0001\u008d\u0003\u008d\u0b22\b\u008d\u0001\u008d\u0001\u008d"+
"\u0003\u008d\u0b26\b\u008d\u0001\u008d\u0003\u008d\u0b29\b\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003"+
"\u008d\u0b31\b\u008d\u0001\u008d\u0003\u008d\u0b34\b\u008d\u0001\u008d"+
"\u0003\u008d\u0b37\b\u008d\u0001\u008d\u0003\u008d\u0b3a\b\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b40\b\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b45\b\u008d\u0001\u008d\u0003"+
"\u008d\u0b48\b\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0005\u008d\u0b51\b\u008d\n\u008d\f\u008d"+
"\u0b54\t\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b58\b\u008d\u0001"+
"\u008d\u0003\u008d\u0b5b\b\u008d\u0001\u008d\u0003\u008d\u0b5e\b\u008d"+
"\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003\u008d"+
"\u0b65\b\u008d\u0001\u008d\u0003\u008d\u0b68\b\u008d\u0001\u008d\u0001"+
"\u008d\u0001\u008d\u0003\u008d\u0b6d\b\u008d\u0001\u008d\u0003\u008d\u0b70"+
"\b\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b76"+
"\b\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b7a\b\u008d\u0001\u008d"+
"\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d"+
"\u0001\u008d\u0003\u008d\u0b84\b\u008d\u0001\u008d\u0001\u008d\u0003\u008d"+
"\u0b88\b\u008d\u0001\u008d\u0003\u008d\u0b8b\b\u008d\u0001\u008d\u0001"+
"\u008d\u0001\u008d\u0001\u008d\u0003\u008d\u0b91\b\u008d\u0001\u008d\u0003"+
"\u008d\u0b94\b\u008d\u0003\u008d\u0b96\b\u008d\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0b9a\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0ba0\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0ba4\b"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0baa"+
"\b\u008e\u0001\u008e\u0003\u008e\u0bad\b\u008e\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0bb1\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
"\u0bb6\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0003\u008e\u0bbe\b\u008e\u0003\u008e\u0bc0\b\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0bc4\b\u008e\u0001\u008e\u0003\u008e\u0bc7"+
"\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0bce\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0bd3"+
"\b\u008e\u0003\u008e\u0bd5\b\u008e\u0003\u008e\u0bd7\b\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0bde\b\u008e"+
"\u0001\u008e\u0003\u008e\u0be1\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
"\u0be5\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0be9\b\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0bee\b\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0bf4\b\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0bfb\b\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0bff\b\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0c09\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c0e"+
"\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c14"+
"\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0c1c\b\u008e\u0003\u008e\u0c1e\b\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c25\b\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c2a\b\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
"\u0c32\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c37\b"+
"\u008e\u0001\u008e\u0003\u008e\u0c3a\b\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c41\b\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c47\b\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0c4b\b\u008e\u0001\u008e\u0003\u008e\u0c4e\b\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0c56\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
"\u0c61\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0c6e\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c72\b"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0c7a\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0c81\b\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c89\b\u008e\u0001"+
"\u008e\u0003\u008e\u0c8c\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0c90"+
"\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0c98\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0ca0\b\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0ca7\b\u008e\u0001"+
"\u008e\u0003\u008e\u0caa\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0cb1\b\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0cb5\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0cbc\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0cc4\b\u008e\u0001\u008e\u0003"+
"\u008e\u0cc7\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0ccd\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0cd2"+
"\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0cd9\b\u008e\u0001\u008e\u0003\u008e\u0cdc\b\u008e\u0001\u008e"+
"\u0001\u008e\u0003\u008e\u0ce0\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0003\u008e\u0ce7\b\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0003\u008e\u0cec\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0003\u008e\u0cf3\b\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0003\u008e\u0cfe\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0001\u008e\u0003\u008e\u0d05\b\u008e\u0001\u008e\u0001\u008e"+
"\u0003\u008e\u0d09\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
"\u0001\u008e\u0003\u008e\u0d10\b\u008e\u0001\u008e\u0001\u008e\u0003\u008e"+
"\u0d14\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0d19\b"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0d22\b\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0d28\b\u008e\u0001\u008e\u0001\u008e\u0003"+
"\u008e\u0d2c\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0d33\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0003\u008e\u0d40\b\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0d47\b\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0d4b\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
"\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0d53\b\u008e\u0001\u008e\u0001"+
"\u008e\u0003\u008e\u0d57\b\u008e\u0003\u008e\u0d59\b\u008e\u0001\u008f"+
"\u0001\u008f\u0001\u008f\u0005\u008f\u0d5e\b\u008f\n\u008f\f\u008f\u0d61"+
"\t\u008f\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u0d72\b\u0091\u0001"+
"\u0091\u0001\u0091\u0003\u0091\u0d76\b\u0091\u0001\u0091\u0001\u0091\u0003"+
"\u0091\u0d7a\b\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0003\u0091\u0d93\b\u0091\u0001\u0091\u0003\u0091\u0d96\b\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0003\u0091\u0da6\b\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0003\u0091\u0dac\b\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0005\u0091"+
"\u0dc7\b\u0091\n\u0091\f\u0091\u0dca\t\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0005"+
"\u0091\u0dd4\b\u0091\n\u0091\f\u0091\u0dd7\t\u0091\u0001\u0091\u0001\u0091"+
"\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
"\u0005\u0091\u0de1\b\u0091\n\u0091\f\u0091\u0de4\t\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u0df6\b\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0003\u0091\u0e0d\b\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0003\u0091\u0e13\b\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0003\u0091\u0e19\b\u0091\u0001\u0091\u0001\u0091\u0001"+
"\u0091\u0001\u0091\u0003\u0091\u0e1f\b\u0091\u0003\u0091\u0e21\b\u0091"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0003\u0092\u0e2f\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0003\u0092\u0e36\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0003\u0092\u0e3d\b\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0e44\b\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092"+
"\u0e4c\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0003\u0092\u0e54\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0003\u0092\u0e59\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0003\u0092\u0e5f\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0003\u0092\u0e67\b\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0e6f\b\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0003\u0092\u0e79\b\u0092\u0001\u0092\u0001\u0092"+
"\u0003\u0092\u0e7d\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
"\u0003\u0092\u0e83\b\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0e87\b"+
"\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0e8b\b\u0092\u0001\u0092\u0001"+
"\u0092\u0001\u0092\u0003\u0092\u0e90\b\u0092\u0001\u0092\u0001\u0092\u0001"+
"\u0092\u0003\u0092\u0e95\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001"+
"\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0e9d\b\u0092\u0001\u0092\u0001"+
"\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001"+
"\u0092\u0003\u0092\u0ea7\b\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001"+
"\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0eaf\b\u0092\u0001\u0092\u0001"+
"\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0003"+
"\u0092\u0eb8\b\u0092\u0003\u0092\u0eba\b\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0003\u0092\u0ec0\b\u0092\u0001\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0ec7\b\u0092\u0001\u0092"+
"\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0003\u0092\u0ece\b\u0092"+
"\u0001\u0092\u0003\u0092\u0ed1\b\u0092\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u0ed5\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0ed9\b\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0ee5\b\u0093\u0001"+
"\u0093\u0003\u0093\u0ee8\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0ef2"+
"\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0ef8"+
"\b\u0093\u0001\u0093\u0003\u0093\u0efb\b\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0003\u0093\u0f01\b\u0093\u0001\u0093\u0003\u0093"+
"\u0f04\b\u0093\u0001\u0093\u0003\u0093\u0f07\b\u0093\u0001\u0093\u0003"+
"\u0093\u0f0a\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f13\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f19\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0f1e\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0f24\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u0f29\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f2d"+
"\b\u0093\u0001\u0093\u0003\u0093\u0f30\b\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0003\u0093\u0f35\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u0f39\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f3e\b"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f43\b\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0f47\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0f53\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f5a\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f60\b\u0093\u0001\u0093\u0003"+
"\u0093\u0f63\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u0f70\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0f7d\b\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u0f81\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f85\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u0f8c\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f91\b"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0f97"+
"\b\u0093\u0001\u0093\u0003\u0093\u0f9a\b\u0093\u0001\u0093\u0003\u0093"+
"\u0f9d\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fa1\b\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fa6\b\u0093\u0001\u0093\u0003"+
"\u0093\u0fa9\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fb9\b\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0fbd\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fca\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fd0\b\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u0fd4\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0fdb\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u0fe0\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0fe9\b\u0093\u0003"+
"\u0093\u0feb\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u0ff3\b\u0093\u0003\u0093\u0ff5\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u0ffb\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1007\b\u0093"+
"\u0001\u0093\u0001\u0093\u0003\u0093\u100b\b\u0093\u0001\u0093\u0003\u0093"+
"\u100e\b\u0093\u0001\u0093\u0003\u0093\u1011\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u101e\b\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u1032\b\u0093\u0001\u0093\u0003\u0093\u1035\b\u0093\u0001\u0093"+
"\u0003\u0093\u1038\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u103c\b"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1041\b\u0093\u0001"+
"\u0093\u0003\u0093\u1044\b\u0093\u0001\u0093\u0003\u0093\u1047\b\u0093"+
"\u0001\u0093\u0003\u0093\u104a\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u104e\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1053\b"+
"\u0093\u0001\u0093\u0003\u0093\u1056\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u1061\b\u0093\u0001\u0093\u0003\u0093\u1064\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1069\b\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1070\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u1077\b\u0093\u0001\u0093\u0003\u0093\u107a\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u1083\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u1089\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u108d\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0005\u0093\u1098\b\u0093\n\u0093"+
"\f\u0093\u109b\t\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0003\u0093\u10a7\b\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u10ab\b"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u10b2\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003"+
"\u0093\u10b8\b\u0093\u0001\u0093\u0003\u0093\u10bb\b\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u10c1\b\u0093\u0001\u0093"+
"\u0001\u0093\u0003\u0093\u10c5\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0003\u0093\u10ca\b\u0093\u0001\u0093\u0003\u0093\u10cd\b\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u10d1\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u10d6\b\u0093\u0001\u0093\u0003\u0093\u10d9\b\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u10e0\b\u0093\u0001\u0093\u0003\u0093\u10e3\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u10e9\b\u0093\u0001\u0093\u0003"+
"\u0093\u10ec\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u10f3\b\u0093\u0001\u0093\u0003\u0093\u10f6\b\u0093"+
"\u0001\u0093\u0003\u0093\u10f9\b\u0093\u0001\u0093\u0003\u0093\u10fc\b"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0003\u0093\u1104\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u110c\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1112\b\u0093\u0001\u0093\u0003"+
"\u0093\u1115\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0003\u0093\u111d\b\u0093\u0001\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1124\b\u0093\u0001\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u112a\b\u0093\u0001\u0093\u0003"+
"\u0093\u112d\b\u0093\u0001\u0093\u0003\u0093\u1130\b\u0093\u0001\u0093"+
"\u0003\u0093\u1133\b\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
"\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093"+
"\u113e\b\u0093\u0003\u0093\u1140\b\u0093\u0003\u0093\u1142\b\u0093\u0001"+
"\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0003\u0093\u1149"+
"\b\u0093\u0003\u0093\u114b\b\u0093\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0003\u0094\u1151\b\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094"+
"\u0001\u0094\u0003\u0094\u1187\b\u0094\u0003\u0094\u1189\b\u0094\u0001"+
"\u0095\u0001\u0095\u0003\u0095\u118d\b\u0095\u0001\u0095\u0001\u0095\u0001"+
"\u0095\u0001\u0095\u0003\u0095\u1193\b\u0095\u0001\u0096\u0001\u0096\u0001"+
"\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001"+
"\u0096\u0003\u0096\u119e\b\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001"+
"\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0096\u0005\u0096\u11a8"+
"\b\u0096\n\u0096\f\u0096\u11ab\t\u0096\u0003\u0096\u11ad\b\u0096\u0003"+
"\u0096\u11af\b\u0096\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001"+
"\u0097\u0003\u0097\u11b6\b\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001"+
"\u0097\u0001\u0097\u0003\u0097\u11bd\b\u0097\u0001\u0097\u0001\u0097\u0001"+
"\u0097\u0001\u0097\u0005\u0097\u11c3\b\u0097\n\u0097\f\u0097\u11c6\t\u0097"+
"\u0003\u0097\u11c8\b\u0097\u0001\u0097\u0003\u0097\u11cb\b\u0097\u0001"+
"\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001"+
"\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0005\u0097\u11d7\b\u0097\n"+
"\u0097\f\u0097\u11da\t\u0097\u0001\u0097\u0001\u0097\u0003\u0097\u11de"+
"\b\u0097\u0001\u0097\u0003\u0097\u11e1\b\u0097\u0001\u0097\u0001\u0097"+
"\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097"+
"\u0001\u0097\u0001\u0097\u0005\u0097\u11ed\b\u0097\n\u0097\f\u0097\u11f0"+
"\t\u0097\u0001\u0097\u0001\u0097\u0003\u0097\u11f4\b\u0097\u0001\u0097"+
"\u0003\u0097\u11f7\b\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097"+
"\u0001\u0097\u0003\u0097\u11fe\b\u0097\u0003\u0097\u1200\b\u0097\u0001"+
"\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0003\u0098\u1206\b\u0098\u0001"+
"\u0099\u0001\u0099\u0001\u0099\u0003\u0099\u120b\b\u0099\u0001\u0099\u0001"+
"\u0099\u0003\u0099\u120f\b\u0099\u0001\u0099\u0003\u0099\u1212\b\u0099"+
"\u0001\u0099\u0003\u0099\u1215\b\u0099\u0001\u009a\u0001\u009a\u0001\u009a"+
"\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a"+
"\u0001\u009a\u0003\u009a\u1221\b\u009a\u0001\u009a\u0003\u009a\u1224\b"+
"\u009a\u0001\u009a\u0003\u009a\u1227\b\u009a\u0001\u009a\u0001\u009a\u0003"+
"\u009a\u122b\b\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001"+
"\u009a\u0001\u009a\u0001\u009a\u0003\u009a\u1234\b\u009a\u0001\u009a\u0001"+
"\u009a\u0003\u009a\u1238\b\u009a\u0001\u009a\u0003\u009a\u123b\b\u009a"+
"\u0001\u009a\u0003\u009a\u123e\b\u009a\u0001\u009a\u0003\u009a\u1241\b"+
"\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0003\u009a\u1247"+
"\b\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001"+
"\u009a\u0003\u009a\u124f\b\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001"+
"\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0003"+
"\u009a\u125a\b\u009a\u0001\u009a\u0003\u009a\u125d\b\u009a\u0001\u009a"+
"\u0003\u009a\u1260\b\u009a\u0001\u009a\u0003\u009a\u1263\b\u009a\u0003"+
"\u009a\u1265\b\u009a\u0001\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0001"+
"\u009b\u0001\u009b\u0003\u009b\u126d\b\u009b\u0001\u009b\u0001\u009b\u0003"+
"\u009b\u1271\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0005\u009b\u1276"+
"\b\u009b\n\u009b\f\u009b\u1279\t\u009b\u0003\u009b\u127b\b\u009b\u0001"+
"\u009b\u0003\u009b\u127e\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0001"+
"\u009b\u0001\u009b\u0001\u009b\u0003\u009b\u1286\b\u009b\u0001\u009c\u0001"+
"\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0003"+
"\u009c\u128f\b\u009c\u0001\u009c\u0003\u009c\u1292\b\u009c\u0001\u009c"+
"\u0001\u009c\u0003\u009c\u1296\b\u009c\u0001\u009c\u0001\u009c\u0001\u009c"+
"\u0001\u009c\u0001\u009c\u0003\u009c\u129d\b\u009c\u0003\u009c\u129f\b"+
"\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001"+
"\u009c\u0003\u009c\u12a7\b\u009c\u0001\u009c\u0003\u009c\u12aa\b\u009c"+
"\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0003\u009c"+
"\u12b1\b\u009c\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d"+
"\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0003\u009d"+
"\u12bd\b\u009d\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009f"+
"\u0001\u009f\u0001\u009f\u0001\u009f\u0001\u00a0\u0001\u00a0\u0001\u00a0"+
"\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a2\u0001\u00a2"+
"\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0005\u00a2\u12d3\b\u00a2\n\u00a2"+
"\f\u00a2\u12d6\t\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a3\u0001\u00a3"+
"\u0001\u00a3\u0003\u00a3\u12dd\b\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3"+
"\u0001\u00a3\u0003\u00a3\u12e3\b\u00a3\u0001\u00a3\u0001\u00a3\u0003\u00a3"+
"\u12e7\b\u00a3\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0005\u00a4\u12ec\b"+
"\u00a4\n\u00a4\f\u00a4\u12ef\t\u00a4\u0001\u00a5\u0001\u00a5\u0001\u00a5"+
"\u0001\u00a5\u0001\u00a5\u0003\u00a5\u12f6\b\u00a5\u0001\u00a5\u0003\u00a5"+
"\u12f9\b\u00a5\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6"+
"\u12ff\b\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6"+
"\u1305\b\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6"+
"\u0001\u00a6\u0003\u00a6\u130d\b\u00a6\u0001\u00a7\u0001\u00a7\u0001\u00a7"+
"\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0003\u00a7\u1315\b\u00a7\u0001\u00a7"+
"\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7"+
"\u0001\u00a7\u0001\u00a7\u0003\u00a7\u1320\b\u00a7\u0001\u00a7\u0001\u00a7"+
"\u0001\u00a7\u0001\u00a7\u0003\u00a7\u1326\b\u00a7\u0001\u00a8\u0001\u00a8"+
"\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0003\u00a8\u132d\b\u00a8\u0001\u00a9"+
"\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u1333\b\u00a9\u0001\u00a9"+
"\u0003\u00a9\u1336\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9"+
"\u0003\u00a9\u133c\b\u00a9\u0001\u00a9\u0003\u00a9\u133f\b\u00a9\u0001"+
"\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u1346"+
"\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u134c"+
"\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u1352"+
"\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001"+
"\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0005\u00a9\u135d\b\u00a9\n"+
"\u00a9\f\u00a9\u1360\t\u00a9\u0001\u00a9\u0003\u00a9\u1363\b\u00a9\u0001"+
"\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001"+
"\u00a9\u0003\u00a9\u136c\b\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001"+
"\u00a9\u0001\u00a9\u0001\u00a9\u0005\u00a9\u1374\b\u00a9\n\u00a9\f\u00a9"+
"\u1377\t\u00a9\u0001\u00a9\u0003\u00a9\u137a\b\u00a9\u0003\u00a9\u137c"+
"\b\u00a9\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0001"+
"\u00aa\u0005\u00aa\u1384\b\u00aa\n\u00aa\f\u00aa\u1387\t\u00aa\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0005\u00ab\u1397\b\u00ab\n\u00ab\f\u00ab\u139a\t\u00ab\u0001"+
"\u00ab\u0003\u00ab\u139d\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
"\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0005"+
"\u00ab\u13a8\b\u00ab\n\u00ab\f\u00ab\u13ab\t\u00ab\u0001\u00ab\u0003\u00ab"+
"\u13ae\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u13bf\b\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0003\u00ab\u13c9\b\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0003\u00ab\u13cf\b\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u13d7\b\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab"+
"\u13de\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0003\u00ab\u13e5\b\u00ab\u0001\u00ab\u0003\u00ab\u13e8\b\u00ab\u0001"+
"\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
"\u00ab\u0001\u00ab\u0005\u00ab\u13f2\b\u00ab\n\u00ab\f\u00ab\u13f5\t\u00ab"+
"\u0001\u00ab\u0003\u00ab\u13f8\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u1400\b\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
"\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u1419\b\u00ab"+
"\u0003\u00ab\u141b\b\u00ab\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
"\u0003\u00ac\u1421\b\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac\u1425\b"+
"\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac\u142b"+
"\b\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac\u142f\b\u00ac\u0001\u00ac"+
"\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac\u1435\b\u00ac\u0001\u00ac"+
"\u0001\u00ac\u0003\u00ac\u1439\b\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
"\u0003\u00ac\u143e\b\u00ac\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
"\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
"\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
"\u0003\u00ad\u1450\b\u00ad\u0003\u00ad\u1452\b\u00ad\u0001\u00ae\u0001"+
"\u00ae\u0003\u00ae\u1456\b\u00ae\u0001\u00ae\u0003\u00ae\u1459\b\u00ae"+
"\u0001\u00ae\u0003\u00ae\u145c\b\u00ae\u0001\u00ae\u0003\u00ae\u145f\b"+
"\u00ae\u0001\u00ae\u0001\u00ae\u0003\u00ae\u1463\b\u00ae\u0001\u00ae\u0003"+
"\u00ae\u1466\b\u00ae\u0001\u00af\u0001\u00af\u0001\u00af\u0001\u00af\u0003"+
"\u00af\u146c\b\u00af\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0003"+
"\u00b0\u1472\b\u00b0\u0003\u00b0\u1474\b\u00b0\u0001\u00b0\u0001\u00b0"+
"\u0003\u00b0\u1478\b\u00b0\u0001\u00b0\u0001\u00b0\u0003\u00b0\u147c\b"+
"\u00b0\u0001\u00b0\u0003\u00b0\u147f\b\u00b0\u0001\u00b0\u0003\u00b0\u1482"+
"\b\u00b0\u0001\u00b0\u0003\u00b0\u1485\b\u00b0\u0001\u00b0\u0001\u00b0"+
"\u0003\u00b0\u1489\b\u00b0\u0001\u00b0\u0001\u00b0\u0003\u00b0\u148d\b"+
"\u00b0\u0001\u00b0\u0003\u00b0\u1490\b\u00b0\u0001\u00b0\u0003\u00b0\u1493"+
"\b\u00b0\u0001\u00b0\u0003\u00b0\u1496\b\u00b0\u0003\u00b0\u1498\b\u00b0"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0003\u00b1\u14a2\b\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1\u14b0\b\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1"+
"\u14b7\b\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0005\u00b1"+
"\u14bd\b\u00b1\n\u00b1\f\u00b1\u14c0\t\u00b1\u0001\u00b1\u0001\u00b1\u0001"+
"\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0005\u00b1\u14c9"+
"\b\u00b1\n\u00b1\f\u00b1\u14cc\t\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0003\u00b1\u14dd\b\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0003\u00b1\u14e4\b\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
"\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1"+
"\u14ee\b\u00b1\u0003\u00b1\u14f0\b\u00b1\u0001\u00b2\u0001\u00b2\u0003"+
"\u00b2\u14f4\b\u00b2\u0001\u00b2\u0003\u00b2\u14f7\b\u00b2\u0001\u00b3"+
"\u0001\u00b3\u0001\u00b3\u0005\u00b3\u14fc\b\u00b3\n\u00b3\f\u00b3\u14ff"+
"\t\u00b3\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001"+
"\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001"+
"\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0003\u00b4\u1510\b\u00b4\u0001"+
"\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0003"+
"\u00b4\u1518\b\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001"+
"\u00b4\u0001\u00b4\u0003\u00b4\u1520\b\u00b4\u0001\u00b5\u0001\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0001\u00b5\u0005\u00b5\u1527\b\u00b5\n\u00b5\f\u00b5"+
"\u152a\t\u00b5\u0001\u00b5\u0003\u00b5\u152d\b\u00b5\u0001\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0005\u00b5\u1534\b\u00b5\n"+
"\u00b5\f\u00b5\u1537\t\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0005\u00b5\u153e\b\u00b5\n\u00b5\f\u00b5\u1541\t\u00b5"+
"\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0005\u00b5\u1555\b\u00b5\n\u00b5\f\u00b5\u1558\t\u00b5\u0001\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0005\u00b5\u1560"+
"\b\u00b5\n\u00b5\f\u00b5\u1563\t\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0003\u00b5\u156e\b\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
"\u0001\u00b5\u0005\u00b5\u1575\b\u00b5\n\u00b5\f\u00b5\u1578\t\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001"+
"\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0003\u00b5\u1584\b\u00b5\u0001"+
"\u00b6\u0001\u00b6\u0003\u00b6\u1588\b\u00b6\u0001\u00b7\u0001\u00b7\u0001"+
"\u00b7\u0001\u00b7\u0001\u00b7\u0003\u00b7\u158f\b\u00b7\u0001\u00b7\u0003"+
"\u00b7\u1592\b\u00b7\u0001\u00b7\u0003\u00b7\u1595\b\u00b7\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u159b\b\u00b8\u0001\u00b8"+
"\u0003\u00b8\u159e\b\u00b8\u0001\u00b8\u0003\u00b8\u15a1\b\u00b8\u0001"+
"\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003"+
"\u00b8\u15a9\b\u00b8\u0001\u00b8\u0003\u00b8\u15ac\b\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15b2\b\u00b8\u0001\u00b8"+
"\u0003\u00b8\u15b5\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0003\u00b8\u15bb\b\u00b8\u0001\u00b8\u0003\u00b8\u15be\b\u00b8\u0001"+
"\u00b8\u0003\u00b8\u15c1\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001"+
"\u00b8\u0003\u00b8\u15c7\b\u00b8\u0001\u00b8\u0003\u00b8\u15ca\b\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15ce\b\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15d6\b\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15db\b\u00b8\u0003\u00b8"+
"\u15dd\b\u00b8\u0003\u00b8\u15df\b\u00b8\u0001\u00b8\u0003\u00b8\u15e2"+
"\b\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15e6\b\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15eb\b\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0003\u00b8\u15ef\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8"+
"\u15f4\b\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u15f8\b\u00b8\u0001"+
"\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003"+
"\u00b8\u1600\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001"+
"\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u1609\b\u00b8\u0001\u00b8\u0001"+
"\u00b8\u0003\u00b8\u160d\b\u00b8\u0001\u00b8\u0003\u00b8\u1610\b\u00b8"+
"\u0001\u00b8\u0003\u00b8\u1613\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0003\u00b8\u161a\b\u00b8\u0001\u00b8\u0003\u00b8"+
"\u161d\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0003\u00b8\u1636\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0003\u00b8\u163e\b\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8"+
"\u1647\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u164c\b"+
"\u00b8\u0003\u00b8\u164e\b\u00b8\u0003\u00b8\u1650\b\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0003\u00b8\u1660\b\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8"+
"\u1664\b\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001\u00b8"+
"\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0003\u00b8\u166e\b\u00b8\u0001\u00b8"+
"\u0003\u00b8\u1671\b\u00b8\u0003\u00b8\u1673\b\u00b8\u0001\u00b9\u0001"+
"\u00b9\u0001\u00b9\u0003\u00b9\u1678\b\u00b9\u0001\u00ba\u0001\u00ba\u0001"+
"\u00ba\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bc\u0001\u00bc\u0003"+
"\u00bc\u1682\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u1687"+
"\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003"+
"\u00bc\u168e\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0003\u00bc\u1695\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0003\u00bc\u169c\b\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0005\u00bc\u16a9\b\u00bc\n\u00bc\f\u00bc"+
"\u16ac\t\u00bc\u0001\u00bc\u0003\u00bc\u16af\b\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u16b5\b\u00bc\u0001\u00bc\u0003"+
"\u00bc\u16b8\b\u00bc\u0001\u00bc\u0001\u00bc\u0005\u00bc\u16bc\b\u00bc"+
"\n\u00bc\f\u00bc\u16bf\t\u00bc\u0001\u00bc\u0003\u00bc\u16c2\b\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u16cd\b\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u16d4\b\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u16df\b\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u16eb\b\u00bc\u0001\u00bc\u0003"+
"\u00bc\u16ee\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001"+
"\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u1703\b\u00bc\u0001\u00bc\u0003"+
"\u00bc\u1706\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003"+
"\u00bc\u170c\b\u00bc\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0003\u00bd\u1711"+
"\b\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0003\u00bd\u1716\b\u00bd"+
"\u0001\u00bd\u0003\u00bd\u1719\b\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd"+
"\u0001\u00bd\u0001\u00bd\u0003\u00bd\u1720\b\u00bd\u0001\u00be\u0001\u00be"+
"\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be"+
"\u0001\u00be\u0001\u00be\u0003\u00be\u172c\b\u00be\u0001\u00be\u0001\u00be"+
"\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0003\u00be\u1734\b\u00be"+
"\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0005\u00bf\u1739\b\u00bf\n\u00bf"+
"\f\u00bf\u173c\t\u00bf\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0"+
"\u0003\u00c0\u1742\b\u00c0\u0003\u00c0\u1744\b\u00c0\u0001\u00c1\u0001"+
"\u00c1\u0001\u00c1\u0005\u00c1\u1749\b\u00c1\n\u00c1\f\u00c1\u174c\t\u00c1"+
"\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0003\u00c2\u1752\b\u00c2"+
"\u0001\u00c3\u0001\u00c3\u0003\u00c3\u1756\b\u00c3\u0001\u00c3\u0001\u00c3"+
"\u0001\u00c3\u0001\u00c3\u0003\u00c3\u175c\b\u00c3\u0001\u00c4\u0001\u00c4"+
"\u0001\u00c4\u0003\u00c4\u1761\b\u00c4\u0003\u00c4\u1763\b\u00c4\u0001"+
"\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0003"+
"\u00c4\u176b\b\u00c4\u0003\u00c4\u176d\b\u00c4\u0001\u00c4\u0001\u00c4"+
"\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0003\u00c4\u1774\b\u00c4\u0003\u00c4"+
"\u1776\b\u00c4\u0001\u00c4\u0001\u00c4\u0003\u00c4\u177a\b\u00c4\u0001"+
"\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0003\u00c4\u1780\b\u00c4\u0003"+
"\u00c4\u1782\b\u00c4\u0001\u00c4\u0003\u00c4\u1785\b\u00c4\u0001\u00c5"+
"\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0003\u00c5"+
"\u178d\b\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0005\u00c6\u1792\b"+
"\u00c6\n\u00c6\f\u00c6\u1795\t\u00c6\u0001\u00c7\u0001\u00c7\u0001\u00c7"+
"\u0003\u00c7\u179a\b\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7"+
"\u179f\b\u00c7\u0005\u00c7\u17a1\b\u00c7\n\u00c7\f\u00c7\u17a4\t\u00c7"+
"\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7"+
"\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7"+
"\u17b1\b\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u17b6\b"+
"\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001"+
"\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003"+
"\u00c7\u17c3\b\u00c7\u0003\u00c7\u17c5\b\u00c7\u0001\u00c8\u0001\u00c8"+
"\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0003\u00c8\u17cc\b\u00c8\u0001\u00c9"+
"\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9"+
"\u17d4\b\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9\u17d8\b\u00c9\u0001"+
"\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9\u17dd\b\u00c9\u0001\u00c9\u0001"+
"\u00c9\u0001\u00c9\u0003\u00c9\u17e2\b\u00c9\u0001\u00c9\u0001\u00c9\u0001"+
"\u00c9\u0003\u00c9\u17e7\b\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001"+
"\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9\u17ef\b\u00c9\u0001\u00c9\u0001"+
"\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0003"+
"\u00c9\u17f8\b\u00c9\u0001\u00c9\u0003\u00c9\u17fb\b\u00c9\u0001\u00ca"+
"\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0003\u00ca\u1801\b\u00ca\u0003\u00ca"+
"\u1803\b\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0003\u00ca"+
"\u1809\b\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca"+
"\u0003\u00ca\u1810\b\u00ca\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0001\u00cc"+
"\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc"+
"\u0001\u00cc\u0001\u00cc\u0003\u00cc\u181e\b\u00cc\u0001\u00cd\u0001\u00cd"+
"\u0003\u00cd\u1822\b\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd"+
"\u1827\b\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0003\u00cd"+
"\u182d\b\u00cd\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce"+
"\u0001\u00ce\u0003\u00ce\u1835\b\u00ce\u0001\u00ce\u0003\u00ce\u1838\b"+
"\u00ce\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0003\u00cf\u183e"+
"\b\u00cf\u0001\u00cf\u0003\u00cf\u1841\b\u00cf\u0001\u00cf\u0001\u00cf"+
"\u0001\u00cf\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0003\u00d0\u1849\b\u00d0"+
"\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0003\u00d0\u184e\b\u00d0\u0001\u00d1"+
"\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0003\u00d1\u1855\b\u00d1"+
"\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1"+
"\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0003\u00d1\u1861\b\u00d1"+
"\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0003\u00d1\u1867\b\u00d1"+
"\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2"+
"\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2"+
"\u0003\u00d2\u1875\b\u00d2\u0001\u00d3\u0003\u00d3\u1878\b\u00d3\u0001"+
"\u00d3\u0001\u00d3\u0001\u00d3\u0003\u00d3\u187d\b\u00d3\u0001\u00d3\u0001"+
"\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0003\u00d3\u1885"+
"\b\u00d3\u0001\u00d4\u0003\u00d4\u1888\b\u00d4\u0001\u00d4\u0001\u00d4"+
"\u0001\u00d4\u0003\u00d4\u188d\b\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4"+
"\u0003\u00d4\u1892\b\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d5\u0001\u00d5"+
"\u0001\u00d5\u0001\u00d5\u0005\u00d5\u189a\b\u00d5\n\u00d5\f\u00d5\u189d"+
"\t\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d6\u0001\u00d6\u0003\u00d6\u18a3"+
"\b\u00d6\u0001\u00d7\u0003\u00d7\u18a6\b\u00d7\u0001\u00d7\u0003\u00d7"+
"\u18a9\b\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7"+
"\u0001\u00d7\u0005\u00d7\u18b1\b\u00d7\n\u00d7\f\u00d7\u18b4\t\u00d7\u0001"+
"\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18bb"+
"\b\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18c1"+
"\b\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18c7"+
"\b\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18cc\b\u00d7"+
"\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18d1\b\u00d7\u0001\u00d7"+
"\u0003\u00d7\u18d4\b\u00d7\u0001\u00d7\u0003\u00d7\u18d7\b\u00d7\u0001"+
"\u00d7\u0003\u00d7\u18da\b\u00d7\u0001\u00d7\u0003\u00d7\u18dd\b\u00d7"+
"\u0001\u00d7\u0003\u00d7\u18e0\b\u00d7\u0001\u00d7\u0003\u00d7\u18e3\b"+
"\u00d7\u0001\u00d7\u0003\u00d7\u18e6\b\u00d7\u0001\u00d7\u0003\u00d7\u18e9"+
"\b\u00d7\u0001\u00d7\u0003\u00d7\u18ec\b\u00d7\u0001\u00d7\u0003\u00d7"+
"\u18ef\b\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7"+
"\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0003\u00d7\u18fa\b\u00d7"+
"\u0001\u00d7\u0003\u00d7\u18fd\b\u00d7\u0001\u00d7\u0003\u00d7\u1900\b"+
"\u00d7\u0001\u00d7\u0003\u00d7\u1903\b\u00d7\u0001\u00d7\u0003\u00d7\u1906"+
"\b\u00d7\u0003\u00d7\u1908\b\u00d7\u0001\u00d8\u0001\u00d8\u0001\u00d9"+
"\u0001\u00d9\u0001\u00d9\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da"+
"\u0001\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u1916\b\u00da\u0001\u00db"+
"\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0003\u00db\u191d\b\u00db"+
"\u0001\u00dc\u0001\u00dc\u0001\u00dd\u0001\u00dd\u0003\u00dd\u1923\b\u00dd"+
"\u0001\u00de\u0001\u00de\u0003\u00de\u1927\b\u00de\u0001\u00df\u0001\u00df"+
"\u0001\u00df\u0003\u00df\u192c\b\u00df\u0001\u00e0\u0001\u00e0\u0001\u00e0"+
"\u0005\u00e0\u1931\b\u00e0\n\u00e0\f\u00e0\u1934\t\u00e0\u0001\u00e1\u0001"+
"\u00e1\u0003\u00e1\u1938\b\u00e1\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0001"+
"\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0003\u00e2\u1941\b\u00e2\u0003"+
"\u00e2\u1943\b\u00e2\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0003"+
"\u00e3\u1949\b\u00e3\u0001\u00e3\u0003\u00e3\u194c\b\u00e3\u0001\u00e4"+
"\u0001\u00e4\u0003\u00e4\u1950\b\u00e4\u0001\u00e4\u0003\u00e4\u1953\b"+
"\u00e4\u0001\u00e4\u0003\u00e4\u1956\b\u00e4\u0001\u00e5\u0001\u00e5\u0001"+
"\u00e6\u0001\u00e6\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001"+
"\u00e8\u0001\u00e8\u0001\u00e8\u0001\u00e8\u0003\u00e8\u1964\b\u00e8\u0001"+
"\u00e9\u0001\u00e9\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001"+
"\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00ec\u0001\u00ec\u0001"+
"\u00ec\u0001\u00ec\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001"+
"\u00ed\u0001\u00ed\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
"\u00ee\u0005\u00ee\u197f\b\u00ee\n\u00ee\f\u00ee\u1982\t\u00ee\u0001\u00ee"+
"\u0001\u00ee\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00f0"+
"\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0"+
"\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0"+
"\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0"+
"\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0"+
"\u0001\u00f0\u0003\u00f0\u19a4\b\u00f0\u0003\u00f0\u19a6\b\u00f0\u0001"+
"\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001"+
"\u00f1\u0003\u00f1\u19af\b\u00f1\u0001\u00f2\u0001\u00f2\u0003\u00f2\u19b3"+
"\b\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001"+
"\u00f2\u0001\u00f2\u0003\u00f2\u19bc\b\u00f2\u0001\u00f2\u0001\u00f2\u0001"+
"\u00f2\u0001\u00f2\u0003\u00f2\u19c2\b\u00f2\u0001\u00f2\u0001\u00f2\u0001"+
"\u00f2\u0001\u00f2\u0003\u00f2\u19c8\b\u00f2\u0001\u00f2\u0003\u00f2\u19cb"+
"\b\u00f2\u0001\u00f2\u0003\u00f2\u19ce\b\u00f2\u0001\u00f2\u0003\u00f2"+
"\u19d1\b\u00f2\u0001\u00f2\u0003\u00f2\u19d4\b\u00f2\u0001\u00f3\u0001"+
"\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u19dc"+
"\b\u00f3\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001"+
"\u00f4\u0003\u00f4\u19e4\b\u00f4\u0001\u00f4\u0003\u00f4\u19e7\b\u00f4"+
"\u0001\u00f5\u0003\u00f5\u19ea\b\u00f5\u0001\u00f5\u0001\u00f5\u0001\u00f5"+
"\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
"\u0003\u00f6\u19f5\b\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
"\u0003\u00f6\u19fb\b\u00f6\u0001\u00f6\u0005\u00f6\u19fe\b\u00f6\n\u00f6"+
"\f\u00f6\u1a01\t\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f8\u0001\u00f8"+
"\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0003\u00f8\u1a0b\b\u00f8"+
"\u0001\u00f9\u0001\u00f9\u0003\u00f9\u1a0f\b\u00f9\u0001\u00f9\u0003\u00f9"+
"\u1a12\b\u00f9\u0001\u00f9\u0003\u00f9\u1a15\b\u00f9\u0001\u00f9\u0003"+
"\u00f9\u1a18\b\u00f9\u0001\u00f9\u0003\u00f9\u1a1b\b\u00f9\u0001\u00f9"+
"\u0003\u00f9\u1a1e\b\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0003\u00f9"+
"\u1a23\b\u00f9\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0005\u00fa"+
"\u1a29\b\u00fa\n\u00fa\f\u00fa\u1a2c\t\u00fa\u0001\u00fb\u0001\u00fb\u0003"+
"\u00fb\u1a30\b\u00fb\u0001\u00fb\u0001\u00fb\u0001\u00fb\u0001\u00fb\u0001"+
"\u00fb\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fc\u0005\u00fc\u1a3b"+
"\b\u00fc\n\u00fc\f\u00fc\u1a3e\t\u00fc\u0001\u00fc\u0001\u00fc\u0001\u00fd"+
"\u0001\u00fd\u0003\u00fd\u1a44\b\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fe"+
"\u0001\u00fe\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u0100\u0001\u0100"+
"\u0001\u0100\u0001\u0101\u0003\u0101\u1a51\b\u0101\u0001\u0101\u0001\u0101"+
"\u0001\u0101\u0003\u0101\u1a56\b\u0101\u0001\u0101\u0001\u0101\u0001\u0101"+
"\u0003\u0101\u1a5b\b\u0101\u0005\u0101\u1a5d\b\u0101\n\u0101\f\u0101\u1a60"+
"\t\u0101\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0103\u0001\u0103\u0001"+
"\u0103\u0001\u0103\u0001\u0103\u0001\u0104\u0001\u0104\u0001\u0104\u0005"+
"\u0104\u1a6d\b\u0104\n\u0104\f\u0104\u1a70\t\u0104\u0001\u0105\u0001\u0105"+
"\u0005\u0105\u1a74\b\u0105\n\u0105\f\u0105\u1a77\t\u0105\u0001\u0106\u0001"+
"\u0106\u0001\u0106\u0003\u0106\u1a7c\b\u0106\u0001\u0106\u0001\u0106\u0003"+
"\u0106\u1a80\b\u0106\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001"+
"\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0003\u0107\u1a8a\b\u0107\u0001"+
"\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0005\u0108\u1a90\b\u0108\n"+
"\u0108\f\u0108\u1a93\t\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001"+
"\u0108\u0001\u0108\u0001\u0108\u0005\u0108\u1a9b\b\u0108\n\u0108\f\u0108"+
"\u1a9e\t\u0108\u0001\u0108\u0001\u0108\u0003\u0108\u1aa2\b\u0108\u0001"+
"\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u010a\u0001\u010a\u0001"+
"\u010a\u0001\u010a\u0001\u010a\u0005\u010a\u1aad\b\u010a\n\u010a\f\u010a"+
"\u1ab0\t\u010a\u0003\u010a\u1ab2\b\u010a\u0001\u010a\u0001\u010a\u0001"+
"\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0005\u010a\u1aba\b\u010a\n"+
"\u010a\f\u010a\u1abd\t\u010a\u0003\u010a\u1abf\b\u010a\u0001\u010a\u0001"+
"\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0001\u010a\u0005"+
"\u010a\u1ac8\b\u010a\n\u010a\f\u010a\u1acb\t\u010a\u0001\u010a\u0001\u010a"+
"\u0001\u010a\u0001\u010a\u0001\u010a\u0005\u010a\u1ad2\b\u010a\n\u010a"+
"\f\u010a\u1ad5\t\u010a\u0003\u010a\u1ad7\b\u010a\u0001\u010b\u0001\u010b"+
"\u0001\u010b\u0001\u010b\u0005\u010b\u1add\b\u010b\n\u010b\f\u010b\u1ae0"+
"\t\u010b\u0003\u010b\u1ae2\b\u010b\u0001\u010b\u0001\u010b\u0001\u010c"+
"\u0001\u010c\u0001\u010c\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010e"+
"\u0001\u010e\u0003\u010e\u1aee\b\u010e\u0001\u010e\u0005\u010e\u1af1\b"+
"\u010e\n\u010e\f\u010e\u1af4\t\u010e\u0001\u010e\u0001\u010e\u0001\u010f"+
"\u0001\u010f\u0001\u010f\u0001\u010f\u0003\u010f\u1afc\b\u010f\u0001\u010f"+
"\u0005\u010f\u1aff\b\u010f\n\u010f\f\u010f\u1b02\t\u010f\u0001\u010f\u0001"+
"\u010f\u0003\u010f\u1b06\b\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001"+
"\u010f\u0001\u010f\u0005\u010f\u1b0d\b\u010f\n\u010f\f\u010f\u1b10\t\u010f"+
"\u0001\u010f\u0001\u010f\u0003\u010f\u1b14\b\u010f\u0003\u010f\u1b16\b"+
"\u010f\u0001\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0003\u0110\u1b1c"+
"\b\u0110\u0003\u0110\u1b1e\b\u0110\u0001\u0110\u0003\u0110\u1b21\b\u0110"+
"\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0003\u0111\u1b27\b\u0111"+
"\u0001\u0112\u0001\u0112\u0001\u0112\u0005\u0112\u1b2c\b\u0112\n\u0112"+
"\f\u0112\u1b2f\t\u0112\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113"+
"\u0001\u0113\u0001\u0113\u0001\u0113\u0005\u0113\u1b38\b\u0113\n\u0113"+
"\f\u0113\u1b3b\t\u0113\u0003\u0113\u1b3d\b\u0113\u0001\u0113\u0001\u0113"+
"\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0005\u0113\u1b45\b\u0113"+
"\n\u0113\f\u0113\u1b48\t\u0113\u0001\u0114\u0003\u0114\u1b4b\b\u0114\u0001"+
"\u0114\u0003\u0114\u1b4e\b\u0114\u0001\u0115\u0001\u0115\u0001\u0115\u0001"+
"\u0115\u0001\u0115\u0005\u0115\u1b55\b\u0115\n\u0115\f\u0115\u1b58\t\u0115"+
"\u0001\u0116\u0001\u0116\u0003\u0116\u1b5c\b\u0116\u0001\u0116\u0001\u0116"+
"\u0003\u0116\u1b60\b\u0116\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117"+
"\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117"+
"\u0003\u0117\u1b6c\b\u0117\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118"+
"\u0001\u0118\u0005\u0118\u1b73\b\u0118\n\u0118\f\u0118\u1b76\t\u0118\u0001"+
"\u0119\u0003\u0119\u1b79\b\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0003"+
"\u0119\u1b7e\b\u0119\u0001\u0119\u0001\u0119\u0003\u0119\u1b82\b\u0119"+
"\u0001\u0119\u0001\u0119\u0003\u0119\u1b86\b\u0119\u0001\u0119\u0001\u0119"+
"\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001\u0119"+
"\u0003\u0119\u1b90\b\u0119\u0001\u011a\u0001\u011a\u0001\u011a\u0001\u011a"+
"\u0003\u011a\u1b96\b\u011a\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011b"+
"\u0001\u011c\u0001\u011c\u0001\u011c\u0005\u011c\u1b9f\b\u011c\n\u011c"+
"\f\u011c\u1ba2\t\u011c\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d"+
"\u0003\u011d\u1ba8\b\u011d\u0001\u011d\u0001\u011d\u0001\u011e\u0001\u011e"+
"\u0003\u011e\u1bae\b\u011e\u0001\u011e\u0003\u011e\u1bb1\b\u011e\u0001"+
"\u011e\u0003\u011e\u1bb4\b\u011e\u0001\u011e\u0003\u011e\u1bb7\b\u011e"+
"\u0001\u011e\u0003\u011e\u1bba\b\u011e\u0001\u011e\u0001\u011e\u0003\u011e"+
"\u1bbe\b\u011e\u0001\u011e\u0003\u011e\u1bc1\b\u011e\u0001\u011e\u0005"+
"\u011e\u1bc4\b\u011e\n\u011e\f\u011e\u1bc7\t\u011e\u0001\u011e\u0001\u011e"+
"\u0001\u011e\u0001\u011e\u0001\u011e\u0005\u011e\u1bce\b\u011e\n\u011e"+
"\f\u011e\u1bd1\t\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e"+
"\u1bd6\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e"+
"\u0001\u011e\u0001\u011e\u0003\u011e\u1bdf\b\u011e\u0001\u011f\u0001\u011f"+
"\u0001\u011f\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120"+
"\u0001\u0121\u0001\u0121\u0001\u0121\u0005\u0121\u1bec\b\u0121\n\u0121"+
"\f\u0121\u1bef\t\u0121\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
"\u0001\u0123\u0001\u0123\u0003\u0123\u1bf7\b\u0123\u0001\u0124\u0001\u0124"+
"\u0003\u0124\u1bfb\b\u0124\u0001\u0125\u0003\u0125\u1bfe\b\u0125\u0001"+
"\u0125\u0001\u0125\u0003\u0125\u1c02\b\u0125\u0003\u0125\u1c04\b\u0125"+
"\u0001\u0126\u0001\u0126\u0001\u0126\u0005\u0126\u1c09\b\u0126\n\u0126"+
"\f\u0126\u1c0c\t\u0126\u0001\u0127\u0001\u0127\u0001\u0127\u0005\u0127"+
"\u1c11\b\u0127\n\u0127\f\u0127\u1c14\t\u0127\u0001\u0128\u0001\u0128\u0001"+
"\u0128\u0003\u0128\u1c19\b\u0128\u0001\u0129\u0001\u0129\u0001\u0129\u0005"+
"\u0129\u1c1e\b\u0129\n\u0129\f\u0129\u1c21\t\u0129\u0001\u012a\u0001\u012a"+
"\u0001\u012a\u0003\u012a\u1c26\b\u012a\u0001\u012a\u0003\u012a\u1c29\b"+
"\u012a\u0001\u012a\u0001\u012a\u0003\u012a\u1c2d\b\u012a\u0001\u012a\u0001"+
"\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0003\u012a\u1c34\b\u012a\u0001"+
"\u012a\u0003\u012a\u1c37\b\u012a\u0001\u012a\u0003\u012a\u1c3a\b\u012a"+
"\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0003\u012a"+
"\u1c41\b\u012a\u0003\u012a\u1c43\b\u012a\u0001\u012a\u0001\u012a\u0001"+
"\u012a\u0003\u012a\u1c48\b\u012a\u0001\u012a\u0001\u012a\u0003\u012a\u1c4c"+
"\b\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001"+
"\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0003"+
"\u012a\u1c59\b\u012a\u0003\u012a\u1c5b\b\u012a\u0003\u012a\u1c5d\b\u012a"+
"\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
"\u0001\u012a\u0003\u012a\u1c66\b\u012a\u0003\u012a\u1c68\b\u012a\u0001"+
"\u012a\u0001\u012a\u0003\u012a\u1c6c\b\u012a\u0001\u012b\u0001\u012b\u0001"+
"\u012b\u0005\u012b\u1c71\b\u012b\n\u012b\f\u012b\u1c74\t\u012b\u0001\u012c"+
"\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1c7a\b\u012c\u0001\u012c"+
"\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1c80\b\u012c\u0001\u012c"+
"\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1c87\b\u012c"+
"\u0001\u012c\u0001\u012c\u0003\u012c\u1c8b\b\u012c\u0001\u012d\u0001\u012d"+
"\u0001\u012d\u0005\u012d\u1c90\b\u012d\n\u012d\f\u012d\u1c93\t\u012d\u0001"+
"\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0003\u012e\u1c99\b\u012e\u0001"+
"\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0003\u012e\u1c9f\b\u012e\u0001"+
"\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0003\u012f\u1ca5\b\u012f\u0001"+
"\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0003"+
"\u012f\u1cad\b\u012f\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0003"+
"\u0130\u1cb3\b\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
"\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0131\u0001\u0131\u0001"+
"\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u1cc4"+
"\b\u0131\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u1cca"+
"\b\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001"+
"\u0132\u0001\u0132\u0005\u0132\u1cd3\b\u0132\n\u0132\f\u0132\u1cd6\t\u0132"+
"\u0001\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u1cdb\b\u0132\u0003\u0132"+
"\u1cdd\b\u0132\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0005\u0133"+
"\u1ce3\b\u0133\n\u0133\f\u0133\u1ce6\t\u0133\u0001\u0133\u0001\u0133\u0001"+
"\u0134\u0003\u0134\u1ceb\b\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001"+
"\u0134\u0003\u0134\u1cf1\b\u0134\u0001\u0135\u0001\u0135\u0001\u0135\u0005"+
"\u0135\u1cf6\b\u0135\n\u0135\f\u0135\u1cf9\t\u0135\u0001\u0136\u0001\u0136"+
"\u0001\u0136\u0001\u0136\u0001\u0136\u0003\u0136\u1d00\b\u0136\u0001\u0136"+
"\u0003\u0136\u1d03\b\u0136\u0001\u0137\u0001\u0137\u0001\u0138\u0001\u0138"+
"\u0001\u0138\u0001\u0138\u0001\u0138\u0005\u0138\u1d0c\b\u0138\n\u0138"+
"\f\u0138\u1d0f\t\u0138\u0001\u0138\u0001\u0138\u0001\u0139\u0001\u0139"+
"\u0001\u0139\u0001\u0139\u0005\u0139\u1d17\b\u0139\n\u0139\f\u0139\u1d1a"+
"\t\u0139\u0001\u013a\u0001\u013a\u0003\u013a\u1d1e\b\u013a\u0001\u013a"+
"\u0003\u013a\u1d21\b\u013a\u0001\u013b\u0001\u013b\u0001\u013b\u0005\u013b"+
"\u1d26\b\u013b\n\u013b\f\u013b\u1d29\t\u013b\u0001\u013c\u0001\u013c\u0003"+
"\u013c\u1d2d\b\u013c\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001"+
"\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0004\u013d\u1d37\b\u013d\u000b"+
"\u013d\f\u013d\u1d38\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0003"+
"\u013d\u1d3f\b\u013d\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
"\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
"\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
"\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0003\u013e\u1d55\b\u013e\u0001"+
"\u013e\u0001\u013e\u0003\u013e\u1d59\b\u013e\u0001\u013e\u0001\u013e\u0001"+
"\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
"\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0005\u013e\u1d67\b\u013e\n"+
"\u013e\f\u013e\u1d6a\t\u013e\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
"\u013f\u0005\u013f\u1d70\b\u013f\n\u013f\f\u013f\u1d73\t\u013f\u0003\u013f"+
"\u1d75\b\u013f\u0001\u013f\u0001\u013f\u0001\u0140\u0001\u0140\u0001\u0140"+
"\u0003\u0140\u1d7c\b\u0140\u0001\u0141\u0003\u0141\u1d7f\b\u0141\u0001"+
"\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003"+
"\u0141\u1d87\b\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u1d8c"+
"\b\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u1d91\b\u0141"+
"\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141"+
"\u0003\u0141\u1d99\b\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141"+
"\u0001\u0141\u0005\u0141\u1da0\b\u0141\n\u0141\f\u0141\u1da3\t\u0141\u0001"+
"\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u1da9\b\u0141\u0001"+
"\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u1dae\b\u0141\u0001\u0141\u0003"+
"\u0141\u1db1\b\u0141\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0003"+
"\u0142\u1db7\b\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001"+
"\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001"+
"\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001"+
"\u0142\u0001\u0142\u0001\u0142\u0005\u0142\u1dcc\b\u0142\n\u0142\f\u0142"+
"\u1dcf\t\u0142\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
"\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0004\u0143"+
"\u1ddb\b\u0143\u000b\u0143\f\u0143\u1ddc\u0001\u0143\u0001\u0143\u0003"+
"\u0143\u1de1\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0004\u0143\u1de8\b\u0143\u000b\u0143\f\u0143\u1de9\u0001\u0143"+
"\u0001\u0143\u0003\u0143\u1dee\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
"\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
"\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0005\u0143\u1dfd\b\u0143"+
"\n\u0143\f\u0143\u1e00\t\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0005\u0143\u1e06\b\u0143\n\u0143\f\u0143\u1e09\t\u0143\u0001\u0143"+
"\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0005\u0143\u1e10\b\u0143"+
"\n\u0143\f\u0143\u1e13\t\u0143\u0001\u0143\u0001\u0143\u0003\u0143\u1e17"+
"\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0003\u0143\u1e33\b\u0143\u0001\u0143\u0001"+
"\u0143\u0003\u0143\u1e37\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0003"+
"\u0143\u1e42\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0003\u0143\u1e4a\b\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0003\u0143\u1e4f\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0003\u0143\u1e5b\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
"\u0143\u0003\u0143\u1e67\b\u0143\u0005\u0143\u1e69\b\u0143\n\u0143\f\u0143"+
"\u1e6c\t\u0143\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144"+
"\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0003\u0144"+
"\u1e78\b\u0144\u0001\u0145\u0001\u0145\u0001\u0145\u0003\u0145\u1e7d\b"+
"\u0145\u0003\u0145\u1e7f\b\u0145\u0001\u0146\u0001\u0146\u0001\u0146\u0003"+
"\u0146\u1e84\b\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0005\u0146\u1e89"+
"\b\u0146\n\u0146\f\u0146\u1e8c\t\u0146\u0001\u0146\u0001\u0146\u0001\u0146"+
"\u0001\u0146\u0001\u0146\u0005\u0146\u1e93\b\u0146\n\u0146\f\u0146\u1e96"+
"\t\u0146\u0003\u0146\u1e98\b\u0146\u0003\u0146\u1e9a\b\u0146\u0001\u0146"+
"\u0001\u0146\u0001\u0146\u0003\u0146\u1e9f\b\u0146\u0001\u0147\u0001\u0147"+
"\u0001\u0147\u0003\u0147\u1ea4\b\u0147\u0001\u0147\u0001\u0147\u0001\u0148"+
"\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148"+
"\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148"+
"\u0001\u0148\u0001\u0148\u0001\u0148\u0003\u0148\u1eb8\b\u0148\u0001\u0149"+
"\u0001\u0149\u0003\u0149\u1ebc\b\u0149\u0001\u0149\u0003\u0149\u1ebf\b"+
"\u0149\u0001\u0149\u0003\u0149\u1ec2\b\u0149\u0001\u0149\u0001\u0149\u0001"+
"\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001"+
"\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u1ecf\b\u014a\u0001\u014b\u0001"+
"\u014b\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001"+
"\u014c\u0001\u014c\u0003\u014c\u1eda\b\u014c\u0001\u014d\u0001\u014d\u0001"+
"\u014d\u0005\u014d\u1edf\b\u014d\n\u014d\f\u014d\u1ee2\t\u014d\u0001\u014e"+
"\u0003\u014e\u1ee5\b\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0003\u014e"+
"\u1eea\b\u014e\u0001\u014e\u0003\u014e\u1eed\b\u014e\u0001\u014e\u0001"+
"\u014e\u0003\u014e\u1ef1\b\u014e\u0001\u014f\u0001\u014f\u0001\u014f\u0001"+
"\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u1ef9\b\u014f\u0001\u014f\u0001"+
"\u014f\u0001\u014f\u0003\u014f\u1efe\b\u014f\u0001\u014f\u0001\u014f\u0005"+
"\u014f\u1f02\b\u014f\n\u014f\f\u014f\u1f05\t\u014f\u0001\u014f\u0001\u014f"+
"\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u1f0d\b\u014f"+
"\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0005\u014f"+
"\u1f14\b\u014f\n\u014f\f\u014f\u1f17\t\u014f\u0001\u014f\u0001\u014f\u0001"+
"\u014f\u0001\u014f\u0001\u014f\u0005\u014f\u1f1e\b\u014f\n\u014f\f\u014f"+
"\u1f21\t\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u1f26\b"+
"\u014f\u0001\u0150\u0001\u0150\u0001\u0151\u0001\u0151\u0001\u0152\u0001"+
"\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0001\u0153\u0001\u0153\u0001"+
"\u0153\u0001\u0153\u0001\u0154\u0001\u0154\u0001\u0155\u0001\u0155\u0003"+
"\u0155\u1f39\b\u0155\u0001\u0155\u0003\u0155\u1f3c\b\u0155\u0001\u0156"+
"\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156"+
"\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156"+
"\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156"+
"\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0005\u0156"+
"\u1f56\b\u0156\n\u0156\f\u0156\u1f59\t\u0156\u0001\u0156\u0001\u0156\u0001"+
"\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0005"+
"\u0156\u1f63\b\u0156\n\u0156\f\u0156\u1f66\t\u0156\u0001\u0156\u0003\u0156"+
"\u1f69\b\u0156\u0003\u0156\u1f6b\b\u0156\u0001\u0157\u0001\u0157\u0001"+
"\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001"+
"\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001"+
"\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001"+
"\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001"+
"\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0003"+
"\u0157\u1f8d\b\u0157\u0001\u0158\u0001\u0158\u0001\u0158\u0005\u0158\u1f92"+
"\b\u0158\n\u0158\f\u0158\u1f95\t\u0158\u0001\u0159\u0001\u0159\u0001\u0159"+
"\u0001\u0159\u0003\u0159\u1f9b\b\u0159\u0001\u015a\u0001\u015a\u0001\u015a"+
"\u0001\u015b\u0001\u015b\u0001\u015b\u0003\u015b\u1fa3\b\u015b\u0001\u015b"+
"\u0001\u015b\u0001\u015b\u0003\u015b\u1fa8\b\u015b\u0001\u015c\u0001\u015c"+
"\u0001\u015c\u0001\u015c\u0003\u015c\u1fae\b\u015c\u0001\u015d\u0001\u015d"+
"\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d"+
"\u0001\u015d\u0001\u015d\u0003\u015d\u1fba\b\u015d\u0001\u015e\u0001\u015e"+
"\u0001\u015e\u0001\u015f\u0001\u015f\u0004\u015f\u1fc1\b\u015f\u000b\u015f"+
"\f\u015f\u1fc2\u0001\u015f\u0003\u015f\u1fc6\b\u015f\u0001\u0160\u0001"+
"\u0160\u0001\u0161\u0001\u0161\u0001\u0161\u0003\u0161\u1fcd\b\u0161\u0001"+
"\u0162\u0001\u0162\u0001\u0163\u0003\u0163\u1fd2\b\u0163\u0001\u0163\u0001"+
"\u0163\u0003\u0163\u1fd6\b\u0163\u0001\u0163\u0003\u0163\u1fd9\b\u0163"+
"\u0001\u0164\u0001\u0164\u0001\u0164\u0003\u0934\u09be\u09c5\u0006\u00b6"+
"\u00c2\u01ec\u027c\u0284\u0286\u0165\u0000\u0002\u0004\u0006\b\n\f\u000e"+
"\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDF"+
"HJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c"+
"\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4"+
"\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc"+
"\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\u00d4"+
"\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea\u00ec"+
"\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102\u0104"+
"\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c"+
"\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134"+
"\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a\u014c"+
"\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164"+
"\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a\u017c"+
"\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192\u0194"+
"\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa\u01ac"+
"\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2\u01c4"+
"\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc"+
"\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2\u01f4"+
"\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c"+
"\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224"+
"\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a\u023c"+
"\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252\u0254"+
"\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a\u026c"+
"\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282\u0284"+
"\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a\u029c"+
"\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2\u02b4"+
"\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u0000X\u0003"+
"\u0000\u00b5\u00b5\u02b6\u02b6\u02c4\u02c4\u0002\u0000\u014f\u014f\u02a3"+
"\u02a3\u0001\u0000IJ\u0003\u0000\u00d0\u00d0\u016c\u016c\u01a2\u01a2\u0002"+
"\u0000\u000f\u000f\u0012\u0012\u0002\u0000\u001b\u001b33\u0002\u0000v"+
"v\u0283\u0283\u0002\u0000\u01d0\u01d0\u02cb\u02cb\u0002\u0000\u000e\u000e"+
"\u00f9\u00f9\u0002\u0000\u0011\u0011\u001e\u001e\u0002\u0000\u00d0\u00d0"+
"\u01a2\u01a2\u0002\u0000tt\u0237\u0237\u0001\u0000\u0211\u0212\u0002\u0000"+
"\u00d7\u00d7\u0172\u0172\u0004\u0000\u001d\u001d%%CCcc\u0002\u000000\u0159"+
"\u0159\u0001\u0000-.\u0003\u0000\u0179\u0179\u01bf\u01bf\u024d\u024d\u0004"+
"\u0000\u0003\u0004YYnn\u009d\u009d\u0002\u0000aa\u01ec\u01ec\u0002\u0000"+
"\u024d\u024d\u027c\u027c\u0004\u0000OO\u00da\u00da\u0141\u0141\u0277\u0277"+
"\u0002\u0000OO\u009b\u009b\u0002\u0000\u008c\u008c\u00ef\u00ef\u0002\u0000"+
"\u00cc\u00cc\u01f0\u01f0\u0003\u0000\u01b9\u01b9\u0227\u0227\u023b\u023b"+
"\u0001\u0000\u02b5\u02b6\u0001\u0000\u02b3\u02b4\u0005\u0000!!ST{{\u012b"+
"\u012b\u0249\u0249\u0002\u0000\u0018\u0018\u02bd\u02bd\u0003\u000077D"+
"D]]\u0002\u0000\u00c8\u00c8\u013b\u013b\u0002\u0000\u00d1\u00d1\u0134"+
"\u0134\u0002\u0000\u0162\u0162\u0281\u0281\u000f\u0000\u0001\t\u000b\u001a"+
"\u001c\u001e ,/fhuw\u0083\u0085\u009c\u009e\u00a6\u00ad\u00b3\u011e\u011e"+
"\u0120\u0121\u014a\u014a\u01ad\u01ad\u0205\u0205\u0002\u0000\u0175\u0175"+
"\u0212\u0212\u0002\u0000\u00d4\u00d4\u02cb\u02cb\u0002\u0000\u015f\u015f"+
"\u0273\u0273\u0003\u0000\u00c6\u00c6\u0148\u0148\u028a\u028a\u0002\u0000"+
"\u0171\u0171\u0190\u0190\u0002\u0000\u0203\u0203\u0235\u0235\u0003\u0000"+
"\u00e2\u00e2\u019e\u019e\u01e2\u01e2\u0002\u0000\u00c6\u00c6\u026d\u026d"+
"\u0002\u0000\u0123\u0123\u0247\u0247\u0002\u0000\u01ac\u01ac\u0294\u0294"+
"\u0003\u0000\u0122\u0122\u022f\u022f\u027c\u027c\u0001\u0000\u029a\u029b"+
"\u0002\u0000\u0154\u0154\u02a1\u02a1\u0002\u0000\u0104\u0104\u0165\u0165"+
"\u0002\u0000\u0124\u0124\u0248\u0248\u0002\u0000\u02c6\u02c6\u02cb\u02cb"+
"\u0002\u0000\u0158\u0158\u01ec\u01ec\u0002\u0000\u0192\u0193\u01ac\u01ad"+
"\u0003\u0000\u00ce\u00ce\u0132\u0132\u01d3\u01d3\u0001\u0000\u0144\u0145"+
"\u0002\u0000\u0190\u0190\u027b\u027b\u0004\u0000\u00ea\u00ea\u0183\u0183"+
"\u01bf\u01bf\u0243\u0243\u0003\u0000\u012b\u012b\u018a\u018a\u0249\u0249"+
"\u0001\u0000\u00bf\u00c0\u0002\u0000\u01ed\u01ed\u02a9\u02a9\u0001\u0000"+
"\u01f8\u01f9\u0002\u0000\u01bd\u01bd\u021e\u021e\u0002\u0000\u0131\u0131"+
"\u018f\u018f\u0002\u0000\u00d4\u00d4\u0109\u0109\u0005\u0000\u0147\u0147"+
"\u017c\u017c\u0207\u0207\u027e\u027e\u029c\u029c\u0002\u0000\u0134\u0135"+
"\u015c\u015c\n\u0000\u00c8\u00c8\u00cb\u00cb\u013e\u013e\u01c4\u01c4\u01d2"+
"\u01d2\u01ef\u01ef\u01f7\u01f7\u0204\u0204\u0239\u0239\u0252\u0252\u0003"+
"\u0000\u0157\u0157\u01d7\u01d7\u0289\u0289\u0002\u0000\u01e4\u01e4\u0292"+
"\u0292\u0002\u0000\u0168\u0168\u01b2\u01b2\b\u0000\u00e4\u00e4\u0178\u0178"+
"\u0187\u0187\u01d0\u01d0\u01d6\u01d6\u0218\u0218\u022c\u022d\u0267\u0267"+
"\u0001\u0000\u01a4\u01a5\u0002\u0000\u00cc\u00cc\u02ba\u02ba\u0001\u0000"+
"\u01c8\u01ce\u0002\u0000\u02b3\u02b4\u02b8\u02b8\u0002\u0000\u0140\u0140"+
"\u02b5\u02b7\u0002\u0000\u0179\u0179\u024d\u024d\u0002\u0000\u0125\u0125"+
"\u0279\u0279\u0002\u0000\u0254\u0254\u028d\u028d\u0001\u0000\u0198\u0199"+
"\u0002\u0000\u021e\u021e\u0242\u0242\u0002\u0000\u016b\u016b\u020e\u020e"+
"\u0004\u0000\u0125\u0125\u0128\u0128\u012a\u012a\u0279\u0279\u0001\u0000"+
"\u02ac\u02b2\b\u0000\u012b\u012b\u018a\u018a\u01d8\u01d8\u01da\u01da\u021c"+
"\u021c\u0249\u0249\u02a2\u02a2\u02ab\u02ab\u0002\u0000\u02b5\u02b5\u02cb"+
"\u02cb\u0001\u0000\u02cc\u02cdd\u0000kk\u0086\u0086\u00bd\u00be\u00c1"+
"\u00c1\u00c4\u00c7\u00cb\u00cb\u00cf\u00cf\u00d2\u00d3\u00d5\u00d6\u00d8"+
"\u00db\u00de\u00de\u00e1\u00ee\u00f0\u00f2\u00f6\u00fb\u00fd\u00fe\u0100"+
"\u0102\u0104\u0110\u0112\u0116\u0118\u0119\u011d\u0122\u0125\u012e\u0131"+
"\u0131\u0133\u0133\u0136\u0139\u013c\u013d\u0141\u0142\u0146\u0146\u0149"+
"\u014a\u014c\u0152\u0154\u0156\u0158\u0158\u015b\u015b\u015f\u015f\u0161"+
"\u0161\u0163\u0168\u016f\u0170\u0173\u0173\u0175\u0175\u0177\u0179\u017c"+
"\u017c\u017e\u0181\u0183\u0185\u0187\u018c\u018e\u018f\u0191\u0191\u0193"+
"\u0193\u019e\u01a1\u01a3\u01a8\u01aa\u01ab\u01af\u01af\u01b2\u01b2\u01b4"+
"\u01b5\u01b7\u01b8\u01bb\u01bc\u01bf\u01c4\u01c6\u01c7\u01c9\u01d0\u01d2"+
"\u01d6\u01d8\u01dd\u01df\u01e3\u01e5\u01e5\u01e8\u01e8\u01ea\u01eb\u01ed"+
"\u01ef\u01f6\u01f7\u01f9\u0205\u0207\u0207\u0209\u020d\u0211\u0211\u0213"+
"\u021d\u0222\u0225\u022b\u022e\u0230\u0237\u0239\u0239\u023b\u023b\u023e"+
"\u0240\u0243\u0247\u0249\u0249\u024c\u024e\u0251\u0252\u0255\u0255\u0257"+
"\u0259\u025b\u0267\u026d\u026d\u0271\u0273\u0275\u0276\u0278\u0279\u027c"+
"\u027c\u027e\u027f\u0282\u0283\u0285\u0285\u0287\u0287\u028b\u028c\u028e"+
"\u028e\u0291\u0291\u0294\u0294\u0296\u02a2\u02a7\u02a7\u02ab\u02ab\u02c1"+
"\u02c3\u2550\u0000\u02ca\u0001\u0000\u0000\u0000\u0002\u02d4\u0001\u0000"+
"\u0000\u0000\u0004\u02d9\u0001\u0000\u0000\u0000\u0006\u02ed\u0001\u0000"+
"\u0000\u0000\b\u02ef\u0001\u0000\u0000\u0000\n\u02fb\u0001\u0000\u0000"+
"\u0000\f\u02fd\u0001\u0000\u0000\u0000\u000e\u0328\u0001\u0000\u0000\u0000"+
"\u0010\u032a\u0001\u0000\u0000\u0000\u0012\u032c\u0001\u0000\u0000\u0000"+
"\u0014\u0332\u0001\u0000\u0000\u0000\u0016\u0338\u0001\u0000\u0000\u0000"+
"\u0018\u033a\u0001\u0000\u0000\u0000\u001a\u034a\u0001\u0000\u0000\u0000"+
"\u001c\u0350\u0001\u0000\u0000\u0000\u001e\u0362\u0001\u0000\u0000\u0000"+
" \u0364\u0001\u0000\u0000\u0000\"\u0369\u0001\u0000\u0000\u0000$\u038e"+
"\u0001\u0000\u0000\u0000&\u0398\u0001\u0000\u0000\u0000(\u03a3\u0001\u0000"+
"\u0000\u0000*\u03b7\u0001\u0000\u0000\u0000,\u03b9\u0001\u0000\u0000\u0000"+
".\u03bf\u0001\u0000\u0000\u00000\u03c8\u0001\u0000\u0000\u00002\u03d3"+
"\u0001\u0000\u0000\u00004\u03e1\u0001\u0000\u0000\u00006\u0406\u0001\u0000"+
"\u0000\u00008\u0408\u0001\u0000\u0000\u0000:\u0410\u0001\u0000\u0000\u0000"+
"<\u041b\u0001\u0000\u0000\u0000>\u0424\u0001\u0000\u0000\u0000@\u0427"+
"\u0001\u0000\u0000\u0000B\u0460\u0001\u0000\u0000\u0000D\u0462\u0001\u0000"+
"\u0000\u0000F\u0478\u0001\u0000\u0000\u0000H\u0486\u0001\u0000\u0000\u0000"+
"J\u048f\u0001\u0000\u0000\u0000L\u049f\u0001\u0000\u0000\u0000N\u04ab"+
"\u0001\u0000\u0000\u0000P\u04b7\u0001\u0000\u0000\u0000R\u04ce\u0001\u0000"+
"\u0000\u0000T\u04d7\u0001\u0000\u0000\u0000V\u04e4\u0001\u0000\u0000\u0000"+
"X\u04f1\u0001\u0000\u0000\u0000Z\u04fa\u0001\u0000\u0000\u0000\\\u0513"+
"\u0001\u0000\u0000\u0000^\u051b\u0001\u0000\u0000\u0000`\u0523\u0001\u0000"+
"\u0000\u0000b\u0528\u0001\u0000\u0000\u0000d\u0549\u0001\u0000\u0000\u0000"+
"f\u0575\u0001\u0000\u0000\u0000h\u0578\u0001\u0000\u0000\u0000j\u0587"+
"\u0001\u0000\u0000\u0000l\u0589\u0001\u0000\u0000\u0000n\u05a6\u0001\u0000"+
"\u0000\u0000p\u05a8\u0001\u0000\u0000\u0000r\u05b8\u0001\u0000\u0000\u0000"+
"t\u05bf\u0001\u0000\u0000\u0000v\u05c5\u0001\u0000\u0000\u0000x\u05ca"+
"\u0001\u0000\u0000\u0000z\u05cd\u0001\u0000\u0000\u0000|\u05d2\u0001\u0000"+
"\u0000\u0000~\u05da\u0001\u0000\u0000\u0000\u0080\u05e0\u0001\u0000\u0000"+
"\u0000\u0082\u05e2\u0001\u0000\u0000\u0000\u0084\u05e8\u0001\u0000\u0000"+
"\u0000\u0086\u05ec\u0001\u0000\u0000\u0000\u0088\u05f0\u0001\u0000\u0000"+
"\u0000\u008a\u05fb\u0001\u0000\u0000\u0000\u008c\u0604\u0001\u0000\u0000"+
"\u0000\u008e\u0618\u0001\u0000\u0000\u0000\u0090\u061b\u0001\u0000\u0000"+
"\u0000\u0092\u0625\u0001\u0000\u0000\u0000\u0094\u0628\u0001\u0000\u0000"+
"\u0000\u0096\u062e\u0001\u0000\u0000\u0000\u0098\u0630\u0001\u0000\u0000"+
"\u0000\u009a\u063e\u0001\u0000\u0000\u0000\u009c\u0646\u0001\u0000\u0000"+
"\u0000\u009e\u0649\u0001\u0000\u0000\u0000\u00a0\u0654\u0001\u0000\u0000"+
"\u0000\u00a2\u065b\u0001\u0000\u0000\u0000\u00a4\u065e\u0001\u0000\u0000"+
"\u0000\u00a6\u066a\u0001\u0000\u0000\u0000\u00a8\u066d\u0001\u0000\u0000"+
"\u0000\u00aa\u068b\u0001\u0000\u0000\u0000\u00ac\u0693\u0001\u0000\u0000"+
"\u0000\u00ae\u0698\u0001\u0000\u0000\u0000\u00b0\u06a7\u0001\u0000\u0000"+
"\u0000\u00b2\u06c0\u0001\u0000\u0000\u0000\u00b4\u06c2\u0001\u0000\u0000"+
"\u0000\u00b6\u06d4\u0001\u0000\u0000\u0000\u00b8\u06e2\u0001\u0000\u0000"+
"\u0000\u00ba\u06f1\u0001\u0000\u0000\u0000\u00bc\u06f3\u0001\u0000\u0000"+
"\u0000\u00be\u06f7\u0001\u0000\u0000\u0000\u00c0\u0703\u0001\u0000\u0000"+
"\u0000\u00c2\u0717\u0001\u0000\u0000\u0000\u00c4\u072e\u0001\u0000\u0000"+
"\u0000\u00c6\u0730\u0001\u0000\u0000\u0000\u00c8\u0734\u0001\u0000\u0000"+
"\u0000\u00ca\u0736\u0001\u0000\u0000\u0000\u00cc\u074a\u0001\u0000\u0000"+
"\u0000\u00ce\u074e\u0001\u0000\u0000\u0000\u00d0\u0750\u0001\u0000\u0000"+
"\u0000\u00d2\u0761\u0001\u0000\u0000\u0000\u00d4\u0771\u0001\u0000\u0000"+
"\u0000\u00d6\u080d\u0001\u0000\u0000\u0000\u00d8\u080f\u0001\u0000\u0000"+
"\u0000\u00da\u0811\u0001\u0000\u0000\u0000\u00dc\u0821\u0001\u0000\u0000"+
"\u0000\u00de\u082b\u0001\u0000\u0000\u0000\u00e0\u08fd\u0001\u0000\u0000"+
"\u0000\u00e2\u08ff\u0001\u0000\u0000\u0000\u00e4\u0908\u0001\u0000\u0000"+
"\u0000\u00e6\u090c\u0001\u0000\u0000\u0000\u00e8\u0913\u0001\u0000\u0000"+
"\u0000\u00ea\u0918\u0001\u0000\u0000\u0000\u00ec\u0920\u0001\u0000\u0000"+
"\u0000\u00ee\u092f\u0001\u0000\u0000\u0000\u00f0\u0934\u0001\u0000\u0000"+
"\u0000\u00f2\u0937\u0001\u0000\u0000\u0000\u00f4\u0948\u0001\u0000\u0000"+
"\u0000\u00f6\u094a\u0001\u0000\u0000\u0000\u00f8\u094d\u0001\u0000\u0000"+
"\u0000\u00fa\u0951\u0001\u0000\u0000\u0000\u00fc\u0958\u0001\u0000\u0000"+
"\u0000\u00fe\u0960\u0001\u0000\u0000\u0000\u0100\u0963\u0001\u0000\u0000"+
"\u0000\u0102\u0968\u0001\u0000\u0000\u0000\u0104\u096c\u0001\u0000\u0000"+
"\u0000\u0106\u096e\u0001\u0000\u0000\u0000\u0108\u0970\u0001\u0000\u0000"+
"\u0000\u010a\u0975\u0001\u0000\u0000\u0000\u010c\u0991\u0001\u0000\u0000"+
"\u0000\u010e\u09e9\u0001\u0000\u0000\u0000\u0110\u0a0a\u0001\u0000\u0000"+
"\u0000\u0112\u0a15\u0001\u0000\u0000\u0000\u0114\u0aa2\u0001\u0000\u0000"+
"\u0000\u0116\u0ae8\u0001\u0000\u0000\u0000\u0118\u0afd\u0001\u0000\u0000"+
"\u0000\u011a\u0b95\u0001\u0000\u0000\u0000\u011c\u0d58\u0001\u0000\u0000"+
"\u0000\u011e\u0d5a\u0001\u0000\u0000\u0000\u0120\u0d62\u0001\u0000\u0000"+
"\u0000\u0122\u0e20\u0001\u0000\u0000\u0000\u0124\u0ed0\u0001\u0000\u0000"+
"\u0000\u0126\u114a\u0001\u0000\u0000\u0000\u0128\u1188\u0001\u0000\u0000"+
"\u0000\u012a\u1192\u0001\u0000\u0000\u0000\u012c\u11ae\u0001\u0000\u0000"+
"\u0000\u012e\u11ff\u0001\u0000\u0000\u0000\u0130\u1201\u0001\u0000\u0000"+
"\u0000\u0132\u1207\u0001\u0000\u0000\u0000\u0134\u1264\u0001\u0000\u0000"+
"\u0000\u0136\u1266\u0001\u0000\u0000\u0000\u0138\u12b0\u0001\u0000\u0000"+
"\u0000\u013a\u12bc\u0001\u0000\u0000\u0000\u013c\u12be\u0001\u0000\u0000"+
"\u0000\u013e\u12c2\u0001\u0000\u0000\u0000\u0140\u12c6\u0001\u0000\u0000"+
"\u0000\u0142\u12c9\u0001\u0000\u0000\u0000\u0144\u12cd\u0001\u0000\u0000"+
"\u0000\u0146\u12e6\u0001\u0000\u0000\u0000\u0148\u12e8\u0001\u0000\u0000"+
"\u0000\u014a\u12f0\u0001\u0000\u0000\u0000\u014c\u130c\u0001\u0000\u0000"+
"\u0000\u014e\u1325\u0001\u0000\u0000\u0000\u0150\u1327\u0001\u0000\u0000"+
"\u0000\u0152\u137b\u0001\u0000\u0000\u0000\u0154\u137d\u0001\u0000\u0000"+
"\u0000\u0156\u141a\u0001\u0000\u0000\u0000\u0158\u143d\u0001\u0000\u0000"+
"\u0000\u015a\u1451\u0001\u0000\u0000\u0000\u015c\u1453\u0001\u0000\u0000"+
"\u0000\u015e\u146b\u0001\u0000\u0000\u0000\u0160\u1497\u0001\u0000\u0000"+
"\u0000\u0162\u14ef\u0001\u0000\u0000\u0000\u0164\u14f6\u0001\u0000\u0000"+
"\u0000\u0166\u14f8\u0001\u0000\u0000\u0000\u0168\u151f\u0001\u0000\u0000"+
"\u0000\u016a\u1583\u0001\u0000\u0000\u0000\u016c\u1585\u0001\u0000\u0000"+
"\u0000\u016e\u1589\u0001\u0000\u0000\u0000\u0170\u1672\u0001\u0000\u0000"+
"\u0000\u0172\u1677\u0001\u0000\u0000\u0000\u0174\u1679\u0001\u0000\u0000"+
"\u0000\u0176\u167c\u0001\u0000\u0000\u0000\u0178\u170b\u0001\u0000\u0000"+
"\u0000\u017a\u171f\u0001\u0000\u0000\u0000\u017c\u1733\u0001\u0000\u0000"+
"\u0000\u017e\u1735\u0001\u0000\u0000\u0000\u0180\u1743\u0001\u0000\u0000"+
"\u0000\u0182\u1745\u0001\u0000\u0000\u0000\u0184\u174d\u0001\u0000\u0000"+
"\u0000\u0186\u1753\u0001\u0000\u0000\u0000\u0188\u1762\u0001\u0000\u0000"+
"\u0000\u018a\u178c\u0001\u0000\u0000\u0000\u018c\u178e\u0001\u0000\u0000"+
"\u0000\u018e\u17c4\u0001\u0000\u0000\u0000\u0190\u17c6\u0001\u0000\u0000"+
"\u0000\u0192\u17fa\u0001\u0000\u0000\u0000\u0194\u180f\u0001\u0000\u0000"+
"\u0000\u0196\u1811\u0001\u0000\u0000\u0000\u0198\u1814\u0001\u0000\u0000"+
"\u0000\u019a\u182c\u0001\u0000\u0000\u0000\u019c\u1837\u0001\u0000\u0000"+
"\u0000\u019e\u1839\u0001\u0000\u0000\u0000\u01a0\u1845\u0001\u0000\u0000"+
"\u0000\u01a2\u1866\u0001\u0000\u0000\u0000\u01a4\u1874\u0001\u0000\u0000"+
"\u0000\u01a6\u1884\u0001\u0000\u0000\u0000\u01a8\u1887\u0001\u0000\u0000"+
"\u0000\u01aa\u1895\u0001\u0000\u0000\u0000\u01ac\u18a2\u0001\u0000\u0000"+
"\u0000\u01ae\u1907\u0001\u0000\u0000\u0000\u01b0\u1909\u0001\u0000\u0000"+
"\u0000\u01b2\u190b\u0001\u0000\u0000\u0000\u01b4\u1915\u0001\u0000\u0000"+
"\u0000\u01b6\u1917\u0001\u0000\u0000\u0000\u01b8\u191e\u0001\u0000\u0000"+
"\u0000\u01ba\u1922\u0001\u0000\u0000\u0000\u01bc\u1926\u0001\u0000\u0000"+
"\u0000\u01be\u192b\u0001\u0000\u0000\u0000\u01c0\u192d\u0001\u0000\u0000"+
"\u0000\u01c2\u1937\u0001\u0000\u0000\u0000\u01c4\u1939\u0001\u0000\u0000"+
"\u0000\u01c6\u1944\u0001\u0000\u0000\u0000\u01c8\u194d\u0001\u0000\u0000"+
"\u0000\u01ca\u1957\u0001\u0000\u0000\u0000\u01cc\u1959\u0001\u0000\u0000"+
"\u0000\u01ce\u195b\u0001\u0000\u0000\u0000\u01d0\u1963\u0001\u0000\u0000"+
"\u0000\u01d2\u1965\u0001\u0000\u0000\u0000\u01d4\u1967\u0001\u0000\u0000"+
"\u0000\u01d6\u196b\u0001\u0000\u0000\u0000\u01d8\u196f\u0001\u0000\u0000"+
"\u0000\u01da\u1973\u0001\u0000\u0000\u0000\u01dc\u1979\u0001\u0000\u0000"+
"\u0000\u01de\u1985\u0001\u0000\u0000\u0000\u01e0\u19a5\u0001\u0000\u0000"+
"\u0000\u01e2\u19a7\u0001\u0000\u0000\u0000\u01e4\u19b0\u0001\u0000\u0000"+
"\u0000\u01e6\u19db\u0001\u0000\u0000\u0000\u01e8\u19dd\u0001\u0000\u0000"+
"\u0000\u01ea\u19e9\u0001\u0000\u0000\u0000\u01ec\u19ee\u0001\u0000\u0000"+
"\u0000\u01ee\u1a02\u0001\u0000\u0000\u0000\u01f0\u1a0a\u0001\u0000\u0000"+
"\u0000\u01f2\u1a0c\u0001\u0000\u0000\u0000\u01f4\u1a24\u0001\u0000\u0000"+
"\u0000\u01f6\u1a2d\u0001\u0000\u0000\u0000\u01f8\u1a36\u0001\u0000\u0000"+
"\u0000\u01fa\u1a41\u0001\u0000\u0000\u0000\u01fc\u1a47\u0001\u0000\u0000"+
"\u0000\u01fe\u1a49\u0001\u0000\u0000\u0000\u0200\u1a4c\u0001\u0000\u0000"+
"\u0000\u0202\u1a50\u0001\u0000\u0000\u0000\u0204\u1a61\u0001\u0000\u0000"+
"\u0000\u0206\u1a64\u0001\u0000\u0000\u0000\u0208\u1a69\u0001\u0000\u0000"+
"\u0000\u020a\u1a71\u0001\u0000\u0000\u0000\u020c\u1a78\u0001\u0000\u0000"+
"\u0000\u020e\u1a89\u0001\u0000\u0000\u0000\u0210\u1aa1\u0001\u0000\u0000"+
"\u0000\u0212\u1aa3\u0001\u0000\u0000\u0000\u0214\u1ad6\u0001\u0000\u0000"+
"\u0000\u0216\u1ad8\u0001\u0000\u0000\u0000\u0218\u1ae5\u0001\u0000\u0000"+
"\u0000\u021a\u1ae8\u0001\u0000\u0000\u0000\u021c\u1aeb\u0001\u0000\u0000"+
"\u0000\u021e\u1b15\u0001\u0000\u0000\u0000\u0220\u1b20\u0001\u0000\u0000"+
"\u0000\u0222\u1b22\u0001\u0000\u0000\u0000\u0224\u1b28\u0001\u0000\u0000"+
"\u0000\u0226\u1b30\u0001\u0000\u0000\u0000\u0228\u1b4a\u0001\u0000\u0000"+
"\u0000\u022a\u1b4f\u0001\u0000\u0000\u0000\u022c\u1b59\u0001\u0000\u0000"+
"\u0000\u022e\u1b6b\u0001\u0000\u0000\u0000\u0230\u1b6d\u0001\u0000\u0000"+
"\u0000\u0232\u1b8f\u0001\u0000\u0000\u0000\u0234\u1b95\u0001\u0000\u0000"+
"\u0000\u0236\u1b97\u0001\u0000\u0000\u0000\u0238\u1b9b\u0001\u0000\u0000"+
"\u0000\u023a\u1ba3\u0001\u0000\u0000\u0000\u023c\u1bde\u0001\u0000\u0000"+
"\u0000\u023e\u1be0\u0001\u0000\u0000\u0000\u0240\u1be3\u0001\u0000\u0000"+
"\u0000\u0242\u1be8\u0001\u0000\u0000\u0000\u0244\u1bf0\u0001\u0000\u0000"+
"\u0000\u0246\u1bf6\u0001\u0000\u0000\u0000\u0248\u1bfa\u0001\u0000\u0000"+
"\u0000\u024a\u1c03\u0001\u0000\u0000\u0000\u024c\u1c05\u0001\u0000\u0000"+
"\u0000\u024e\u1c0d\u0001\u0000\u0000\u0000\u0250\u1c15\u0001\u0000\u0000"+
"\u0000\u0252\u1c1a\u0001\u0000\u0000\u0000\u0254\u1c22\u0001\u0000\u0000"+
"\u0000\u0256\u1c6d\u0001\u0000\u0000\u0000\u0258\u1c75\u0001\u0000\u0000"+
"\u0000\u025a\u1c8c\u0001\u0000\u0000\u0000\u025c\u1c98\u0001\u0000\u0000"+
"\u0000\u025e\u1ca0\u0001\u0000\u0000\u0000\u0260\u1cae\u0001\u0000\u0000"+
"\u0000\u0262\u1cbc\u0001\u0000\u0000\u0000\u0264\u1cc5\u0001\u0000\u0000"+
"\u0000\u0266\u1cde\u0001\u0000\u0000\u0000\u0268\u1cf0\u0001\u0000\u0000"+
"\u0000\u026a\u1cf2\u0001\u0000\u0000\u0000\u026c\u1cfa\u0001\u0000\u0000"+
"\u0000\u026e\u1d04\u0001\u0000\u0000\u0000\u0270\u1d06\u0001\u0000\u0000"+
"\u0000\u0272\u1d12\u0001\u0000\u0000\u0000\u0274\u1d1b\u0001\u0000\u0000"+
"\u0000\u0276\u1d22\u0001\u0000\u0000\u0000\u0278\u1d2c\u0001\u0000\u0000"+
"\u0000\u027a\u1d3e\u0001\u0000\u0000\u0000\u027c\u1d58\u0001\u0000\u0000"+
"\u0000\u027e\u1d6b\u0001\u0000\u0000\u0000\u0280\u1d7b\u0001\u0000\u0000"+
"\u0000\u0282\u1db0\u0001\u0000\u0000\u0000\u0284\u1db6\u0001\u0000\u0000"+
"\u0000\u0286\u1e4e\u0001\u0000\u0000\u0000\u0288\u1e77\u0001\u0000\u0000"+
"\u0000\u028a\u1e7e\u0001\u0000\u0000\u0000\u028c\u1e80\u0001\u0000\u0000"+
"\u0000\u028e\u1ea3\u0001\u0000\u0000\u0000\u0290\u1eb7\u0001\u0000\u0000"+
"\u0000\u0292\u1eb9\u0001\u0000\u0000\u0000\u0294\u1ece\u0001\u0000\u0000"+
"\u0000\u0296\u1ed0\u0001\u0000\u0000\u0000\u0298\u1ed9\u0001\u0000\u0000"+
"\u0000\u029a\u1edb\u0001\u0000\u0000\u0000\u029c\u1ef0\u0001\u0000\u0000"+
"\u0000\u029e\u1f25\u0001\u0000\u0000\u0000\u02a0\u1f27\u0001\u0000\u0000"+
"\u0000\u02a2\u1f29\u0001\u0000\u0000\u0000\u02a4\u1f2b\u0001\u0000\u0000"+
"\u0000\u02a6\u1f30\u0001\u0000\u0000\u0000\u02a8\u1f34\u0001\u0000\u0000"+
"\u0000\u02aa\u1f36\u0001\u0000\u0000\u0000\u02ac\u1f6a\u0001\u0000\u0000"+
"\u0000\u02ae\u1f8c\u0001\u0000\u0000\u0000\u02b0\u1f8e\u0001\u0000\u0000"+
"\u0000\u02b2\u1f96\u0001\u0000\u0000\u0000\u02b4\u1f9c\u0001\u0000\u0000"+
"\u0000\u02b6\u1f9f\u0001\u0000\u0000\u0000\u02b8\u1fad\u0001\u0000\u0000"+
"\u0000\u02ba\u1fb9\u0001\u0000\u0000\u0000\u02bc\u1fbb\u0001\u0000\u0000"+
"\u0000\u02be\u1fc5\u0001\u0000\u0000\u0000\u02c0\u1fc7\u0001\u0000\u0000"+
"\u0000\u02c2\u1fcc\u0001\u0000\u0000\u0000\u02c4\u1fce\u0001\u0000\u0000"+
"\u0000\u02c6\u1fd8\u0001\u0000\u0000\u0000\u02c8\u1fda\u0001\u0000\u0000"+
"\u0000\u02ca\u02cb\u0003\u0002\u0001\u0000\u02cb\u02cc\u0005\u0000\u0000"+
"\u0001\u02cc\u0001\u0001\u0000\u0000\u0000\u02cd\u02d0\u0003\u0004\u0002"+
"\u0000\u02ce\u02d0\u0003\u000e\u0007\u0000\u02cf\u02cd\u0001\u0000\u0000"+
"\u0000\u02cf\u02ce\u0001\u0000\u0000\u0000\u02d0\u02d2\u0001\u0000\u0000"+
"\u0000\u02d1\u02d3\u00059\u0000\u0000\u02d2\u02d1\u0001\u0000\u0000\u0000"+
"\u02d2\u02d3\u0001\u0000\u0000\u0000\u02d3\u02d5\u0001\u0000\u0000\u0000"+
"\u02d4\u02cf\u0001\u0000\u0000\u0000\u02d5\u02d6\u0001\u0000\u0000\u0000"+
"\u02d6\u02d4\u0001\u0000\u0000\u0000\u02d6\u02d7\u0001\u0000\u0000\u0000"+
"\u02d7\u0003\u0001\u0000\u0000\u0000\u02d8\u02da\u00030\u0018\u0000\u02d9"+
"\u02d8\u0001\u0000\u0000\u0000\u02d9\u02da\u0001\u0000\u0000\u0000\u02da"+
"\u02db\u0001\u0000\u0000\u0000\u02db\u02dc\u0005\u00da\u0000\u0000\u02dc"+
"\u02de\u0003\u0002\u0001\u0000\u02dd\u02df\u0003\u0012\t\u0000\u02de\u02dd"+
"\u0001\u0000\u0000\u0000\u02de\u02df\u0001\u0000\u0000\u0000\u02df\u02e0"+
"\u0001\u0000\u0000\u0000\u02e0\u02e1\u0003\b\u0004\u0000\u02e1\u0005\u0001"+
"\u0000\u0000\u0000\u02e2\u02e3\u0005\u00da\u0000\u0000\u02e3\u02e5\u0003"+
"\u0002\u0001\u0000\u02e4\u02e6\u0003\u0012\t\u0000\u02e5\u02e4\u0001\u0000"+
"\u0000\u0000\u02e5\u02e6\u0001\u0000\u0000\u0000\u02e6\u02e7\u0001\u0000"+
"\u0000\u0000\u02e7\u02e8\u0003\b\u0004\u0000\u02e8\u02ee\u0001\u0000\u0000"+
"\u0000\u02e9\u02eb\u0003\u000e\u0007\u0000\u02ea\u02ec\u0005\u00b5\u0000"+
"\u0000\u02eb\u02ea\u0001\u0000\u0000\u0000\u02eb\u02ec\u0001\u0000\u0000"+
"\u0000\u02ec\u02ee\u0001\u0000\u0000\u0000\u02ed\u02e2\u0001\u0000\u0000"+
"\u0000\u02ed\u02e9\u0001\u0000\u0000\u0000\u02ee\u0007\u0001\u0000\u0000"+
"\u0000\u02ef\u02f0\u0004\u0004\u0000\u0000\u02f0\u02f1\u0005\u014f\u0000"+
"\u0000\u02f1\t\u0001\u0000\u0000\u0000\u02f2\u02fc\u0003\u0004\u0002\u0000"+
"\u02f3\u02f5\u0003\u000e\u0007\u0000\u02f4\u02f3\u0001\u0000\u0000\u0000"+
"\u02f5\u02f6\u0001\u0000\u0000\u0000\u02f6\u02f4\u0001\u0000\u0000\u0000"+
"\u02f6\u02f7\u0001\u0000\u0000\u0000\u02f7\u02f9\u0001\u0000\u0000\u0000"+
"\u02f8\u02fa\u00059\u0000\u0000\u02f9\u02f8\u0001\u0000\u0000\u0000\u02f9"+
"\u02fa\u0001\u0000\u0000\u0000\u02fa\u02fc\u0001\u0000\u0000\u0000\u02fb"+
"\u02f2\u0001\u0000\u0000\u0000\u02fb\u02f4\u0001\u0000\u0000\u0000\u02fc"+
"\u000b\u0001\u0000\u0000\u0000\u02fd\u02fe\u0003\u0110\u0088\u0000\u02fe"+
"\r\u0001\u0000\u0000\u0000\u02ff\u0329\u0003\f\u0006\u0000\u0300\u0329"+
"\u0003\u001a\r\u0000\u0301\u0329\u0003&\u0013\u0000\u0302\u0329\u0003"+
"(\u0014\u0000\u0303\u0329\u0003*\u0015\u0000\u0304\u0329\u0003,\u0016"+
"\u0000\u0305\u0329\u0003\u0090H\u0000\u0306\u0329\u0003J%\u0000\u0307"+
"\u0329\u0003N\'\u0000\u0308\u0329\u0003T*\u0000\u0309\u0329\u0003Z-\u0000"+
"\u030a\u0329\u0003.\u0017\u0000\u030b\u0329\u0003\\.\u0000\u030c\u0329"+
"\u0003^/\u0000\u030d\u0329\u0003`0\u0000\u030e\u0329\u0003b1\u0000\u030f"+
"\u0329\u0003l6\u0000\u0310\u0329\u0003|>\u0000\u0311\u0329\u0003\u008c"+
"F\u0000\u0312\u0329\u0003\u00aeW\u0000\u0313\u0329\u0003\u00b0X\u0000"+
"\u0314\u0329\u0003n7\u0000\u0315\u0329\u0003z=\u0000\u0316\u0329\u0003"+
"~?\u0000\u0317\u0329\u0003\u0086C\u0000\u0318\u0329\u0003\u0088D\u0000"+
"\u0319\u0329\u0003\u008aE\u0000\u031a\u0329\u0003\u0092I\u0000\u031b\u0329"+
"\u0003\u0094J\u0000\u031c\u0329\u0003\u0096K\u0000\u031d\u0329\u0003\u0098"+
"L\u0000\u031e\u0329\u0003\u009aM\u0000\u031f\u0329\u0003\u00a6S\u0000"+
"\u0320\u0329\u0003\u00a8T\u0000\u0321\u0329\u0003\u00aaU\u0000\u0322\u0329"+
"\u0003\u00acV\u0000\u0323\u0329\u0003\u00b2Y\u0000\u0324\u0329\u0003\u00ee"+
"w\u0000\u0325\u0329\u0003\u0016\u000b\u0000\u0326\u0329\u0003\u0018\f"+
"\u0000\u0327\u0329\u0003\u0010\b\u0000\u0328\u02ff\u0001\u0000\u0000\u0000"+
"\u0328\u0300\u0001\u0000\u0000\u0000\u0328\u0301\u0001\u0000\u0000\u0000"+
"\u0328\u0302\u0001\u0000\u0000\u0000\u0328\u0303\u0001\u0000\u0000\u0000"+
"\u0328\u0304\u0001\u0000\u0000\u0000\u0328\u0305\u0001\u0000\u0000\u0000"+
"\u0328\u0306\u0001\u0000\u0000\u0000\u0328\u0307\u0001\u0000\u0000\u0000"+
"\u0328\u0308\u0001\u0000\u0000\u0000\u0328\u0309\u0001\u0000\u0000\u0000"+
"\u0328\u030a\u0001\u0000\u0000\u0000\u0328\u030b\u0001\u0000\u0000\u0000"+
"\u0328\u030c\u0001\u0000\u0000\u0000\u0328\u030d\u0001\u0000\u0000\u0000"+
"\u0328\u030e\u0001\u0000\u0000\u0000\u0328\u030f\u0001\u0000\u0000\u0000"+
"\u0328\u0310\u0001\u0000\u0000\u0000\u0328\u0311\u0001\u0000\u0000\u0000"+
"\u0328\u0312\u0001\u0000\u0000\u0000\u0328\u0313\u0001\u0000\u0000\u0000"+
"\u0328\u0314\u0001\u0000\u0000\u0000\u0328\u0315\u0001\u0000\u0000\u0000"+
"\u0328\u0316\u0001\u0000\u0000\u0000\u0328\u0317\u0001\u0000\u0000\u0000"+
"\u0328\u0318\u0001\u0000\u0000\u0000\u0328\u0319\u0001\u0000\u0000\u0000"+
"\u0328\u031a\u0001\u0000\u0000\u0000\u0328\u031b\u0001\u0000\u0000\u0000"+
"\u0328\u031c\u0001\u0000\u0000\u0000\u0328\u031d\u0001\u0000\u0000\u0000"+
"\u0328\u031e\u0001\u0000\u0000\u0000\u0328\u031f\u0001\u0000\u0000\u0000"+
"\u0328\u0320\u0001\u0000\u0000\u0000\u0328\u0321\u0001\u0000\u0000\u0000"+
"\u0328\u0322\u0001\u0000\u0000\u0000\u0328\u0323\u0001\u0000\u0000\u0000"+
"\u0328\u0324\u0001\u0000\u0000\u0000\u0328\u0325\u0001\u0000\u0000\u0000"+
"\u0328\u0326\u0001\u0000\u0000\u0000\u0328\u0327\u0001\u0000\u0000\u0000"+
"\u0329\u000f\u0001\u0000\u0000\u0000\u032a\u032b\u0007\u0000\u0000\u0000"+
"\u032b\u0011\u0001\u0000\u0000\u0000\u032c\u032e\u00051\u0000\u0000\u032d"+
"\u032f\u0003\u0014\n\u0000\u032e\u032d\u0001\u0000\u0000\u0000\u032f\u0330"+
"\u0001\u0000\u0000\u0000\u0330\u032e\u0001\u0000\u0000\u0000\u0330\u0331"+
"\u0001\u0000\u0000\u0000";
private static final String _serializedATNSegment1 =
"\u0331\u0013\u0001\u0000\u0000\u0000\u0332\u0333\u0005\u02a3\u0000\u0000"+
"\u0333\u0334\u0005\u02cf\u0000\u0000\u0334\u0335\u0005\u0277\u0000\u0000"+
"\u0335\u0336\u0003\u0002\u0001\u0000\u0336\u0337\b\u0001\u0000\u0000\u0337"+
"\u0015\u0001\u0000\u0000\u0000\u0338\u0339\u0005\u01e7\u0000\u0000\u0339"+
"\u0017\u0001\u0000\u0000\u0000\u033a\u033b\u0004\f\u0001\u0000\u033b\u033c"+
"\u0003\u00c2a\u0000\u033c\u0019\u0001\u0000\u0000\u0000\u033d\u033e\u0005"+
"\u024f\u0000\u0000\u033e\u034b\u0003\u009cN\u0000\u033f\u0341\u0005\u024f"+
"\u0000\u0000\u0340\u033f\u0001\u0000\u0000\u0000\u0340\u0341\u0001\u0000"+
"\u0000\u0000\u0341\u0342\u0001\u0000\u0000\u0000\u0342\u0347\u0003\u001c"+
"\u000e\u0000\u0343\u0344\u0005\u00b8\u0000\u0000\u0344\u0346\u0003\u001c"+
"\u000e\u0000\u0345\u0343\u0001\u0000\u0000\u0000\u0346\u0349\u0001\u0000"+
"\u0000\u0000\u0347\u0345\u0001\u0000\u0000\u0000\u0347\u0348\u0001\u0000"+
"\u0000\u0000\u0348\u034b\u0001\u0000\u0000\u0000\u0349\u0347\u0001\u0000"+
"\u0000\u0000\u034a\u033d\u0001\u0000\u0000\u0000\u034a\u0340\u0001\u0000"+
"\u0000\u0000\u034b\u001b\u0001\u0000\u0000\u0000\u034c\u0351\u0003\u001e"+
"\u000f\u0000\u034d\u0351\u0003\"\u0011\u0000\u034e\u0351\u0003$\u0012"+
"\u0000\u034f\u0351\u0003 \u0010\u0000\u0350\u034c\u0001\u0000\u0000\u0000"+
"\u0350\u034d\u0001\u0000\u0000\u0000\u0350\u034e\u0001\u0000\u0000\u0000"+
"\u0350\u034f\u0001\u0000\u0000\u0000\u0351\u001d\u0001\u0000\u0000\u0000"+
"\u0352\u0354\u0003\u00fa}\u0000\u0353\u0355\u0005\u02bf\u0000\u0000\u0354"+
"\u0353\u0001\u0000\u0000\u0000\u0354\u0355\u0001\u0000\u0000\u0000\u0355"+
"\u0356\u0001\u0000\u0000\u0000\u0356\u0357\u0005\u02ac\u0000\u0000\u0357"+
"\u0358\u0003\u00c2a\u0000\u0358\u0363\u0001\u0000\u0000\u0000\u0359\u035a"+
"\u0005\u00b6\u0000\u0000\u035a\u035b\u0003\u00fa}\u0000\u035b\u035d\u0005"+
"\u00b7\u0000\u0000\u035c\u035e\u0005\u02bf\u0000\u0000\u035d\u035c\u0001"+
"\u0000\u0000\u0000\u035d\u035e\u0001\u0000\u0000\u0000\u035e\u035f\u0001"+
"\u0000\u0000\u0000\u035f\u0360\u0005\u02ac\u0000\u0000\u0360\u0361\u0003"+
"\u00c2a\u0000\u0361\u0363\u0001\u0000\u0000\u0000\u0362\u0352\u0001\u0000"+
"\u0000\u0000\u0362\u0359\u0001\u0000\u0000\u0000\u0363\u001f\u0001\u0000"+
"\u0000\u0000\u0364\u0365\u0003\u00e2q\u0000\u0365\u0366\u0005\u02bf\u0000"+
"\u0000\u0366\u0367\u0005\u02ac\u0000\u0000\u0367\u0368\u0003\u00c2a\u0000"+
"\u0368!\u0001\u0000\u0000\u0000\u0369\u036a\u0005\u00b6\u0000\u0000\u036a"+
"\u036f\u0003\u00fa}\u0000\u036b\u036c\u0005\u00b8\u0000\u0000\u036c\u036e"+
"\u0003\u00fa}\u0000\u036d\u036b\u0001\u0000\u0000\u0000\u036e\u0371\u0001"+
"\u0000\u0000\u0000\u036f\u036d\u0001\u0000\u0000\u0000\u036f\u0370\u0001"+
"\u0000\u0000\u0000\u0370\u0372\u0001\u0000\u0000\u0000\u0371\u036f\u0001"+
"\u0000\u0000\u0000\u0372\u0374\u0005\u00b7\u0000\u0000\u0373\u0375\u0005"+
"\u02bf\u0000\u0000\u0374\u0373\u0001\u0000\u0000\u0000\u0374\u0375\u0001"+
"\u0000\u0000\u0000\u0375\u0376\u0001\u0000\u0000\u0000\u0376\u0377\u0005"+
"\u02ac\u0000\u0000\u0377\u0378\u0005\u00b6\u0000\u0000\u0378\u037d\u0003"+
"\u00c2a\u0000\u0379\u037a\u0005\u00b8\u0000\u0000\u037a\u037c\u0003\u00c2"+
"a\u0000\u037b\u0379\u0001\u0000\u0000\u0000\u037c\u037f\u0001\u0000\u0000"+
"\u0000\u037d\u037b\u0001\u0000\u0000\u0000\u037d\u037e\u0001\u0000\u0000"+
"\u0000\u037e\u0380\u0001\u0000\u0000\u0000\u037f\u037d\u0001\u0000\u0000"+
"\u0000\u0380\u0381\u0005\u00b7\u0000\u0000\u0381#\u0001\u0000\u0000\u0000"+
"\u0382\u038f\u0003\u00fa}\u0000\u0383\u0384\u0005\u00b6\u0000\u0000\u0384"+
"\u0389\u0003\u00fa}\u0000\u0385\u0386\u0005\u00b8\u0000\u0000\u0386\u0388"+
"\u0003\u00fa}\u0000\u0387\u0385\u0001\u0000\u0000\u0000\u0388\u038b\u0001"+
"\u0000\u0000\u0000\u0389\u0387\u0001\u0000\u0000\u0000\u0389\u038a\u0001"+
"\u0000\u0000\u0000\u038a\u038c\u0001\u0000\u0000\u0000\u038b\u0389\u0001"+
"\u0000\u0000\u0000\u038c\u038d\u0005\u00b7\u0000\u0000\u038d\u038f\u0001"+
"\u0000\u0000\u0000\u038e\u0382\u0001\u0000\u0000\u0000\u038e\u0383\u0001"+
"\u0000\u0000\u0000\u038f\u0391\u0001\u0000\u0000\u0000\u0390\u0392\u0005"+
"\u02bf\u0000\u0000\u0391\u0390\u0001\u0000\u0000\u0000\u0391\u0392\u0001"+
"\u0000\u0000\u0000\u0392\u0393\u0001\u0000\u0000\u0000\u0393\u0394\u0005"+
"\u02ac\u0000\u0000\u0394\u0395\u0005\u00b6\u0000\u0000\u0395\u0396\u0003"+
"\u01ea\u00f5\u0000\u0396\u0397\u0005\u00b7\u0000\u0000\u0397%\u0001\u0000"+
"\u0000\u0000\u0398\u0399\u0005\u0002\u0000\u0000\u0399\u039a\u0003\u00fa"+
"}\u0000\u039a\u039b\u0005 \u0000\u0000\u039b\u039f\u0005\u016c\u0000\u0000"+
"\u039c\u039d\u0005r\u0000\u0000\u039d\u03a0\u0005\u024f\u0000\u0000\u039e"+
"\u03a0\u0005\u0212\u0000\u0000\u039f\u039c\u0001\u0000\u0000\u0000\u039f"+
"\u039e\u0001\u0000\u0000\u0000\u03a0\u03a1\u0001\u0000\u0000\u0000\u03a1"+
"\u03a2\u0003\u00fa}\u0000\u03a2\'\u0001\u0000\u0000\u0000\u03a3\u03a6"+
"\u0005\u0005\u0000\u0000\u03a4\u03a5\u0005r\u0000\u0000\u03a5\u03a7\u0005"+
"\u024f\u0000\u0000\u03a6\u03a4\u0001\u0000\u0000\u0000\u03a6\u03a7\u0001"+
"\u0000\u0000\u0000\u03a7\u03a8\u0001\u0000\u0000\u0000\u03a8\u03a9\u0007"+
"\u0002\u0000\u0000\u03a9\u03aa\u0005\u00b6\u0000\u0000\u03aa\u03af\u0003"+
"\u00fa}\u0000\u03ab\u03ac\u0005\u00b8\u0000\u0000\u03ac\u03ae\u0003\u00fa"+
"}\u0000\u03ad\u03ab\u0001\u0000\u0000\u0000\u03ae\u03b1\u0001\u0000\u0000"+
"\u0000\u03af\u03ad\u0001\u0000\u0000\u0000\u03af\u03b0\u0001\u0000\u0000"+
"\u0000\u03b0\u03b2\u0001\u0000\u0000\u0000\u03b1\u03af\u0001\u0000\u0000"+
"\u0000\u03b2\u03b3\u0005\u00b7\u0000\u0000\u03b3\u03b4\u0005\u02a6\u0000"+
"\u0000\u03b4\u03b5\u0005\u0212\u0000\u0000\u03b5\u03b6\u0003\u00fa}\u0000"+
"\u03b6)\u0001\u0000\u0000\u0000\u03b7\u03b8\u0005\r\u0000\u0000\u03b8"+
"+\u0001\u0000\u0000\u0000\u03b9\u03bd\u0005\u00f2\u0000\u0000\u03ba\u03be"+
"\u0003\u00e4r\u0000\u03bb\u03be\u0003\u00e2q\u0000\u03bc\u03be\u0003\u024c"+
"\u0126\u0000\u03bd\u03ba\u0001\u0000\u0000\u0000\u03bd\u03bb\u0001\u0000"+
"\u0000\u0000\u03bd\u03bc\u0001\u0000\u0000\u0000\u03be-\u0001\u0000\u0000"+
"\u0000\u03bf\u03c0\u0005#\u0000\u0000\u03c0\u03c5\u00034\u001a\u0000\u03c1"+
"\u03c2\u0005\u00b8\u0000\u0000\u03c2\u03c4\u00034\u001a\u0000\u03c3\u03c1"+
"\u0001\u0000\u0000\u0000\u03c4\u03c7\u0001\u0000\u0000\u0000\u03c5\u03c3"+
"\u0001\u0000\u0000\u0000\u03c5\u03c6\u0001\u0000\u0000\u0000\u03c6/\u0001"+
"\u0000\u0000\u0000\u03c7\u03c5\u0001\u0000\u0000\u0000\u03c8\u03c9\u0005"+
"#\u0000\u0000\u03c9\u03ca\u00034\u001a\u0000\u03ca\u03d0\u0005\u00b5\u0000"+
"\u0000\u03cb\u03cc\u00034\u001a\u0000\u03cc\u03cd\u0005\u00b5\u0000\u0000"+
"\u03cd\u03cf\u0001\u0000\u0000\u0000\u03ce\u03cb\u0001\u0000\u0000\u0000"+
"\u03cf\u03d2\u0001\u0000\u0000\u0000\u03d0\u03ce\u0001\u0000\u0000\u0000"+
"\u03d0\u03d1\u0001\u0000\u0000\u0000\u03d11\u0001\u0000\u0000\u0000\u03d2"+
"\u03d0\u0001\u0000\u0000\u0000\u03d3\u03d4\u00034\u001a\u0000\u03d4\u03da"+
"\u0005\u00b5\u0000\u0000\u03d5\u03d6\u00034\u001a\u0000\u03d6\u03d7\u0005"+
"\u00b5\u0000\u0000\u03d7\u03d9\u0001\u0000\u0000\u0000\u03d8\u03d5\u0001"+
"\u0000\u0000\u0000\u03d9\u03dc\u0001\u0000\u0000\u0000\u03da\u03d8\u0001"+
"\u0000\u0000\u0000\u03da\u03db\u0001\u0000\u0000\u0000\u03db3\u0001\u0000"+
"\u0000\u0000\u03dc\u03da\u0001\u0000\u0000\u0000\u03dd\u03e2\u0003:\u001d"+
"\u0000\u03de\u03e2\u00038\u001c\u0000\u03df\u03e2\u0003@ \u0000\u03e0"+
"\u03e2\u00036\u001b\u0000\u03e1\u03dd\u0001\u0000\u0000\u0000\u03e1\u03de"+
"\u0001\u0000\u0000\u0000\u03e1\u03df\u0001\u0000\u0000\u0000\u03e1\u03e0"+
"\u0001\u0000\u0000\u0000\u03e25\u0001\u0000\u0000\u0000\u03e3\u03e8\u0003"+
"\u00fa}\u0000\u03e4\u03e5\u0005\u00b8\u0000\u0000\u03e5\u03e7\u0003\u00fa"+
"}\u0000\u03e6\u03e4\u0001\u0000\u0000\u0000\u03e7\u03ea\u0001\u0000\u0000"+
"\u0000\u03e8\u03e6\u0001\u0000\u0000\u0000\u03e8\u03e9\u0001\u0000\u0000"+
"\u0000\u03e9\u03ec\u0001\u0000\u0000\u0000\u03ea\u03e8\u0001\u0000\u0000"+
"\u0000\u03eb\u03ed\u0005\u00d0\u0000\u0000\u03ec\u03eb\u0001\u0000\u0000"+
"\u0000\u03ec\u03ed\u0001\u0000\u0000\u0000\u03ed\u03ee\u0001\u0000\u0000"+
"\u0000\u03ee\u03f0\u0003B!\u0000\u03ef\u03f1\u0003D\"\u0000\u03f0\u03ef"+
"\u0001\u0000\u0000\u0000\u03f0\u03f1\u0001\u0000\u0000\u0000\u03f1\u03f5"+
"\u0001\u0000\u0000\u0000\u03f2\u03f4\u0003F#\u0000\u03f3\u03f2\u0001\u0000"+
"\u0000\u0000\u03f4\u03f7\u0001\u0000\u0000\u0000\u03f5\u03f3\u0001\u0000"+
"\u0000\u0000\u03f5\u03f6\u0001\u0000\u0000\u0000\u03f6\u03f9\u0001\u0000"+
"\u0000\u0000\u03f7\u03f5\u0001\u0000\u0000\u0000\u03f8\u03fa\u0003H$\u0000"+
"\u03f9\u03f8\u0001\u0000\u0000\u0000\u03f9\u03fa\u0001\u0000\u0000\u0000"+
"\u03fa\u0407\u0001\u0000\u0000\u0000\u03fb\u03fc\u0003\u00fa}\u0000\u03fc"+
"\u03fe\u0005\u001a\u0000\u0000\u03fd\u03ff\u0005\u00d0\u0000\u0000\u03fe"+
"\u03fd\u0001\u0000\u0000\u0000\u03fe\u03ff\u0001\u0000\u0000\u0000\u03ff"+
"\u0400\u0001\u0000\u0000\u0000\u0400\u0402\u0003B!\u0000\u0401\u0403\u0003"+
"D\"\u0000\u0402\u0401\u0001\u0000\u0000\u0000\u0402\u0403\u0001\u0000"+
"\u0000\u0000\u0403\u0404\u0001\u0000\u0000\u0000\u0404\u0405\u0003H$\u0000"+
"\u0405\u0407\u0001\u0000\u0000\u0000\u0406\u03e3\u0001\u0000\u0000\u0000"+
"\u0406\u03fb\u0001\u0000\u0000\u0000\u04077\u0001\u0000\u0000\u0000\u0408"+
"\u0409\u0003\u00fa}\u0000\u0409\u040a\u0005\u0019\u0000\u0000\u040a9\u0001"+
"\u0000\u0000\u0000\u040b\u040c\u0005 \u0000\u0000\u040c\u0411\u0003\u00fa"+
"}\u0000\u040d\u040e\u0003\u00fa}\u0000\u040e\u040f\u0005 \u0000\u0000"+
"\u040f\u0411\u0001\u0000\u0000\u0000\u0410\u040b\u0001\u0000\u0000\u0000"+
"\u0410\u040d\u0001\u0000\u0000\u0000\u0411\u0414\u0001\u0000\u0000\u0000"+
"\u0412\u0415\u0003<\u001e\u0000\u0413\u0415\u0003>\u001f\u0000\u0414\u0412"+
"\u0001\u0000\u0000\u0000\u0414\u0413\u0001\u0000\u0000\u0000\u0414\u0415"+
"\u0001\u0000\u0000\u0000\u0415\u0416\u0001\u0000\u0000\u0000\u0416\u0419"+
"\u0007\u0003\u0000\u0000\u0417\u041a\u0003\u01ea\u00f5\u0000\u0418\u041a"+
"\u0003\u00c2a\u0000\u0419\u0417\u0001\u0000\u0000\u0000\u0419\u0418\u0001"+
"\u0000\u0000\u0000\u041a;\u0001\u0000\u0000\u0000\u041b\u041c\u0005\u02a6"+
"\u0000\u0000\u041c\u041e\u0005t\u0000\u0000\u041d\u041f\u0005\u01ed\u0000"+
"\u0000\u041e\u041d\u0001\u0000\u0000\u0000\u041e\u041f\u0001\u0000\u0000"+
"\u0000\u041f\u0422\u0001\u0000\u0000\u0000\u0420\u0421\u0005\u027b\u0000"+
"\u0000\u0421\u0423\u0007\u0004\u0000\u0000\u0422\u0420\u0001\u0000\u0000"+
"\u0000\u0422\u0423\u0001\u0000\u0000\u0000\u0423=\u0001\u0000\u0000\u0000"+
"\u0424\u0425\u0005\u009c\u0000\u0000\u0425\u0426\u0005t\u0000\u0000\u0426"+
"?\u0001\u0000\u0000\u0000\u0427\u0428\u0007\u0005\u0000\u0000\u0428\u0429"+
"\u0005:\u0000\u0000\u0429\u042f\u0005\u016c\u0000\u0000\u042a\u0430\u0005"+
"\u0087\u0000\u0000\u042b\u0430\u0005\u008a\u0000\u0000\u042c\u042d\u0005"+
"\u01e6\u0000\u0000\u042d\u0430\u00057\u0000\u0000\u042e\u0430\u0003\u00fa"+
"}\u0000\u042f\u042a\u0001\u0000\u0000\u0000\u042f\u042b\u0001\u0000\u0000"+
"\u0000\u042f\u042c\u0001\u0000\u0000\u0000\u042f\u042e\u0001\u0000\u0000"+
"\u0000\u0430\u0431\u0001\u0000\u0000\u0000\u0431\u0432\u0003\u0006\u0003"+
"\u0000\u0432A\u0001\u0000\u0000\u0000\u0433\u0461\u0005\u00f9\u0000\u0000"+
"\u0434\u0461\u0005\u00dd\u0000\u0000\u0435\u0461\u0005\b\u0000\u0000\u0436"+
"\u0461\u0005\t\u0000\u0000\u0437\u0461\u0005\n\u0000\u0000\u0438\u0461"+
"\u0005\u000b\u0000\u0000\u0439\u0461\u0005\u0125\u0000\u0000\u043a\u0461"+
"\u0005\u0126\u0000\u0000\u043b\u0461\u0005\"\u0000\u0000\u043c\u0461\u0005"+
"\u012c\u0000\u0000\u043d\u043f\u0005\u0143\u0000\u0000\u043e\u0440\u0005"+
"h\u0000\u0000\u043f\u043e\u0001\u0000\u0000\u0000\u043f\u0440\u0001\u0000"+
"\u0000\u0000\u0440\u0461\u0001\u0000\u0000\u0000\u0441\u0461\u0005\u0169"+
"\u0000\u0000\u0442\u0461\u0005\u0198\u0000\u0000\u0443\u0461\u0005@\u0000"+
"\u0000\u0444\u0461\u0005A\u0000\u0000\u0445\u0461\u0005B\u0000\u0000\u0446"+
"\u0461\u0005\u0199\u0000\u0000\u0447\u0461\u0005V\u0000\u0000\u0448\u0461"+
"\u0005X\u0000\u0000\u0449\u0461\u0005_\u0000\u0000\u044a\u0461\u0005^"+
"\u0000\u0000\u044b\u0461\u0005g\u0000\u0000\u044c\u0461\u0005\u0220\u0000"+
"\u0000\u044d\u044e\u0005s\u0000\u0000\u044e\u0461\u0005\u0099\u0000\u0000"+
"\u044f\u0461\u0005\u0083\u0000\u0000\u0450\u0461\u0005\u0082\u0000\u0000"+
"\u0451\u0461\u0005\u0084\u0000\u0000\u0452\u0461\u0005\u0256\u0000\u0000"+
"\u0453\u0461\u0005\u0085\u0000\u0000\u0454\u0461\u0005\u0265\u0000\u0000"+
"\u0455\u0461\u0005\u0091\u0000\u0000\u0456\u0461\u0005\u0279\u0000\u0000"+
"\u0457\u0461\u0005\u027a\u0000\u0000\u0458\u0461\u0005\u0296\u0000\u0000"+
"\u0459\u0461\u0005\u0098\u0000\u0000\u045a\u0461\u0005\u009e\u0000\u0000"+
"\u045b\u045e\u0003\u00fc~\u0000\u045c\u045d\u0005\u02b7\u0000\u0000\u045d"+
"\u045f\u0007\u0006\u0000\u0000\u045e\u045c\u0001\u0000\u0000\u0000\u045e"+
"\u045f\u0001\u0000\u0000\u0000\u045f\u0461\u0001\u0000\u0000\u0000\u0460"+
"\u0433\u0001\u0000\u0000\u0000\u0460\u0434\u0001\u0000\u0000\u0000\u0460"+
"\u0435\u0001\u0000\u0000\u0000\u0460\u0436\u0001\u0000\u0000\u0000\u0460"+
"\u0437\u0001\u0000\u0000\u0000\u0460\u0438\u0001\u0000\u0000\u0000\u0460"+
"\u0439\u0001\u0000\u0000\u0000\u0460\u043a\u0001\u0000\u0000\u0000\u0460"+
"\u043b\u0001\u0000\u0000\u0000\u0460\u043c\u0001\u0000\u0000\u0000\u0460"+
"\u043d\u0001\u0000\u0000\u0000\u0460\u0441\u0001\u0000\u0000\u0000\u0460"+
"\u0442\u0001\u0000\u0000\u0000\u0460\u0443\u0001\u0000\u0000\u0000\u0460"+
"\u0444\u0001\u0000\u0000\u0000\u0460\u0445\u0001\u0000\u0000\u0000\u0460"+
"\u0446\u0001\u0000\u0000\u0000\u0460\u0447\u0001\u0000\u0000\u0000\u0460"+
"\u0448\u0001\u0000\u0000\u0000\u0460\u0449\u0001\u0000\u0000\u0000\u0460"+
"\u044a\u0001\u0000\u0000\u0000\u0460\u044b\u0001\u0000\u0000\u0000\u0460"+
"\u044c\u0001\u0000\u0000\u0000\u0460\u044d\u0001\u0000\u0000\u0000\u0460"+
"\u044f\u0001\u0000\u0000\u0000\u0460\u0450\u0001\u0000\u0000\u0000\u0460"+
"\u0451\u0001\u0000\u0000\u0000\u0460\u0452\u0001\u0000\u0000\u0000\u0460"+
"\u0453\u0001\u0000\u0000\u0000\u0460\u0454\u0001\u0000\u0000\u0000\u0460"+
"\u0455\u0001\u0000\u0000\u0000\u0460\u0456\u0001\u0000\u0000\u0000\u0460"+
"\u0457\u0001\u0000\u0000\u0000\u0460\u0458\u0001\u0000\u0000\u0000\u0460"+
"\u0459\u0001\u0000\u0000\u0000\u0460\u045a\u0001\u0000\u0000\u0000\u0460"+
"\u045b\u0001\u0000\u0000\u0000\u0461C\u0001\u0000\u0000\u0000\u0462\u0463"+
"\u0005\u00b6\u0000\u0000\u0463\u0465\u0007\u0007\u0000\u0000\u0464\u0466"+
"\u0007\b\u0000\u0000\u0465\u0464\u0001\u0000\u0000\u0000\u0465\u0466\u0001"+
"\u0000\u0000\u0000\u0466\u0469\u0001\u0000\u0000\u0000\u0467\u0468\u0005"+
"\u00b8\u0000\u0000\u0468\u046a\u0005\u02cb\u0000\u0000\u0469\u0467\u0001"+
"\u0000\u0000\u0000\u0469\u046a\u0001\u0000\u0000\u0000\u046a\u046b\u0001"+
"\u0000\u0000\u0000\u046b\u046c\u0005\u00b7\u0000\u0000\u046cE\u0001\u0000"+
"\u0000\u0000\u046d\u046f\u0005\u01e6\u0000\u0000\u046e\u046d\u0001\u0000"+
"\u0000\u0000\u046e\u046f\u0001\u0000\u0000\u0000\u046f\u0470\u0001\u0000"+
"\u0000\u0000\u0470\u0479\u0005\u01e7\u0000\u0000\u0471\u0472\u0005\u00f9"+
"\u0000\u0000\u0472\u0473\u0005\u024f\u0000\u0000\u0473\u0479\u0003\u00fa"+
"}\u0000\u0474\u0476\u0005\u01e6\u0000\u0000\u0475\u0474\u0001\u0000\u0000"+
"\u0000\u0475\u0476\u0001\u0000\u0000\u0000\u0476\u0477\u0001\u0000\u0000"+
"\u0000\u0477\u0479\u0007\t\u0000\u0000\u0478\u046e\u0001\u0000\u0000\u0000"+
"\u0478\u0471\u0001\u0000\u0000\u0000\u0478\u0475\u0001\u0000\u0000\u0000"+
"\u0479G\u0001\u0000\u0000\u0000\u047a\u047c\u0005\u02bf\u0000\u0000\u047b"+
"\u047a\u0001\u0000\u0000\u0000\u047b\u047c\u0001\u0000\u0000\u0000\u047c"+
"\u047d\u0001\u0000\u0000\u0000\u047d\u047e\u0005\u02ac\u0000\u0000\u047e"+
"\u0487\u0003\u00c2a\u0000\u047f\u0481\u0005\u02a6\u0000\u0000\u0480\u047f"+
"\u0001\u0000\u0000\u0000\u0480\u0481\u0001\u0000\u0000\u0000\u0481\u0482"+
"\u0001\u0000\u0000\u0000\u0482\u0484\u0005\u0130\u0000\u0000\u0483\u0485"+
"\u0003\u00c2a\u0000\u0484\u0483\u0001\u0000\u0000\u0000\u0484\u0485\u0001"+
"\u0000\u0000\u0000\u0485\u0487\u0001\u0000\u0000\u0000\u0486\u047b\u0001"+
"\u0000\u0000\u0000\u0486\u0480\u0001\u0000\u0000\u0000\u0487I\u0001\u0000"+
"\u0000\u0000\u0488\u0490\u0005\u00c9\u0000\u0000\u0489\u048c\u0005\u0117"+
"\u0000\u0000\u048a\u048b\u0005\u01f0\u0000\u0000\u048b\u048d\u0005\u022c"+
"\u0000\u0000\u048c\u048a\u0001\u0000\u0000\u0000\u048c\u048d\u0001\u0000"+
"\u0000\u0000\u048d\u0490\u0001\u0000\u0000\u0000\u048e\u0490\u0005\u022c"+
"\u0000\u0000\u048f\u0488\u0001\u0000\u0000\u0000\u048f\u0489\u0001\u0000"+
"\u0000\u0000\u048f\u048e\u0001\u0000\u0000\u0000\u0490\u0491\u0001\u0000"+
"\u0000\u0000\u0491\u0492\u0005\u0175\u0000\u0000\u0492\u0494\u0003\u024c"+
"\u0126\u0000\u0493\u0495\u0003d2\u0000\u0494\u0493\u0001\u0000\u0000\u0000"+
"\u0494\u0495\u0001\u0000\u0000\u0000\u0495\u0496\u0001\u0000\u0000\u0000"+
"\u0496\u0498\u0003L&\u0000\u0497\u0499\u0007\n\u0000\u0000\u0498\u0497"+
"\u0001\u0000\u0000\u0000\u0498\u0499\u0001\u0000\u0000\u0000\u0499\u049b"+
"\u0001\u0000\u0000\u0000\u049a\u049c\u00032\u0019\u0000\u049b\u049a\u0001"+
"\u0000\u0000\u0000\u049b\u049c\u0001\u0000\u0000\u0000\u049c\u049d\u0001"+
"\u0000\u0000\u0000\u049d\u049e\u0003\u0006\u0003\u0000\u049eK\u0001\u0000"+
"\u0000\u0000\u049f\u04a0\u0007\u000b\u0000\u0000\u04a0\u04a2\u0003B!\u0000"+
"\u04a1\u04a3\u0003D\"\u0000\u04a2\u04a1\u0001\u0000\u0000\u0000\u04a2"+
"\u04a3\u0001\u0000\u0000\u0000\u04a3M\u0001\u0000\u0000\u0000\u04a4\u04ac"+
"\u0005\u00c9\u0000\u0000\u04a5\u04a8\u0005\u0117\u0000\u0000\u04a6\u04a7"+
"\u0005\u01f0\u0000\u0000\u04a7\u04a9\u0005\u022c\u0000\u0000\u04a8\u04a6"+
"\u0001\u0000\u0000\u0000\u04a8\u04a9\u0001\u0000\u0000\u0000\u04a9\u04ac"+
"\u0001\u0000\u0000\u0000\u04aa\u04ac\u0005\u022c\u0000\u0000\u04ab\u04a4"+
"\u0001\u0000\u0000\u0000\u04ab\u04a5\u0001\u0000\u0000\u0000\u04ab\u04aa"+
"\u0001\u0000\u0000\u0000\u04ac\u04ad\u0001\u0000\u0000\u0000\u04ad\u04ae"+
"\u0005d\u0000\u0000\u04ae\u04af\u0003\u024c\u0126\u0000\u04af\u04b0\u0007"+
"\n\u0000\u0000\u04b0\u04b1\u0003P(\u0000\u04b1\u04b5\u0005\u014f\u0000"+
"\u0000\u04b2\u04b3\u0003\u00fa}\u0000\u04b3\u04b4\u0005\u00b5\u0000\u0000"+
"\u04b4\u04b6\u0001\u0000\u0000\u0000\u04b5\u04b2\u0001\u0000\u0000\u0000"+
"\u04b5\u04b6\u0001\u0000\u0000\u0000\u04b6O\u0001\u0000\u0000\u0000\u04b7"+
"\u04b8\u0003R)\u0000\u04b8\u04be\u0005\u00b5\u0000\u0000\u04b9\u04ba\u0003"+
"R)\u0000\u04ba\u04bb\u0005\u00b5\u0000\u0000\u04bb\u04bd\u0001\u0000\u0000"+
"\u0000\u04bc\u04b9\u0001\u0000\u0000\u0000\u04bd\u04c0\u0001\u0000\u0000"+
"\u0000\u04be\u04bc\u0001\u0000\u0000\u0000\u04be\u04bf\u0001\u0000\u0000"+
"\u0000\u04bfQ\u0001\u0000\u0000\u0000\u04c0\u04be\u0001\u0000\u0000\u0000"+
"\u04c1\u04cf\u00034\u001a\u0000\u04c2\u04c3\u0005\u0175\u0000\u0000\u04c3"+
"\u04c5\u0003\u00fa}\u0000\u04c4\u04c6\u0003d2\u0000\u04c5\u04c4\u0001"+
"\u0000\u0000\u0000\u04c5\u04c6\u0001\u0000\u0000\u0000\u04c6\u04c7\u0001"+
"\u0000\u0000\u0000\u04c7\u04c8\u0003L&\u0000\u04c8\u04cf\u0001\u0000\u0000"+
"\u0000\u04c9\u04ca\u0007\f\u0000\u0000\u04ca\u04cc\u0003\u00fa}\u0000"+
"\u04cb\u04cd\u0003d2\u0000\u04cc\u04cb\u0001\u0000\u0000\u0000\u04cc\u04cd"+
"\u0001\u0000\u0000\u0000\u04cd\u04cf\u0001\u0000\u0000\u0000\u04ce\u04c1"+
"\u0001\u0000\u0000\u0000\u04ce\u04c2\u0001\u0000\u0000\u0000\u04ce\u04c9"+
"\u0001\u0000\u0000\u0000\u04cfS\u0001\u0000\u0000\u0000\u04d0\u04d8\u0005"+
"\u00c9\u0000\u0000\u04d1\u04d4\u0005\u0117\u0000\u0000\u04d2\u04d3\u0005"+
"\u01f0\u0000\u0000\u04d3\u04d5\u0005\u022c\u0000\u0000\u04d4\u04d2\u0001"+
"\u0000\u0000\u0000\u04d4\u04d5\u0001\u0000\u0000\u0000\u04d5\u04d8\u0001"+
"\u0000\u0000\u0000\u04d6\u04d8\u0005\u022c\u0000\u0000\u04d7\u04d0\u0001"+
"\u0000\u0000\u0000\u04d7\u04d1\u0001\u0000\u0000\u0000\u04d7\u04d6\u0001"+
"\u0000\u0000\u0000\u04d8\u04d9\u0001\u0000\u0000\u0000\u04d9\u04da\u0005"+
"d\u0000\u0000\u04da\u04db\u0005\f\u0000\u0000\u04db\u04dc\u0003\u024c"+
"\u0126\u0000\u04dc\u04dd\u0007\n\u0000\u0000\u04dd\u04de\u0003V+\u0000"+
"\u04de\u04e2\u0005\u014f\u0000\u0000\u04df\u04e0\u0003\u00fa}\u0000\u04e0"+
"\u04e1\u0005\u00b5\u0000\u0000\u04e1\u04e3\u0001\u0000\u0000\u0000\u04e2"+
"\u04df\u0001\u0000\u0000\u0000\u04e2\u04e3\u0001\u0000\u0000\u0000\u04e3"+
"U\u0001\u0000\u0000\u0000\u04e4\u04e5\u0003X,\u0000\u04e5\u04eb\u0005"+
"\u00b5\u0000\u0000\u04e6\u04e7\u0003X,\u0000\u04e7\u04e8\u0005\u00b5\u0000"+
"\u0000\u04e8\u04ea\u0001\u0000\u0000\u0000\u04e9\u04e6\u0001\u0000\u0000"+
"\u0000\u04ea\u04ed\u0001\u0000\u0000\u0000\u04eb\u04e9\u0001\u0000\u0000"+
"\u0000\u04eb\u04ec\u0001\u0000\u0000\u0000\u04ecW\u0001\u0000\u0000\u0000"+
"\u04ed\u04eb\u0001\u0000\u0000\u0000\u04ee\u04f2\u00034\u001a\u0000\u04ef"+
"\u04f2\u0003J%\u0000\u04f0\u04f2\u0003Z-\u0000\u04f1\u04ee\u0001\u0000"+
"\u0000\u0000\u04f1\u04ef\u0001\u0000\u0000\u0000\u04f1\u04f0\u0001\u0000"+
"\u0000\u0000\u04f2Y\u0001\u0000\u0000\u0000\u04f3\u04fb\u0005\u00c9\u0000"+
"\u0000\u04f4\u04f7\u0005\u0117\u0000\u0000\u04f5\u04f6\u0005\u01f0\u0000"+
"\u0000\u04f6\u04f8\u0005\u022c\u0000\u0000\u04f7\u04f5\u0001\u0000\u0000"+
"\u0000\u04f7\u04f8\u0001\u0000\u0000\u0000\u04f8\u04fb\u0001\u0000\u0000"+
"\u0000\u04f9\u04fb\u0005\u022c\u0000\u0000\u04fa\u04f3\u0001\u0000\u0000"+
"\u0000\u04fa\u04f4\u0001\u0000\u0000\u0000\u04fa\u04f9\u0001\u0000\u0000"+
"\u0000\u04fb\u04fc\u0001\u0000\u0000\u0000\u04fc\u04fd\u0007\f\u0000\u0000"+
"\u04fd\u04ff\u0003\u024c\u0126\u0000\u04fe\u0500\u0003d2\u0000\u04ff\u04fe"+
"\u0001\u0000\u0000\u0000\u04ff\u0500\u0001\u0000\u0000\u0000\u0500\u0502"+
"\u0001\u0000\u0000\u0000\u0501\u0503\u0003h4\u0000\u0502\u0501\u0001\u0000"+
"\u0000\u0000\u0502\u0503\u0001\u0000\u0000\u0000\u0503\u0505\u0001\u0000"+
"\u0000\u0000\u0504\u0506\u0007\n\u0000\u0000\u0505\u0504\u0001\u0000\u0000"+
"\u0000\u0505\u0506\u0001\u0000\u0000\u0000\u0506\u0508\u0001\u0000\u0000"+
"\u0000\u0507\u0509\u00032\u0019\u0000\u0508\u0507\u0001\u0000\u0000\u0000"+
"\u0508\u0509\u0001\u0000\u0000\u0000\u0509\u050b\u0001\u0000\u0000\u0000"+
"\u050a\u050c\u0003\u00b2Y\u0000\u050b\u050a\u0001\u0000\u0000\u0000\u050b"+
"\u050c\u0001\u0000\u0000\u0000\u050c\u050d\u0001\u0000\u0000\u0000\u050d"+
"\u0511\u0003\n\u0005\u0000\u050e\u050f\u0003\u00fa}\u0000\u050f\u0510"+
"\u0005\u00b5\u0000\u0000\u0510\u0512\u0001\u0000\u0000\u0000\u0511\u050e"+
"\u0001\u0000\u0000\u0000\u0511\u0512\u0001\u0000\u0000\u0000\u0512[\u0001"+
"\u0000\u0000\u0000\u0513\u0514\u0005\u0144\u0000\u0000\u0514\u0517\u0007"+
"\f\u0000\u0000\u0515\u0516\u0005\u018d\u0000\u0000\u0516\u0518\u0005\u015a"+
"\u0000\u0000\u0517\u0515\u0001\u0000\u0000\u0000\u0517\u0518\u0001\u0000"+
"\u0000\u0000\u0518\u0519\u0001\u0000\u0000\u0000\u0519\u051a\u0003\u024c"+
"\u0126\u0000\u051a]\u0001\u0000\u0000\u0000\u051b\u051c\u0005\u0253\u0000"+
"\u0000\u051c\u051d\u0005\u0212\u0000\u0000\u051d\u0521\u0005\u0260\u0000"+
"\u0000\u051e\u051f\u0005\u01b9\u0000\u0000\u051f\u0522\u0003\u0284\u0142"+
"\u0000\u0520\u0522\u0003\u01fe\u00ff\u0000\u0521\u051e\u0001\u0000\u0000"+
"\u0000\u0521\u0520\u0001\u0000\u0000\u0000\u0521\u0522\u0001\u0000\u0000"+
"\u0000\u0522_\u0001\u0000\u0000\u0000\u0523\u0524\u0005\u0253\u0000\u0000"+
"\u0524\u0525\u0005\u0117\u0000\u0000\u0525\u0526\u0005\u0212\u0000\u0000"+
"\u0526\u0527\u0003\u024c\u0126\u0000\u0527a\u0001\u0000\u0000\u0000\u0528"+
"\u0529\u0005\u0253\u0000\u0000\u0529\u052a\u0007\r\u0000\u0000\u052a\u052d"+
"\u0005\u010d\u0000\u0000\u052b\u052c\u0005\u01b9\u0000\u0000\u052c\u052e"+
"\u0003\u0284\u0142\u0000\u052d\u052b\u0001\u0000\u0000\u0000\u052d\u052e"+
"\u0001\u0000\u0000\u0000\u052e\u0531\u0001\u0000\u0000\u0000\u052f\u0530"+
"\u0005\u0171\u0000\u0000\u0530\u0532\u0005\u02cb\u0000\u0000\u0531\u052f"+
"\u0001\u0000\u0000\u0000\u0531\u0532\u0001\u0000\u0000\u0000\u0532c\u0001"+
"\u0000\u0000\u0000\u0533\u0534\u0005\u00b6\u0000\u0000\u0534\u054a\u0005"+
"\u00b7\u0000\u0000\u0535\u0536\u0005\u00b6\u0000\u0000\u0536\u053b\u0003"+
"f3\u0000\u0537\u0538\u0005\u00b8\u0000\u0000\u0538\u053a\u0003f3\u0000"+
"\u0539\u0537\u0001\u0000\u0000\u0000\u053a\u053d\u0001\u0000\u0000\u0000"+
"\u053b\u0539\u0001\u0000\u0000\u0000\u053b\u053c\u0001\u0000\u0000\u0000"+
"\u053c\u053e\u0001\u0000\u0000\u0000\u053d\u053b\u0001\u0000\u0000\u0000"+
"\u053e\u053f\u0005\u00b7\u0000\u0000\u053f\u054a\u0001\u0000\u0000\u0000"+
"\u0540\u0541\u00042\u0002\u0000\u0541\u0546\u0003f3\u0000\u0542\u0543"+
"\u0005\u00b8\u0000\u0000\u0543\u0545\u0003f3\u0000\u0544\u0542\u0001\u0000"+
"\u0000\u0000\u0545\u0548\u0001\u0000\u0000\u0000\u0546\u0544\u0001\u0000"+
"\u0000\u0000\u0546\u0547\u0001\u0000\u0000\u0000\u0547\u054a\u0001\u0000"+
"\u0000\u0000\u0548\u0546\u0001\u0000\u0000\u0000\u0549\u0533\u0001\u0000"+
"\u0000\u0000\u0549\u0535\u0001\u0000\u0000\u0000\u0549\u0540\u0001\u0000"+
"\u0000\u0000\u054ae\u0001\u0000\u0000\u0000\u054b\u0551\u0005\u0190\u0000"+
"\u0000\u054c\u0551\u0005b\u0000\u0000\u054d\u0551\u0005?\u0000\u0000\u054e"+
"\u054f\u0005\u0190\u0000\u0000\u054f\u0551\u0005b\u0000\u0000\u0550\u054b"+
"\u0001\u0000\u0000\u0000\u0550\u054c\u0001\u0000\u0000\u0000\u0550\u054d"+
"\u0001\u0000\u0000\u0000\u0550\u054e\u0001\u0000\u0000\u0000\u0550\u0551"+
"\u0001\u0000\u0000\u0000\u0551\u0552\u0001\u0000\u0000\u0000\u0552\u0553"+
"\u0003\u00fa}\u0000\u0553\u0555\u0003B!\u0000\u0554\u0556\u0003D\"\u0000"+
"\u0555\u0554\u0001\u0000\u0000\u0000\u0555\u0556\u0001\u0000\u0000\u0000"+
"\u0556\u055a\u0001\u0000\u0000\u0000\u0557\u0559\u0003F#\u0000\u0558\u0557"+
"\u0001\u0000\u0000\u0000\u0559\u055c\u0001\u0000\u0000\u0000\u055a\u0558"+
"\u0001\u0000\u0000\u0000\u055a\u055b\u0001\u0000\u0000\u0000\u055b\u055e"+
"\u0001\u0000\u0000\u0000\u055c\u055a\u0001\u0000\u0000\u0000\u055d\u055f"+
"\u0003H$\u0000\u055e\u055d\u0001\u0000\u0000\u0000\u055e\u055f\u0001\u0000"+
"\u0000\u0000\u055f\u0576\u0001\u0000\u0000\u0000\u0560\u0566\u0003\u00fa"+
"}\u0000\u0561\u0567\u0005\u0190\u0000\u0000\u0562\u0567\u0005b\u0000\u0000"+
"\u0563\u0567\u0005?\u0000\u0000\u0564\u0565\u0005\u0190\u0000\u0000\u0565"+
"\u0567\u0005b\u0000\u0000\u0566\u0561\u0001\u0000\u0000\u0000\u0566\u0562"+
"\u0001\u0000\u0000\u0000\u0566\u0563\u0001\u0000\u0000\u0000\u0566\u0564"+
"\u0001\u0000\u0000\u0000\u0566\u0567\u0001\u0000\u0000\u0000\u0567\u0568"+
"\u0001\u0000\u0000\u0000\u0568\u056a\u0003B!\u0000\u0569\u056b\u0003D"+
"\"\u0000\u056a\u0569\u0001\u0000\u0000\u0000\u056a\u056b\u0001\u0000\u0000"+
"\u0000\u056b\u056f\u0001\u0000\u0000\u0000\u056c\u056e\u0003F#\u0000\u056d"+
"\u056c\u0001\u0000\u0000\u0000\u056e\u0571\u0001\u0000\u0000\u0000\u056f"+
"\u056d\u0001\u0000\u0000\u0000\u056f\u0570\u0001\u0000\u0000\u0000\u0570"+
"\u0573\u0001\u0000\u0000\u0000\u0571\u056f\u0001\u0000\u0000\u0000\u0572"+
"\u0574\u0003H$\u0000\u0573\u0572\u0001\u0000\u0000\u0000\u0573\u0574\u0001"+
"\u0000\u0000\u0000\u0574\u0576\u0001\u0000\u0000\u0000\u0575\u0550\u0001"+
"\u0000\u0000\u0000\u0575\u0560\u0001\u0000\u0000\u0000\u0576g\u0001\u0000"+
"\u0000\u0000\u0577\u0579\u0003j5\u0000\u0578\u0577\u0001\u0000\u0000\u0000"+
"\u0579\u057a\u0001\u0000\u0000\u0000\u057a\u0578\u0001\u0000\u0000\u0000"+
"\u057a\u057b\u0001\u0000\u0000\u0000\u057bi\u0001\u0000\u0000\u0000\u057c"+
"\u057d\u0005G\u0000\u0000\u057d\u0588\u0005\u0086\u0000\u0000\u057e\u057f"+
"\u0005\u0086\u0000\u0000\u057f\u0580\u0005|\u0000\u0000\u0580\u0588\u0007"+
"\u000e\u0000\u0000\u0581\u0583\u0005\u0149\u0000\u0000\u0582\u0581\u0001"+
"\u0000\u0000\u0000\u0582\u0583\u0001\u0000\u0000\u0000\u0583\u0584\u0001"+
"\u0000\u0000\u0000\u0584\u0585\u0005r\u0000\u0000\u0585\u0586\u0005\u0250"+
"\u0000\u0000\u0586\u0588\u0005\u02cb\u0000\u0000\u0587\u057c\u0001\u0000"+
"\u0000\u0000\u0587\u057e\u0001\u0000\u0000\u0000\u0587\u0582\u0001\u0000"+
"\u0000\u0000\u0588k\u0001\u0000\u0000\u0000\u0589\u058b\u0007\u000f\u0000"+
"\u0000\u058a\u058c\u0005\u018f\u0000\u0000\u058b\u058a\u0001\u0000\u0000"+
"\u0000\u058b\u058c\u0001\u0000\u0000\u0000\u058c\u058d\u0001\u0000\u0000"+
"\u0000\u058d\u0593\u0003\u00c2a\u0000\u058e\u058f\u0005\u00b6\u0000\u0000"+
"\u058f\u0590\u0003\u00eau\u0000\u0590\u0591\u0005\u00b7\u0000\u0000\u0591"+
"\u0594\u0001\u0000\u0000\u0000\u0592\u0594\u0003\u00eau\u0000\u0593\u058e"+
"\u0001\u0000\u0000\u0000\u0593\u0592\u0001\u0000\u0000\u0000\u0593\u0594"+
"\u0001\u0000\u0000\u0000\u0594\u059e\u0001\u0000\u0000\u0000\u0595\u0596"+
"\u0005\u019d\u0000\u0000\u0596\u059b\u0005\u02cf\u0000\u0000\u0597\u0598"+
"\u0005\u00b8\u0000\u0000\u0598\u059a\u0005\u02cf\u0000\u0000\u0599\u0597"+
"\u0001\u0000\u0000\u0000\u059a\u059d\u0001\u0000\u0000\u0000\u059b\u0599"+
"\u0001\u0000\u0000\u0000\u059b\u059c\u0001\u0000\u0000\u0000\u059c\u059f"+
"\u0001\u0000\u0000\u0000\u059d\u059b\u0001\u0000\u0000\u0000\u059e\u0595"+
"\u0001\u0000\u0000\u0000\u059e\u059f\u0001\u0000\u0000\u0000\u059f\u05a1"+
"\u0001\u0000\u0000\u0000\u05a0\u05a2\u0003\u00b4Z\u0000\u05a1\u05a0\u0001"+
"\u0000\u0000\u0000\u05a1\u05a2\u0001\u0000\u0000\u0000\u05a2m\u0001\u0000"+
"\u0000\u0000\u05a3\u05a7\u0003p8\u0000\u05a4\u05a7\u0003r9\u0000\u05a5"+
"\u05a7\u0003t:\u0000\u05a6\u05a3\u0001\u0000\u0000\u0000\u05a6\u05a4\u0001"+
"\u0000\u0000\u0000\u05a6\u05a5\u0001\u0000\u0000\u0000\u05a7o\u0001\u0000"+
"\u0000\u0000\u05a8\u05a9\u0005\u018d\u0000\u0000\u05a9\u05aa\u0003\u00b6"+
"[\u0000\u05aa\u05ab\u0005\u0277\u0000\u0000\u05ab\u05af\u0003\u0002\u0001"+
"\u0000\u05ac\u05ae\u0003v;\u0000\u05ad\u05ac\u0001\u0000\u0000\u0000\u05ae"+
"\u05b1\u0001\u0000\u0000\u0000\u05af\u05ad\u0001\u0000\u0000\u0000\u05af"+
"\u05b0\u0001\u0000\u0000\u0000\u05b0\u05b3\u0001\u0000\u0000\u0000\u05b1"+
"\u05af\u0001\u0000\u0000\u0000\u05b2\u05b4\u0003x<\u0000\u05b3\u05b2\u0001"+
"\u0000\u0000\u0000\u05b3\u05b4\u0001\u0000\u0000\u0000\u05b4\u05b5\u0001"+
"\u0000\u0000\u0000\u05b5\u05b6\u0005\u014f\u0000\u0000\u05b6\u05b7\u0005"+
"\u018d\u0000\u0000\u05b7q\u0001\u0000\u0000\u0000\u05b8\u05b9\u0005\u018d"+
"\u0000\u0000\u05b9\u05ba\u0003\u00b6[\u0000\u05ba\u05bd\u0003\u0006\u0003"+
"\u0000\u05bb\u05bc\u0005\u014b\u0000\u0000\u05bc\u05be\u0003\u0006\u0003"+
"\u0000\u05bd\u05bb\u0001\u0000\u0000\u0000\u05bd\u05be\u0001\u0000\u0000"+
"\u0000\u05bes\u0001\u0000\u0000\u0000\u05bf\u05c0\u0005\u00b9\u0000\u0000"+
"\u05c0\u05c1\u0005\u018d\u0000\u0000\u05c1\u05c2\u0003\u00b6[\u0000\u05c2"+
"\u05c3\u0005\u0277\u0000\u0000\u05c3\u05c4\u0003\u0006\u0003\u0000\u05c4"+
"u\u0001\u0000\u0000\u0000\u05c5\u05c6\u0007\u0010\u0000\u0000\u05c6\u05c7"+
"\u0003\u00b6[\u0000\u05c7\u05c8\u0005\u0277\u0000\u0000\u05c8\u05c9\u0003"+
"\u0002\u0001\u0000\u05c9w\u0001\u0000\u0000\u0000\u05ca\u05cb\u0005\u014b"+
"\u0000\u0000\u05cb\u05cc\u0003\u0002\u0001\u0000\u05ccy\u0001\u0000\u0000"+
"\u0000\u05cd\u05d0\u0005=\u0000\u0000\u05ce\u05d1\u0003\u00f4z\u0000\u05cf"+
"\u05d1\u0003\u00c2a\u0000\u05d0\u05ce\u0001\u0000\u0000\u0000\u05d0\u05cf"+
"\u0001\u0000\u0000\u0000\u05d1{\u0001\u0000\u0000\u0000\u05d2\u05d4\u0005"+
"3\u0000\u0000\u05d3\u05d5\u0005\u02cf\u0000\u0000\u05d4\u05d3\u0001\u0000"+
"\u0000\u0000\u05d4\u05d5\u0001\u0000\u0000\u0000\u05d5\u05d8\u0001\u0000"+
"\u0000\u0000\u05d6\u05d7\u0005\u02a3\u0000\u0000\u05d7\u05d9\u0003\u00b6"+
"[\u0000\u05d8\u05d6\u0001\u0000\u0000\u0000\u05d8\u05d9\u0001\u0000\u0000"+
"\u0000\u05d9}\u0001\u0000\u0000\u0000\u05da\u05db\u00058\u0000\u0000\u05db"+
"\u05dc\u0005)\u0000\u0000\u05dc\u05dd\u0003\u0080@\u0000\u05dd\u007f\u0001"+
"\u0000\u0000\u0000\u05de\u05e1\u0003\u0082A\u0000\u05df\u05e1\u0003\u0084"+
"B\u0000\u05e0\u05de\u0001\u0000\u0000\u0000\u05e0\u05df\u0001\u0000\u0000"+
"\u0000\u05e1\u0081\u0001\u0000\u0000\u0000\u05e2\u05e3\u00051\u0000\u0000"+
"\u05e3\u05e4\u0005\u02cb\u0000\u0000\u05e4\u05e5\u0003\u00fc~\u0000\u05e5"+
"\u05e6\u0005\u02ac\u0000\u0000\u05e6\u05e7\u0005R\u0000\u0000\u05e7\u0083"+
"\u0001\u0000\u0000\u0000\u05e8\u05e9\u0003\u00fc~\u0000\u05e9\u05ea\u0005"+
"\u02ac\u0000\u0000\u05ea\u05eb\u0005w\u0000\u0000\u05eb\u0085\u0001\u0000"+
"\u0000\u0000\u05ec\u05ee\u0005H\u0000\u0000\u05ed\u05ef\u0005\u02cf\u0000"+
"\u0000\u05ee\u05ed\u0001\u0000\u0000\u0000\u05ee\u05ef\u0001\u0000\u0000"+
"\u0000\u05ef\u0087\u0001\u0000\u0000\u0000\u05f0\u05f1\u0005\u01c7\u0000"+
"\u0000\u05f1\u05f2\u0005`\u0000\u0000\u05f2\u05f5\u0003\u00fa}\u0000\u05f3"+
"\u05f4\u0005\u027b\u0000\u0000\u05f4\u05f6\u0003\u00fa}\u0000\u05f5\u05f3"+
"\u0001\u0000\u0000\u0000\u05f5\u05f6\u0001\u0000\u0000\u0000\u05f6\u05f9"+
"\u0001\u0000\u0000\u0000\u05f7\u05f8\u0005\u00d2\u0000\u0000\u05f8\u05fa"+
"\u0003\u00fa}\u0000\u05f9\u05f7\u0001\u0000\u0000\u0000\u05f9\u05fa\u0001"+
"\u0000\u0000\u0000\u05fa\u0089\u0001\u0000\u0000\u0000\u05fb\u05fc\u0005"+
"\u01ee\u0000\u0000\u05fc\u0602\u0003\u00fa}\u0000\u05fd\u0600\u0005\u016c"+
"\u0000\u0000\u05fe\u0601\u0003\u01ea\u00f5\u0000\u05ff\u0601\u0003\u00c2"+
"a\u0000\u0600\u05fe\u0001\u0000\u0000\u0000\u0600\u05ff\u0001\u0000\u0000"+
"\u0000\u0601\u0603\u0001\u0000\u0000\u0000\u0602\u05fd\u0001\u0000\u0000"+
"\u0000\u0602\u0603\u0001\u0000\u0000\u0000\u0603\u008b\u0001\u0000\u0000"+
"\u0000\u0604\u0606\u00055\u0000\u0000\u0605\u0607\u0005\u0171\u0000\u0000"+
"\u0606\u0605\u0001\u0000\u0000\u0000\u0606\u0607\u0001\u0000\u0000\u0000"+
"\u0607\u0608\u0001\u0000\u0000\u0000\u0608\u060a\u0003\u00fa}\u0000\u0609"+
"\u060b\u0003\u0204\u0102\u0000\u060a\u0609\u0001\u0000\u0000\u0000\u060a"+
"\u060b\u0001\u0000\u0000\u0000\u060b\u060c\u0001\u0000\u0000\u0000\u060c"+
"\u060d\u0005\u019d\u0000\u0000\u060d\u0612\u0003\u00fa}\u0000\u060e\u060f"+
"\u0005\u00b8\u0000\u0000\u060f\u0611\u0003\u00fa}\u0000\u0610\u060e\u0001"+
"\u0000\u0000\u0000\u0611\u0614\u0001\u0000\u0000\u0000\u0612\u0610\u0001"+
"\u0000\u0000\u0000\u0612\u0613\u0001\u0000\u0000\u0000\u0613\u0616\u0001"+
"\u0000\u0000\u0000\u0614\u0612\u0001\u0000\u0000\u0000\u0615\u0617\u0003"+
"\u008eG\u0000\u0616\u0615\u0001\u0000\u0000\u0000\u0616\u0617\u0001\u0000"+
"\u0000\u0000\u0617\u008d\u0001\u0000\u0000\u0000\u0618\u0619\u0005\u01ba"+
"\u0000\u0000\u0619\u061a\u0003\u00c2a\u0000\u061a\u008f\u0001\u0000\u0000"+
"\u0000\u061b\u061c\u0005\u0013\u0000\u0000\u061c\u061d\u0005\u02cf\u0000"+
"\u0000\u061d\u0091\u0001\u0000\u0000\u0000\u061e\u061f\u0005j\u0000\u0000"+
"\u061f\u0626\u0003\u00c2a\u0000\u0620\u0621\u0005j\u0000\u0000\u0621\u0622"+
"\u0005\u00b6\u0000\u0000\u0622\u0623\u0003\u00c2a\u0000\u0623\u0624\u0005"+
"\u00b7\u0000\u0000\u0624\u0626\u0001\u0000\u0000\u0000\u0625\u061e\u0001"+
"\u0000\u0000\u0000\u0625\u0620\u0001\u0000\u0000\u0000\u0626\u0093\u0001"+
"\u0000\u0000\u0000\u0627\u0629\u0005\u00b9\u0000\u0000\u0628\u0627\u0001"+
"\u0000\u0000\u0000\u0628\u0629\u0001\u0000\u0000\u0000\u0629\u062a\u0001"+
"\u0000\u0000\u0000\u062a\u062c\u0005m\u0000\u0000\u062b\u062d\u0003\u00c2"+
"a\u0000\u062c\u062b\u0001\u0000\u0000\u0000\u062c\u062d\u0001\u0000\u0000"+
"\u0000\u062d\u0095\u0001\u0000\u0000\u0000\u062e\u062f\u0005o\u0000\u0000"+
"\u062f\u0097\u0001\u0000\u0000\u0000\u0630\u063c\u0005p\u0000\u0000\u0631"+
"\u0633\u0005\u0089\u0000\u0000\u0632\u0634\u0005\u0294\u0000\u0000\u0633"+
"\u0632\u0001\u0000\u0000\u0000\u0633\u0634\u0001\u0000\u0000\u0000\u0634"+
"\u0635\u0001\u0000\u0000\u0000\u0635\u063a\u0003\u00c2a\u0000\u0636\u0637"+
"\u0005\u024f\u0000\u0000\u0637\u0638\u0005R\u0000\u0000\u0638\u0639\u0005"+
"\u02ac\u0000\u0000\u0639\u063b\u0003\u00c2a\u0000\u063a\u0636\u0001\u0000"+
"\u0000\u0000\u063a\u063b\u0001\u0000\u0000\u0000\u063b\u063d\u0001\u0000"+
"\u0000\u0000\u063c\u0631\u0001\u0000\u0000\u0000\u063c\u063d\u0001\u0000"+
"\u0000\u0000\u063d\u0099\u0001\u0000\u0000\u0000\u063e\u0640\u0005t\u0000"+
"\u0000\u063f\u0641\u0003\u00c2a\u0000\u0640\u063f\u0001\u0000\u0000\u0000"+
"\u0640\u0641\u0001\u0000\u0000\u0000\u0641\u009b\u0001\u0000\u0000\u0000"+
"\u0642\u0647\u0003\u009eO\u0000\u0643\u0647\u0003\u00a0P\u0000\u0644\u0647"+
"\u0003\u00a2Q\u0000\u0645\u0647\u0003\u00a4R\u0000\u0646\u0642\u0001\u0000"+
"\u0000\u0000\u0646\u0643\u0001\u0000\u0000\u0000\u0646\u0644\u0001\u0000"+
"\u0000\u0000\u0646\u0645\u0001\u0000\u0000\u0000\u0647\u009d\u0001\u0000"+
"\u0000\u0000\u0648\u064a\u0007\u0011\u0000\u0000\u0649\u0648\u0001\u0000"+
"\u0000\u0000\u0649\u064a\u0001\u0000\u0000\u0000\u064a\u064b\u0001\u0000"+
"\u0000\u0000\u064b\u064c\u0003\u00fa}\u0000\u064c\u064d\u0005\u02ac\u0000"+
"\u0000\u064d\u064e\u0003\u00fa}\u0000\u064e\u009f\u0001\u0000\u0000\u0000"+
"\u064f\u0651\u0005\u011c\u0000\u0000\u0650\u064f\u0001\u0000\u0000\u0000"+
"\u0650\u0651\u0001\u0000\u0000\u0000\u0651\u0652\u0001\u0000\u0000\u0000"+
"\u0652\u0655\u0005\u0247\u0000\u0000\u0653\u0655\u0005\u001f\u0000\u0000"+
"\u0654\u0650\u0001\u0000\u0000\u0000\u0654\u0653\u0001\u0000\u0000\u0000"+
"\u0655\u0657\u0001\u0000\u0000\u0000\u0656\u0658\u0005\u02ac\u0000\u0000"+
"\u0657\u0656\u0001\u0000\u0000\u0000\u0657\u0658\u0001\u0000\u0000\u0000"+
"\u0658\u0659\u0001\u0000\u0000\u0000\u0659\u065a\u0003\u00c2a\u0000\u065a"+
"\u00a1\u0001\u0000\u0000\u0000\u065b\u065c\u0007\u0012\u0000\u0000\u065c"+
"\u065d\u0007\u0013\u0000\u0000\u065d\u00a3\u0001\u0000\u0000\u0000\u065e"+
"\u065f\u0005l\u0000\u0000\u065f\u0662\u0005\u02ac\u0000\u0000\u0660\u0663"+
"\u0003\u00c2a\u0000\u0661\u0663\u0005\\\u0000\u0000\u0662\u0660\u0001"+
"\u0000\u0000\u0000\u0662\u0661\u0001\u0000\u0000\u0000\u0663\u0665\u0001"+
"\u0000\u0000\u0000\u0664\u0666\u0005\u028f\u0000\u0000\u0665\u0664\u0001"+
"\u0000\u0000\u0000\u0665\u0666\u0001\u0000\u0000\u0000\u0666\u0667\u0001"+
"\u0000\u0000\u0000\u0667\u0668\u0005\u016c\u0000\u0000\u0668\u0669\u0007"+
"\u0014\u0000\u0000\u0669\u00a5\u0001\u0000\u0000\u0000\u066a\u066b\u0005"+
"\u0081\u0000\u0000\u066b\u066c\u0003\u00fa}\u0000\u066c\u00a7\u0001\u0000"+
"\u0000\u0000\u066d\u066f\u0005\u0295\u0000\u0000\u066e\u0670\u0005\u00b6"+
"\u0000\u0000\u066f\u066e\u0001\u0000\u0000\u0000\u066f\u0670\u0001\u0000"+
"\u0000\u0000\u0670\u0671\u0001\u0000\u0000\u0000\u0671\u0676\u0003\u00c2"+
"a\u0000\u0672\u0673\u0005\u00b8\u0000\u0000\u0673\u0675\u0003\u00c2a\u0000"+
"\u0674\u0672\u0001\u0000\u0000\u0000\u0675\u0678\u0001\u0000\u0000\u0000"+
"\u0676\u0674\u0001\u0000\u0000\u0000\u0676\u0677\u0001\u0000\u0000\u0000"+
"\u0677\u067a\u0001\u0000\u0000\u0000\u0678\u0676\u0001\u0000\u0000\u0000"+
"\u0679\u067b\u0005\u00b7\u0000\u0000\u067a\u0679\u0001\u0000\u0000\u0000"+
"\u067a\u067b\u0001\u0000\u0000\u0000\u067b\u067c\u0001\u0000\u0000\u0000"+
"\u067c\u067e\u0005\u019d\u0000\u0000\u067d\u067f\u0005\u00b6\u0000\u0000"+
"\u067e\u067d\u0001\u0000\u0000\u0000\u067e\u067f\u0001\u0000\u0000\u0000"+
"\u067f\u0680\u0001\u0000\u0000\u0000\u0680\u0685\u0003\u00fa}\u0000\u0681"+
"\u0682\u0005\u00b8\u0000\u0000\u0682\u0684\u0003\u00fa}\u0000\u0683\u0681"+
"\u0001\u0000\u0000\u0000\u0684\u0687\u0001\u0000\u0000\u0000\u0685\u0683"+
"\u0001\u0000\u0000\u0000\u0685\u0686\u0001\u0000\u0000\u0000\u0686\u0689"+
"\u0001\u0000\u0000\u0000\u0687\u0685\u0001\u0000\u0000\u0000\u0688\u068a"+
"\u0005\u00b7\u0000\u0000\u0689\u0688\u0001\u0000\u0000\u0000\u0689\u068a"+
"\u0001\u0000\u0000\u0000\u068a\u00a9\u0001\u0000\u0000\u0000\u068b\u068c"+
"\u0005\u009b\u0000\u0000\u068c\u068d\u0003\u00b6[\u0000\u068d\u068e\u0007"+
"\u0015\u0000\u0000\u068e\u068f\u0003\u0002\u0001\u0000\u068f\u0691\u0005"+
"\u014f\u0000\u0000\u0690\u0692\u0007\u0016\u0000\u0000\u0691\u0690\u0001"+
"\u0000\u0000\u0000\u0691\u0692\u0001\u0000\u0000\u0000\u0692\u00ab\u0001"+
"\u0000\u0000\u0000\u0693\u0694\u0005O\u0000\u0000\u0694\u0695\u0003\u0002"+
"\u0001\u0000\u0695\u0696\u0005\u014f\u0000\u0000\u0696\u0697\u0005O\u0000"+
"\u0000\u0697\u00ad\u0001\u0000\u0000\u0000\u0698\u0699\u0005\u016c\u0000"+
"\u0000\u0699\u069a\u0005\u02cf\u0000\u0000\u069a\u069c\u0005\u0190\u0000"+
"\u0000\u069b\u069d\u0005\u00b6\u0000\u0000\u069c\u069b\u0001\u0000\u0000"+
"\u0000\u069c\u069d\u0001\u0000\u0000\u0000\u069d\u069e\u0001\u0000\u0000"+
"\u0000\u069e\u06a0\u0003\u01ea\u00f5\u0000\u069f\u06a1\u0005\u00b7\u0000"+
"\u0000\u06a0\u069f\u0001\u0000\u0000\u0000\u06a0\u06a1\u0001\u0000\u0000"+
"\u0000\u06a1\u06a2\u0001\u0000\u0000\u0000\u06a2\u06a3\u0005O\u0000\u0000"+
"\u06a3\u06a4\u0003\u0002\u0001\u0000\u06a4\u06a5\u0005\u014f\u0000\u0000"+
"\u06a5\u06a6\u0005O\u0000\u0000\u06a6\u00af\u0001\u0000\u0000\u0000\u06a7"+
"\u06a8\u0005\u016c\u0000\u0000\u06a8\u06a9\u0005\u02cf\u0000\u0000\u06a9"+
"\u06ab\u0005\u0190\u0000\u0000\u06aa\u06ac\u0005u\u0000\u0000\u06ab\u06aa"+
"\u0001\u0000\u0000\u0000\u06ab\u06ac\u0001\u0000\u0000\u0000\u06ac\u06ad"+
"\u0001\u0000\u0000\u0000\u06ad\u06ae\u0003\u00c2a\u0000\u06ae\u06af\u0005"+
"\u00b4\u0000\u0000\u06af\u06b2\u0003\u00c2a\u0000\u06b0\u06b1\u0007\u0017"+
"\u0000\u0000\u06b1\u06b3\u0003\u00c2a\u0000\u06b2\u06b0\u0001\u0000\u0000"+
"\u0000\u06b2\u06b3\u0001\u0000\u0000\u0000\u06b3\u06b4\u0001\u0000\u0000"+
"\u0000\u06b4\u06b5\u0005O\u0000\u0000\u06b5\u06b6\u0003\u0002\u0001\u0000"+
"\u06b6\u06b7\u0005\u014f\u0000\u0000\u06b7\u06b8\u0005O\u0000\u0000\u06b8"+
"\u00b1\u0001\u0000\u0000\u0000\u06b9\u06ba\u0005\u02cf\u0000\u0000\u06ba"+
"\u06c1\u0005\u02bf\u0000\u0000\u06bb\u06bc\u0005\u02af\u0000\u0000\u06bc"+
"\u06bd\u0005\u02af\u0000\u0000\u06bd\u06be\u0005\u02cf\u0000\u0000\u06be"+
"\u06bf\u0005\u02b1\u0000\u0000\u06bf\u06c1\u0005\u02b1\u0000\u0000\u06c0"+
"\u06b9\u0001\u0000\u0000\u0000\u06c0\u06bb\u0001\u0000\u0000\u0000\u06c1"+
"\u00b3\u0001\u0000\u0000\u0000\u06c2\u06c3\u0005\u0293\u0000\u0000\u06c3"+
"\u06c8\u0003\u00c2a\u0000\u06c4\u06c5\u0005\u00b8\u0000\u0000\u06c5\u06c7"+
"\u0003\u00c2a\u0000\u06c6\u06c4\u0001\u0000\u0000\u0000\u06c7\u06ca\u0001"+
"\u0000\u0000\u0000\u06c8\u06c6\u0001\u0000\u0000\u0000\u06c8\u06c9\u0001"+
"\u0000\u0000\u0000\u06c9\u00b5\u0001\u0000\u0000\u0000\u06ca\u06c8\u0001"+
"\u0000\u0000\u0000\u06cb\u06cd\u0006[\uffff\uffff\u0000\u06cc\u06ce\u0005"+
"\u01e6\u0000\u0000\u06cd\u06cc\u0001\u0000\u0000\u0000\u06cd\u06ce\u0001"+
"\u0000\u0000\u0000\u06ce\u06cf\u0001\u0000\u0000\u0000\u06cf\u06d0\u0005"+
"\u00b6\u0000\u0000\u06d0\u06d1\u0003\u00b6[\u0000\u06d1\u06d2\u0005\u00b7"+
"\u0000\u0000\u06d2\u06d5\u0001\u0000\u0000\u0000\u06d3\u06d5\u0003\u00b8"+
"\\\u0000\u06d4\u06cb\u0001\u0000\u0000\u0000\u06d4\u06d3\u0001\u0000\u0000"+
"\u0000\u06d5\u06dc\u0001\u0000\u0000\u0000\u06d6\u06d7\n\u0002\u0000\u0000"+
"\u06d7\u06d8\u0003\u00be_\u0000\u06d8\u06d9\u0003\u00b6[\u0003\u06d9\u06db"+
"\u0001\u0000\u0000\u0000\u06da\u06d6\u0001\u0000\u0000\u0000\u06db\u06de"+
"\u0001\u0000\u0000\u0000\u06dc\u06da\u0001\u0000\u0000\u0000\u06dc\u06dd"+
"\u0001\u0000\u0000\u0000\u06dd\u00b7\u0001\u0000\u0000\u0000\u06de\u06dc"+
"\u0001\u0000\u0000\u0000\u06df\u06e3\u0003\u00ba]\u0000\u06e0\u06e3\u0003"+
"\u00bc^\u0000\u06e1\u06e3\u0003\u00c2a\u0000\u06e2\u06df\u0001\u0000\u0000"+
"\u0000\u06e2\u06e0\u0001\u0000\u0000\u0000\u06e2\u06e1\u0001\u0000\u0000"+
"\u0000\u06e3\u00b9\u0001\u0000\u0000\u0000\u06e4\u06e5\u0003\u00c2a\u0000"+
"\u06e5\u06e7\u0005\u01a2\u0000\u0000\u06e6\u06e8\u0005\u01e6\u0000\u0000"+
"\u06e7\u06e6\u0001\u0000\u0000\u0000\u06e7\u06e8\u0001\u0000\u0000\u0000"+
"\u06e8\u06e9\u0001\u0000\u0000\u0000\u06e9\u06ea\u0005\u01e7\u0000\u0000"+
"\u06ea\u06f2\u0001\u0000\u0000\u0000\u06eb\u06ec\u0003\u00c2a\u0000\u06ec"+
"\u06ed\u0005\u00dc\u0000\u0000\u06ed\u06ee\u0003\u00c2a\u0000\u06ee\u06ef"+
"\u0005\u00cc\u0000\u0000\u06ef\u06f0\u0003\u00c2a\u0000\u06f0\u06f2\u0001"+
"\u0000\u0000\u0000\u06f1\u06e4\u0001\u0000\u0000\u0000\u06f1\u06eb\u0001"+
"\u0000\u0000\u0000\u06f2\u00bb\u0001\u0000\u0000\u0000\u06f3\u06f4\u0003"+
"\u00c2a\u0000\u06f4\u06f5\u0003\u00c0`\u0000\u06f5\u06f6\u0003\u00c2a"+
"\u0000\u06f6\u00bd\u0001\u0000\u0000\u0000\u06f7\u06f8\u0007\u0018\u0000"+
"\u0000\u06f8\u00bf\u0001\u0000\u0000\u0000\u06f9\u0704\u0005\u02ac\u0000"+
"\u0000\u06fa\u0704\u0005\u02ae\u0000\u0000\u06fb\u0704\u0005\u02af\u0000"+
"\u0000\u06fc\u0704\u0005\u02b0\u0000\u0000\u06fd\u0704\u0005\u02b1\u0000"+
"\u0000\u06fe\u0704\u0005\u02b2\u0000\u0000\u06ff\u0701\u0005\u01e6\u0000"+
"\u0000\u0700\u06ff\u0001\u0000\u0000\u0000\u0700\u0701\u0001\u0000\u0000"+
"\u0000\u0701\u0702\u0001\u0000\u0000\u0000\u0702\u0704\u0007\u0019\u0000"+
"\u0000\u0703\u06f9\u0001\u0000\u0000\u0000\u0703\u06fa\u0001\u0000\u0000"+
"\u0000\u0703\u06fb\u0001\u0000\u0000\u0000\u0703\u06fc\u0001\u0000\u0000"+
"\u0000\u0703\u06fd\u0001\u0000\u0000\u0000\u0703\u06fe\u0001\u0000\u0000"+
"\u0000\u0703\u0700\u0001\u0000\u0000\u0000\u0704\u00c1\u0001\u0000\u0000"+
"\u0000\u0705\u0706\u0006a\uffff\uffff\u0000\u0706\u0707\u0005\u00b6\u0000"+
"\u0000\u0707\u0708\u0003\u01ea\u00f5\u0000\u0708\u0709\u0005\u00b7\u0000"+
"\u0000\u0709\u0718\u0001\u0000\u0000\u0000\u070a\u070b\u0005\u00b6\u0000"+
"\u0000\u070b\u070c\u0003\u00c2a\u0000\u070c\u070d\u0005\u00b7\u0000\u0000"+
"\u070d\u0718\u0001\u0000\u0000\u0000\u070e\u0718\u0003\u00c6c\u0000\u070f"+
"\u0718\u0003\u00cae\u0000\u0710\u0718\u0003\u00e4r\u0000\u0711\u0718\u0003"+
"\u00ceg\u0000\u0712\u0718\u0003\u00d4j\u0000\u0713\u0718\u0003\u00d6k"+
"\u0000\u0714\u0718\u0003\u00e0p\u0000\u0715\u0718\u0003\u00e2q\u0000\u0716"+
"\u0718\u0003\u00c4b\u0000\u0717\u0705\u0001\u0000\u0000\u0000\u0717\u070a"+
"\u0001\u0000\u0000\u0000\u0717\u070e\u0001\u0000\u0000\u0000\u0717\u070f"+
"\u0001\u0000\u0000\u0000\u0717\u0710\u0001\u0000\u0000\u0000\u0717\u0711"+
"\u0001\u0000\u0000\u0000\u0717\u0712\u0001\u0000\u0000\u0000\u0717\u0713"+
"\u0001\u0000\u0000\u0000\u0717\u0714\u0001\u0000\u0000\u0000\u0717\u0715"+
"\u0001\u0000\u0000\u0000\u0717\u0716\u0001\u0000\u0000\u0000\u0718\u0723"+
"\u0001\u0000\u0000\u0000\u0719\u071a\n\r\u0000\u0000\u071a\u071b\u0007"+
"\u001a\u0000\u0000\u071b\u0722\u0003\u00c2a\u000e\u071c\u071d\n\f\u0000"+
"\u0000\u071d\u071e\u0007\u001b\u0000\u0000\u071e\u0722\u0003\u00c2a\r"+
"\u071f\u0720\n\u000e\u0000\u0000\u0720\u0722\u0003\u00c8d\u0000\u0721"+
"\u0719\u0001\u0000\u0000\u0000\u0721\u071c\u0001\u0000\u0000\u0000\u0721"+
"\u071f\u0001\u0000\u0000\u0000\u0722\u0725\u0001\u0000\u0000\u0000\u0723"+
"\u0721\u0001\u0000\u0000\u0000\u0723\u0724\u0001\u0000\u0000\u0000\u0724"+
"\u00c3\u0001\u0000\u0000\u0000\u0725\u0723\u0001\u0000\u0000\u0000\u0726"+
"\u072f\u0003\u00f6{\u0000\u0727\u072f\u0003\u00f8|\u0000\u0728\u072f\u0003"+
"\u0104\u0082\u0000\u0729\u072f\u0003\u00fc~\u0000\u072a\u072f\u0003\u00fe"+
"\u007f\u0000\u072b\u072f\u0003\u0102\u0081\u0000\u072c\u072f\u0003\u0100"+
"\u0080\u0000\u072d\u072f\u0003\u0106\u0083\u0000\u072e\u0726\u0001\u0000"+
"\u0000\u0000\u072e\u0727\u0001\u0000\u0000\u0000\u072e\u0728\u0001\u0000"+
"\u0000\u0000\u072e\u0729\u0001\u0000\u0000\u0000\u072e\u072a\u0001\u0000"+
"\u0000\u0000\u072e\u072b\u0001\u0000\u0000\u0000\u072e\u072c\u0001\u0000"+
"\u0000\u0000\u072e\u072d\u0001\u0000\u0000\u0000\u072f\u00c5\u0001\u0000"+
"\u0000\u0000\u0730\u0731\u0005\u019c\u0000\u0000\u0731\u0732\u0003\u00c2"+
"a\u0000\u0732\u0733\u0003\u00c8d\u0000\u0733\u00c7\u0001\u0000\u0000\u0000"+
"\u0734\u0735\u0007\u001c\u0000\u0000\u0735\u00c9\u0001\u0000\u0000\u0000"+
"\u0736\u0737\u0003\u00ccf\u0000\u0737\u0738\u0007\u001d\u0000\u0000\u0738"+
"\u073d\u0003\u00ccf\u0000\u0739\u073a\u0007\u001d\u0000\u0000\u073a\u073c"+
"\u0003\u00ccf\u0000\u073b\u0739\u0001\u0000\u0000\u0000\u073c\u073f\u0001"+
"\u0000\u0000\u0000\u073d\u073b\u0001\u0000\u0000\u0000\u073d\u073e\u0001"+
"\u0000\u0000\u0000\u073e\u00cb\u0001\u0000\u0000\u0000\u073f\u073d\u0001"+
"\u0000\u0000\u0000\u0740\u0741\u0005\u00b6\u0000\u0000\u0741\u0742\u0003"+
"\u00c2a\u0000\u0742\u0743\u0005\u00b7\u0000\u0000\u0743\u074b\u0001\u0000"+
"\u0000\u0000\u0744\u074b\u0003\u00ceg\u0000\u0745\u074b\u0003\u00d6k\u0000"+
"\u0746\u074b\u0003\u00e0p\u0000\u0747\u074b\u0003\u00e4r\u0000\u0748\u074b"+
"\u0003\u00e2q\u0000\u0749\u074b\u0003\u00c4b\u0000\u074a\u0740\u0001\u0000"+
"\u0000\u0000\u074a\u0744\u0001\u0000\u0000\u0000\u074a\u0745\u0001\u0000"+
"\u0000\u0000\u074a\u0746\u0001\u0000\u0000\u0000\u074a\u0747\u0001\u0000"+
"\u0000\u0000\u074a\u0748\u0001\u0000\u0000\u0000\u074a\u0749\u0001\u0000"+
"\u0000\u0000\u074b\u00cd\u0001\u0000\u0000\u0000\u074c\u074f\u0003\u00d0"+
"h\u0000\u074d\u074f\u0003\u00d2i\u0000\u074e\u074c\u0001\u0000\u0000\u0000"+
"\u074e\u074d\u0001\u0000\u0000\u0000\u074f\u00cf\u0001\u0000\u0000\u0000"+
"\u0750\u0751\u0005\u00f4\u0000\u0000\u0751\u0757\u0003\u00c2a\u0000\u0752"+
"\u0753\u0005\u02a3\u0000\u0000\u0753\u0754\u0003\u00c2a\u0000\u0754\u0755"+
"\u0005\u0277\u0000\u0000\u0755\u0756\u0003\u00c2a\u0000\u0756\u0758\u0001"+
"\u0000\u0000\u0000\u0757\u0752\u0001\u0000\u0000\u0000\u0758\u0759\u0001"+
"\u0000\u0000\u0000\u0759\u0757\u0001\u0000\u0000\u0000\u0759\u075a\u0001"+
"\u0000\u0000\u0000\u075a\u075d\u0001\u0000\u0000\u0000\u075b\u075c\u0005"+
"\u014b\u0000\u0000\u075c\u075e\u0003\u00c2a\u0000\u075d\u075b\u0001\u0000"+
"\u0000\u0000\u075d\u075e\u0001\u0000\u0000\u0000\u075e\u075f\u0001\u0000"+
"\u0000\u0000\u075f\u0760\u0005\u014f\u0000\u0000\u0760\u00d1\u0001\u0000"+
"\u0000\u0000\u0761\u0767\u0005\u00f4\u0000\u0000\u0762\u0763\u0005\u02a3"+
"\u0000\u0000\u0763\u0764\u0003\u00b6[\u0000\u0764\u0765\u0005\u0277\u0000"+
"\u0000\u0765\u0766\u0003\u00c2a\u0000\u0766\u0768\u0001\u0000\u0000\u0000"+
"\u0767\u0762\u0001\u0000\u0000\u0000\u0768\u0769\u0001\u0000\u0000\u0000"+
"\u0769\u0767\u0001\u0000\u0000\u0000\u0769\u076a\u0001\u0000\u0000\u0000"+
"\u076a\u076d\u0001\u0000\u0000\u0000\u076b\u076c\u0005\u014b\u0000\u0000"+
"\u076c\u076e\u0003\u00c2a\u0000\u076d\u076b\u0001\u0000\u0000\u0000\u076d"+
"\u076e\u0001\u0000\u0000\u0000\u076e\u076f\u0001\u0000\u0000\u0000\u076f"+
"\u0770\u0005\u014f\u0000\u0000\u0770\u00d3\u0001\u0000\u0000\u0000\u0771"+
"\u0772\u0003\u00fa}\u0000\u0772\u0773\u0005\u02b7\u0000\u0000\u0773\u0774"+
"\u0007\u001e\u0000\u0000\u0774\u00d5\u0001\u0000\u0000\u0000\u0775\u0776"+
"\u0005\u0006\u0000\u0000\u0776\u0778\u0005\u00b6\u0000\u0000\u0777\u0779"+
"\u0003\u00d8l\u0000\u0778\u0777\u0001\u0000\u0000\u0000\u0778\u0779\u0001"+
"\u0000\u0000\u0000\u0779\u077a\u0001\u0000\u0000\u0000\u077a\u077b\u0003"+
"\u00c2a\u0000\u077b\u077d\u0005\u00b7\u0000\u0000\u077c\u077e\u0003\u00dc"+
"n\u0000\u077d\u077c\u0001\u0000\u0000\u0000\u077d\u077e\u0001\u0000\u0000"+
"\u0000\u077e\u080e\u0001\u0000\u0000\u0000\u077f\u0780\u0005\u0116\u0000"+
"\u0000\u0780\u0786\u0005\u00b6\u0000\u0000\u0781\u0783\u0003\u00d8l\u0000"+
"\u0782\u0781\u0001\u0000\u0000\u0000\u0782\u0783\u0001\u0000\u0000\u0000"+
"\u0783\u0784\u0001\u0000\u0000\u0000\u0784\u0787\u0003\u00c2a\u0000\u0785"+
"\u0787\u0005\u02b5\u0000\u0000\u0786\u0782\u0001\u0000\u0000\u0000\u0786"+
"\u0785\u0001\u0000\u0000\u0000\u0787\u0788\u0001\u0000\u0000\u0000\u0788"+
"\u078a\u0005\u00b7\u0000\u0000\u0789\u078b\u0003\u00dcn\u0000\u078a\u0789"+
"\u0001\u0000\u0000\u0000\u078a\u078b\u0001\u0000\u0000\u0000\u078b\u080e"+
"\u0001\u0000\u0000\u0000\u078c\u078d\u0005\u001c\u0000\u0000\u078d\u0793"+
"\u0005\u00b6\u0000\u0000\u078e\u0790\u0003\u00d8l\u0000\u078f\u078e\u0001"+
"\u0000\u0000\u0000\u078f\u0790\u0001\u0000\u0000\u0000\u0790\u0791\u0001"+
"\u0000\u0000\u0000\u0791\u0794\u0003\u00c2a\u0000\u0792\u0794\u0005\u02b5"+
"\u0000\u0000\u0793\u078f\u0001\u0000\u0000\u0000\u0793\u0792\u0001\u0000"+
"\u0000\u0000\u0794\u0795\u0001\u0000\u0000\u0000\u0795\u0797\u0005\u00b7"+
"\u0000\u0000\u0796\u0798\u0003\u00dcn\u0000\u0797\u0796\u0001\u0000\u0000"+
"\u0000\u0797\u0798\u0001\u0000\u0000\u0000\u0798\u080e\u0001\u0000\u0000"+
"\u0000\u0799\u079a\u0005\u00a1\u0000\u0000\u079a\u079b\u0005\u00b6\u0000"+
"\u0000\u079b\u079c\u0005\u00b7\u0000\u0000\u079c\u080e\u0003\u00dcn\u0000"+
"\u079d\u079e\u0005\u00a2\u0000\u0000\u079e\u079f\u0005\u00b6\u0000\u0000"+
"\u079f\u07a0\u0005\u00b7\u0000\u0000\u07a0\u080e\u0003\u00dcn\u0000\u07a1"+
"\u07a2\u0005\u00a3\u0000\u0000\u07a2\u07a3\u0005\u00b6\u0000\u0000\u07a3"+
"\u07a4\u0003\u00c2a\u0000\u07a4\u07a5\u0005\u00b7\u0000\u0000\u07a5\u07a6"+
"\u0003\u00dcn\u0000\u07a6\u080e\u0001\u0000\u0000\u0000\u07a7\u07a8\u0005"+
"\u00a4\u0000\u0000\u07a8\u07a9\u0005\u00b6\u0000\u0000\u07a9\u07b0\u0003"+
"\u00c2a\u0000\u07aa\u07ab\u0005\u00b8\u0000\u0000\u07ab\u07ae\u0003\u00c2"+
"a\u0000\u07ac\u07ad\u0005\u00b8\u0000\u0000\u07ad\u07af\u0003\u00c2a\u0000"+
"\u07ae\u07ac\u0001\u0000\u0000\u0000\u07ae\u07af\u0001\u0000\u0000\u0000"+
"\u07af\u07b1\u0001\u0000\u0000\u0000\u07b0\u07aa\u0001\u0000\u0000\u0000"+
"\u07b0\u07b1\u0001\u0000\u0000\u0000\u07b1\u07b2\u0001\u0000\u0000\u0000"+
"\u07b2\u07b3\u0005\u00b7\u0000\u0000\u07b3\u07b4\u0003\u00dcn\u0000\u07b4"+
"\u080e\u0001\u0000\u0000\u0000\u07b5\u07b6\u0005\u00a5\u0000\u0000\u07b6"+
"\u07b7\u0005\u00b6\u0000\u0000\u07b7\u07b8\u0003\u00c2a\u0000\u07b8\u07b9"+
"\u0005\u00b7\u0000\u0000\u07b9\u07ba\u0003\u00dcn\u0000\u07ba\u080e\u0001"+
"\u0000\u0000\u0000\u07bb\u07bc\u0005\u00a6\u0000\u0000\u07bc\u07bd\u0005"+
"\u00b6\u0000\u0000\u07bd\u07c4\u0003\u00c2a\u0000\u07be\u07bf\u0005\u00b8"+
"\u0000\u0000\u07bf\u07c2\u0003\u00c2a\u0000\u07c0\u07c1\u0005\u00b8\u0000"+
"\u0000\u07c1\u07c3\u0003\u00c2a\u0000\u07c2\u07c0\u0001\u0000\u0000\u0000"+
"\u07c2\u07c3\u0001\u0000\u0000\u0000\u07c3\u07c5\u0001\u0000\u0000\u0000"+
"\u07c4\u07be\u0001\u0000\u0000\u0000\u07c4\u07c5\u0001\u0000\u0000\u0000"+
"\u07c5\u07c6\u0001\u0000\u0000\u0000\u07c6\u07c7\u0005\u00b7\u0000\u0000"+
"\u07c7\u07c8\u0003\u00dcn\u0000\u07c8\u080e\u0001\u0000\u0000\u0000\u07c9"+
"\u07ca\u0005\u01d0\u0000\u0000\u07ca\u07cc\u0005\u00b6\u0000\u0000\u07cb"+
"\u07cd\u0003\u00d8l\u0000\u07cc\u07cb\u0001\u0000\u0000\u0000\u07cc\u07cd"+
"\u0001\u0000\u0000\u0000\u07cd\u07ce\u0001\u0000\u0000\u0000\u07ce\u07cf"+
"\u0003\u00c2a\u0000\u07cf\u07d1\u0005\u00b7\u0000\u0000\u07d0\u07d2\u0003"+
"\u00dcn\u0000\u07d1\u07d0\u0001\u0000\u0000\u0000\u07d1\u07d2\u0001\u0000"+
"\u0000\u0000\u07d2\u080e\u0001\u0000\u0000\u0000\u07d3\u07d4\u0005\u01d6"+
"\u0000\u0000\u07d4\u07d6\u0005\u00b6\u0000\u0000\u07d5\u07d7\u0003\u00d8"+
"l\u0000\u07d6\u07d5\u0001\u0000\u0000\u0000\u07d6\u07d7\u0001\u0000\u0000"+
"\u0000\u07d7\u07d8\u0001\u0000\u0000\u0000\u07d8\u07d9\u0003\u00c2a\u0000"+
"\u07d9\u07db\u0005\u00b7\u0000\u0000\u07da\u07dc\u0003\u00dcn\u0000\u07db"+
"\u07da\u0001\u0000\u0000\u0000\u07db\u07dc\u0001\u0000\u0000\u0000\u07dc"+
"\u080e\u0001\u0000\u0000\u0000\u07dd\u07de\u0005\u00af\u0000\u0000\u07de"+
"\u07df\u0005\u00b6\u0000\u0000\u07df\u07e0\u0005\u00b7\u0000\u0000\u07e0"+
"\u080e\u0003\u00dcn\u0000\u07e1\u07e2\u0005\u00b0\u0000\u0000\u07e2\u07e3"+
"\u0005\u00b6\u0000\u0000\u07e3\u07e4\u0005\u00b7\u0000\u0000\u07e4\u080e"+
"\u0003\u00dcn\u0000\u07e5\u07e6\u0005\u00b1\u0000\u0000\u07e6\u07e8\u0005"+
"\u00b6\u0000\u0000\u07e7\u07e9\u0003\u00d8l\u0000\u07e8\u07e7\u0001\u0000"+
"\u0000\u0000\u07e8\u07e9\u0001\u0000\u0000\u0000\u07e9\u07ea\u0001\u0000"+
"\u0000\u0000\u07ea\u07eb\u0003\u00c2a\u0000\u07eb\u07ed\u0005\u00b7\u0000"+
"\u0000\u07ec\u07ee\u0003\u00dcn\u0000\u07ed\u07ec\u0001\u0000\u0000\u0000"+
"\u07ed\u07ee\u0001\u0000\u0000\u0000\u07ee\u080e\u0001\u0000\u0000\u0000"+
"\u07ef\u07f0\u0005\u0267\u0000\u0000\u07f0\u07f2\u0005\u00b6\u0000\u0000"+
"\u07f1\u07f3\u0003\u00d8l\u0000\u07f2\u07f1\u0001\u0000\u0000\u0000\u07f2"+
"\u07f3\u0001\u0000\u0000\u0000\u07f3\u07f4\u0001\u0000\u0000\u0000\u07f4"+
"\u07f5\u0003\u00c2a\u0000\u07f5\u07f7\u0005\u00b7\u0000\u0000\u07f6\u07f8"+
"\u0003\u00dcn\u0000\u07f7\u07f6\u0001\u0000\u0000\u0000\u07f7\u07f8\u0001"+
"\u0000\u0000\u0000\u07f8\u080e\u0001\u0000\u0000\u0000\u07f9\u07fa\u0005"+
"\u0097\u0000\u0000\u07fa\u07fc\u0005\u00b6\u0000\u0000\u07fb\u07fd\u0003"+
"\u00d8l\u0000\u07fc\u07fb\u0001\u0000\u0000\u0000\u07fc\u07fd\u0001\u0000"+
"\u0000\u0000\u07fd\u07fe\u0001\u0000\u0000\u0000\u07fe\u07ff\u0003\u00c2"+
"a\u0000\u07ff\u0801\u0005\u00b7\u0000\u0000\u0800\u0802\u0003\u00dcn\u0000"+
"\u0801\u0800\u0001\u0000\u0000\u0000\u0801\u0802\u0001\u0000\u0000\u0000"+
"\u0802\u080e\u0001\u0000\u0000\u0000\u0803\u0804\u0005\u00b3\u0000\u0000"+
"\u0804\u0806\u0005\u00b6\u0000\u0000\u0805\u0807\u0003\u00d8l\u0000\u0806"+
"\u0805\u0001\u0000\u0000\u0000\u0806\u0807\u0001\u0000\u0000\u0000\u0807"+
"\u0808\u0001\u0000\u0000\u0000\u0808\u0809\u0003\u00c2a\u0000\u0809\u080b"+
"\u0005\u00b7\u0000\u0000\u080a\u080c\u0003\u00dcn\u0000\u080b\u080a\u0001"+
"\u0000\u0000\u0000\u080b\u080c\u0001\u0000\u0000\u0000\u080c\u080e\u0001"+
"\u0000\u0000\u0000\u080d\u0775\u0001\u0000\u0000\u0000\u080d\u077f\u0001"+
"\u0000\u0000\u0000\u080d\u078c\u0001\u0000\u0000\u0000\u080d\u0799\u0001"+
"\u0000\u0000\u0000\u080d\u079d\u0001\u0000\u0000\u0000\u080d\u07a1\u0001"+
"\u0000\u0000\u0000\u080d\u07a7\u0001\u0000\u0000\u0000\u080d\u07b5\u0001"+
"\u0000\u0000\u0000\u080d\u07bb\u0001\u0000\u0000\u0000\u080d\u07c9\u0001"+
"\u0000\u0000\u0000\u080d\u07d3\u0001\u0000\u0000\u0000\u080d\u07dd\u0001"+
"\u0000\u0000\u0000\u080d\u07e1\u0001\u0000\u0000\u0000\u080d\u07e5\u0001"+
"\u0000\u0000\u0000\u080d\u07ef\u0001\u0000\u0000\u0000\u080d\u07f9\u0001"+
"\u0000\u0000\u0000\u080d\u0803\u0001\u0000\u0000\u0000\u080e\u00d7\u0001"+
"\u0000\u0000\u0000\u080f\u0810\u0007\u001f\u0000\u0000\u0810\u00d9\u0001"+
"\u0000\u0000\u0000\u0811\u0812\u0005\u01f1\u0000\u0000\u0812\u0813\u0005"+
"\u00ef\u0000\u0000\u0813\u0815\u0003\u00c2a\u0000\u0814\u0816\u0007 \u0000"+
"\u0000\u0815\u0814\u0001\u0000\u0000\u0000\u0815\u0816\u0001\u0000\u0000"+
"\u0000\u0816\u081e\u0001\u0000\u0000\u0000\u0817\u0818\u0005\u00b8\u0000"+
"\u0000\u0818\u081a\u0003\u00c2a\u0000\u0819\u081b\u0007 \u0000\u0000\u081a"+
"\u0819\u0001\u0000\u0000\u0000\u081a\u081b\u0001\u0000\u0000\u0000\u081b"+
"\u081d\u0001\u0000\u0000\u0000\u081c\u0817\u0001\u0000\u0000\u0000\u081d"+
"\u0820\u0001\u0000\u0000\u0000\u081e\u081c\u0001\u0000\u0000\u0000\u081e"+
"\u081f\u0001\u0000\u0000\u0000\u081f\u00db\u0001\u0000\u0000\u0000\u0820"+
"\u081e\u0001\u0000\u0000\u0000\u0821\u0822\u0005\u01f4\u0000\u0000\u0822"+
"\u0824\u0005\u00b6\u0000\u0000\u0823\u0825\u0003\u00deo\u0000\u0824\u0823"+
"\u0001\u0000\u0000\u0000\u0824\u0825\u0001\u0000\u0000\u0000\u0825\u0827"+
"\u0001\u0000\u0000\u0000\u0826\u0828\u0003\u00dam\u0000\u0827\u0826\u0001"+
"\u0000\u0000\u0000\u0827\u0828\u0001\u0000\u0000\u0000\u0828\u0829\u0001"+
"\u0000\u0000\u0000\u0829\u082a\u0005\u00b7\u0000\u0000\u082a\u00dd\u0001"+
"\u0000\u0000\u0000\u082b\u082c\u0005\u01f8\u0000\u0000\u082c\u082d\u0005"+
"\u00ef\u0000\u0000\u082d\u0832\u0003\u00c2a\u0000\u082e\u082f\u0005\u00b8"+
"\u0000\u0000\u082f\u0831\u0003\u00c2a\u0000\u0830\u082e\u0001\u0000\u0000"+
"\u0000\u0831\u0834\u0001\u0000\u0000\u0000\u0832\u0830\u0001\u0000\u0000"+
"\u0000\u0832\u0833\u0001\u0000\u0000\u0000\u0833\u00df\u0001\u0000\u0000"+
"\u0000\u0834\u0832\u0001\u0000\u0000\u0000\u0835\u08fe\u0005\u00a0\u0000"+
"\u0000\u0836\u0837\u0005\u00f5\u0000\u0000\u0837\u0838\u0005\u00b6\u0000"+
"\u0000\u0838\u0839\u0003\u00c2a\u0000\u0839\u083a\u0005\u00d0\u0000\u0000"+
"\u083a\u083c\u0003B!\u0000\u083b\u083d\u0003D\"\u0000\u083c\u083b\u0001"+
"\u0000\u0000\u0000\u083c\u083d\u0001\u0000\u0000\u0000\u083d\u083e\u0001"+
"\u0000\u0000\u0000\u083e\u083f\u0005\u00b7\u0000\u0000\u083f\u08fe\u0001"+
"\u0000\u0000\u0000\u0840\u0841\u0005\u0116\u0000\u0000\u0841\u0844\u0005"+
"\u00b6\u0000\u0000\u0842\u0845\u0003\u00c2a\u0000\u0843\u0845\u0005\u02b5"+
"\u0000\u0000\u0844\u0842\u0001\u0000\u0000\u0000\u0844\u0843\u0001\u0000"+
"\u0000\u0000\u0845\u0846\u0001\u0000\u0000\u0000\u0846\u08fe\u0005\u00b7"+
"\u0000\u0000\u0847\u08fe\u0005\u011e\u0000\u0000\u0848\u0849\u0005\u011c"+
"\u0000\u0000\u0849\u08fe\u0005\u0125\u0000\u0000\u084a\u084e\u0005\u0120"+
"\u0000\u0000\u084b\u084c\u0005\u011c\u0000\u0000\u084c\u084e\u0005\u0279"+
"\u0000\u0000\u084d\u084a\u0001\u0000\u0000\u0000\u084d\u084b\u0001\u0000"+
"\u0000\u0000\u084e\u0853\u0001\u0000\u0000\u0000\u084f\u0850\u0005\u00b6"+
"\u0000\u0000\u0850\u0851\u0003\u00c2a\u0000\u0851\u0852\u0005\u00b7\u0000"+
"\u0000\u0852\u0854\u0001\u0000\u0000\u0000\u0853\u084f\u0001\u0000\u0000"+
"\u0000\u0853\u0854\u0001\u0000\u0000\u0000\u0854\u08fe\u0001\u0000\u0000"+
"\u0000\u0855\u08fe\u0005\u0121\u0000\u0000\u0856\u0857\u0005\u011c\u0000"+
"\u0000\u0857\u08fe\u0005\u0291\u0000\u0000\u0858\u0859\u0005\u00a7\u0000"+
"\u0000\u0859\u085a\u0005\u00b6\u0000\u0000\u085a\u0867\u0003\u00c2a\u0000"+
"\u085b\u085c\u0005\u00b8\u0000\u0000\u085c\u0864\u0003\u00c2a\u0000\u085d"+
"\u085e\u0005\u00b8\u0000\u0000\u085e\u085f\u0003\u00c2a\u0000\u085f\u0860"+
"\u0005\u02ac\u0000\u0000\u0860\u0861\u0003\u00c2a\u0000\u0861\u0863\u0001"+
"\u0000\u0000\u0000\u0862\u085d\u0001\u0000\u0000\u0000\u0863\u0866\u0001"+
"\u0000\u0000\u0000\u0864\u0862\u0001\u0000\u0000\u0000\u0864\u0865\u0001"+
"\u0000\u0000\u0000\u0865\u0868\u0001\u0000\u0000\u0000\u0866\u0864\u0001"+
"\u0000\u0000\u0000\u0867\u085b\u0001\u0000\u0000\u0000\u0867\u0868\u0001"+
"\u0000\u0000\u0000\u0868\u0869\u0001\u0000\u0000\u0000\u0869\u086a\u0005"+
"\u00b7\u0000\u0000\u086a\u08fe\u0001\u0000\u0000\u0000\u086b\u086c\u0005"+
"\u00a8\u0000\u0000\u086c\u086d\u0005\u00b6\u0000\u0000\u086d\u087a\u0003"+
"\u00c2a\u0000\u086e\u086f\u0005\u00b8\u0000\u0000\u086f\u0877\u0003\u00c2"+
"a\u0000\u0870\u0871\u0005\u00b8\u0000\u0000\u0871\u0872\u0003\u00c2a\u0000"+
"\u0872\u0873\u0005\u02ac\u0000\u0000\u0873\u0874\u0003\u00c2a\u0000\u0874"+
"\u0876\u0001\u0000\u0000\u0000\u0875\u0870\u0001\u0000\u0000\u0000\u0876"+
"\u0879\u0001\u0000\u0000\u0000\u0877\u0875\u0001\u0000\u0000\u0000\u0877"+
"\u0878\u0001\u0000\u0000\u0000\u0878\u087b\u0001\u0000\u0000\u0000\u0879"+
"\u0877\u0001\u0000\u0000\u0000\u087a\u086e\u0001\u0000\u0000\u0000\u087a"+
"\u087b\u0001\u0000\u0000\u0000\u087b\u087c\u0001\u0000\u0000\u0000\u087c"+
"\u087d\u0005\u00b7\u0000\u0000\u087d\u08fe\u0001\u0000\u0000\u0000\u087e"+
"\u087f\u0005\u00a9\u0000\u0000\u087f\u0880\u0005\u00b6\u0000\u0000\u0880"+
"\u088d\u0003\u00c2a\u0000\u0881\u0882\u0005\u00b8\u0000\u0000\u0882\u088a"+
"\u0003\u00c2a\u0000\u0883\u0884\u0005\u00b8\u0000\u0000\u0884\u0885\u0003"+
"\u00c2a\u0000\u0885\u0886\u0005\u02ac\u0000\u0000\u0886\u0887\u0003\u00c2"+
"a\u0000\u0887\u0889\u0001\u0000\u0000\u0000\u0888\u0883\u0001\u0000\u0000"+
"\u0000\u0889\u088c\u0001\u0000\u0000\u0000\u088a\u0888\u0001\u0000\u0000"+
"\u0000\u088a\u088b\u0001\u0000\u0000\u0000\u088b\u088e\u0001\u0000\u0000"+
"\u0000\u088c\u088a\u0001\u0000\u0000\u0000\u088d\u0881\u0001\u0000\u0000"+
"\u0000\u088d\u088e\u0001\u0000\u0000\u0000\u088e\u088f\u0001\u0000\u0000"+
"\u0000\u088f\u0890\u0005\u00b7\u0000\u0000\u0890\u08fe\u0001\u0000\u0000"+
"\u0000\u0891\u0892\u0005\u00aa\u0000\u0000\u0892\u0893\u0005\u00b6\u0000"+
"\u0000\u0893\u08a0\u0003\u00c2a\u0000\u0894\u0895\u0005\u00b8\u0000\u0000"+
"\u0895\u089d\u0003\u00c2a\u0000\u0896\u0897\u0005\u00b8\u0000\u0000\u0897"+
"\u0898\u0003\u00c2a\u0000\u0898\u0899\u0005\u02ac\u0000\u0000\u0899\u089a"+
"\u0003\u00c2a\u0000\u089a\u089c\u0001\u0000\u0000\u0000\u089b\u0896\u0001"+
"\u0000\u0000\u0000\u089c\u089f\u0001\u0000\u0000\u0000\u089d\u089b\u0001"+
"\u0000\u0000\u0000\u089d\u089e\u0001\u0000\u0000\u0000\u089e\u08a1\u0001"+
"\u0000\u0000\u0000\u089f\u089d\u0001\u0000\u0000\u0000\u08a0\u0894\u0001"+
"\u0000\u0000\u0000\u08a0\u08a1\u0001\u0000\u0000\u0000\u08a1\u08a2\u0001"+
"\u0000\u0000\u0000\u08a2\u08a3\u0005\u00b7\u0000\u0000\u08a3\u08fe\u0001"+
"\u0000\u0000\u0000\u08a4\u08a5\u0005\u00ab\u0000\u0000\u08a5\u08a6\u0005"+
"\u00b6\u0000\u0000\u08a6\u08b3\u0003\u00c2a\u0000\u08a7\u08a8\u0005\u00b8"+
"\u0000\u0000\u08a8\u08b0\u0003\u00c2a\u0000\u08a9\u08aa\u0005\u00b8\u0000"+
"\u0000\u08aa\u08ab\u0003\u00c2a\u0000\u08ab\u08ac\u0005\u02ac\u0000\u0000"+
"\u08ac\u08ad\u0003\u00c2a\u0000\u08ad\u08af\u0001\u0000\u0000\u0000\u08ae"+
"\u08a9\u0001\u0000\u0000\u0000\u08af\u08b2\u0001\u0000\u0000\u0000\u08b0"+
"\u08ae\u0001\u0000\u0000\u0000\u08b0\u08b1\u0001\u0000\u0000\u0000\u08b1"+
"\u08b4\u0001\u0000\u0000\u0000\u08b2\u08b0\u0001\u0000\u0000\u0000\u08b3"+
"\u08a7\u0001\u0000\u0000\u0000\u08b3\u08b4\u0001\u0000\u0000\u0000\u08b4"+
"\u08b5\u0001\u0000\u0000\u0000\u08b5\u08b6\u0005\u00b7\u0000\u0000\u08b6"+
"\u08fe\u0001\u0000\u0000\u0000\u08b7\u08b8\u0005\u00ac\u0000\u0000\u08b8"+
"\u08b9\u0005\u00b6\u0000\u0000\u08b9\u08c6\u0003\u00c2a\u0000\u08ba\u08bb"+
"\u0005\u00b8\u0000\u0000\u08bb\u08c3\u0003\u00c2a\u0000\u08bc\u08bd\u0005"+
"\u00b8\u0000\u0000\u08bd\u08be\u0003\u00c2a\u0000\u08be\u08bf\u0005\u02ac"+
"\u0000\u0000\u08bf\u08c0\u0003\u00c2a\u0000\u08c0\u08c2\u0001\u0000\u0000"+
"\u0000\u08c1\u08bc\u0001\u0000\u0000\u0000\u08c2\u08c5\u0001\u0000\u0000"+
"\u0000\u08c3\u08c1\u0001\u0000\u0000\u0000\u08c3\u08c4\u0001\u0000\u0000"+
"\u0000\u08c4\u08c7\u0001\u0000\u0000\u0000\u08c5\u08c3\u0001\u0000\u0000"+
"\u0000\u08c6\u08ba\u0001\u0000\u0000\u0000\u08c6\u08c7\u0001\u0000\u0000"+
"\u0000\u08c7\u08c8\u0001\u0000\u0000\u0000\u08c8\u08c9\u0005\u00b7\u0000"+
"\u0000\u08c9\u08fe\u0001\u0000\u0000\u0000\u08ca\u08cb\u0005\u00ad\u0000"+
"\u0000\u08cb\u08cc\u0005\u00b6\u0000\u0000\u08cc\u08d4\u0003\u00c2a\u0000"+
"\u08cd\u08ce\u0005\u00b8\u0000\u0000\u08ce\u08cf\u0003\u00c2a\u0000\u08cf"+
"\u08d0\u0005\u02ac\u0000\u0000\u08d0\u08d1\u0003\u00c2a\u0000\u08d1\u08d3"+
"\u0001\u0000\u0000\u0000\u08d2\u08cd\u0001\u0000\u0000\u0000\u08d3\u08d6"+
"\u0001\u0000\u0000\u0000\u08d4\u08d2\u0001\u0000\u0000\u0000\u08d4\u08d5"+
"\u0001\u0000\u0000\u0000\u08d5\u08d7\u0001\u0000\u0000\u0000\u08d6\u08d4"+
"\u0001\u0000\u0000\u0000\u08d7\u08d8\u0005\u00b7\u0000\u0000\u08d8\u08fe"+
"\u0001\u0000\u0000\u0000\u08d9\u08da\u0005\u00ae\u0000\u0000\u08da\u08db"+
"\u0005\u00b6\u0000\u0000\u08db\u08e1\u0003\u00c2a\u0000\u08dc\u08dd\u0005"+
"\u00b8\u0000\u0000\u08dd\u08de\u0003\u00c2a\u0000\u08de\u08df\u0005\u02ac"+
"\u0000\u0000\u08df\u08e0\u0003\u00c2a\u0000\u08e0\u08e2\u0001\u0000\u0000"+
"\u0000\u08e1\u08dc\u0001\u0000\u0000\u0000\u08e2\u08e3\u0001\u0000\u0000"+
"\u0000\u08e3\u08e1\u0001\u0000\u0000\u0000\u08e3\u08e4\u0001\u0000\u0000"+
"\u0000\u08e4\u08e7\u0001\u0000\u0000\u0000\u08e5\u08e6\u0005\u00b8\u0000"+
"\u0000\u08e6\u08e8\u0003\u00c2a\u0000\u08e7\u08e5\u0001\u0000\u0000\u0000"+
"\u08e7\u08e8\u0001\u0000\u0000\u0000\u08e8\u08e9\u0001\u0000\u0000\u0000"+
"\u08e9\u08ea\u0005\u00b7\u0000\u0000\u08ea\u08fe\u0001\u0000\u0000\u0000"+
"\u08eb\u08ec\u0005\u0280\u0000\u0000\u08ec\u08ed\u0005\u00b6\u0000\u0000"+
"\u08ed\u08ee\u0003\u00c2a\u0000\u08ee\u08ef\u0005\u00b7\u0000\u0000\u08ef"+
"\u08fe\u0001\u0000\u0000\u0000\u08f0\u08f1\u0005\u008f\u0000\u0000\u08f1"+
"\u08f2\u0005\u00b6\u0000\u0000\u08f2\u08f3\u0003\u00c2a\u0000\u08f3\u08f4"+
"\u0005\u0171\u0000\u0000\u08f4\u08f7\u0003\u00c2a\u0000\u08f5\u08f6\u0005"+
"\u016c\u0000\u0000\u08f6\u08f8\u0003\u00c2a\u0000\u08f7\u08f5\u0001\u0000"+
"\u0000\u0000\u08f7\u08f8\u0001\u0000\u0000\u0000\u08f8\u08f9\u0001\u0000"+
"\u0000\u0000\u08f9\u08fa\u0005\u00b7\u0000\u0000\u08fa\u08fe\u0001\u0000"+
"\u0000\u0000\u08fb\u08fe\u0005\u00b2\u0000\u0000\u08fc\u08fe\u0005\u0291"+
"\u0000\u0000\u08fd\u0835\u0001\u0000\u0000\u0000\u08fd\u0836\u0001\u0000"+
"\u0000\u0000\u08fd\u0840\u0001\u0000\u0000\u0000\u08fd\u0847\u0001\u0000"+
"\u0000\u0000\u08fd\u0848\u0001\u0000\u0000\u0000\u08fd\u084d\u0001\u0000"+
"\u0000\u0000\u08fd\u0855\u0001\u0000\u0000\u0000\u08fd\u0856\u0001\u0000"+
"\u0000\u0000\u08fd\u0858\u0001\u0000\u0000\u0000\u08fd\u086b\u0001\u0000"+
"\u0000\u0000\u08fd\u087e\u0001\u0000\u0000\u0000\u08fd\u0891\u0001\u0000"+
"\u0000\u0000\u08fd\u08a4\u0001\u0000\u0000\u0000\u08fd\u08b7\u0001\u0000"+
"\u0000\u0000\u08fd\u08ca\u0001\u0000\u0000\u0000\u08fd\u08d9\u0001\u0000"+
"\u0000\u0000\u08fd\u08eb\u0001\u0000\u0000\u0000\u08fd\u08f0\u0001\u0000"+
"\u0000\u0000\u08fd\u08fb\u0001\u0000\u0000\u0000\u08fd\u08fc\u0001\u0000"+
"\u0000\u0000\u08fe\u00e1\u0001\u0000\u0000\u0000\u08ff\u0900\u0003\u024c"+
"\u0126\u0000\u0900\u0902\u0005\u00b6\u0000\u0000\u0901\u0903\u0003\u00ea"+
"u\u0000\u0902\u0901\u0001\u0000\u0000\u0000\u0902\u0903\u0001\u0000\u0000"+
"\u0000\u0903\u0904\u0001\u0000\u0000\u0000\u0904\u0905\u0005\u00b7\u0000"+
"\u0000\u0905\u00e3\u0001\u0000\u0000\u0000\u0906\u0909\u0003\u00e6s\u0000"+
"\u0907\u0909\u0003\u00e8t\u0000\u0908\u0906\u0001\u0000\u0000\u0000\u0908"+
"\u0907\u0001\u0000\u0000\u0000\u0909\u00e5\u0001\u0000\u0000\u0000\u090a"+
"\u090d\u0003\u00fa}\u0000\u090b\u090d\u0003\u00e2q\u0000\u090c\u090a\u0001"+
"\u0000\u0000\u0000\u090c\u090b\u0001\u0000\u0000\u0000\u090d\u090e\u0001"+
"\u0000\u0000\u0000\u090e\u090f\u0005\u00b9\u0000\u0000\u090f\u0910\u0003"+
"\u00e2q\u0000\u0910\u00e7\u0001\u0000\u0000\u0000\u0911\u0914\u0003\u00fa"+
"}\u0000\u0912\u0914\u0003\u00e2q\u0000\u0913\u0911\u0001\u0000\u0000\u0000"+
"\u0913\u0912\u0001\u0000\u0000\u0000\u0914\u0915\u0001\u0000\u0000\u0000"+
"\u0915\u0916\u0005\u00b9\u0000\u0000\u0916\u0917\u0003\u00fa}\u0000\u0917"+
"\u00e9\u0001\u0000\u0000\u0000\u0918\u091d\u0003\u00ecv\u0000\u0919\u091a"+
"\u0005\u00b8\u0000\u0000\u091a\u091c\u0003\u00ecv\u0000\u091b\u0919\u0001"+
"\u0000\u0000\u0000\u091c\u091f\u0001\u0000\u0000\u0000\u091d\u091b\u0001"+
"\u0000\u0000\u0000\u091d\u091e\u0001\u0000\u0000\u0000\u091e\u00eb\u0001"+
"\u0000\u0000\u0000\u091f\u091d\u0001\u0000\u0000\u0000\u0920\u0926\u0004"+
"v\u0007\u0000\u0921\u0922\u0003\u00fa}\u0000\u0922\u0924\u0005\u02ac\u0000"+
"\u0000\u0923\u0925\u0005\u02b1\u0000\u0000\u0924\u0923\u0001\u0000\u0000"+
"\u0000\u0924\u0925\u0001\u0000\u0000\u0000\u0925\u0927\u0001\u0000\u0000"+
"\u0000\u0926\u0921\u0001\u0000\u0000\u0000\u0926\u0927\u0001\u0000\u0000"+
"\u0000\u0927\u0928\u0001\u0000\u0000\u0000\u0928\u0929\u0003\u00c2a\u0000"+
"\u0929\u00ed\u0001\u0000\u0000\u0000\u092a\u092b\u0005\u02bb\u0000\u0000"+
"\u092b\u092c\u0003\u00f0x\u0000\u092c\u092d\u0005\u00b5\u0000\u0000\u092d"+
"\u0930\u0001\u0000\u0000\u0000\u092e\u0930\u0003\u00f2y\u0000\u092f\u092a"+
"\u0001\u0000\u0000\u0000\u092f\u092e\u0001\u0000\u0000\u0000\u0930\u00ef"+
"\u0001\u0000\u0000\u0000\u0931\u0933\t\u0000\u0000\u0000\u0932\u0931\u0001"+
"\u0000\u0000\u0000\u0933\u0936\u0001\u0000\u0000\u0000\u0934\u0935\u0001"+
"\u0000\u0000\u0000\u0934\u0932\u0001\u0000\u0000\u0000\u0935\u00f1\u0001"+
"\u0000\u0000\u0000\u0936\u0934\u0001\u0000\u0000\u0000\u0937\u0938\u0005"+
";\u0000\u0000\u0938\u0939\u0003\u00c2a\u0000\u0939\u00f3\u0001\u0000\u0000"+
"\u0000\u093a\u0949\u0005\u02c6\u0000\u0000\u093b\u093f\u0005\u02b6\u0000"+
"\u0000\u093c\u093d\u0005\u00b9\u0000\u0000\u093d\u093f\u0005\u02b6\u0000"+
"\u0000\u093e\u093b\u0001\u0000\u0000\u0000\u093e\u093c\u0001\u0000\u0000"+
"\u0000\u093e\u093f\u0001\u0000\u0000\u0000\u093f\u0940\u0001\u0000\u0000"+
"\u0000\u0940\u0945\u0003\u00fc~\u0000\u0941\u0942\u0005\u02b6\u0000\u0000"+
"\u0942\u0944\u0003\u00fc~\u0000\u0943\u0941\u0001\u0000\u0000\u0000\u0944"+
"\u0947\u0001\u0000\u0000\u0000\u0945\u0943\u0001\u0000\u0000\u0000\u0945"+
"\u0946\u0001\u0000\u0000\u0000\u0946\u0949\u0001\u0000\u0000\u0000\u0947"+
"\u0945\u0001\u0000\u0000\u0000\u0948\u093a\u0001\u0000\u0000\u0000\u0948"+
"\u093e\u0001\u0000\u0000\u0000\u0949\u00f5\u0001\u0000\u0000\u0000\u094a"+
"\u094b\u0005\u0125\u0000\u0000\u094b\u094c\u0003\u00fe\u007f\u0000\u094c"+
"\u00f7\u0001\u0000\u0000\u0000\u094d\u094e\u0005\u0279\u0000\u0000\u094e"+
"\u094f\u0003\u00fe\u007f\u0000\u094f\u00f9\u0001\u0000\u0000\u0000\u0950"+
"\u0952\u0005\u02b4\u0000\u0000\u0951\u0950\u0001\u0000\u0000\u0000\u0951"+
"\u0952\u0001\u0000\u0000\u0000\u0952\u0956\u0001\u0000\u0000\u0000\u0953"+
"\u0957\u0005\u02cf\u0000\u0000\u0954\u0957\u0003\u0108\u0084\u0000\u0955"+
"\u0957\u0003\u02c8\u0164\u0000\u0956\u0953\u0001\u0000\u0000\u0000\u0956"+
"\u0954\u0001\u0000\u0000\u0000\u0956\u0955\u0001\u0000\u0000\u0000\u0957"+
"\u00fb\u0001\u0000\u0000\u0000\u0958\u095d\u0003\u00fa}\u0000\u0959\u095a"+
"\u0005\u00b9\u0000\u0000\u095a\u095c\u0003\u00fa}\u0000\u095b\u0959\u0001"+
"\u0000\u0000\u0000\u095c\u095f\u0001\u0000\u0000\u0000\u095d\u095b\u0001"+
"\u0000\u0000\u0000\u095d\u095e\u0001\u0000\u0000\u0000\u095e\u00fd\u0001"+
"\u0000\u0000\u0000\u095f\u095d\u0001\u0000\u0000\u0000\u0960\u0961\u0005"+
"\u02c6\u0000\u0000\u0961\u00ff\u0001\u0000\u0000\u0000\u0962\u0964\u0007"+
"\u001b\u0000\u0000\u0963\u0962\u0001\u0000\u0000\u0000\u0963\u0964\u0001"+
"\u0000\u0000\u0000\u0964\u0965\u0001\u0000\u0000\u0000\u0965\u0966\u0005"+
"\u02cb\u0000\u0000\u0966\u0101\u0001\u0000\u0000\u0000\u0967\u0969\u0007"+
"\u001b\u0000\u0000\u0968\u0967\u0001\u0000\u0000\u0000\u0968\u0969\u0001"+
"\u0000\u0000\u0000\u0969\u096a\u0001\u0000\u0000\u0000\u096a\u096b\u0005"+
"\u02cd\u0000\u0000\u096b\u0103\u0001\u0000\u0000\u0000\u096c\u096d\u0007"+
"!\u0000\u0000\u096d\u0105\u0001\u0000\u0000\u0000\u096e\u096f\u0005\u01e7"+
"\u0000\u0000\u096f\u0107\u0001\u0000\u0000\u0000\u0970\u0971\u0007\"\u0000"+
"\u0000\u0971\u0109\u0001\u0000\u0000\u0000\u0972\u0974\u0005\u00b5\u0000"+
"\u0000\u0973\u0972\u0001\u0000\u0000\u0000\u0974\u0977\u0001\u0000\u0000"+
"\u0000\u0975\u0973\u0001\u0000\u0000\u0000\u0975\u0976\u0001\u0000\u0000"+
"\u0000\u0976\u0979\u0001\u0000\u0000\u0000\u0977\u0975\u0001\u0000\u0000"+
"\u0000\u0978\u097a\u0003\u010e\u0087\u0000\u0979\u0978\u0001\u0000\u0000"+
"\u0000\u0979\u097a\u0001\u0000\u0000\u0000\u097a\u0983\u0001\u0000\u0000"+
"\u0000\u097b\u097d\u0005\u00b5\u0000\u0000\u097c\u097b\u0001\u0000\u0000"+
"\u0000\u097d\u097e\u0001\u0000\u0000\u0000\u097e\u097c\u0001\u0000\u0000"+
"\u0000\u097e\u097f\u0001\u0000\u0000\u0000\u097f\u0980\u0001\u0000\u0000"+
"\u0000\u0980\u0982\u0003\u010e\u0087\u0000\u0981\u097c\u0001\u0000\u0000"+
"\u0000\u0982\u0985\u0001\u0000\u0000\u0000\u0983\u0981\u0001\u0000\u0000"+
"\u0000\u0983\u0984\u0001\u0000\u0000\u0000\u0984\u0989\u0001\u0000\u0000"+
"\u0000\u0985\u0983\u0001\u0000\u0000\u0000\u0986\u0988\u0005\u00b5\u0000"+
"\u0000\u0987\u0986\u0001\u0000\u0000\u0000\u0988\u098b\u0001\u0000\u0000"+
"\u0000\u0989\u0987\u0001\u0000\u0000\u0000\u0989\u098a\u0001\u0000\u0000"+
"\u0000\u098a\u098c\u0001\u0000\u0000\u0000\u098b\u0989\u0001\u0000\u0000"+
"\u0000\u098c\u098d\u0005\u0000\u0000\u0001\u098d\u010b\u0001\u0000\u0000"+
"\u0000\u098e\u0990\u0005\u00b5\u0000\u0000\u098f\u098e\u0001\u0000\u0000"+
"\u0000\u0990\u0993\u0001\u0000\u0000\u0000\u0991\u098f\u0001\u0000\u0000"+
"\u0000\u0991\u0992\u0001\u0000\u0000\u0000\u0992\u0995\u0001\u0000\u0000"+
"\u0000\u0993\u0991\u0001\u0000\u0000\u0000\u0994\u0996\u0003\u010e\u0087"+
"\u0000\u0995\u0994\u0001\u0000\u0000\u0000\u0995\u0996\u0001\u0000\u0000"+
"\u0000\u0996\u099a\u0001\u0000\u0000\u0000\u0997\u0999\u0005\u00b5\u0000"+
"\u0000\u0998\u0997\u0001\u0000\u0000\u0000\u0999\u099c\u0001\u0000\u0000"+
"\u0000\u099a\u0998\u0001\u0000\u0000\u0000\u099a\u099b\u0001\u0000\u0000"+
"\u0000\u099b\u099d\u0001\u0000\u0000\u0000\u099c\u099a\u0001\u0000\u0000"+
"\u0000\u099d\u099e\u0005\u0000\u0000\u0001\u099e\u010d\u0001\u0000\u0000"+
"\u0000\u099f\u09ea\u0003\u0110\u0088\u0000\u09a0\u09a1\u0005\u00f2\u0000"+
"\u0000\u09a1\u09a2\u0003\u024c\u0126\u0000\u09a2\u09ab\u0005\u00b6\u0000"+
"\u0000\u09a3\u09a8\u0003\u0278\u013c\u0000\u09a4\u09a5\u0005\u00b8\u0000"+
"\u0000\u09a5\u09a7\u0003\u0278\u013c\u0000\u09a6\u09a4\u0001\u0000\u0000"+
"\u0000\u09a7\u09aa\u0001\u0000\u0000\u0000\u09a8\u09a6\u0001\u0000\u0000"+
"\u0000\u09a8\u09a9\u0001\u0000\u0000\u0000\u09a9\u09ac\u0001\u0000\u0000"+
"\u0000\u09aa\u09a8\u0001\u0000\u0000\u0000\u09ab\u09a3\u0001\u0000\u0000"+
"\u0000\u09ab\u09ac\u0001\u0000\u0000\u0000\u09ac\u09ad\u0001\u0000\u0000"+
"\u0000\u09ad\u09ae\u0005\u00b7\u0000\u0000\u09ae\u09ea\u0001\u0000\u0000"+
"\u0000\u09af\u09b7\u0005\u00c9\u0000\u0000\u09b0\u09b3\u0005\u0117\u0000"+
"\u0000\u09b1\u09b2\u0005\u01f0\u0000\u0000\u09b2\u09b4\u0005\u022c\u0000"+
"\u0000\u09b3\u09b1\u0001\u0000\u0000\u0000\u09b3\u09b4\u0001\u0000\u0000"+
"\u0000\u09b4\u09b7\u0001\u0000\u0000\u0000\u09b5\u09b7\u0005\u022c\u0000"+
"\u0000\u09b6\u09af\u0001\u0000\u0000\u0000\u09b6\u09b0\u0001\u0000\u0000"+
"\u0000\u09b6\u09b5\u0001\u0000\u0000\u0000\u09b7\u09b8\u0001\u0000\u0000"+
"\u0000\u09b8\u09b9\u0007\f\u0000\u0000\u09b9\u09ba\u0003\u024c\u0126\u0000"+
"\u09ba\u09be\u0005\u00b6\u0000\u0000\u09bb\u09bd\t\u0000\u0000\u0000\u09bc"+
"\u09bb\u0001\u0000\u0000\u0000\u09bd\u09c0\u0001\u0000\u0000\u0000\u09be"+
"\u09bf\u0001\u0000\u0000\u0000\u09be\u09bc\u0001\u0000\u0000\u0000\u09bf"+
"\u09c1\u0001\u0000\u0000\u0000\u09c0\u09be\u0001\u0000\u0000\u0000\u09c1"+
"\u09c5\u0005\u00b7\u0000\u0000\u09c2\u09c4\t\u0000\u0000\u0000\u09c3\u09c2"+
"\u0001\u0000\u0000\u0000\u09c4\u09c7\u0001\u0000\u0000\u0000\u09c5\u09c6"+
"\u0001\u0000\u0000\u0000\u09c5\u09c3\u0001\u0000\u0000\u0000\u09c6\u09ea"+
"\u0001\u0000\u0000\u0000\u09c7\u09c5\u0001\u0000\u0000\u0000\u09c8\u09c9"+
"\u0005\u0144\u0000\u0000\u09c9\u09cc\u0007\f\u0000\u0000\u09ca\u09cb\u0005"+
"\u018d\u0000\u0000\u09cb\u09cd\u0005\u015a\u0000\u0000\u09cc\u09ca\u0001"+
"\u0000\u0000\u0000\u09cc\u09cd\u0001\u0000\u0000\u0000\u09cd\u09ce\u0001"+
"\u0000\u0000\u0000\u09ce\u09ea\u0003\u024c\u0126\u0000\u09cf\u09d0\u0005"+
"\u0253\u0000\u0000\u09d0\u09d1\u0007#\u0000\u0000\u09d1\u09d5\u0005\u0260"+
"\u0000\u0000\u09d2\u09d3\u0005\u01b9\u0000\u0000\u09d3\u09d6\u0003\u0284"+
"\u0142\u0000\u09d4\u09d6\u0003\u01fe\u00ff\u0000\u09d5\u09d2\u0001\u0000"+
"\u0000\u0000\u09d5\u09d4\u0001\u0000\u0000\u0000\u09d5\u09d6\u0001\u0000"+
"\u0000\u0000\u09d6\u09ea\u0001\u0000\u0000\u0000\u09d7\u09d8\u0005\u0253"+
"\u0000\u0000\u09d8\u09d9\u0005\u0117\u0000\u0000\u09d9\u09da\u0005\u0212"+
"\u0000\u0000\u09da\u09ea\u0003\u024c\u0126\u0000\u09db\u09dd\u0005\u00c3"+
"\u0000\u0000\u09dc\u09db\u0001\u0000\u0000\u0000\u09dc\u09dd\u0001\u0000"+
"\u0000\u0000\u09dd\u09de\u0001\u0000\u0000\u0000\u09de\u09df\u0005\u0253"+
"\u0000\u0000\u09df\u09e0\u0007\r\u0000\u0000\u09e0\u09e3\u0005\u010d\u0000"+
"\u0000\u09e1\u09e2\u0005\u01b9\u0000\u0000\u09e2\u09e4\u0003\u0284\u0142"+
"\u0000\u09e3\u09e1\u0001\u0000\u0000\u0000\u09e3\u09e4\u0001\u0000\u0000"+
"\u0000\u09e4\u09e7\u0001\u0000\u0000\u0000\u09e5\u09e6\u0005\u0171\u0000"+
"\u0000\u09e6\u09e8\u0005\u02cb\u0000\u0000\u09e7\u09e5\u0001\u0000\u0000"+
"\u0000\u09e7\u09e8\u0001\u0000\u0000\u0000\u09e8\u09ea\u0001\u0000\u0000"+
"\u0000\u09e9\u099f\u0001\u0000\u0000\u0000\u09e9\u09a0\u0001\u0000\u0000"+
"\u0000\u09e9\u09b6\u0001\u0000\u0000\u0000\u09e9\u09c8\u0001\u0000\u0000"+
"\u0000\u09e9\u09cf\u0001\u0000\u0000\u0000\u09e9\u09d7\u0001\u0000\u0000"+
"\u0000\u09e9\u09dc\u0001\u0000\u0000\u0000\u09ea\u010f\u0001\u0000\u0000"+
"\u0000\u09eb\u09ed\u0003\u01c8\u00e4\u0000\u09ec\u09eb\u0001\u0000\u0000"+
"\u0000\u09ec\u09ed\u0001\u0000\u0000\u0000\u09ed\u09ee\u0001\u0000\u0000"+
"\u0000\u09ee\u09f0\u0003\u01ea\u00f5\u0000\u09ef\u09f1\u0003\u01e8\u00f4"+
"\u0000\u09f0\u09ef\u0001\u0000\u0000\u0000\u09f0\u09f1\u0001\u0000\u0000"+
"\u0000\u09f1\u0a0b\u0001\u0000\u0000\u0000\u09f2\u0a0b\u0003\u011a\u008d"+
"\u0000\u09f3\u0a0b\u0003\u011c\u008e\u0000\u09f4\u0a0b\u0003\u0122\u0091"+
"\u0000\u09f5\u0a0b\u0003\u0114\u008a\u0000\u09f6\u0a0b\u0003\u0116\u008b"+
"\u0000\u09f7\u0a0b\u0003\u0118\u008c\u0000\u09f8\u0a0b\u0003\u014e\u00a7"+
"\u0000\u09f9\u0a0b\u0003\u01a2\u00d1\u0000\u09fa\u0a0b\u0003\u0124\u0092"+
"\u0000\u09fb\u0a0b\u0003\u018e\u00c7\u0000\u09fc\u0a0b\u0003\u019a\u00cd"+
"\u0000\u09fd\u0a0b\u0003\u014c\u00a6\u0000\u09fe\u0a0b\u0003\u0126\u0093"+
"\u0000\u09ff\u0a0b\u0003\u0128\u0094\u0000\u0a00\u0a0b\u0003\u0152\u00a9"+
"\u0000\u0a01\u0a0b\u0003\u0158\u00ac\u0000\u0a02\u0a0b\u0003\u0156\u00ab"+
"\u0000\u0a03\u0a0b\u0003\u019c\u00ce\u0000\u0a04\u0a0b\u0003\u012c\u0096"+
"\u0000\u0a05\u0a0b\u0003\u012a\u0095\u0000\u0a06\u0a0b\u0003\u0178\u00bc"+
"\u0000\u0a07\u0a0b\u0003\u0160\u00b0\u0000\u0a08\u0a0b\u0003\u0162\u00b1"+
"\u0000\u0a09\u0a0b\u0003\u0112\u0089\u0000\u0a0a\u09ec\u0001\u0000\u0000"+
"\u0000\u0a0a\u09f2\u0001\u0000\u0000\u0000\u0a0a\u09f3\u0001\u0000\u0000"+
"\u0000\u0a0a\u09f4\u0001\u0000\u0000\u0000\u0a0a\u09f5\u0001\u0000\u0000"+
"\u0000\u0a0a\u09f6\u0001\u0000\u0000\u0000\u0a0a\u09f7\u0001\u0000\u0000"+
"\u0000\u0a0a\u09f8\u0001\u0000\u0000\u0000\u0a0a\u09f9\u0001\u0000\u0000"+
"\u0000\u0a0a\u09fa\u0001\u0000\u0000\u0000\u0a0a\u09fb\u0001\u0000\u0000"+
"\u0000\u0a0a\u09fc\u0001\u0000\u0000\u0000\u0a0a\u09fd\u0001\u0000\u0000"+
"\u0000\u0a0a\u09fe\u0001\u0000\u0000\u0000\u0a0a\u09ff\u0001\u0000\u0000"+
"\u0000\u0a0a\u0a00\u0001\u0000\u0000\u0000\u0a0a\u0a01\u0001\u0000\u0000"+
"\u0000\u0a0a\u0a02\u0001\u0000\u0000\u0000\u0a0a\u0a03\u0001\u0000\u0000"+
"\u0000\u0a0a\u0a04\u0001\u0000\u0000\u0000\u0a0a\u0a05\u0001\u0000\u0000"+
"\u0000\u0a0a\u0a06\u0001\u0000\u0000\u0000\u0a0a\u0a07\u0001\u0000\u0000"+
"\u0000\u0a0a\u0a08\u0001\u0000\u0000\u0000\u0a0a\u0a09\u0001\u0000\u0000"+
"\u0000\u0a0b\u0111\u0001\u0000\u0000\u0000\u0a0c\u0a16\u0003\u019e\u00cf"+
"\u0000\u0a0d\u0a16\u0003\u017a\u00bd\u0000\u0a0e\u0a16\u0003\u0168\u00b4"+
"\u0000\u0a0f\u0a16\u0003\u015a\u00ad\u0000\u0a10\u0a16\u0003\u0154\u00aa"+
"\u0000\u0a11\u0a16\u0003\u0150\u00a8\u0000\u0a12\u0a16\u0003\u0138\u009c"+
"\u0000\u0a13\u0a16\u0003\u0134\u009a\u0000\u0a14\u0a16\u0003\u012e\u0097"+
"\u0000\u0a15\u0a0c\u0001\u0000\u0000\u0000\u0a15\u0a0d\u0001\u0000\u0000"+
"\u0000\u0a15\u0a0e\u0001\u0000\u0000\u0000\u0a15\u0a0f\u0001\u0000\u0000"+
"\u0000\u0a15\u0a10\u0001\u0000\u0000\u0000\u0a15\u0a11\u0001\u0000\u0000"+
"\u0000\u0a15\u0a12\u0001\u0000\u0000\u0000\u0a15\u0a13\u0001\u0000\u0000"+
"\u0000\u0a15\u0a14\u0001\u0000\u0000\u0000\u0a16\u0113\u0001\u0000\u0000"+
"\u0000\u0a17\u0a18\u0005\u0117\u0000\u0000\u0a18\u0a19\u0005\u01cf\u0000"+
"\u0000\u0a19\u0a1d\u0005\u029e\u0000\u0000\u0a1a\u0a1b\u0005\u018d\u0000"+
"\u0000\u0a1b\u0a1c\u0005\u01e6\u0000\u0000\u0a1c\u0a1e\u0005\u015a\u0000"+
"\u0000\u0a1d\u0a1a\u0001\u0000\u0000\u0000\u0a1d\u0a1e\u0001\u0000\u0000"+
"\u0000\u0a1e\u0a1f\u0001\u0000\u0000\u0000\u0a1f\u0a24\u0003\u024c\u0126"+
"\u0000\u0a20\u0a21\u0005\u00b6\u0000\u0000\u0a21\u0a22\u0003\u024e\u0127"+
"\u0000\u0a22\u0a23\u0005\u00b7\u0000\u0000\u0a23\u0a25\u0001\u0000\u0000"+
"\u0000\u0a24\u0a20\u0001\u0000\u0000\u0000\u0a24\u0a25\u0001\u0000\u0000"+
"\u0000\u0a25\u0a27\u0001\u0000\u0000\u0000\u0a26\u0a28\u0003\u01b2\u00d9"+
"\u0000\u0a27\u0a26\u0001\u0000\u0000\u0000\u0a27\u0a28\u0001\u0000\u0000"+
"\u0000\u0a28\u0a30\u0001\u0000\u0000\u0000\u0a29\u0a2b\u0005\u0225\u0000"+
"\u0000\u0a2a\u0a2c\u0003\u01b8\u00dc\u0000\u0a2b\u0a2a\u0001\u0000\u0000"+
"\u0000\u0a2b\u0a2c\u0001\u0000\u0000\u0000\u0a2c\u0a2e\u0001\u0000\u0000"+
"\u0000\u0a2d\u0a2f\u0003\u01b4\u00da\u0000\u0a2e\u0a2d\u0001\u0000\u0000"+
"\u0000\u0a2e\u0a2f\u0001\u0000\u0000\u0000\u0a2f\u0a31\u0001\u0000\u0000"+
"\u0000\u0a30\u0a29\u0001\u0000\u0000\u0000\u0a30\u0a31\u0001\u0000\u0000"+
"\u0000\u0a31\u0a37\u0001\u0000\u0000\u0000\u0a32\u0a34\u0005\u0148\u0000"+
"\u0000\u0a33\u0a32\u0001\u0000\u0000\u0000\u0a33\u0a34\u0001\u0000\u0000"+
"\u0000\u0a34\u0a35\u0001\u0000\u0000\u0000\u0a35\u0a36\u0005\u01ac\u0000"+
"\u0000\u0a36\u0a38\u0003\u0236\u011b\u0000\u0a37\u0a33\u0001\u0000\u0000"+
"\u0000\u0a37\u0a38\u0001\u0000\u0000\u0000\u0a38\u0a3b\u0001\u0000\u0000"+
"\u0000\u0a39\u0a3a\u0005\u0105\u0000\u0000\u0a3a\u0a3c\u0005\u02c6\u0000"+
"\u0000\u0a3b\u0a39\u0001\u0000\u0000\u0000\u0a3b\u0a3c\u0001\u0000\u0000"+
"\u0000\u0a3c\u0a43\u0001\u0000\u0000\u0000\u0a3d\u0a3e\u0005\u01f8\u0000"+
"\u0000\u0a3e\u0a3f\u0005\u00ef\u0000\u0000\u0a3f\u0a40\u0005\u00b6\u0000"+
"\u0000\u0a40\u0a41\u0003\u01ba\u00dd\u0000\u0a41\u0a42\u0005\u00b7\u0000"+
"\u0000\u0a42\u0a44\u0001\u0000\u0000\u0000\u0a43\u0a3d\u0001\u0000\u0000"+
"\u0000\u0a43\u0a44\u0001\u0000\u0000\u0000\u0a44\u0a50\u0001\u0000\u0000"+
"\u0000\u0a45\u0a46\u0005\u013e\u0000\u0000\u0a46\u0a4a\u0005\u00ef\u0000"+
"\u0000\u0a47\u0a48\u0005\u0180\u0000\u0000\u0a48\u0a4b\u0003\u0236\u011b"+
"\u0000\u0a49\u0a4b\u0005\u021d\u0000\u0000\u0a4a\u0a47\u0001\u0000\u0000"+
"\u0000\u0a4a\u0a49\u0001\u0000\u0000\u0000\u0a4b\u0a4e\u0001\u0000\u0000"+
"\u0000\u0a4c\u0a4d\u0005\u00eb\u0000\u0000\u0a4d\u0a4f\u0007$\u0000\u0000"+
"\u0a4e\u0a4c\u0001\u0000\u0000\u0000\u0a4e\u0a4f\u0001\u0000\u0000\u0000"+
"\u0a4f\u0a51\u0001\u0000\u0000\u0000\u0a50\u0a45\u0001\u0000\u0000\u0000"+
"\u0a50\u0a51\u0001\u0000\u0000\u0000\u0a51\u0a53\u0001\u0000\u0000\u0000"+
"\u0a52\u0a54\u0003\u0240\u0120\u0000\u0a53\u0a52\u0001\u0000\u0000\u0000"+
"\u0a53\u0a54\u0001\u0000\u0000\u0000\u0a54\u0a55\u0001\u0000\u0000\u0000"+
"\u0a55\u0a56\u0005\u00d0\u0000\u0000\u0a56\u0a57\u0003\u01ea\u00f5\u0000"+
"\u0a57\u0aa3\u0001\u0000\u0000\u0000\u0a58\u0a59\u0005\u0225\u0000\u0000"+
"\u0a59\u0a5a\u0005\u01cf\u0000\u0000\u0a5a\u0a5b\u0005\u029e\u0000\u0000"+
"\u0a5b\u0a5f\u0003\u024c\u0126\u0000\u0a5c\u0a60\u0003\u01a6\u00d3\u0000"+
"\u0a5d\u0a60\u0005\u0109\u0000\u0000\u0a5e\u0a60\u0005\u00d4\u0000\u0000"+
"\u0a5f\u0a5c\u0001\u0000\u0000\u0000\u0a5f\u0a5d\u0001\u0000\u0000\u0000"+
"\u0a5f\u0a5e\u0001\u0000\u0000\u0000\u0a60\u0aa3\u0001\u0000\u0000\u0000"+
"\u0a61\u0a62\u0005\u00c9\u0000\u0000\u0a62\u0a63\u0005\u01cf\u0000\u0000"+
"\u0a63\u0a64\u0005\u029e\u0000\u0000\u0a64\u0a7c\u0003\u024c\u0126\u0000"+
"\u0a65\u0a66\u0005\u0229\u0000\u0000\u0a66\u0a7d\u0003\u02c0\u0160\u0000"+
"\u0a67\u0a6d\u0005\u0225\u0000\u0000\u0a68\u0a6e\u0003\u01b8\u00dc\u0000"+
"\u0a69\u0a6e\u0003\u01b4\u00da\u0000\u0a6a\u0a6b\u0003\u01b8\u00dc\u0000"+
"\u0a6b\u0a6c\u0003\u01b4\u00da\u0000\u0a6c\u0a6e\u0001\u0000\u0000\u0000"+
"\u0a6d\u0a68\u0001\u0000\u0000\u0000\u0a6d\u0a69\u0001\u0000\u0000\u0000"+
"\u0a6d\u0a6a\u0001\u0000\u0000\u0000\u0a6e\u0a7d\u0001\u0000\u0000\u0000"+
"\u0a6f\u0a70\u0005\u022c\u0000\u0000\u0a70\u0a71\u0005\u02a6\u0000\u0000"+
"\u0a71\u0a72\u0005\u01cf\u0000\u0000\u0a72\u0a73\u0005\u029e\u0000\u0000"+
"\u0a73\u0a75\u0003\u02c0\u0160\u0000\u0a74\u0a76\u0003\u0240\u0120\u0000"+
"\u0a75\u0a74\u0001\u0000\u0000\u0000\u0a75\u0a76\u0001\u0000\u0000\u0000"+
"\u0a76\u0a7d\u0001\u0000\u0000\u0000\u0a77\u0a78\u0005\u024f\u0000\u0000"+
"\u0a78\u0a79\u0005\u00b6\u0000\u0000\u0a79\u0a7a\u0003\u0242\u0121\u0000"+
"\u0a7a\u0a7b\u0005\u00b7\u0000\u0000\u0a7b\u0a7d\u0001\u0000\u0000\u0000"+
"\u0a7c\u0a65\u0001\u0000\u0000\u0000\u0a7c\u0a67\u0001\u0000\u0000\u0000"+
"\u0a7c\u0a6f\u0001\u0000\u0000\u0000\u0a7c\u0a77\u0001\u0000\u0000\u0000"+
"\u0a7d\u0aa3\u0001\u0000\u0000\u0000\u0a7e\u0a7f\u0005\u0144\u0000\u0000"+
"\u0a7f\u0a80\u0005\u01cf\u0000\u0000\u0a80\u0a83\u0005\u029e\u0000\u0000"+
"\u0a81\u0a82\u0005\u018d\u0000\u0000\u0a82\u0a84\u0005\u015a\u0000\u0000"+
"\u0a83\u0a81\u0001\u0000\u0000\u0000\u0a83\u0a84\u0001\u0000\u0000\u0000"+
"\u0a84\u0a85\u0001\u0000\u0000\u0000\u0a85\u0a88\u0003\u024c\u0126\u0000"+
"\u0a86\u0a87\u0005\u01ec\u0000\u0000\u0a87\u0a89\u0003\u024c\u0126\u0000"+
"\u0a88\u0a86\u0001\u0000\u0000\u0000\u0a88\u0a89\u0001\u0000\u0000\u0000"+
"\u0a89\u0aa3\u0001\u0000\u0000\u0000\u0a8a\u0a8b\u0005\u0200\u0000\u0000"+
"\u0a8b\u0a8c\u0005\u01cf\u0000\u0000\u0a8c\u0a8d\u0005\u029e\u0000\u0000"+
"\u0a8d\u0a8e\u0005\u01a7\u0000\u0000\u0a8e\u0a8f\u0005\u01ec\u0000\u0000"+
"\u0a8f\u0aa3\u0003\u024c\u0126\u0000\u0a90\u0a91\u0005\u0236\u0000\u0000"+
"\u0a91\u0a92\u0005\u01cf\u0000\u0000\u0a92\u0a93\u0005\u029e\u0000\u0000"+
"\u0a93\u0a94\u0005\u01a7\u0000\u0000\u0a94\u0a95\u0005\u01ec\u0000\u0000"+
"\u0a95\u0aa3\u0003\u024c\u0126\u0000\u0a96\u0a97\u0005\u00f3\u0000\u0000"+
"\u0a97\u0a98\u0005\u01cf\u0000\u0000\u0a98\u0a99\u0005\u029e\u0000\u0000"+
"\u0a99\u0a9a\u0005\u0271\u0000\u0000\u0a9a\u0a9b\u0005\u02cb\u0000\u0000"+
"\u0a9b\u0a9c\u0005\u01ec\u0000\u0000\u0a9c\u0aa3\u0003\u024c\u0126\u0000"+
"\u0a9d\u0a9e\u0005\u0253\u0000\u0000\u0a9e\u0a9f\u0005\u0117\u0000\u0000"+
"\u0a9f\u0aa0\u0005\u01cf\u0000\u0000\u0aa0\u0aa1\u0005\u029e\u0000\u0000"+
"\u0aa1\u0aa3\u0003\u024c\u0126\u0000\u0aa2\u0a17\u0001\u0000\u0000\u0000"+
"\u0aa2\u0a58\u0001\u0000\u0000\u0000\u0aa2\u0a61\u0001\u0000\u0000\u0000"+
"\u0aa2\u0a7e\u0001\u0000\u0000\u0000\u0aa2\u0a8a\u0001\u0000\u0000\u0000"+
"\u0aa2\u0a90\u0001\u0000\u0000\u0000\u0aa2\u0a96\u0001\u0000\u0000\u0000"+
"\u0aa2\u0a9d\u0001\u0000\u0000\u0000\u0aa3\u0115\u0001\u0000\u0000\u0000"+
"\u0aa4\u0aa5\u0005\u0117\u0000\u0000\u0aa5\u0aa6\u0005\u01a7\u0000\u0000"+
"\u0aa6\u0aa7\u0003\u024c\u0126\u0000\u0aa7\u0aa8\u0005\u01ec\u0000\u0000"+
"\u0aa8\u0abc\u0005\u0245\u0000\u0000\u0aa9\u0aaa\u0005\u0156\u0000\u0000"+
"\u0aaa\u0aab\u0005\u02cb\u0000\u0000\u0aab\u0ab1\u0003\u02c0\u0160\u0000"+
"\u0aac\u0aaf\u0005\u025e\u0000\u0000\u0aad\u0ab0\u0005\u02c6\u0000\u0000"+
"\u0aae\u0ab0\u0005\u0120\u0000\u0000\u0aaf\u0aad\u0001\u0000\u0000\u0000"+
"\u0aaf\u0aae\u0001\u0000\u0000\u0000\u0ab0\u0ab2\u0001\u0000\u0000\u0000"+
"\u0ab1\u0aac\u0001\u0000\u0000\u0000\u0ab1\u0ab2\u0001\u0000\u0000\u0000"+
"\u0ab2\u0ab5\u0001\u0000\u0000\u0000\u0ab3\u0ab4\u0005\u0150\u0000\u0000"+
"\u0ab4\u0ab6\u0005\u02c6\u0000\u0000\u0ab5\u0ab3\u0001\u0000\u0000\u0000"+
"\u0ab5\u0ab6\u0001\u0000\u0000\u0000\u0ab6\u0abd\u0001\u0000\u0000\u0000"+
"\u0ab7\u0aba\u0005\u00d2\u0000\u0000\u0ab8\u0abb\u0005\u02c6\u0000\u0000"+
"\u0ab9\u0abb\u0005\u0120\u0000\u0000\u0aba\u0ab8\u0001\u0000\u0000\u0000"+
"\u0aba\u0ab9\u0001\u0000\u0000\u0000\u0abb\u0abd\u0001\u0000\u0000\u0000"+
"\u0abc\u0aa9\u0001\u0000\u0000\u0000\u0abc\u0ab7\u0001\u0000\u0000\u0000"+
"\u0abd\u0abf\u0001\u0000\u0000\u0000\u0abe\u0ac0\u0003\u02b4\u015a\u0000"+
"\u0abf\u0abe\u0001\u0000\u0000\u0000\u0abf\u0ac0\u0001\u0000\u0000\u0000"+
"\u0ac0\u0ac1\u0001\u0000\u0000\u0000\u0ac1\u0ac2\u0005\u0141\u0000\u0000"+
"\u0ac2\u0ac3\u0003\u011a\u008d\u0000\u0ac3\u0ae9\u0001\u0000\u0000\u0000"+
"\u0ac4\u0ac5\u0005\u0200\u0000\u0000\u0ac5\u0ac6\u0005\u01a7\u0000\u0000"+
"\u0ac6\u0ac7\u0005\u02a4\u0000\u0000\u0ac7\u0ac8\u0003\u02c0\u0160\u0000"+
"\u0ac8\u0ac9\u0005\u02ac\u0000\u0000\u0ac9\u0aca\u0005\u02c6\u0000\u0000"+
"\u0aca\u0ae9\u0001\u0000\u0000\u0000\u0acb\u0acc\u0005\u0144\u0000\u0000"+
"\u0acc\u0acf\u0005\u01a7\u0000\u0000\u0acd\u0ace\u0005\u018d\u0000\u0000"+
"\u0ace\u0ad0\u0005\u015a\u0000\u0000\u0acf\u0acd\u0001\u0000\u0000\u0000"+
"\u0acf\u0ad0\u0001\u0000\u0000\u0000\u0ad0\u0ad1\u0001\u0000\u0000\u0000"+
"\u0ad1\u0ad2\u0005\u02a4\u0000\u0000\u0ad2\u0ad3\u0003\u02c0\u0160\u0000"+
"\u0ad3\u0ad4\u0005\u02ac\u0000\u0000\u0ad4\u0ad5\u0005\u02c6\u0000\u0000"+
"\u0ad5\u0ae9\u0001\u0000\u0000\u0000\u0ad6\u0ad7\u0005\u0236\u0000\u0000"+
"\u0ad7\u0ad8\u0005\u01a7\u0000\u0000\u0ad8\u0ad9\u0005\u02a4\u0000\u0000"+
"\u0ad9\u0ada\u0003\u02c0\u0160\u0000\u0ada\u0adb\u0005\u02ac\u0000\u0000"+
"\u0adb\u0adc\u0005\u02c6\u0000\u0000\u0adc\u0ae9\u0001\u0000\u0000\u0000"+
"\u0add\u0ade\u0005\u00f3\u0000\u0000\u0ade\u0adf\u0005\u0271\u0000\u0000"+
"\u0adf\u0ae0\u0005\u02a4\u0000\u0000\u0ae0\u0ae1\u0003\u02c0\u0160\u0000"+
"\u0ae1\u0ae2\u0005\u02ac\u0000\u0000\u0ae2\u0ae3\u0005\u02c6\u0000\u0000"+
"\u0ae3\u0ae4\u0005\u00cc\u0000\u0000\u0ae4\u0ae5\u0003\u02c0\u0160\u0000"+
"\u0ae5\u0ae6\u0005\u02ac\u0000\u0000\u0ae6\u0ae7\u0005\u02cb\u0000\u0000"+
"\u0ae7\u0ae9\u0001\u0000\u0000\u0000\u0ae8\u0aa4\u0001\u0000\u0000\u0000"+
"\u0ae8\u0ac4\u0001\u0000\u0000\u0000\u0ae8\u0acb\u0001\u0000\u0000\u0000"+
"\u0ae8\u0ad6\u0001\u0000\u0000\u0000\u0ae8\u0add\u0001\u0000\u0000\u0000"+
"\u0ae9\u0117\u0001\u0000\u0000\u0000\u0aea\u0aeb\u0005\u00c9\u0000\u0000"+
"\u0aeb\u0aec\u0005\u026c\u0000\u0000\u0aec\u0aed\u0003\u024c\u0126\u0000"+
"\u0aed\u0aee\u0005\u00c2\u0000\u0000\u0aee\u0aef\u0005\u0111\u0000\u0000"+
"\u0aef\u0af0\u0003\u02bc\u015e\u0000\u0af0\u0af1\u0003\u01a4\u00d2\u0000"+
"\u0af1\u0afe\u0001\u0000\u0000\u0000\u0af2\u0af3\u0005\u00c9\u0000\u0000"+
"\u0af3\u0af4\u0005\u026c\u0000\u0000\u0af4\u0af5\u0003\u024c\u0126\u0000"+
"\u0af5\u0af6\u0005\u0144\u0000\u0000\u0af6\u0af7\u0005\u0111\u0000\u0000"+
"\u0af7\u0af8\u0003\u02bc\u015e\u0000\u0af8\u0afe\u0001\u0000\u0000\u0000"+
"\u0af9\u0afa\u0005\u0253\u0000\u0000\u0afa\u0afb\u0005\u0112\u0000\u0000"+
"\u0afb\u0afc\u0005\u0171\u0000\u0000\u0afc\u0afe\u0003\u024c\u0126\u0000"+
"\u0afd\u0aea\u0001\u0000\u0000\u0000\u0afd\u0af2\u0001\u0000\u0000\u0000"+
"\u0afd\u0af9\u0001\u0000\u0000\u0000\u0afe\u0119\u0001\u0000\u0000\u0000"+
"\u0aff\u0b01\u0003\u01c8\u00e4\u0000\u0b00\u0aff\u0001\u0000\u0000\u0000"+
"\u0b00\u0b01\u0001\u0000\u0000\u0000\u0b01\u0b03\u0001\u0000\u0000\u0000"+
"\u0b02\u0b04\u0003\u01f4\u00fa\u0000\u0b03\u0b02\u0001\u0000\u0000\u0000"+
"\u0b03\u0b04\u0001\u0000\u0000\u0000\u0b04\u0b05\u0001\u0000\u0000\u0000"+
"\u0b05\u0b09\u0005\u0196\u0000\u0000\u0b06\u0b0a\u0005\u019d\u0000\u0000"+
"\u0b07\u0b08\u0005\u01f5\u0000\u0000\u0b08\u0b0a\u0005\u026c\u0000\u0000"+
"\u0b09\u0b06\u0001\u0000\u0000\u0000\u0b09\u0b07\u0001\u0000\u0000\u0000"+
"\u0b0a\u0b10\u0001\u0000\u0000\u0000\u0b0b\u0b11\u0003\u024c\u0126\u0000"+
"\u0b0c\u0b0d\u0005\u0142\u0000\u0000\u0b0d\u0b0e\u0005\u00b6\u0000\u0000"+
"\u0b0e\u0b0f\u0005\u02cb\u0000\u0000\u0b0f\u0b11\u0005\u00b7\u0000\u0000"+
"\u0b10\u0b0b\u0001\u0000\u0000\u0000\u0b10\u0b0c\u0001\u0000\u0000\u0000"+
"\u0b11\u0b13\u0001\u0000\u0000\u0000\u0b12\u0b14\u0003\u01a6\u00d3\u0000"+
"\u0b13\u0b12\u0001\u0000\u0000\u0000\u0b13\u0b14\u0001\u0000\u0000\u0000"+
"\u0b14\u0b18\u0001\u0000\u0000\u0000\u0b15\u0b16\u0005\u02a6\u0000\u0000"+
"\u0b16\u0b17\u0005\u01af\u0000\u0000\u0b17\u0b19\u0003\u02c0\u0160\u0000"+
"\u0b18\u0b15\u0001\u0000\u0000\u0000\u0b18\u0b19\u0001\u0000\u0000\u0000"+
"\u0b19\u0b1b\u0001\u0000\u0000\u0000\u0b1a\u0b1c\u0003\u0236\u011b\u0000"+
"\u0b1b\u0b1a\u0001\u0000\u0000\u0000\u0b1b\u0b1c\u0001\u0000\u0000\u0000"+
"\u0b1c\u0b21\u0001\u0000\u0000\u0000\u0b1d\u0b1e\u0005\u00bb\u0000\u0000"+
"\u0b1e\u0b1f\u0003\u0238\u011c\u0000\u0b1f\u0b20\u0005\u00bc\u0000\u0000"+
"\u0b20\u0b22\u0001\u0000\u0000\u0000\u0b21\u0b1d\u0001\u0000\u0000\u0000"+
"\u0b21\u0b22\u0001\u0000\u0000\u0000\u0b22\u0b23\u0001\u0000\u0000\u0000"+
"\u0b23\u0b96\u0003\u01ea\u00f5\u0000\u0b24\u0b26\u0003\u01c8\u00e4\u0000"+
"\u0b25\u0b24\u0001\u0000\u0000\u0000\u0b25\u0b26\u0001\u0000\u0000\u0000"+
"\u0b26\u0b28\u0001\u0000\u0000\u0000\u0b27\u0b29\u0003\u01f4\u00fa\u0000"+
"\u0b28\u0b27\u0001\u0000\u0000\u0000\u0b28\u0b29\u0001\u0000\u0000\u0000"+
"\u0b29\u0b2a\u0001\u0000\u0000\u0000\u0b2a\u0b2b\u0005\u028f\u0000\u0000"+
"\u0b2b\u0b2c\u0003\u024c\u0126\u0000\u0b2c\u0b2d\u0003\u024a\u0125\u0000"+
"\u0b2d\u0b2e\u0005\u024f\u0000\u0000\u0b2e\u0b30\u0003\u0224\u0112\u0000"+
"\u0b2f\u0b31\u0003\u0200\u0100\u0000\u0b30\u0b2f\u0001\u0000\u0000\u0000"+
"\u0b30\u0b31\u0001\u0000\u0000\u0000\u0b31\u0b33\u0001\u0000\u0000\u0000"+
"\u0b32\u0b34\u0003\u01fe\u00ff\u0000\u0b33\u0b32\u0001\u0000\u0000\u0000"+
"\u0b33\u0b34\u0001\u0000\u0000\u0000\u0b34\u0b96\u0001\u0000\u0000\u0000"+
"\u0b35\u0b37\u0003\u01c8\u00e4\u0000\u0b36\u0b35\u0001\u0000\u0000\u0000"+
"\u0b36\u0b37\u0001\u0000\u0000\u0000\u0b37\u0b39\u0001\u0000\u0000\u0000"+
"\u0b38\u0b3a\u0003\u01f4\u00fa\u0000\u0b39\u0b38\u0001\u0000\u0000\u0000"+
"\u0b39\u0b3a\u0001\u0000\u0000\u0000\u0b3a\u0b3b\u0001\u0000\u0000\u0000"+
"\u0b3b\u0b3c\u0005\u0132\u0000\u0000\u0b3c\u0b3d\u0005\u0171\u0000\u0000"+
"\u0b3d\u0b3f\u0003\u024c\u0126\u0000\u0b3e\u0b40\u0003\u01a6\u00d3\u0000"+
"\u0b3f\u0b3e\u0001\u0000\u0000\u0000\u0b3f\u0b40\u0001\u0000\u0000\u0000"+
"\u0b40\u0b41\u0001\u0000\u0000\u0000\u0b41\u0b44\u0003\u024a\u0125\u0000"+
"\u0b42\u0b43\u0005\u0293\u0000\u0000\u0b43\u0b45\u0003\u0208\u0104\u0000"+
"\u0b44\u0b42\u0001\u0000\u0000\u0000\u0b44\u0b45\u0001\u0000\u0000\u0000"+
"\u0b45\u0b47\u0001\u0000\u0000\u0000\u0b46\u0b48\u0003\u01fe\u00ff\u0000"+
"\u0b47\u0b46\u0001\u0000\u0000\u0000\u0b47\u0b48\u0001\u0000\u0000\u0000"+
"\u0b48\u0b96\u0001\u0000\u0000\u0000\u0b49\u0b4a\u0005\u01be\u0000\u0000"+
"\u0b4a\u0b4b\u0005\u01af\u0000\u0000\u0b4b\u0b4c\u0003\u024c\u0126\u0000"+
"\u0b4c\u0b4d\u0005\u00b6\u0000\u0000\u0b4d\u0b52\u0003\u01ae\u00d7\u0000"+
"\u0b4e\u0b4f\u0005\u00b8\u0000\u0000\u0b4f\u0b51\u0003\u01ae\u00d7\u0000"+
"\u0b50\u0b4e\u0001\u0000\u0000\u0000\u0b51\u0b54\u0001\u0000\u0000\u0000"+
"\u0b52\u0b50\u0001\u0000\u0000\u0000\u0b52\u0b53\u0001\u0000\u0000\u0000"+
"\u0b53\u0b55\u0001\u0000\u0000\u0000\u0b54\u0b52\u0001\u0000\u0000\u0000"+
"\u0b55\u0b57\u0005\u00b7\u0000\u0000\u0b56\u0b58\u0003\u01e0\u00f0\u0000"+
"\u0b57\u0b56\u0001\u0000\u0000\u0000\u0b57\u0b58\u0001\u0000\u0000\u0000"+
"\u0b58\u0b5a\u0001\u0000\u0000\u0000\u0b59\u0b5b\u0003\u0240\u0120\u0000"+
"\u0b5a\u0b59\u0001\u0000\u0000\u0000\u0b5a\u0b5b\u0001\u0000\u0000\u0000"+
"\u0b5b\u0b5d\u0001\u0000\u0000\u0000\u0b5c\u0b5e\u0003\u02b4\u015a\u0000"+
"\u0b5d\u0b5c\u0001\u0000\u0000\u0000\u0b5d\u0b5e\u0001\u0000\u0000\u0000"+
"\u0b5e\u0b96\u0001\u0000\u0000\u0000\u0b5f\u0b60\u0005\u015d\u0000\u0000"+
"\u0b60\u0b61\u0005\u026c\u0000\u0000\u0b61\u0b64\u0003\u024c\u0126\u0000"+
"\u0b62\u0b63\u0005\u01f8\u0000\u0000\u0b63\u0b65\u0003\u0236\u011b\u0000"+
"\u0b64\u0b62\u0001\u0000\u0000\u0000\u0b64\u0b65\u0001\u0000\u0000\u0000"+
"\u0b65\u0b67\u0001\u0000\u0000\u0000\u0b66\u0b68\u0003\u01fe\u00ff\u0000"+
"\u0b67\u0b66\u0001\u0000\u0000\u0000\u0b67\u0b68\u0001\u0000\u0000\u0000"+
"\u0b68\u0b69\u0001\u0000\u0000\u0000\u0b69\u0b6a\u0005\u027b\u0000\u0000"+
"\u0b6a\u0b6c\u0005\u02c6\u0000\u0000\u0b6b\u0b6d\u0003\u0240\u0120\u0000"+
"\u0b6c\u0b6b\u0001\u0000\u0000\u0000\u0b6c\u0b6d\u0001\u0000\u0000\u0000"+
"\u0b6d\u0b6f\u0001\u0000\u0000\u0000\u0b6e\u0b70\u0003\u01e0\u00f0\u0000"+
"\u0b6f\u0b6e\u0001\u0000\u0000\u0000\u0b6f\u0b70\u0001\u0000\u0000\u0000"+
"\u0b70\u0b96\u0001\u0000\u0000\u0000\u0b71\u0b96\u0003\u01ce\u00e7\u0000"+
"\u0b72\u0b73\u0005\u0115\u0000\u0000\u0b73\u0b75\u0005\u019d\u0000\u0000"+
"\u0b74\u0b76\u0003\u021c\u010e\u0000\u0b75\u0b74\u0001\u0000\u0000\u0000"+
"\u0b75\u0b76\u0001\u0000\u0000\u0000\u0b76\u0b77\u0001\u0000\u0000\u0000"+
"\u0b77\u0b79\u0003\u024c\u0126\u0000\u0b78\u0b7a\u0003\u0236\u011b\u0000"+
"\u0b79\u0b78\u0001\u0000\u0000\u0000\u0b79\u0b7a\u0001\u0000\u0000\u0000"+
"\u0b7a\u0b7b\u0001\u0000\u0000\u0000\u0b7b\u0b87\u0005\u0171\u0000\u0000"+
"\u0b7c\u0b88\u0003\u01a0\u00d0\u0000\u0b7d\u0b7e\u0005\u00b6\u0000\u0000"+
"\u0b7e\u0b7f\u0005\u024a\u0000\u0000\u0b7f\u0b80\u0003\u01fc\u00fe\u0000"+
"\u0b80\u0b81\u0005\u0171\u0000\u0000\u0b81\u0b83\u0003\u01a0\u00d0\u0000"+
"\u0b82\u0b84\u0003\u01fe\u00ff\u0000\u0b83\u0b82\u0001\u0000\u0000\u0000"+
"\u0b83\u0b84\u0001\u0000\u0000\u0000\u0b84\u0b85\u0001\u0000\u0000\u0000"+
"\u0b85\u0b86\u0005\u00b7\u0000\u0000\u0b86\u0b88\u0001\u0000\u0000\u0000"+
"\u0b87\u0b7c\u0001\u0000\u0000\u0000\u0b87\u0b7d\u0001\u0000\u0000\u0000"+
"\u0b88\u0b8a\u0001\u0000\u0000\u0000\u0b89\u0b8b\u0003\u0240\u0120\u0000"+
"\u0b8a\u0b89\u0001\u0000\u0000\u0000\u0b8a\u0b8b\u0001\u0000\u0000\u0000"+
"\u0b8b\u0b96\u0001\u0000\u0000\u0000\u0b8c\u0b8d\u0005\u0282\u0000\u0000"+
"\u0b8d\u0b8e\u0005\u026c\u0000\u0000\u0b8e\u0b90\u0003\u024c\u0126\u0000"+
"\u0b8f\u0b91\u0003\u029c\u014e\u0000\u0b90\u0b8f\u0001\u0000\u0000\u0000"+
"\u0b90\u0b91\u0001\u0000\u0000\u0000\u0b91\u0b93\u0001\u0000\u0000\u0000"+
"\u0b92\u0b94\u0005\u016e\u0000\u0000\u0b93\u0b92\u0001\u0000\u0000\u0000"+
"\u0b93\u0b94\u0001\u0000\u0000\u0000\u0b94\u0b96\u0001\u0000\u0000\u0000"+
"\u0b95\u0b00\u0001\u0000\u0000\u0000\u0b95\u0b25\u0001\u0000\u0000\u0000"+
"\u0b95\u0b36\u0001\u0000\u0000\u0000\u0b95\u0b49\u0001\u0000\u0000\u0000"+
"\u0b95\u0b5f\u0001\u0000\u0000\u0000\u0b95\u0b71\u0001\u0000\u0000\u0000"+
"\u0b95\u0b72\u0001\u0000\u0000\u0000\u0b95\u0b8c\u0001\u0000\u0000\u0000"+
"\u0b96\u011b\u0001\u0000\u0000\u0000\u0b97\u0b99\u0005\u0117\u0000\u0000"+
"\u0b98\u0b9a\u0007%\u0000\u0000\u0b99\u0b98\u0001\u0000\u0000\u0000\u0b99"+
"\u0b9a\u0001\u0000\u0000\u0000\u0b9a\u0b9b\u0001\u0000\u0000\u0000\u0b9b"+
"\u0b9f\u0005\u026c\u0000\u0000\u0b9c\u0b9d\u0005\u018d\u0000\u0000\u0b9d"+
"\u0b9e\u0005\u01e6\u0000\u0000\u0b9e\u0ba0\u0005\u015a\u0000\u0000\u0b9f"+
"\u0b9c\u0001\u0000\u0000\u0000\u0b9f\u0ba0\u0001\u0000\u0000\u0000\u0ba0"+
"\u0ba1\u0001\u0000\u0000\u0000\u0ba1\u0bb0\u0003\u024c\u0126\u0000\u0ba2"+
"\u0ba4\u0003\u0236\u011b\u0000\u0ba3\u0ba2\u0001\u0000\u0000\u0000\u0ba3"+
"\u0ba4\u0001\u0000\u0000\u0000\u0ba4\u0bb1\u0001\u0000\u0000\u0000\u0ba5"+
"\u0ba6\u0005\u00b6\u0000\u0000\u0ba6\u0ba9\u0003\u0252\u0129\u0000\u0ba7"+
"\u0ba8\u0005\u00b8\u0000\u0000\u0ba8\u0baa\u0003\u0256\u012b\u0000\u0ba9"+
"\u0ba7\u0001\u0000\u0000\u0000\u0ba9\u0baa\u0001\u0000\u0000\u0000\u0baa"+
"\u0bac\u0001\u0000\u0000\u0000\u0bab\u0bad\u0005\u00b8\u0000\u0000\u0bac"+
"\u0bab\u0001\u0000\u0000\u0000\u0bac\u0bad\u0001\u0000\u0000\u0000\u0bad"+
"\u0bae\u0001\u0000\u0000\u0000\u0bae\u0baf\u0005\u00b7\u0000\u0000\u0baf"+
"\u0bb1\u0001\u0000\u0000\u0000\u0bb0\u0ba3\u0001\u0000\u0000\u0000\u0bb0"+
"\u0ba5\u0001\u0000\u0000\u0000\u0bb1\u0bb5\u0001\u0000\u0000\u0000\u0bb2"+
"\u0bb3\u0005\u0151\u0000\u0000\u0bb3\u0bb4\u0005\u02ac\u0000\u0000\u0bb4"+
"\u0bb6\u0003\u02c0\u0160\u0000\u0bb5\u0bb2\u0001\u0000\u0000\u0000\u0bb5"+
"\u0bb6\u0001\u0000\u0000\u0000\u0bb6\u0bbf\u0001\u0000\u0000\u0000\u0bb7"+
"\u0bb8\u0007&\u0000\u0000\u0bb8\u0bb9\u0005\u01ac\u0000\u0000\u0bb9\u0bbd"+
"\u0003\u0236\u011b\u0000\u0bba\u0bbb\u0005\u00fd\u0000\u0000\u0bbb\u0bbc"+
"\u0005\u00ef\u0000\u0000\u0bbc\u0bbe\u0003\u0236\u011b\u0000\u0bbd\u0bba"+
"\u0001\u0000\u0000\u0000\u0bbd\u0bbe\u0001\u0000\u0000\u0000\u0bbe\u0bc0"+
"\u0001\u0000\u0000\u0000\u0bbf\u0bb7\u0001\u0000\u0000\u0000\u0bbf\u0bc0"+
"\u0001\u0000\u0000\u0000\u0bc0\u0bc3\u0001\u0000\u0000\u0000\u0bc1\u0bc2"+
"\u0005\u0105\u0000\u0000\u0bc2\u0bc4\u0005\u02c6\u0000\u0000\u0bc3\u0bc1"+
"\u0001\u0000\u0000\u0000\u0bc3\u0bc4\u0001\u0000\u0000\u0000\u0bc4\u0bc6"+
"\u0001\u0000\u0000\u0000\u0bc5\u0bc7\u0003\u01a8\u00d4\u0000\u0bc6\u0bc5"+
"\u0001\u0000\u0000\u0000\u0bc6\u0bc7\u0001\u0000\u0000\u0000\u0bc7\u0bd6"+
"\u0001\u0000\u0000\u0000\u0bc8\u0bc9\u0005\u013e\u0000\u0000\u0bc9\u0bcd"+
"\u0005\u00ef\u0000\u0000\u0bca\u0bcb\u0005\u0180\u0000\u0000\u0bcb\u0bce"+
"\u0003\u0236\u011b\u0000\u0bcc\u0bce\u0005\u021d\u0000\u0000\u0bcd\u0bca"+
"\u0001\u0000\u0000\u0000\u0bcd\u0bcc\u0001\u0000\u0000\u0000\u0bce\u0bd4"+
"\u0001\u0000\u0000\u0000\u0bcf\u0bd2\u0005\u00eb\u0000\u0000\u0bd0\u0bd3"+
"\u0005\u02cb\u0000\u0000\u0bd1\u0bd3\u0005\u00d4\u0000\u0000\u0bd2\u0bd0"+
"\u0001\u0000\u0000\u0000\u0bd2\u0bd1\u0001\u0000\u0000\u0000\u0bd3\u0bd5"+
"\u0001\u0000\u0000\u0000\u0bd4\u0bcf\u0001\u0000\u0000\u0000\u0bd4\u0bd5"+
"\u0001\u0000\u0000\u0000\u0bd5\u0bd7\u0001\u0000\u0000\u0000\u0bd6\u0bc8"+
"\u0001\u0000\u0000\u0000\u0bd6\u0bd7\u0001\u0000\u0000\u0000\u0bd7\u0bdd"+
"\u0001\u0000\u0000\u0000\u0bd8\u0bd9\u0005\u023f\u0000\u0000\u0bd9\u0bda"+
"\u0005\u00b6\u0000\u0000\u0bda\u0bdb\u0003\u026a\u0135\u0000\u0bdb\u0bdc"+
"\u0005\u00b7\u0000\u0000\u0bdc\u0bde\u0001\u0000\u0000\u0000\u0bdd\u0bd8"+
"\u0001\u0000\u0000\u0000\u0bdd\u0bde\u0001\u0000\u0000\u0000\u0bde\u0be0"+
"\u0001\u0000\u0000\u0000\u0bdf\u0be1\u0003\u0240\u0120\u0000\u0be0\u0bdf"+
"\u0001\u0000\u0000\u0000\u0be0\u0be1\u0001\u0000\u0000\u0000\u0be1\u0be4"+
"\u0001\u0000\u0000\u0000\u0be2\u0be3\u0005\u00ea\u0000\u0000\u0be3\u0be5"+
"\u0003\u0240\u0120\u0000\u0be4\u0be2\u0001\u0000\u0000\u0000\u0be4\u0be5"+
"\u0001\u0000\u0000\u0000\u0be5\u0be8\u0001\u0000\u0000\u0000\u0be6\u0be7"+
"\u0005\u00d0\u0000\u0000\u0be7\u0be9\u0003\u01ea\u00f5\u0000\u0be8\u0be6"+
"\u0001\u0000\u0000\u0000\u0be8\u0be9\u0001\u0000\u0000\u0000\u0be9\u0d59"+
"\u0001\u0000\u0000\u0000\u0bea\u0bed\u0005\u0117\u0000\u0000\u0beb\u0bec"+
"\u0005\u01f0\u0000\u0000\u0bec\u0bee\u0005\u022c\u0000\u0000\u0bed\u0beb"+
"\u0001\u0000\u0000\u0000\u0bed\u0bee\u0001\u0000\u0000\u0000\u0bee\u0bef"+
"\u0001\u0000\u0000\u0000\u0bef\u0bf3\u0005\u029e\u0000\u0000\u0bf0\u0bf1"+
"\u0005\u018d\u0000\u0000\u0bf1\u0bf2\u0005\u01e6\u0000\u0000\u0bf2\u0bf4"+
"\u0005\u015a\u0000\u0000\u0bf3\u0bf0\u0001\u0000\u0000\u0000\u0bf3\u0bf4"+
"\u0001\u0000\u0000\u0000\u0bf4\u0bf5\u0001\u0000\u0000\u0000\u0bf5\u0bfa"+
"\u0003\u024c\u0126\u0000\u0bf6\u0bf7\u0005\u00b6\u0000\u0000\u0bf7\u0bf8"+
"\u0003\u024e\u0127\u0000\u0bf8\u0bf9\u0005\u00b7\u0000\u0000\u0bf9\u0bfb"+
"\u0001\u0000\u0000\u0000\u0bfa\u0bf6\u0001\u0000\u0000\u0000\u0bfa\u0bfb"+
"\u0001\u0000\u0000\u0000\u0bfb\u0bfe\u0001\u0000\u0000\u0000\u0bfc\u0bfd"+
"\u0005\u0105\u0000\u0000\u0bfd\u0bff\u0005\u02c6\u0000\u0000\u0bfe\u0bfc"+
"\u0001\u0000\u0000\u0000\u0bfe\u0bff\u0001\u0000\u0000\u0000\u0bff\u0c00"+
"\u0001\u0000\u0000\u0000\u0c00\u0c01\u0005\u00d0\u0000\u0000\u0c01\u0c02"+
"\u0003\u01ea\u00f5\u0000\u0c02\u0d59\u0001\u0000\u0000\u0000\u0c03\u0c04"+
"\u0005\u0117\u0000\u0000\u0c04\u0c05\u0005\u0166\u0000\u0000\u0c05\u0c08"+
"\u0005\u02c6\u0000\u0000\u0c06\u0c07\u0007\'\u0000\u0000\u0c07\u0c09\u0003"+
"\u02c0\u0160\u0000\u0c08\u0c06\u0001\u0000\u0000\u0000\u0c08\u0c09\u0001"+
"\u0000\u0000\u0000\u0c09\u0c0a\u0001\u0000\u0000\u0000\u0c0a\u0d59\u0003"+
"\u0240\u0120\u0000\u0c0b\u0c0d\u0005\u0117\u0000\u0000\u0c0c\u0c0e\u0007"+
"%\u0000\u0000\u0c0d\u0c0c\u0001\u0000\u0000\u0000\u0c0d\u0c0e\u0001\u0000"+
"\u0000\u0000\u0c0e\u0c0f\u0001\u0000\u0000\u0000\u0c0f\u0c13\u0005\u026c"+
"\u0000\u0000\u0c10\u0c11\u0005\u018d\u0000\u0000\u0c11\u0c12\u0005\u01e6"+
"\u0000\u0000\u0c12\u0c14\u0005\u015a\u0000\u0000\u0c13\u0c10\u0001\u0000"+
"\u0000\u0000\u0c13\u0c14\u0001\u0000\u0000\u0000\u0c14\u0c15\u0001\u0000"+
"\u0000\u0000\u0c15\u0c16\u0003\u024c\u0126\u0000\u0c16\u0c17\u0005\u01b9"+
"\u0000\u0000\u0c17\u0c1d\u0003\u024c\u0126\u0000\u0c18\u0c19\u0005\u02a6"+
"\u0000\u0000\u0c19\u0c1b\u0005\u023f\u0000\u0000\u0c1a\u0c1c\u0003\u0236"+
"\u011b\u0000\u0c1b\u0c1a\u0001\u0000\u0000\u0000\u0c1b\u0c1c\u0001\u0000"+
"\u0000\u0000\u0c1c\u0c1e\u0001\u0000\u0000\u0000\u0c1d\u0c18\u0001\u0000"+
"\u0000\u0000\u0c1d\u0c1e\u0001\u0000\u0000\u0000\u0c1e\u0d59\u0001\u0000"+
"\u0000\u0000\u0c1f\u0c20\u0005\u0117\u0000\u0000\u0c20\u0c24\u0005\u023c"+
"\u0000\u0000\u0c21\u0c22\u0005\u018d\u0000\u0000\u0c22\u0c23\u0005\u01e6"+
"\u0000\u0000\u0c23\u0c25\u0005\u015a\u0000\u0000\u0c24\u0c21\u0001\u0000"+
"\u0000\u0000\u0c24\u0c25\u0001\u0000\u0000\u0000\u0c25\u0c26\u0001\u0000"+
"\u0000\u0000\u0c26\u0c29\u0003\u01bc\u00de\u0000\u0c27\u0c28\u0005\u0105"+
"\u0000\u0000\u0c28\u0c2a\u0005\u02c6\u0000\u0000\u0c29\u0c27\u0001\u0000"+
"\u0000\u0000\u0c29\u0c2a\u0001\u0000\u0000\u0000\u0c2a\u0d59\u0001\u0000"+
"\u0000\u0000\u0c2b\u0c2c\u0005\u0117\u0000\u0000\u0c2c\u0c2d\u0005\u02a8"+
"\u0000\u0000\u0c2d\u0c31\u0005\u017d\u0000\u0000\u0c2e\u0c2f\u0005\u018d"+
"\u0000\u0000\u0c2f\u0c30\u0005\u01e6\u0000\u0000\u0c30\u0c32\u0005\u015a"+
"\u0000\u0000\u0c31\u0c2e\u0001\u0000\u0000\u0000\u0c31\u0c32\u0001\u0000"+
"\u0000\u0000\u0c32\u0c33\u0001\u0000\u0000\u0000\u0c33\u0c36\u0003\u01bc"+
"\u00de\u0000\u0c34\u0c35\u0005\u016c\u0000\u0000\u0c35\u0c37\u0003\u01bc"+
"\u00de\u0000\u0c36\u0c34\u0001\u0000\u0000\u0000\u0c36\u0c37\u0001\u0000"+
"\u0000\u0000\u0c37\u0c39\u0001\u0000\u0000\u0000\u0c38\u0c3a\u0003\u0240"+
"\u0120\u0000\u0c39\u0c38\u0001\u0000\u0000\u0000\u0c39\u0c3a\u0001\u0000"+
"\u0000\u0000\u0c3a\u0d59\u0001\u0000\u0000\u0000\u0c3b\u0c3c\u0005\u0117"+
"\u0000\u0000\u0c3c\u0c40\u0005\u00f6\u0000\u0000\u0c3d\u0c3e\u0005\u018d"+
"\u0000\u0000\u0c3e\u0c3f\u0005\u01e6\u0000\u0000\u0c3f\u0c41\u0005\u015a"+
"\u0000\u0000\u0c40\u0c3d\u0001\u0000\u0000\u0000\u0c40\u0c41\u0001\u0000"+
"\u0000\u0000\u0c41\u0c42\u0001\u0000\u0000\u0000\u0c42\u0c46\u0003\u02c0"+
"\u0160\u0000\u0c43\u0c44\u0005\u02a6\u0000\u0000\u0c44\u0c45\u0005\u0232"+
"\u0000\u0000\u0c45\u0c47\u0003\u02c0\u0160\u0000\u0c46\u0c43\u0001\u0000"+
"\u0000\u0000\u0c46\u0c47\u0001\u0000\u0000\u0000\u0c47\u0c4a\u0001\u0000"+
"\u0000\u0000\u0c48\u0c49\u0005\u0105\u0000\u0000\u0c49\u0c4b\u0005\u02c6"+
"\u0000\u0000\u0c4a\u0c48\u0001\u0000\u0000\u0000\u0c4a\u0c4b\u0001\u0000"+
"\u0000\u0000\u0c4b\u0c4d\u0001\u0000\u0000\u0000\u0c4c\u0c4e\u0003\u0240"+
"\u0120\u0000\u0c4d\u0c4c\u0001\u0000\u0000\u0000\u0c4d\u0c4e\u0001\u0000"+
"\u0000\u0000\u0c4e\u0d59\u0001\u0000\u0000\u0000\u0c4f\u0c50\u0005\u0117"+
"\u0000\u0000\u0c50\u0c51\u0005\u0241\u0000\u0000\u0c51\u0c55\u0005\u020d"+
"\u0000\u0000\u0c52\u0c53\u0005\u018d\u0000\u0000\u0c53\u0c54\u0005\u01e6"+
"\u0000\u0000\u0c54\u0c56\u0005\u015a\u0000\u0000\u0c55\u0c52\u0001\u0000"+
"\u0000\u0000\u0c55\u0c56\u0001\u0000\u0000\u0000\u0c56\u0c57\u0001\u0000"+
"\u0000\u0000\u0c57\u0c58\u0003\u02c0\u0160\u0000\u0c58\u0c59\u0005\u01ec"+
"\u0000\u0000\u0c59\u0c5a\u0003\u024c\u0126\u0000\u0c5a\u0c5b\u0005\u00d0"+
"\u0000\u0000\u0c5b\u0c5c\u0007(\u0000\u0000\u0c5c\u0c60\u0005\u027b\u0000"+
"\u0000\u0c5d\u0c61\u0003\u01c4\u00e2\u0000\u0c5e\u0c5f\u0005\u023c\u0000"+
"\u0000\u0c5f\u0c61\u0003\u01bc\u00de\u0000\u0c60\u0c5d\u0001\u0000\u0000"+
"\u0000\u0c60\u0c5e\u0001\u0000\u0000\u0000\u0c61\u0c62\u0001\u0000\u0000"+
"\u0000\u0c62\u0c63\u0005\u0293\u0000\u0000\u0c63\u0c64\u0005\u00b6\u0000"+
"\u0000\u0c64\u0c65\u0003\u027c\u013e\u0000\u0c65\u0c66\u0005\u00b7\u0000"+
"\u0000\u0c66\u0d59\u0001\u0000\u0000\u0000\u0c67\u0c68\u0005\u0117\u0000"+
"\u0000\u0c68\u0c69\u0005\u0262\u0000\u0000\u0c69\u0c6d\u0005\u020d\u0000"+
"\u0000\u0c6a\u0c6b\u0005\u018d\u0000\u0000\u0c6b\u0c6c\u0005\u01e6\u0000"+
"\u0000\u0c6c\u0c6e\u0005\u015a\u0000\u0000\u0c6d\u0c6a\u0001\u0000\u0000"+
"\u0000\u0c6d\u0c6e\u0001\u0000\u0000\u0000\u0c6e\u0c6f\u0001\u0000\u0000"+
"\u0000\u0c6f\u0c71\u0003\u02c0\u0160\u0000\u0c70\u0c72\u0003\u0240\u0120"+
"\u0000\u0c71\u0c70\u0001\u0000\u0000\u0000\u0c71\u0c72\u0001\u0000\u0000"+
"\u0000\u0c72\u0d59\u0001\u0000\u0000\u0000\u0c73\u0c74\u0005\u00ec\u0000"+
"\u0000\u0c74\u0c75\u0005\u0192\u0000\u0000\u0c75\u0c76\u0003\u02c0\u0160"+
"\u0000\u0c76\u0c77\u0005\u01ec\u0000\u0000\u0c77\u0c79\u0003\u024c\u0126"+
"\u0000\u0c78\u0c7a\u0003\u01a6\u00d3\u0000\u0c79\u0c78\u0001\u0000\u0000"+
"\u0000\u0c79\u0c7a\u0001\u0000\u0000\u0000\u0c7a\u0d59\u0001\u0000\u0000"+
"\u0000\u0c7b\u0c7c\u0005\u0117\u0000\u0000\u0c7c\u0c80\u0005\u0192\u0000"+
"\u0000\u0c7d\u0c7e\u0005\u018d\u0000\u0000\u0c7e\u0c7f\u0005\u01e6\u0000"+
"\u0000\u0c7f\u0c81\u0005\u015a\u0000\u0000\u0c80\u0c7d\u0001\u0000\u0000"+
"\u0000\u0c80\u0c81\u0001\u0000\u0000\u0000\u0c81\u0c82\u0001\u0000\u0000"+
"\u0000\u0c82\u0c83\u0003\u02c0\u0160\u0000\u0c83\u0c84\u0005\u01ec\u0000"+
"\u0000\u0c84\u0c85\u0003\u024c\u0126\u0000\u0c85\u0c88\u0003\u0236\u011b"+
"\u0000\u0c86\u0c87\u0005\u0293\u0000\u0000\u0c87\u0c89\u0007)\u0000\u0000"+
"\u0c88\u0c86\u0001\u0000\u0000\u0000\u0c88\u0c89\u0001\u0000\u0000\u0000"+
"\u0c89\u0c8b\u0001\u0000\u0000\u0000\u0c8a\u0c8c\u0003\u0240\u0120\u0000"+
"\u0c8b\u0c8a\u0001\u0000\u0000\u0000\u0c8b\u0c8c\u0001\u0000\u0000\u0000"+
"\u0c8c\u0c8f\u0001\u0000\u0000\u0000\u0c8d\u0c8e\u0005\u0105\u0000\u0000"+
"\u0c8e\u0c90\u0005\u02c6\u0000\u0000\u0c8f\u0c8d\u0001\u0000\u0000\u0000"+
"\u0c8f\u0c90\u0001\u0000\u0000\u0000\u0c90\u0d59\u0001\u0000\u0000\u0000"+
"\u0c91\u0c92\u0005\u0117\u0000\u0000\u0c92\u0c93\u0005\u02a8\u0000\u0000"+
"\u0c93\u0c97\u0005\u020d\u0000\u0000\u0c94\u0c95\u0005\u018d\u0000\u0000"+
"\u0c95\u0c96\u0005\u01e6\u0000\u0000\u0c96\u0c98\u0005\u015a\u0000\u0000"+
"\u0c97\u0c94\u0001\u0000\u0000\u0000\u0c97\u0c98\u0001\u0000\u0000\u0000"+
"\u0c98\u0c99\u0001\u0000\u0000\u0000\u0c99\u0c9f\u0003\u01bc\u00de\u0000"+
"\u0c9a\u0c9b\u0005\u010c\u0000\u0000\u0c9b\u0c9c\u0005\u00b6\u0000\u0000"+
"\u0c9c\u0c9d\u0003\u0182\u00c1\u0000\u0c9d\u0c9e\u0005\u00b7\u0000\u0000"+
"\u0c9e\u0ca0\u0001\u0000\u0000\u0000\u0c9f\u0c9a\u0001\u0000\u0000\u0000"+
"\u0c9f\u0ca0\u0001\u0000\u0000\u0000\u0ca0\u0ca6\u0001\u0000\u0000\u0000"+
"\u0ca1\u0ca2\u0005\u00c1\u0000\u0000\u0ca2\u0ca3\u0005\u00b6\u0000\u0000"+
"\u0ca3\u0ca4\u0003\u017e\u00bf\u0000\u0ca4\u0ca5\u0005\u00b7\u0000\u0000"+
"\u0ca5\u0ca7\u0001\u0000\u0000\u0000\u0ca6\u0ca1\u0001\u0000\u0000\u0000"+
"\u0ca6\u0ca7\u0001\u0000\u0000\u0000\u0ca7\u0ca9\u0001\u0000\u0000\u0000"+
"\u0ca8\u0caa\u0003\u0240\u0120\u0000\u0ca9\u0ca8\u0001\u0000\u0000\u0000"+
"\u0ca9\u0caa\u0001\u0000\u0000\u0000\u0caa\u0d59\u0001\u0000\u0000\u0000"+
"\u0cab\u0cac\u0005\u0117\u0000\u0000\u0cac\u0cb0\u0005\u025a\u0000\u0000"+
"\u0cad\u0cae\u0005\u018d\u0000\u0000\u0cae\u0caf\u0005\u01e6\u0000\u0000"+
"\u0caf\u0cb1\u0005\u015a\u0000\u0000\u0cb0\u0cad\u0001\u0000\u0000\u0000"+
"\u0cb0\u0cb1\u0001\u0000\u0000\u0000\u0cb1\u0cb2\u0001\u0000\u0000\u0000"+
"\u0cb2\u0cb4\u0003\u02c0\u0160\u0000\u0cb3\u0cb5\u0003\u0240\u0120\u0000"+
"\u0cb4\u0cb3\u0001\u0000\u0000\u0000\u0cb4\u0cb5\u0001\u0000\u0000\u0000"+
"\u0cb5\u0d59\u0001\u0000\u0000\u0000\u0cb6\u0cb7\u0005\u0117\u0000\u0000"+
"\u0cb7\u0cbb\u0005\u014d\u0000\u0000\u0cb8\u0cb9\u0005\u018d\u0000\u0000"+
"\u0cb9\u0cba\u0005\u01e6\u0000\u0000\u0cba\u0cbc\u0005\u015a\u0000\u0000"+
"\u0cbb\u0cb8\u0001\u0000\u0000\u0000\u0cbb\u0cbc\u0001\u0000\u0000\u0000"+
"\u0cbc\u0cbd\u0001\u0000\u0000\u0000\u0cbd\u0cbe\u0003\u024c\u0126\u0000"+
"\u0cbe\u0cbf\u0005\u00d0\u0000\u0000\u0cbf\u0cc0\u0005\u02c6\u0000\u0000"+
"\u0cc0\u0d59\u0001\u0000\u0000\u0000\u0cc1\u0cc3\u0005\u0117\u0000\u0000"+
"\u0cc2\u0cc4\u0003\u01b0\u00d8\u0000\u0cc3\u0cc2\u0001\u0000\u0000\u0000"+
"\u0cc3\u0cc4\u0001\u0000\u0000\u0000\u0cc4\u0cc6\u0001\u0000\u0000\u0000"+
"\u0cc5\u0cc7\u0007*\u0000\u0000\u0cc6\u0cc5\u0001\u0000\u0000\u0000\u0cc6"+
"\u0cc7\u0001\u0000\u0000\u0000\u0cc7\u0cc8\u0001\u0000\u0000\u0000\u0cc8"+
"\u0ccc\u0005\u0175\u0000\u0000\u0cc9\u0cca\u0005\u018d\u0000\u0000\u0cca"+
"\u0ccb\u0005\u01e6\u0000\u0000\u0ccb\u0ccd\u0005\u015a\u0000\u0000\u0ccc"+
"\u0cc9\u0001\u0000\u0000\u0000\u0ccc\u0ccd\u0001\u0000\u0000\u0000\u0ccd"+
"\u0cce\u0001\u0000\u0000\u0000\u0cce\u0ccf\u0003\u028e\u0147\u0000\u0ccf"+
"\u0cd1\u0005\u00b6\u0000\u0000\u0cd0\u0cd2\u0003\u018a\u00c5\u0000\u0cd1"+
"\u0cd0\u0001\u0000\u0000\u0000\u0cd1\u0cd2\u0001\u0000\u0000\u0000\u0cd2"+
"\u0cd3\u0001\u0000\u0000\u0000\u0cd3\u0cd4\u0005\u00b7\u0000\u0000\u0cd4"+
"\u0cd5\u0005\u0237\u0000\u0000\u0cd5\u0cd8\u0003\u02ac\u0156\u0000\u0cd6"+
"\u0cd7\u0005\u019a\u0000\u0000\u0cd7\u0cd9\u0003\u02ac\u0156\u0000\u0cd8"+
"\u0cd6\u0001\u0000\u0000\u0000\u0cd8\u0cd9\u0001\u0000\u0000\u0000\u0cd9"+
"\u0cdb\u0001\u0000\u0000\u0000\u0cda\u0cdc\u0003\u0240\u0120\u0000\u0cdb"+
"\u0cda\u0001\u0000\u0000\u0000\u0cdb\u0cdc\u0001\u0000\u0000\u0000\u0cdc"+
"\u0d59\u0001\u0000\u0000\u0000\u0cdd\u0cdf\u0005\u0117\u0000\u0000\u0cde"+
"\u0ce0\u0003\u01b0\u00d8\u0000\u0cdf\u0cde\u0001\u0000\u0000\u0000\u0cdf"+
"\u0ce0\u0001\u0000\u0000\u0000\u0ce0\u0ce1\u0001\u0000\u0000\u0000\u0ce1"+
"\u0ce2\u0005\u00c7\u0000\u0000\u0ce2\u0ce6\u0005\u0175\u0000\u0000\u0ce3"+
"\u0ce4\u0005\u018d\u0000\u0000\u0ce4\u0ce5\u0005\u01e6\u0000\u0000\u0ce5"+
"\u0ce7\u0005\u015a\u0000\u0000\u0ce6\u0ce3\u0001\u0000\u0000\u0000\u0ce6"+
"\u0ce7\u0001\u0000\u0000\u0000\u0ce7\u0ce8\u0001\u0000\u0000\u0000\u0ce8"+
"\u0ce9\u0003\u028e\u0147\u0000\u0ce9\u0ceb\u0005\u00b6\u0000\u0000\u0cea"+
"\u0cec\u0003\u018a\u00c5\u0000\u0ceb\u0cea\u0001\u0000\u0000\u0000\u0ceb"+
"\u0cec\u0001\u0000\u0000\u0000\u0cec\u0ced\u0001\u0000\u0000\u0000\u0ced"+
"\u0cee\u0005\u00b7\u0000\u0000\u0cee\u0cef\u0005\u02a6\u0000\u0000\u0cef"+
"\u0cf0\u0005\u01f6\u0000\u0000\u0cf0\u0cf2\u0005\u00b6\u0000\u0000\u0cf1"+
"\u0cf3\u0003\u0238\u011c\u0000\u0cf2\u0cf1\u0001\u0000\u0000\u0000\u0cf2"+
"\u0cf3\u0001\u0000\u0000\u0000\u0cf3\u0cf4\u0001\u0000\u0000\u0000\u0cf4"+
"\u0cf5\u0005\u00b7\u0000\u0000\u0cf5\u0cf6\u0005\u00d0\u0000\u0000\u0cf6"+
"\u0cf7\u0003\u0278\u013c\u0000\u0cf7\u0d59\u0001\u0000\u0000\u0000\u0cf8"+
"\u0cf9\u0005\u0117\u0000\u0000\u0cf9\u0cfd\u0005\u0291\u0000\u0000\u0cfa"+
"\u0cfb\u0005\u018d\u0000\u0000\u0cfb\u0cfc\u0005\u01e6\u0000\u0000\u0cfc"+
"\u0cfe\u0005\u015a\u0000\u0000\u0cfd\u0cfa\u0001\u0000\u0000\u0000\u0cfd"+
"\u0cfe\u0001\u0000\u0000\u0000\u0cfe\u0cff\u0001\u0000\u0000\u0000\u0cff"+
"\u0d04\u0003\u01c6\u00e3\u0000\u0d00\u0d05\u0005\u0268\u0000\u0000\u0d01"+
"\u0d02\u0005\u0130\u0000\u0000\u0d02\u0d03\u0005\u023c\u0000\u0000\u0d03"+
"\u0d05\u0005\u02c6\u0000\u0000\u0d04\u0d00\u0001\u0000\u0000\u0000\u0d04"+
"\u0d01\u0001\u0000\u0000\u0000\u0d04\u0d05\u0001\u0000\u0000\u0000\u0d05"+
"\u0d06\u0001\u0000\u0000\u0000\u0d06\u0d08\u0003\u0188\u00c4\u0000\u0d07"+
"\u0d09\u0003\u02b4\u015a\u0000\u0d08\u0d07\u0001\u0000\u0000\u0000\u0d08"+
"\u0d09\u0001\u0000\u0000\u0000\u0d09\u0d59\u0001\u0000\u0000\u0000\u0d0a"+
"\u0d0b\u0005\u0117\u0000\u0000\u0d0b\u0d0f\u0007+\u0000\u0000\u0d0c\u0d0d"+
"\u0005\u018d\u0000\u0000\u0d0d\u0d0e\u0005\u01e6\u0000\u0000\u0d0e\u0d10"+
"\u0005\u015a\u0000\u0000\u0d0f\u0d0c\u0001\u0000\u0000\u0000\u0d0f\u0d10"+
"\u0001\u0000\u0000\u0000\u0d10\u0d11\u0001\u0000\u0000\u0000\u0d11\u0d13"+
"\u0003\u024c\u0126\u0000\u0d12\u0d14\u0003\u0240\u0120\u0000\u0d13\u0d12"+
"\u0001\u0000\u0000\u0000\u0d13\u0d14\u0001\u0000\u0000\u0000\u0d14\u0d59"+
"\u0001\u0000\u0000\u0000\u0d15\u0d18\u0005\u0117\u0000\u0000\u0d16\u0d17"+
"\u0005\u021f\u0000\u0000\u0d17\u0d19\u0005\u01ed\u0000\u0000\u0d18\u0d16"+
"\u0001\u0000\u0000\u0000\u0d18\u0d19\u0001\u0000\u0000\u0000\u0d19\u0d1a"+
"\u0001\u0000\u0000\u0000\u0d1a\u0d1b\u0005\u0231\u0000\u0000\u0d1b\u0d1c"+
"\u0003\u02c0\u0160\u0000\u0d1c\u0d1d\u0005\u02a6\u0000\u0000\u0d1d\u0d1e"+
"\u0003\u0186\u00c3\u0000\u0d1e\u0d59\u0001\u0000\u0000\u0000\u0d1f\u0d21"+
"\u0005\u0117\u0000\u0000\u0d20\u0d22\u0005\u015f\u0000\u0000\u0d21\u0d20"+
"\u0001\u0000\u0000\u0000\u0d21\u0d22\u0001\u0000\u0000\u0000\u0d22\u0d23"+
"\u0001\u0000\u0000\u0000\u0d23\u0d27\u0005\u0232\u0000\u0000\u0d24\u0d25"+
"\u0005\u018d\u0000\u0000\u0d25\u0d26\u0005\u01e6\u0000\u0000\u0d26\u0d28"+
"\u0005\u015a\u0000\u0000\u0d27\u0d24\u0001\u0000\u0000\u0000\u0d27\u0d28"+
"\u0001\u0000\u0000\u0000\u0d28\u0d29\u0001\u0000\u0000\u0000\u0d29\u0d2b"+
"\u0003\u01bc\u00de\u0000\u0d2a\u0d2c\u0003\u0240\u0120\u0000\u0d2b\u0d2a"+
"\u0001\u0000\u0000\u0000\u0d2b\u0d2c\u0001\u0000\u0000\u0000\u0d2c\u0d59"+
"\u0001\u0000\u0000\u0000\u0d2d\u0d2e\u0005\u0117\u0000\u0000\u0d2e\u0d32"+
"\u0005\u0139\u0000\u0000\u0d2f\u0d30\u0005\u018d\u0000\u0000\u0d30\u0d31"+
"\u0005\u01e6\u0000\u0000\u0d31\u0d33\u0005\u015a\u0000\u0000\u0d32\u0d2f"+
"\u0001\u0000\u0000\u0000\u0d32\u0d33\u0001\u0000\u0000\u0000\u0d33\u0d34"+
"\u0001\u0000\u0000\u0000\u0d34\u0d35\u0003\u024c\u0126\u0000\u0d35\u0d36"+
"\u0005\u0293\u0000\u0000\u0d36\u0d37\u0003\u024c\u0126\u0000\u0d37\u0d38"+
"\u0005\u00b6\u0000\u0000\u0d38\u0d39\u0003\u011e\u008f\u0000\u0d39\u0d3a"+
"\u0005\u00b7\u0000\u0000\u0d3a\u0d3b\u0005\u01b1\u0000\u0000\u0d3b\u0d3c"+
"\u0005\u00b6\u0000\u0000\u0d3c\u0d3d\u0003\u02c0\u0160\u0000\u0d3d\u0d3f"+
"\u0005\u00b7\u0000\u0000\u0d3e\u0d40\u0003\u0240\u0120\u0000\u0d3f\u0d3e"+
"\u0001\u0000\u0000\u0000\u0d3f\u0d40\u0001\u0000\u0000\u0000\u0d40\u0d59"+
"\u0001\u0000\u0000\u0000\u0d41\u0d42\u0005\u0117\u0000\u0000\u0d42\u0d46"+
"\u0005\u025b\u0000\u0000\u0d43\u0d44\u0005\u018d\u0000\u0000\u0d44\u0d45"+
"\u0005\u01e6\u0000\u0000\u0d45\u0d47\u0005\u015a\u0000\u0000\u0d46\u0d43"+
"\u0001\u0000\u0000\u0000\u0d46\u0d47\u0001\u0000\u0000\u0000\u0d47\u0d48"+
"\u0001\u0000\u0000\u0000\u0d48\u0d4a\u0003\u02c0\u0160\u0000\u0d49\u0d4b"+
"\u0003\u0240\u0120\u0000\u0d4a\u0d49\u0001\u0000\u0000\u0000\u0d4a\u0d4b"+
"\u0001\u0000\u0000\u0000\u0d4b\u0d59\u0001\u0000\u0000\u0000\u0d4c\u0d4d"+
"\u0005\u0117\u0000\u0000\u0d4d\u0d4e\u0005\u0262\u0000\u0000\u0d4e\u0d52"+
"\u0005\u029a\u0000\u0000\u0d4f\u0d50\u0005\u018d\u0000\u0000\u0d50\u0d51"+
"\u0005\u01e6\u0000\u0000\u0d51\u0d53\u0005\u015a\u0000\u0000\u0d52\u0d4f"+
"\u0001\u0000\u0000\u0000\u0d52\u0d53\u0001\u0000\u0000\u0000\u0d53\u0d54"+
"\u0001\u0000\u0000\u0000\u0d54\u0d56\u0003\u01bc\u00de\u0000\u0d55\u0d57"+
"\u0003\u0240\u0120\u0000\u0d56\u0d55\u0001\u0000\u0000\u0000\u0d56\u0d57"+
"\u0001\u0000\u0000\u0000\u0d57\u0d59\u0001\u0000\u0000\u0000\u0d58\u0b97"+
"\u0001\u0000\u0000\u0000\u0d58\u0bea\u0001\u0000\u0000\u0000\u0d58\u0c03"+
"\u0001\u0000\u0000\u0000\u0d58\u0c0b\u0001\u0000\u0000\u0000\u0d58\u0c1f"+
"\u0001\u0000\u0000\u0000\u0d58\u0c2b\u0001\u0000\u0000\u0000\u0d58\u0c3b"+
"\u0001\u0000\u0000\u0000\u0d58\u0c4f\u0001\u0000\u0000\u0000\u0d58\u0c67"+
"\u0001\u0000\u0000\u0000\u0d58\u0c73\u0001\u0000\u0000\u0000\u0d58\u0c7b"+
"\u0001\u0000\u0000\u0000\u0d58\u0c91\u0001\u0000\u0000\u0000\u0d58\u0cab"+
"\u0001\u0000\u0000\u0000\u0d58\u0cb6\u0001\u0000\u0000\u0000\u0d58\u0cc1"+
"\u0001\u0000\u0000\u0000\u0d58\u0cdd\u0001\u0000\u0000\u0000\u0d58\u0cf8"+
"\u0001\u0000\u0000\u0000\u0d58\u0d0a\u0001\u0000\u0000\u0000\u0d58\u0d15"+
"\u0001\u0000\u0000\u0000\u0d58\u0d1f\u0001\u0000\u0000\u0000\u0d58\u0d2d"+
"\u0001\u0000\u0000\u0000\u0d58\u0d41\u0001\u0000\u0000\u0000\u0d58\u0d4c"+
"\u0001\u0000\u0000\u0000\u0d59\u011d\u0001\u0000\u0000\u0000\u0d5a\u0d5f"+
"\u0003\u0120\u0090\u0000\u0d5b\u0d5c\u0005\u00b8\u0000\u0000\u0d5c\u0d5e"+
"\u0003\u0120\u0090\u0000\u0d5d\u0d5b\u0001\u0000\u0000\u0000\u0d5e\u0d61"+
"\u0001\u0000\u0000\u0000\u0d5f\u0d5d\u0001\u0000\u0000\u0000\u0d5f\u0d60"+
"\u0001\u0000\u0000\u0000\u0d60\u011f\u0001\u0000\u0000\u0000\u0d61\u0d5f"+
"\u0001\u0000\u0000\u0000\u0d62\u0d63\u0003\u02c0\u0160\u0000\u0d63\u0d64"+
"\u0007,\u0000\u0000\u0d64\u0121\u0001\u0000\u0000\u0000\u0d65\u0d66\u0005"+
"\u00c9\u0000\u0000\u0d66\u0d67\u0005\u026b\u0000\u0000\u0d67\u0e21\u0003"+
"\u016a\u00b5\u0000\u0d68\u0d69\u0005\u00c9\u0000\u0000\u0d69\u0d6a\u0005"+
"\u029e\u0000\u0000\u0d6a\u0d79\u0003\u024c\u0126\u0000\u0d6b\u0d6c\u0005"+
"\u01d9\u0000\u0000\u0d6c\u0d7a\u0003\u02b4\u015a\u0000\u0d6d\u0d6e\u0005"+
"\u00b6\u0000\u0000\u0d6e\u0d6f\u0003\u024e\u0127\u0000\u0d6f\u0d70\u0005"+
"\u00b7\u0000\u0000\u0d70\u0d72\u0001\u0000\u0000\u0000\u0d71\u0d6d\u0001"+
"\u0000\u0000\u0000\u0d71\u0d72\u0001\u0000\u0000\u0000\u0d72\u0d75\u0001"+
"\u0000\u0000\u0000\u0d73\u0d74\u0005\u0105\u0000\u0000\u0d74\u0d76\u0005"+
"\u02c6\u0000\u0000\u0d75\u0d73\u0001\u0000\u0000\u0000\u0d75\u0d76\u0001"+
"\u0000\u0000\u0000\u0d76\u0d77\u0001\u0000\u0000\u0000\u0d77\u0d78\u0005"+
"\u00d0\u0000\u0000\u0d78\u0d7a\u0003\u01ea\u00f5\u0000\u0d79\u0d6b\u0001"+
"\u0000\u0000\u0000\u0d79\u0d71\u0001\u0000\u0000\u0000\u0d7a\u0e21\u0001"+
"\u0000\u0000\u0000\u0d7b\u0d7c\u0005\u00c9\u0000\u0000\u0d7c\u0d7d\u0005"+
"\u00f6\u0000\u0000\u0d7d\u0d7e\u0003\u02c0\u0160\u0000\u0d7e\u0d7f\u0005"+
"\u0229\u0000\u0000\u0d7f\u0d80\u0003\u02c0\u0160\u0000\u0d80\u0e21\u0001"+
"\u0000\u0000\u0000\u0d81\u0d82\u0005\u00c9\u0000\u0000\u0d82\u0d83\u0005"+
"\u023c\u0000\u0000\u0d83\u0d84\u0003\u01bc\u00de\u0000\u0d84\u0d85\u0003"+
"\u02b4\u015a\u0000\u0d85\u0e21\u0001\u0000\u0000\u0000\u0d86\u0d87\u0005"+
"\u00c9\u0000\u0000\u0d87\u0d88\u0005\u0262\u0000\u0000\u0d88\u0d89\u0005"+
"\u029a\u0000\u0000\u0d89\u0d8a\u0003\u024c\u0126\u0000\u0d8a\u0d8b\u0003"+
"\u0240\u0120\u0000\u0d8b\u0e21\u0001\u0000\u0000\u0000\u0d8c\u0d8d\u0005"+
"\u00c9\u0000\u0000\u0d8d\u0d8e\u0005\u02a8\u0000\u0000\u0d8e\u0d8f\u0005"+
"\u017d\u0000\u0000\u0d8f\u0d92\u0003\u01bc\u00de\u0000\u0d90\u0d91\u0005"+
"\u016c\u0000\u0000\u0d91\u0d93\u0003\u01bc\u00de\u0000\u0d92\u0d90\u0001"+
"\u0000\u0000\u0000\u0d92\u0d93\u0001\u0000\u0000\u0000\u0d93\u0d95\u0001"+
"\u0000\u0000\u0000\u0d94\u0d96\u0003\u0240\u0120\u0000\u0d95\u0d94\u0001"+
"\u0000\u0000\u0000\u0d95\u0d96\u0001\u0000\u0000\u0000\u0d96\u0e21\u0001"+
"\u0000\u0000\u0000\u0d97\u0d98\u0005\u00c9\u0000\u0000\u0d98\u0d99\u0005"+
"\u00f6\u0000\u0000\u0d99\u0d9a\u0003\u02c0\u0160\u0000\u0d9a\u0d9b\u0005"+
"\u024f\u0000\u0000\u0d9b\u0d9c\u0005\u0215\u0000\u0000\u0d9c\u0d9d\u0005"+
"\u00b6\u0000\u0000\u0d9d\u0d9e\u0003\u0242\u0121\u0000\u0d9e\u0d9f\u0005"+
"\u00b7\u0000\u0000\u0d9f\u0e21\u0001\u0000\u0000\u0000\u0da0\u0da1\u0005"+
"\u00c9\u0000\u0000\u0da1\u0da2\u0005\u02a8\u0000\u0000\u0da2\u0da3\u0005"+
"\u020d\u0000\u0000\u0da3\u0da5\u0003\u01bc\u00de\u0000\u0da4\u0da6\u0003"+
"\u0240\u0120\u0000\u0da5\u0da4\u0001\u0000\u0000\u0000\u0da5\u0da6\u0001"+
"\u0000\u0000\u0000\u0da6\u0e21\u0001\u0000\u0000\u0000\u0da7\u0da8\u0005"+
"\u00c9\u0000\u0000\u0da8\u0da9\u0005\u025a\u0000\u0000\u0da9\u0dab\u0003"+
"\u02c0\u0160\u0000\u0daa\u0dac\u0003\u0240\u0120\u0000\u0dab\u0daa\u0001"+
"\u0000\u0000\u0000\u0dab\u0dac\u0001\u0000\u0000\u0000\u0dac\u0e21\u0001"+
"\u0000\u0000\u0000\u0dad\u0dae\u0005\u00c9\u0000\u0000\u0dae\u0daf\u0005"+
"\u00f6\u0000\u0000\u0daf\u0db0\u0003\u02c0\u0160\u0000\u0db0\u0db1\u0005"+
"\u01d9\u0000\u0000\u0db1\u0db2\u0005\u0105\u0000\u0000\u0db2\u0db3\u0005"+
"\u02c6\u0000\u0000\u0db3\u0e21\u0001\u0000\u0000\u0000\u0db4\u0db5\u0005"+
"\u00c9\u0000\u0000\u0db5\u0db6\u0005\u0123\u0000\u0000\u0db6\u0db7\u0003"+
"\u02c0\u0160\u0000\u0db7\u0db8\u0005\u0229\u0000\u0000\u0db8\u0db9\u0003"+
"\u02c0\u0160\u0000\u0db9\u0e21\u0001\u0000\u0000\u0000\u0dba\u0dbb\u0005"+
"\u00c9\u0000\u0000\u0dbb\u0dbc\u0005\u0262\u0000\u0000\u0dbc\u0dbd\u0005"+
"\u020d\u0000\u0000\u0dbd\u0dbe\u0003\u01bc\u00de\u0000\u0dbe\u0dbf\u0003"+
"\u0240\u0120\u0000\u0dbf\u0e21\u0001\u0000\u0000\u0000\u0dc0\u0dc1\u0005"+
"\u00c9\u0000\u0000\u0dc1\u0dc2\u0005\u026c\u0000\u0000\u0dc2\u0dc3\u0003"+
"\u024c\u0126\u0000\u0dc3\u0dc8\u0003\u0170\u00b8\u0000\u0dc4\u0dc5\u0005"+
"\u00b8\u0000\u0000\u0dc5\u0dc7\u0003\u0170\u00b8\u0000\u0dc6\u0dc4\u0001"+
"\u0000\u0000\u0000\u0dc7\u0dca\u0001\u0000\u0000\u0000\u0dc8\u0dc6\u0001"+
"\u0000\u0000\u0000\u0dc8\u0dc9\u0001\u0000\u0000\u0000\u0dc9\u0e21\u0001"+
"\u0000\u0000\u0000\u0dca\u0dc8\u0001\u0000\u0000\u0000\u0dcb\u0dcc\u0005"+
"\u00c9\u0000\u0000\u0dcc\u0dcd\u0005\u026c\u0000\u0000\u0dcd\u0dce\u0003"+
"\u024c\u0126\u0000\u0dce\u0dcf\u0005\u00c2\u0000\u0000\u0dcf\u0dd0\u0005"+
"\u023f\u0000\u0000\u0dd0\u0dd5\u0003\u016e\u00b7\u0000\u0dd1\u0dd2\u0005"+
"\u00b8\u0000\u0000\u0dd2\u0dd4\u0003\u016e\u00b7\u0000\u0dd3\u0dd1\u0001"+
"\u0000\u0000\u0000\u0dd4\u0dd7\u0001\u0000\u0000\u0000\u0dd5\u0dd3\u0001"+
"\u0000\u0000\u0000\u0dd5\u0dd6\u0001\u0000\u0000\u0000\u0dd6\u0e21\u0001"+
"\u0000\u0000\u0000\u0dd7\u0dd5\u0001\u0000\u0000\u0000\u0dd8\u0dd9\u0005"+
"\u00c9\u0000\u0000\u0dd9\u0dda\u0005\u026c\u0000\u0000\u0dda\u0ddb\u0003"+
"\u024c\u0126\u0000\u0ddb\u0ddc\u0005\u0144\u0000\u0000\u0ddc\u0ddd\u0005"+
"\u023f\u0000\u0000\u0ddd\u0de2\u0003\u016c\u00b6\u0000\u0dde\u0ddf\u0005"+
"\u00b8\u0000\u0000\u0ddf\u0de1\u0003\u016c\u00b6\u0000\u0de0\u0dde\u0001"+
"\u0000\u0000\u0000\u0de1\u0de4\u0001\u0000\u0000\u0000\u0de2\u0de0\u0001"+
"\u0000\u0000\u0000\u0de2\u0de3\u0001\u0000\u0000\u0000\u0de3\u0e21\u0001"+
"\u0000\u0000\u0000\u0de4\u0de2\u0001\u0000\u0000\u0000\u0de5\u0de6\u0005"+
"\u00c9\u0000\u0000\u0de6\u0de7\u0005\u026c\u0000\u0000\u0de7\u0de8\u0003"+
"\u024c\u0126\u0000\u0de8\u0de9\u0005\u024f\u0000\u0000\u0de9\u0dea\u0005"+
"\u00b6\u0000\u0000\u0dea\u0deb\u0003\u0242\u0121\u0000\u0deb\u0dec\u0005"+
"\u00b7\u0000\u0000\u0dec\u0e21\u0001\u0000\u0000\u0000\u0ded\u0dee\u0005"+
"\u00c9\u0000\u0000\u0dee\u0def\u0005\u0123\u0000\u0000\u0def\u0df0\u0003"+
"\u02c0\u0160\u0000\u0df0\u0df1\u0005\u024f\u0000\u0000\u0df1\u0df2\u0007"+
"-\u0000\u0000\u0df2\u0df5\u0005\u021b\u0000\u0000\u0df3\u0df6\u0003\u02c0"+
"\u0160\u0000\u0df4\u0df6\u0005\u02cb\u0000\u0000\u0df5\u0df3\u0001\u0000"+
"\u0000\u0000\u0df5\u0df4\u0001\u0000\u0000\u0000\u0df6\u0e21\u0001\u0000"+
"\u0000\u0000\u0df7\u0df8\u0005\u00c9\u0000\u0000\u0df8\u0df9\u0005\u0123"+
"\u0000\u0000\u0df9\u0dfa\u0003\u02c0\u0160\u0000\u0dfa\u0dfb\u0005\u024f"+
"\u0000\u0000\u0dfb\u0dfc\u0005\u0215\u0000\u0000\u0dfc\u0dfd\u0005\u00b6"+
"\u0000\u0000\u0dfd\u0dfe\u0003\u0242\u0121\u0000\u0dfe\u0dff\u0005\u00b7"+
"\u0000\u0000\u0dff\u0e21\u0001\u0000\u0000\u0000\u0e00\u0e01\u0005\u00c9"+
"\u0000\u0000\u0e01\u0e02\u0005\u026b\u0000\u0000\u0e02\u0e03\u0005\u0229"+
"\u0000\u0000\u0e03\u0e04\u0005\u010b\u0000\u0000\u0e04\u0e05\u0005\u017d"+
"\u0000\u0000\u0e05\u0e06\u0003\u02c0\u0160\u0000\u0e06\u0e07\u0003\u02c0"+
"\u0160\u0000\u0e07\u0e21\u0001\u0000\u0000\u0000\u0e08\u0e09\u0005\u00c9"+
"\u0000\u0000\u0e09\u0e0a\u0005\u0232\u0000\u0000\u0e0a\u0e0c\u0003\u01bc"+
"\u00de\u0000\u0e0b\u0e0d\u0003\u0240\u0120\u0000\u0e0c\u0e0b\u0001\u0000"+
"\u0000\u0000\u0e0c\u0e0d\u0001\u0000\u0000\u0000\u0e0d\u0e21\u0001\u0000"+
"\u0000\u0000\u0e0e\u0e0f\u0005\u00c9\u0000\u0000\u0e0f\u0e10\u0005\u0231"+
"\u0000\u0000\u0e10\u0e12\u0003\u02c0\u0160\u0000\u0e11\u0e13\u0003\u0240"+
"\u0120\u0000\u0e12\u0e11\u0001\u0000\u0000\u0000\u0e12\u0e13\u0001\u0000"+
"\u0000\u0000\u0e13\u0e21\u0001\u0000\u0000\u0000\u0e14\u0e15\u0005\u00c9"+
"\u0000\u0000\u0e15\u0e18\u0005\u0291\u0000\u0000\u0e16\u0e17\u0005\u018d"+
"\u0000\u0000\u0e17\u0e19\u0005\u015a\u0000\u0000\u0e18\u0e16\u0001\u0000"+
"\u0000\u0000\u0e18\u0e19\u0001\u0000\u0000\u0000\u0e19\u0e1a\u0001\u0000"+
"\u0000\u0000\u0e1a\u0e1b\u0003\u01c6\u00e3\u0000\u0e1b\u0e1e\u0003\u0188"+
"\u00c4\u0000\u0e1c\u0e1d\u0005\u0105\u0000\u0000\u0e1d\u0e1f\u0005\u02c6"+
"\u0000\u0000\u0e1e\u0e1c\u0001\u0000\u0000\u0000\u0e1e\u0e1f\u0001\u0000"+
"\u0000\u0000\u0e1f\u0e21\u0001\u0000\u0000\u0000\u0e20\u0d65\u0001\u0000"+
"\u0000\u0000\u0e20\u0d68\u0001\u0000\u0000\u0000\u0e20\u0d7b\u0001\u0000"+
"\u0000\u0000\u0e20\u0d81\u0001\u0000\u0000\u0000\u0e20\u0d86\u0001\u0000"+
"\u0000\u0000\u0e20\u0d8c\u0001\u0000\u0000\u0000\u0e20\u0d97\u0001\u0000"+
"\u0000\u0000\u0e20\u0da0\u0001\u0000\u0000\u0000\u0e20\u0da7\u0001\u0000"+
"\u0000\u0000\u0e20\u0dad\u0001\u0000\u0000\u0000\u0e20\u0db4\u0001\u0000"+
"\u0000\u0000\u0e20\u0dba\u0001\u0000\u0000\u0000\u0e20\u0dc0\u0001\u0000"+
"\u0000\u0000\u0e20\u0dcb\u0001\u0000\u0000\u0000\u0e20\u0dd8\u0001\u0000"+
"\u0000\u0000\u0e20\u0de5\u0001\u0000\u0000\u0000\u0e20\u0ded\u0001\u0000"+
"\u0000\u0000\u0e20\u0df7\u0001\u0000\u0000\u0000\u0e20\u0e00\u0001\u0000"+
"\u0000\u0000\u0e20\u0e08\u0001\u0000\u0000\u0000\u0e20\u0e0e\u0001\u0000"+
"\u0000\u0000\u0e20\u0e14\u0001\u0000\u0000\u0000\u0e21\u0123\u0001\u0000"+
"\u0000\u0000\u0e22\u0e23\u0005\u0144\u0000\u0000\u0e23\u0e24\u0005\u00f6"+
"\u0000\u0000\u0e24\u0e25\u0005\u0224\u0000\u0000\u0e25\u0e26\u0005\u00de"+
"\u0000\u0000\u0e26\u0e27\u0005\u02a4\u0000\u0000\u0e27\u0e28\u0005\u02c6"+
"\u0000\u0000\u0e28\u0e29\u0005\u02ac\u0000\u0000\u0e29\u0ed1\u0005\u02cb"+
"\u0000\u0000\u0e2a\u0e2b\u0005\u0144\u0000\u0000\u0e2b\u0e2e\u0005\u014d"+
"\u0000\u0000\u0e2c\u0e2d\u0005\u018d\u0000\u0000\u0e2d\u0e2f\u0005\u015a"+
"\u0000\u0000\u0e2e\u0e2c\u0001\u0000\u0000\u0000\u0e2e\u0e2f\u0001\u0000"+
"\u0000\u0000\u0e2f\u0e30\u0001\u0000\u0000\u0000\u0e30\u0ed1\u0003\u024c"+
"\u0126\u0000\u0e31\u0e32\u0005\u0144\u0000\u0000\u0e32\u0e35\u0005\u023c"+
"\u0000\u0000\u0e33\u0e34\u0005\u018d\u0000\u0000\u0e34\u0e36\u0005\u015a"+
"\u0000\u0000\u0e35\u0e33\u0001\u0000\u0000\u0000\u0e35\u0e36\u0001\u0000"+
"\u0000\u0000\u0e36\u0e37\u0001\u0000\u0000\u0000\u0e37\u0ed1\u0003\u01bc"+
"\u00de\u0000\u0e38\u0e39\u0005\u0144\u0000\u0000\u0e39\u0e3c\u0005\u025a"+
"\u0000\u0000\u0e3a\u0e3b\u0005\u018d\u0000\u0000\u0e3b\u0e3d\u0005\u015a"+
"\u0000\u0000\u0e3c\u0e3a\u0001\u0000\u0000\u0000\u0e3c\u0e3d\u0001\u0000"+
"\u0000\u0000\u0e3d\u0e3e\u0001\u0000\u0000\u0000\u0e3e\u0ed1\u0003\u0238"+
"\u011c\u0000\u0e3f\u0e40\u0005\u0144\u0000\u0000\u0e40\u0e43\u0005\u0291"+
"\u0000\u0000\u0e41\u0e42\u0005\u018d\u0000\u0000\u0e42\u0e44\u0005\u015a"+
"\u0000\u0000\u0e43\u0e41\u0001\u0000\u0000\u0000\u0e43\u0e44\u0001\u0000"+
"\u0000\u0000\u0e44\u0e45\u0001\u0000\u0000\u0000\u0e45\u0ed1\u0003\u01c4"+
"\u00e2\u0000\u0e46\u0e47\u0005\u0144\u0000\u0000\u0e47\u0e48\u0005\u0262"+
"\u0000\u0000\u0e48\u0e4b\u0005\u020d\u0000\u0000\u0e49\u0e4a\u0005\u018d"+
"\u0000\u0000\u0e4a\u0e4c\u0005\u015a\u0000\u0000\u0e4b\u0e49\u0001\u0000"+
"\u0000\u0000\u0e4b\u0e4c\u0001\u0000\u0000\u0000\u0e4c\u0e4d\u0001\u0000"+
"\u0000\u0000\u0e4d\u0ed1\u0003\u02c0\u0160\u0000\u0e4e\u0e4f\u0005\u0144"+
"\u0000\u0000\u0e4f\u0e50\u0005\u02a8\u0000\u0000\u0e50\u0e53\u0005\u017d"+
"\u0000\u0000\u0e51\u0e52\u0005\u018d\u0000\u0000\u0e52\u0e54\u0005\u015a"+
"\u0000\u0000\u0e53\u0e51\u0001\u0000\u0000\u0000\u0e53\u0e54\u0001\u0000"+
"\u0000\u0000\u0e54\u0e55\u0001\u0000\u0000\u0000\u0e55\u0e58\u0003\u01bc"+
"\u00de\u0000\u0e56\u0e57\u0005\u016c\u0000\u0000\u0e57\u0e59\u0003\u01bc"+
"\u00de\u0000\u0e58\u0e56\u0001\u0000\u0000\u0000\u0e58\u0e59\u0001\u0000"+
"\u0000\u0000\u0e59\u0ed1\u0001\u0000\u0000\u0000\u0e5a\u0e5b\u0005\u0144"+
"\u0000\u0000\u0e5b\u0e5e\u0005\u00f6\u0000\u0000\u0e5c\u0e5d\u0005\u018d"+
"\u0000\u0000\u0e5d\u0e5f\u0005\u015a\u0000\u0000\u0e5e\u0e5c\u0001\u0000"+
"\u0000\u0000\u0e5e\u0e5f\u0001\u0000\u0000\u0000\u0e5f\u0e60\u0001\u0000"+
"\u0000\u0000\u0e60\u0ed1\u0003\u02c0\u0160\u0000\u0e61\u0e62\u0005\u0144"+
"\u0000\u0000\u0e62\u0e63\u0005\u0166\u0000\u0000\u0e63\u0e66\u0005\u02c6"+
"\u0000\u0000\u0e64\u0e65\u0007\'\u0000\u0000\u0e65\u0e67\u0003\u02c0\u0160"+
"\u0000\u0e66\u0e64\u0001\u0000\u0000\u0000\u0e66\u0e67\u0001\u0000\u0000"+
"\u0000\u0e67\u0e68\u0001\u0000\u0000\u0000\u0e68\u0ed1\u0003\u0240\u0120"+
"\u0000\u0e69\u0e6a\u0005\u0144\u0000\u0000\u0e6a\u0e6b\u0005\u02a8\u0000"+
"\u0000\u0e6b\u0e6e\u0005\u020d\u0000\u0000\u0e6c\u0e6d\u0005\u018d\u0000"+
"\u0000\u0e6d\u0e6f\u0005\u015a\u0000\u0000\u0e6e\u0e6c\u0001\u0000\u0000"+
"\u0000\u0e6e\u0e6f\u0001\u0000\u0000\u0000\u0e6f\u0e70\u0001\u0000\u0000"+
"\u0000\u0e70\u0ed1\u0003\u01bc\u00de\u0000\u0e71\u0e72\u0005\u0144\u0000"+
"\u0000\u0e72\u0e73\u0005\u0231\u0000\u0000\u0e73\u0ed1\u0003\u02c0\u0160"+
"\u0000\u0e74\u0e75\u0005\u0144\u0000\u0000\u0e75\u0e78\u0005\u026c\u0000"+
"\u0000\u0e76\u0e77\u0005\u018d\u0000\u0000\u0e77\u0e79\u0005\u015a\u0000"+
"\u0000\u0e78\u0e76\u0001\u0000\u0000\u0000\u0e78\u0e79\u0001\u0000\u0000"+
"\u0000\u0e79\u0e7a\u0001\u0000\u0000\u0000\u0e7a\u0e7c\u0003\u024c\u0126"+
"\u0000\u0e7b\u0e7d\u0005\u016e\u0000\u0000\u0e7c\u0e7b\u0001\u0000\u0000"+
"\u0000\u0e7c\u0e7d\u0001\u0000\u0000\u0000\u0e7d\u0ed1\u0001\u0000\u0000"+
"\u0000\u0e7e\u0e7f\u0005\u0144\u0000\u0000\u0e7f\u0e82\u0007+\u0000\u0000"+
"\u0e80\u0e81\u0005\u018d\u0000\u0000\u0e81\u0e83\u0005\u015a\u0000\u0000"+
"\u0e82\u0e80\u0001\u0000\u0000\u0000\u0e82\u0e83\u0001\u0000\u0000\u0000"+
"\u0e83\u0e84\u0001\u0000\u0000\u0000\u0e84\u0e86\u0003\u024c\u0126\u0000"+
"\u0e85\u0e87\u0005\u016e\u0000\u0000\u0e86\u0e85\u0001\u0000\u0000\u0000"+
"\u0e86\u0e87\u0001\u0000\u0000\u0000\u0e87\u0ed1\u0001\u0000\u0000\u0000"+
"\u0e88\u0e8a\u0005\u0144\u0000\u0000\u0e89\u0e8b\u0003\u01b0\u00d8\u0000"+
"\u0e8a\u0e89\u0001\u0000\u0000\u0000\u0e8a\u0e8b\u0001\u0000\u0000\u0000"+
"\u0e8b\u0e8c\u0001\u0000\u0000\u0000\u0e8c\u0e8f\u0005\u0175\u0000\u0000"+
"\u0e8d\u0e8e\u0005\u018d\u0000\u0000\u0e8e\u0e90\u0005\u015a\u0000\u0000"+
"\u0e8f\u0e8d\u0001\u0000\u0000\u0000\u0e8f\u0e90\u0001\u0000\u0000\u0000"+
"\u0e90\u0e91\u0001\u0000\u0000\u0000\u0e91\u0e92\u0003\u028e\u0147\u0000"+
"\u0e92\u0e94\u0005\u00b6\u0000\u0000\u0e93\u0e95\u0003\u018a\u00c5\u0000"+
"\u0e94\u0e93\u0001\u0000\u0000\u0000\u0e94\u0e95\u0001\u0000\u0000\u0000"+
"\u0e95\u0e96\u0001\u0000\u0000\u0000\u0e96\u0e97\u0005\u00b7\u0000\u0000"+
"\u0e97\u0ed1\u0001\u0000\u0000\u0000\u0e98\u0e99\u0005\u0144\u0000\u0000"+
"\u0e99\u0e9c\u0005\u0192\u0000\u0000\u0e9a\u0e9b\u0005\u018d\u0000\u0000"+
"\u0e9b\u0e9d\u0005\u015a\u0000\u0000\u0e9c\u0e9a\u0001\u0000\u0000\u0000"+
"\u0e9c\u0e9d\u0001\u0000\u0000\u0000\u0e9d\u0e9e\u0001\u0000\u0000\u0000"+
"\u0e9e\u0e9f\u0003\u02c0\u0160\u0000\u0e9f\u0ea0\u0005\u01ec\u0000\u0000"+
"\u0ea0\u0ea1\u0003\u024c\u0126\u0000\u0ea1\u0ed1\u0001\u0000\u0000\u0000"+
"\u0ea2\u0ea3\u0005\u0144\u0000\u0000\u0ea3\u0ea6\u0005\u0232\u0000\u0000"+
"\u0ea4\u0ea5\u0005\u018d\u0000\u0000\u0ea5\u0ea7\u0005\u015a\u0000\u0000"+
"\u0ea6\u0ea4\u0001\u0000\u0000\u0000\u0ea6\u0ea7\u0001\u0000\u0000\u0000"+
"\u0ea7\u0ea8\u0001\u0000\u0000\u0000\u0ea8\u0ed1\u0003\u01bc\u00de\u0000"+
"\u0ea9\u0eaa\u0005\u0144\u0000\u0000\u0eaa\u0eab\u0005\u0241\u0000\u0000"+
"\u0eab\u0eae\u0005\u020d\u0000\u0000\u0eac\u0ead\u0005\u018d\u0000\u0000"+
"\u0ead\u0eaf\u0005\u015a\u0000\u0000\u0eae\u0eac\u0001\u0000\u0000\u0000"+
"\u0eae\u0eaf\u0001\u0000\u0000\u0000\u0eaf\u0eb0\u0001\u0000\u0000\u0000"+
"\u0eb0\u0eb1\u0003\u02c0\u0160\u0000\u0eb1\u0eb2\u0005\u01ec\u0000\u0000"+
"\u0eb2\u0eb9\u0003\u024c\u0126\u0000\u0eb3\u0eb7\u0005\u016c\u0000\u0000"+
"\u0eb4\u0eb8\u0003\u01c4\u00e2\u0000\u0eb5\u0eb6\u0005\u023c\u0000\u0000"+
"\u0eb6\u0eb8\u0003\u02c0\u0160\u0000\u0eb7\u0eb4\u0001\u0000\u0000\u0000"+
"\u0eb7\u0eb5\u0001\u0000\u0000\u0000\u0eb8\u0eba\u0001\u0000\u0000\u0000"+
"\u0eb9\u0eb3\u0001\u0000\u0000\u0000\u0eb9\u0eba\u0001\u0000\u0000\u0000"+
"\u0eba\u0ed1\u0001\u0000\u0000\u0000\u0ebb\u0ebc\u0005\u0144\u0000\u0000"+
"\u0ebc\u0ebf\u0005\u0139\u0000\u0000\u0ebd\u0ebe\u0005\u018d\u0000\u0000"+
"\u0ebe\u0ec0\u0005\u015a\u0000\u0000\u0ebf\u0ebd\u0001\u0000\u0000\u0000"+
"\u0ebf\u0ec0\u0001\u0000\u0000\u0000\u0ec0\u0ec1\u0001\u0000\u0000\u0000"+
"\u0ec1\u0ed1\u0003\u024c\u0126\u0000\u0ec2\u0ec3\u0005\u0144\u0000\u0000"+
"\u0ec3\u0ec6\u0005\u025b\u0000\u0000\u0ec4\u0ec5\u0005\u018d\u0000\u0000"+
"\u0ec5\u0ec7\u0005\u015a\u0000\u0000\u0ec6\u0ec4\u0001\u0000\u0000\u0000"+
"\u0ec6\u0ec7\u0001\u0000\u0000\u0000\u0ec7\u0ec8\u0001\u0000\u0000\u0000"+
"\u0ec8\u0ed1\u0003\u02c0\u0160\u0000\u0ec9\u0eca\u0005\u0144\u0000\u0000"+
"\u0eca\u0ecd\u0005\u029e\u0000\u0000\u0ecb\u0ecc\u0005\u018d\u0000\u0000"+
"\u0ecc\u0ece\u0005\u015a\u0000\u0000\u0ecd\u0ecb\u0001\u0000\u0000\u0000"+
"\u0ecd\u0ece\u0001\u0000\u0000\u0000\u0ece\u0ecf\u0001\u0000\u0000\u0000"+
"\u0ecf\u0ed1\u0003\u024c\u0126\u0000\u0ed0\u0e22\u0001\u0000\u0000\u0000"+
"\u0ed0\u0e2a\u0001\u0000\u0000\u0000\u0ed0\u0e31\u0001\u0000\u0000\u0000"+
"\u0ed0\u0e38\u0001\u0000\u0000\u0000\u0ed0\u0e3f\u0001";
private static final String _serializedATNSegment2 =
"\u0000\u0000\u0000\u0ed0\u0e46\u0001\u0000\u0000\u0000\u0ed0\u0e4e\u0001"+
"\u0000\u0000\u0000\u0ed0\u0e5a\u0001\u0000\u0000\u0000\u0ed0\u0e61\u0001"+
"\u0000\u0000\u0000\u0ed0\u0e69\u0001\u0000\u0000\u0000\u0ed0\u0e71\u0001"+
"\u0000\u0000\u0000\u0ed0\u0e74\u0001\u0000\u0000\u0000\u0ed0\u0e7e\u0001"+
"\u0000\u0000\u0000\u0ed0\u0e88\u0001\u0000\u0000\u0000\u0ed0\u0e98\u0001"+
"\u0000\u0000\u0000\u0ed0\u0ea2\u0001\u0000\u0000\u0000\u0ed0\u0ea9\u0001"+
"\u0000\u0000\u0000\u0ed0\u0ebb\u0001\u0000\u0000\u0000\u0ed0\u0ec2\u0001"+
"\u0000\u0000\u0000\u0ed0\u0ec9\u0001\u0000\u0000\u0000\u0ed1\u0125\u0001"+
"\u0000\u0000\u0000\u0ed2\u0ed4\u0005\u0253\u0000\u0000\u0ed3\u0ed5\u0003"+
"\u01b0\u00d8\u0000\u0ed4\u0ed3\u0001\u0000\u0000\u0000\u0ed4\u0ed5\u0001"+
"\u0000\u0000\u0000\u0ed5\u0ed6\u0001\u0000\u0000\u0000\u0ed6\u0ed8\u0005"+
"\u0298\u0000\u0000\u0ed7\u0ed9\u0003\u015e\u00af\u0000\u0ed8\u0ed7\u0001"+
"\u0000\u0000\u0000\u0ed8\u0ed9\u0001\u0000\u0000\u0000\u0ed9\u114b\u0001"+
"\u0000\u0000\u0000\u0eda\u0edb\u0005\u0253\u0000\u0000\u0edb\u114b\u0005"+
"\u00d3\u0000\u0000\u0edc\u0edd\u0005\u0253\u0000\u0000\u0edd\u0ede\u0005"+
"\u0117\u0000\u0000\u0ede\u0edf\u0007+\u0000\u0000\u0edf\u114b\u0003\u024c"+
"\u0126\u0000\u0ee0\u0ee1\u0005\u0253\u0000\u0000\u0ee1\u0ee4\u0005\u00d9"+
"\u0000\u0000\u0ee2\u0ee3\u0007\'\u0000\u0000\u0ee3\u0ee5\u0003\u02c0\u0160"+
"\u0000\u0ee4\u0ee2\u0001\u0000\u0000\u0000\u0ee4\u0ee5\u0001\u0000\u0000"+
"\u0000\u0ee5\u0ee7\u0001\u0000\u0000\u0000\u0ee6\u0ee8\u0003\u015e\u00af"+
"\u0000\u0ee7\u0ee6\u0001\u0000\u0000\u0000\u0ee7\u0ee8\u0001\u0000\u0000"+
"\u0000\u0ee8\u114b\u0001\u0000\u0000\u0000\u0ee9\u0eea\u0005\u0253\u0000"+
"\u0000\u0eea\u114b\u0005\u00ea\u0000\u0000\u0eeb\u0eec\u0005\u0253\u0000"+
"\u0000\u0eec\u0eed\u0005\u0149\u0000\u0000\u0eed\u0eee\u0005\u01f8\u0000"+
"\u0000\u0eee\u0ef1\u0005\u026d\u0000\u0000\u0eef\u0ef0\u0007\'\u0000\u0000"+
"\u0ef0\u0ef2\u0003\u024c\u0126\u0000\u0ef1\u0eef\u0001\u0000\u0000\u0000"+
"\u0ef1\u0ef2\u0001\u0000\u0000\u0000\u0ef2\u114b\u0001\u0000\u0000\u0000"+
"\u0ef3\u0ef4\u0005\u0253\u0000\u0000\u0ef4\u0ef7\u0005\u0155\u0000\u0000"+
"\u0ef5\u0ef6\u0007\'\u0000\u0000\u0ef6\u0ef8\u0003\u024c\u0126\u0000\u0ef7"+
"\u0ef5\u0001\u0000\u0000\u0000\u0ef7\u0ef8\u0001\u0000\u0000\u0000\u0ef8"+
"\u0efa\u0001\u0000\u0000\u0000\u0ef9\u0efb\u0003\u015e\u00af\u0000\u0efa"+
"\u0ef9\u0001\u0000\u0000\u0000\u0efa\u0efb\u0001\u0000\u0000\u0000\u0efb"+
"\u114b\u0001\u0000\u0000\u0000\u0efc\u0efd\u0005\u0253\u0000\u0000\u0efd"+
"\u0f00\u0005\u015d\u0000\u0000\u0efe\u0eff\u0007\'\u0000\u0000\u0eff\u0f01"+
"\u0003\u024c\u0126\u0000\u0f00\u0efe\u0001\u0000\u0000\u0000\u0f00\u0f01"+
"\u0001\u0000\u0000\u0000\u0f01\u0f03\u0001\u0000\u0000\u0000\u0f02\u0f04"+
"\u0003\u015e\u00af\u0000\u0f03\u0f02\u0001\u0000\u0000\u0000\u0f03\u0f04"+
"\u0001\u0000\u0000\u0000\u0f04\u0f06\u0001\u0000\u0000\u0000\u0f05\u0f07"+
"\u0003\u022a\u0115\u0000\u0f06\u0f05\u0001\u0000\u0000\u0000\u0f06\u0f07"+
"\u0001\u0000\u0000\u0000\u0f07\u0f09\u0001\u0000\u0000\u0000\u0f08\u0f0a"+
"\u0003\u022e\u0117\u0000\u0f09\u0f08\u0001\u0000\u0000\u0000\u0f09\u0f0a"+
"\u0001\u0000\u0000\u0000\u0f0a\u114b\u0001\u0000\u0000\u0000\u0f0b\u0f0c"+
"\u0005\u0253\u0000\u0000\u0f0c\u0f0d\u0005\u01b2\u0000\u0000\u0f0d\u114b"+
"\u0005\u0196\u0000\u0000\u0f0e\u0f12\u0005\u0253\u0000\u0000\u0f0f\u0f10"+
"\u0005\u00f9\u0000\u0000\u0f10\u0f13\u0005\u024f\u0000\u0000\u0f11\u0f13"+
"\u0005\u00fa\u0000\u0000\u0f12\u0f0f\u0001\u0000\u0000\u0000\u0f12\u0f11"+
"\u0001\u0000\u0000\u0000\u0f13\u114b\u0001\u0000\u0000\u0000\u0f14\u0f15"+
"\u0005\u0253\u0000\u0000\u0f15\u0f18\u0005\u0132\u0000\u0000\u0f16\u0f17"+
"\u0007\'\u0000\u0000\u0f17\u0f19\u0003\u024c\u0126\u0000\u0f18\u0f16\u0001"+
"\u0000\u0000\u0000\u0f18\u0f19\u0001\u0000\u0000\u0000\u0f19\u114b\u0001"+
"\u0000\u0000\u0000\u0f1a\u0f1b\u0005\u0253\u0000\u0000\u0f1b\u0f1d\u0005"+
"\u0117\u0000\u0000\u0f1c\u0f1e\u0003\u01b0\u00d8\u0000\u0f1d\u0f1c\u0001"+
"\u0000\u0000\u0000\u0f1d\u0f1e\u0001\u0000\u0000\u0000\u0f1e\u0f1f\u0001"+
"\u0000\u0000\u0000\u0f1f\u0f20\u0005\u0175\u0000\u0000\u0f20\u0f21\u0003"+
"\u028e\u0147\u0000\u0f21\u0f23\u0005\u00b6\u0000\u0000\u0f22\u0f24\u0003"+
"\u018a\u00c5\u0000\u0f23\u0f22\u0001\u0000\u0000\u0000\u0f23\u0f24\u0001"+
"\u0000\u0000\u0000\u0f24\u0f25\u0001\u0000\u0000\u0000\u0f25\u0f28\u0005"+
"\u00b7\u0000\u0000\u0f26\u0f27\u0007\'\u0000\u0000\u0f27\u0f29\u0003\u024c"+
"\u0126\u0000\u0f28\u0f26\u0001\u0000\u0000\u0000\u0f28\u0f29\u0001\u0000"+
"\u0000\u0000\u0f29\u114b\u0001\u0000\u0000\u0000\u0f2a\u0f2c\u0005\u0253"+
"\u0000\u0000\u0f2b\u0f2d\u0005\u0174\u0000\u0000\u0f2c\u0f2b\u0001\u0000"+
"\u0000\u0000\u0f2c\u0f2d\u0001\u0000\u0000\u0000\u0f2d\u0f2f\u0001\u0000"+
"\u0000\u0000\u0f2e\u0f30\u0005\u00ed\u0000\u0000\u0f2f\u0f2e\u0001\u0000"+
"\u0000\u0000\u0f2f\u0f30\u0001\u0000\u0000\u0000\u0f30\u0f31\u0001\u0000"+
"\u0000\u0000\u0f31\u0f34\u0005\u0176\u0000\u0000\u0f32\u0f33\u0007\'\u0000"+
"\u0000\u0f33\u0f35\u0003\u024c\u0126\u0000\u0f34\u0f32\u0001\u0000\u0000"+
"\u0000\u0f34\u0f35\u0001\u0000\u0000\u0000\u0f35\u0f38\u0001\u0000\u0000"+
"\u0000\u0f36\u0f37\u0005\u01b9\u0000\u0000\u0f37\u0f39\u0005\u02c6\u0000"+
"\u0000\u0f38\u0f36\u0001\u0000\u0000\u0000\u0f38\u0f39\u0001\u0000\u0000"+
"\u0000\u0f39\u114b\u0001\u0000\u0000\u0000\u0f3a\u0f3b\u0005\u0253\u0000"+
"\u0000\u0f3b\u0f3d\u0005\u0179\u0000\u0000\u0f3c\u0f3e\u0005\u0174\u0000"+
"\u0000\u0f3d\u0f3c\u0001\u0000\u0000\u0000\u0f3d\u0f3e\u0001\u0000\u0000"+
"\u0000\u0f3e\u0f3f\u0001\u0000\u0000\u0000\u0f3f\u0f42\u0005\u0176\u0000"+
"\u0000\u0f40\u0f41\u0005\u01b9\u0000\u0000\u0f41\u0f43\u0005\u02c6\u0000"+
"\u0000\u0f42\u0f40\u0001\u0000\u0000\u0000\u0f42\u0f43\u0001\u0000\u0000"+
"\u0000\u0f43\u114b\u0001\u0000\u0000\u0000\u0f44\u0f46\u0005\u0253\u0000"+
"\u0000\u0f45\u0f47\u0005\u00c8\u0000\u0000\u0f46\u0f45\u0001\u0000\u0000"+
"\u0000\u0f46\u0f47\u0001\u0000\u0000\u0000\u0f47\u0f48\u0001\u0000\u0000"+
"\u0000\u0f48\u114b\u0005\u017b\u0000\u0000\u0f49\u0f4a\u0005\u0253\u0000"+
"\u0000\u0f4a\u0f4b\u0005\u017b\u0000\u0000\u0f4b\u0f4c\u0005\u016c\u0000"+
"\u0000\u0f4c\u114b\u0003\u01c4\u00e2\u0000\u0f4d\u0f4e\u0005\u0253\u0000"+
"\u0000\u0f4e\u0f4f\u0005\u026a\u0000\u0000\u0f4f\u0f52\u0005\u01a7\u0000"+
"\u0000\u0f50\u0f51\u0007\'\u0000\u0000\u0f51\u0f53\u0003\u024c\u0126\u0000"+
"\u0f52\u0f50\u0001\u0000\u0000\u0000\u0f52\u0f53\u0001\u0000\u0000\u0000"+
"\u0f53\u114b\u0001\u0000\u0000\u0000\u0f54\u0f55\u0005\u0253\u0000\u0000"+
"\u0f55\u0f56\u0005\u0257\u0000\u0000\u0f56\u0f57\u0005\u01ec\u0000\u0000"+
"\u0f57\u0f59\u0003\u02c0\u0160\u0000\u0f58\u0f5a\u0003\u015e\u00af\u0000"+
"\u0f59\u0f58\u0001\u0000\u0000\u0000\u0f59\u0f5a\u0001\u0000\u0000\u0000"+
"\u0f5a\u114b\u0001\u0000\u0000\u0000\u0f5b\u0f5c\u0005\u0253\u0000\u0000"+
"\u0f5c\u0f5d\u0005\u01be\u0000\u0000\u0f5d\u0f5f\u0005\u0214\u0000\u0000"+
"\u0f5e\u0f60\u0005\u02c6\u0000\u0000\u0f5f\u0f5e\u0001\u0000\u0000\u0000"+
"\u0f5f\u0f60\u0001\u0000\u0000\u0000\u0f60\u0f62\u0001\u0000\u0000\u0000"+
"\u0f61\u0f63\u0003\u022e\u0117\u0000\u0f62\u0f61\u0001\u0000\u0000\u0000"+
"\u0f62\u0f63\u0001\u0000\u0000\u0000\u0f63\u114b\u0001\u0000\u0000\u0000"+
"\u0f64\u0f65\u0005\u0253\u0000\u0000\u0f65\u0f66\u0005\u0117\u0000\u0000"+
"\u0f66\u0f67\u0005\u0231\u0000\u0000\u0f67\u0f68\u0005\u016c\u0000\u0000"+
"\u0f68\u114b\u0003\u02c0\u0160\u0000\u0f69\u0f6a\u0005\u0253\u0000\u0000"+
"\u0f6a\u0f6b\u0005\u029e\u0000\u0000\u0f6b\u0f6c\u0007\'\u0000\u0000\u0f6c"+
"\u0f6f\u0003\u024c\u0126\u0000\u0f6d\u0f6e\u0007\'\u0000\u0000\u0f6e\u0f70"+
"\u0003\u02c0\u0160\u0000\u0f6f\u0f6d\u0001\u0000\u0000\u0000\u0f6f\u0f70"+
"\u0001\u0000\u0000\u0000\u0f70\u114b\u0001\u0000\u0000\u0000\u0f71\u0f72"+
"\u0005\u0253\u0000\u0000\u0f72\u114b\u0005\u020c\u0000\u0000\u0f73\u0f74"+
"\u0005\u0253\u0000\u0000\u0f74\u0f75\u0005\u0262\u0000\u0000\u0f75\u114b"+
"\u0007.\u0000\u0000\u0f76\u0f77\u0005\u0253\u0000\u0000\u0f77\u114b\u0005"+
"\u0230\u0000\u0000\u0f78\u0f79\u0005\u0253\u0000\u0000\u0f79\u0f7c\u0005"+
"\u014e\u0000\u0000\u0f7a\u0f7b\u0007\'\u0000\u0000\u0f7b\u0f7d\u0003\u024c"+
"\u0126\u0000\u0f7c\u0f7a\u0001\u0000\u0000\u0000\u0f7c\u0f7d\u0001\u0000"+
"\u0000\u0000\u0f7d\u0f80\u0001\u0000\u0000\u0000\u0f7e\u0f7f\u0005\u01b9"+
"\u0000\u0000\u0f7f\u0f81\u0005\u02c6\u0000\u0000\u0f80\u0f7e\u0001\u0000"+
"\u0000\u0000\u0f80\u0f81\u0001\u0000\u0000\u0000\u0f81\u114b\u0001\u0000"+
"\u0000\u0000\u0f82\u0f84\u0005\u0253\u0000\u0000\u0f83\u0f85\u0005\u00e9"+
"\u0000\u0000\u0f84\u0f83\u0001\u0000\u0000\u0000\u0f84\u0f85\u0001\u0000"+
"\u0000\u0000\u0f85\u0f86\u0001\u0000\u0000\u0000\u0f86\u0f87\u0005\u0117"+
"\u0000\u0000\u0f87\u0f88\u0005\u026c\u0000\u0000\u0f88\u114b\u0003\u024c"+
"\u0126\u0000\u0f89\u0f8b\u0005\u0253\u0000\u0000\u0f8a\u0f8c\u0005\u0174"+
"\u0000\u0000\u0f8b\u0f8a\u0001\u0000\u0000\u0000\u0f8b\u0f8c\u0001\u0000"+
"\u0000\u0000\u0f8c\u0f8d\u0001\u0000\u0000\u0000\u0f8d\u114b\u0005\u0213"+
"\u0000\u0000\u0f8e\u0f90\u0005\u0253\u0000\u0000\u0f8f\u0f91\u0005\u0273"+
"\u0000\u0000\u0f90\u0f8f\u0001\u0000\u0000\u0000\u0f90\u0f91\u0001\u0000"+
"\u0000\u0000\u0f91\u0f92\u0001\u0000\u0000\u0000\u0f92\u0f93\u0005\u01f9"+
"\u0000\u0000\u0f93\u0f94\u0005\u0171\u0000\u0000\u0f94\u0f96\u0003\u024c"+
"\u0126\u0000\u0f95\u0f97\u0003\u015e\u00af\u0000\u0f96\u0f95\u0001\u0000"+
"\u0000\u0000\u0f96\u0f97\u0001\u0000\u0000\u0000\u0f97\u0f99\u0001\u0000"+
"\u0000\u0000\u0f98\u0f9a\u0003\u022a\u0115\u0000\u0f99\u0f98\u0001\u0000"+
"\u0000\u0000\u0f99\u0f9a\u0001\u0000\u0000\u0000\u0f9a\u0f9c\u0001\u0000"+
"\u0000\u0000\u0f9b\u0f9d\u0003\u022e\u0117\u0000\u0f9c\u0f9b\u0001\u0000"+
"\u0000\u0000\u0f9c\u0f9d\u0001\u0000\u0000\u0000\u0f9d\u114b\u0001\u0000"+
"\u0000\u0000\u0f9e\u0fa0\u0005\u0253\u0000\u0000\u0f9f\u0fa1\u0005\u00e9"+
"\u0000\u0000\u0fa0\u0f9f\u0001\u0000\u0000\u0000\u0fa0\u0fa1\u0001\u0000"+
"\u0000\u0000\u0fa1\u0fa2\u0001\u0000\u0000\u0000\u0fa2\u0fa5\u0005\u0234"+
"\u0000\u0000\u0fa3\u0fa4\u0007\'\u0000\u0000\u0fa4\u0fa6\u0003\u02c0\u0160"+
"\u0000\u0fa5\u0fa3\u0001\u0000\u0000\u0000\u0fa5\u0fa6\u0001\u0000\u0000"+
"\u0000\u0fa6\u0fa8\u0001\u0000\u0000\u0000\u0fa7\u0fa9\u0003\u015e\u00af"+
"\u0000\u0fa8\u0fa7\u0001\u0000\u0000\u0000\u0fa8\u0fa9\u0001\u0000\u0000"+
"\u0000\u0fa9\u114b\u0001\u0000\u0000\u0000\u0faa\u0fab\u0005\u0253\u0000"+
"\u0000\u0fab\u114b\u0005\u023d\u0000\u0000\u0fac\u0fad\u0005\u0253\u0000"+
"\u0000\u0fad\u0fae\u0005\u01f8\u0000\u0000\u0fae\u114b\u0005\u02cb\u0000"+
"\u0000\u0faf\u0fb0\u0005\u0253\u0000\u0000\u0fb0\u114b\u0005\u0209\u0000"+
"\u0000\u0fb1\u0fb2\u0005\u0253\u0000\u0000\u0fb2\u0fb3\u0005\u0211\u0000"+
"\u0000\u0fb3\u114b\u0005\u02c6\u0000\u0000\u0fb4\u0fb5\u0005\u0253\u0000"+
"\u0000\u0fb5\u0fb8\u0005\u0166\u0000\u0000\u0fb6\u0fb7\u0007\'\u0000\u0000"+
"\u0fb7\u0fb9\u0003\u024c\u0126\u0000\u0fb8\u0fb6\u0001\u0000\u0000\u0000"+
"\u0fb8\u0fb9\u0001\u0000\u0000\u0000\u0fb9\u114b\u0001\u0000\u0000\u0000"+
"\u0fba\u0fbc\u0005\u0253\u0000\u0000\u0fbb\u0fbd\u0005\u0262\u0000\u0000"+
"\u0fbc\u0fbb\u0001\u0000\u0000\u0000\u0fbc\u0fbd\u0001\u0000\u0000\u0000"+
"\u0fbd\u0fbe\u0001\u0000\u0000\u0000\u0fbe\u114b\u0005\u0152\u0000\u0000"+
"\u0fbf\u0fc0\u0005\u0253\u0000\u0000\u0fc0\u0fc1\u0005\u0117\u0000\u0000"+
"\u0fc1\u0fc2\u0005\u00f6\u0000\u0000\u0fc2\u114b\u0003\u02c0\u0160\u0000"+
"\u0fc3\u0fc4\u0005\u0253\u0000\u0000\u0fc4\u0fc5\u0005\u00f6\u0000\u0000"+
"\u0fc5\u114b\u0003\u02c0\u0160\u0000\u0fc6\u0fc7\u0005\u0253\u0000\u0000"+
"\u0fc7\u0fc9\u0005\u00f7\u0000\u0000\u0fc8\u0fca\u0003\u015e\u00af\u0000"+
"\u0fc9\u0fc8\u0001\u0000\u0000\u0000\u0fc9\u0fca\u0001\u0000\u0000\u0000"+
"\u0fca\u114b\u0001\u0000\u0000\u0000\u0fcb\u0fcc\u0005\u0253\u0000\u0000"+
"\u0fcc\u0fcf\u0005\u0216\u0000\u0000\u0fcd\u0fce\u0005\u016c\u0000\u0000"+
"\u0fce\u0fd0\u0003\u01bc\u00de\u0000\u0fcf\u0fcd\u0001\u0000\u0000\u0000"+
"\u0fcf\u0fd0\u0001\u0000\u0000\u0000\u0fd0\u0fd3\u0001\u0000\u0000\u0000"+
"\u0fd1\u0fd2\u0005\u01b9\u0000\u0000\u0fd2\u0fd4\u0005\u02c6\u0000\u0000"+
"\u0fd3\u0fd1\u0001\u0000\u0000\u0000\u0fd3\u0fd4\u0001\u0000\u0000\u0000"+
"\u0fd4\u114b\u0001\u0000\u0000\u0000\u0fd5\u0fd6\u0005\u0253\u0000\u0000"+
"\u0fd6\u0fd7\u0005\u00c8\u0000\u0000\u0fd7\u0fda\u0005\u0215\u0000\u0000"+
"\u0fd8\u0fd9\u0005\u01b9\u0000\u0000\u0fd9\u0fdb\u0005\u02c6\u0000\u0000"+
"\u0fda\u0fd8\u0001\u0000\u0000\u0000\u0fda\u0fdb\u0001\u0000\u0000\u0000"+
"\u0fdb\u114b\u0001\u0000\u0000\u0000\u0fdc\u0fdd\u0005\u0253\u0000\u0000"+
"\u0fdd\u0fdf\u0005\u0100\u0000\u0000\u0fde\u0fe0\u0003\u015e\u00af\u0000"+
"\u0fdf\u0fde\u0001\u0000\u0000\u0000\u0fdf\u0fe0\u0001\u0000\u0000\u0000"+
"\u0fe0\u114b\u0001\u0000\u0000\u0000\u0fe1\u0fe2\u0005\u0253\u0000\u0000"+
"\u0fe2\u0fe3\u0005\u0241\u0000\u0000\u0fe3\u0fea\u0005\u020d\u0000\u0000"+
"\u0fe4\u0fe8\u0005\u016c\u0000\u0000\u0fe5\u0fe9\u0003\u01c4\u00e2\u0000"+
"\u0fe6\u0fe7\u0005\u023c\u0000\u0000\u0fe7\u0fe9\u0003\u02c0\u0160\u0000"+
"\u0fe8\u0fe5\u0001\u0000\u0000\u0000\u0fe8\u0fe6\u0001\u0000\u0000\u0000"+
"\u0fe9\u0feb\u0001\u0000\u0000\u0000\u0fea\u0fe4\u0001\u0000\u0000\u0000"+
"\u0fea\u0feb\u0001\u0000\u0000\u0000\u0feb\u114b\u0001\u0000\u0000\u0000"+
"\u0fec\u0fed\u0005\u0253\u0000\u0000\u0fed\u0fee\u0005\u0262\u0000\u0000"+
"\u0fee\u0ff4\u0005\u020d\u0000\u0000\u0fef\u0ff2\u0005\u0293\u0000\u0000"+
"\u0ff0\u0ff1\u0005\u016c\u0000\u0000\u0ff1\u0ff3\u0003\u01bc\u00de\u0000"+
"\u0ff2\u0ff0\u0001\u0000\u0000\u0000\u0ff2\u0ff3\u0001\u0000\u0000\u0000"+
"\u0ff3\u0ff5\u0001\u0000\u0000\u0000\u0ff4\u0fef\u0001\u0000\u0000\u0000"+
"\u0ff4\u0ff5\u0001\u0000\u0000\u0000\u0ff5\u114b\u0001\u0000\u0000\u0000"+
"\u0ff6\u0ff7\u0005\u0253\u0000\u0000\u0ff7\u0ffa\u0005\u025a\u0000\u0000"+
"\u0ff8\u0ff9\u0005\u016c\u0000\u0000\u0ff9\u0ffb\u0003\u02c0\u0160\u0000"+
"\u0ffa\u0ff8\u0001\u0000\u0000\u0000\u0ffa\u0ffb\u0001\u0000\u0000\u0000"+
"\u0ffb\u114b\u0001\u0000\u0000\u0000\u0ffc\u0ffd\u0005\u0253\u0000\u0000"+
"\u0ffd\u0ffe\u0005\u0117\u0000\u0000\u0ffe\u0fff\u0005\u029e\u0000\u0000"+
"\u0fff\u114b\u0003\u024c\u0126\u0000\u1000\u1001\u0005\u0253\u0000\u0000"+
"\u1001\u1002\u0005\u0122\u0000\u0000\u1002\u114b\u0005\u0285\u0000\u0000"+
"\u1003\u1004\u0005\u0253\u0000\u0000\u1004\u1006\u0005\u0122\u0000\u0000"+
"\u1005\u1007\u0005\u00c8\u0000\u0000\u1006\u1005\u0001\u0000\u0000\u0000"+
"\u1006\u1007\u0001\u0000\u0000\u0000\u1007\u100a\u0001\u0000\u0000\u0000"+
"\u1008\u1009\u0005\u0171\u0000\u0000\u1009\u100b\u0003\u024c\u0126\u0000"+
"\u100a\u1008\u0001\u0000\u0000\u0000\u100a\u100b\u0001\u0000\u0000\u0000"+
"\u100b\u100d\u0001\u0000\u0000\u0000\u100c\u100e\u0003\u022a\u0115\u0000"+
"\u100d\u100c\u0001\u0000\u0000\u0000\u100d\u100e\u0001\u0000\u0000\u0000"+
"\u100e\u1010\u0001\u0000\u0000\u0000\u100f\u1011\u0003\u0240\u0120\u0000"+
"\u1010\u100f\u0001\u0000\u0000\u0000\u1010\u1011\u0001\u0000\u0000\u0000"+
"\u1011\u114b\u0001\u0000\u0000\u0000\u1012\u1013\u0005\u0253\u0000\u0000"+
"\u1013\u1014\u0005\u0117\u0000\u0000\u1014\u1015\u0005\u01cf\u0000\u0000"+
"\u1015\u1016\u0005\u029e\u0000\u0000\u1016\u1017\u0003\u02c0\u0160\u0000"+
"\u1017\u1018\u0005\u01ec\u0000\u0000\u1018\u1019\u0003\u024c\u0126\u0000"+
"\u1019\u114b\u0001\u0000\u0000\u0000\u101a\u101b\u0005\u0253\u0000\u0000"+
"\u101b\u101d\u0007/\u0000\u0000\u101c\u101e\u0003\u022e\u0117\u0000\u101d"+
"\u101c\u0001\u0000\u0000\u0000\u101d\u101e\u0001\u0000\u0000\u0000\u101e"+
"\u114b\u0001\u0000\u0000\u0000\u101f\u1020\u0005\u0253\u0000\u0000\u1020"+
"\u1021\u0005\u0116\u0000\u0000\u1021\u1022\u0005\u00b6\u0000\u0000\u1022"+
"\u1023\u0005\u02b5\u0000\u0000\u1023\u1024\u0005\u00b7\u0000\u0000\u1024"+
"\u114b\u0007/\u0000\u0000\u1025\u1026\u0005\u0253\u0000\u0000\u1026\u114b"+
"\u0005\u00d8\u0000\u0000\u1027\u1028\u0005\u0253\u0000\u0000\u1028\u114b"+
"\u0005\u025c\u0000\u0000\u1029\u102a\u0005\u0253\u0000\u0000\u102a\u102b"+
"\u0005\u022f\u0000\u0000\u102b\u102c\u0005\u013f\u0000\u0000\u102c\u102d"+
"\u0005\u0171\u0000\u0000\u102d\u114b\u0003\u015c\u00ae\u0000\u102e\u102f"+
"\u0005\u0253\u0000\u0000\u102f\u1031\u0005\u0233\u0000\u0000\u1030\u1032"+
"\u0003\u015e\u00af\u0000\u1031\u1030\u0001\u0000\u0000\u0000\u1031\u1032"+
"\u0001\u0000\u0000\u0000\u1032\u1034\u0001\u0000\u0000\u0000\u1033\u1035"+
"\u0003\u022a\u0115\u0000\u1034\u1033\u0001\u0000\u0000\u0000\u1034\u1035"+
"\u0001\u0000\u0000\u0000\u1035\u1037\u0001\u0000\u0000\u0000\u1036\u1038"+
"\u0003\u022e\u0117\u0000\u1037\u1036\u0001\u0000\u0000\u0000\u1037\u1038"+
"\u0001\u0000\u0000\u0000\u1038\u114b\u0001\u0000\u0000\u0000\u1039\u103b"+
"\u0005\u0253\u0000\u0000\u103a\u103c\u0005\u0263\u0000\u0000\u103b\u103a"+
"\u0001\u0000\u0000\u0000\u103b\u103c\u0001\u0000\u0000\u0000\u103c\u103d"+
"\u0001\u0000\u0000\u0000\u103d\u1040\u0005\u01be\u0000\u0000\u103e\u103f"+
"\u0007\'\u0000\u0000\u103f\u1041\u0003\u02c0\u0160\u0000\u1040\u103e\u0001"+
"\u0000\u0000\u0000\u1040\u1041\u0001\u0000\u0000\u0000\u1041\u1043\u0001"+
"\u0000\u0000\u0000\u1042\u1044\u0003\u015e\u00af\u0000\u1043\u1042\u0001"+
"\u0000\u0000\u0000\u1043\u1044\u0001\u0000\u0000\u0000\u1044\u1046\u0001"+
"\u0000\u0000\u0000\u1045\u1047\u0003\u022a\u0115\u0000\u1046\u1045\u0001"+
"\u0000\u0000\u0000\u1046\u1047\u0001\u0000\u0000\u0000\u1047\u1049\u0001"+
"\u0000\u0000\u0000\u1048\u104a\u0003\u022e\u0117\u0000\u1049\u1048\u0001"+
"\u0000\u0000\u0000\u1049\u104a\u0001\u0000\u0000\u0000\u104a\u114b\u0001"+
"\u0000\u0000\u0000\u104b\u104d\u0005\u0253\u0000\u0000\u104c\u104e\u0005"+
"\u0174\u0000\u0000\u104d\u104c\u0001\u0000\u0000\u0000\u104d\u104e\u0001"+
"\u0000\u0000\u0000\u104e\u104f\u0001\u0000\u0000\u0000\u104f\u1052\u0005"+
"\u027f\u0000\u0000\u1050\u1051\u0007\'\u0000\u0000\u1051\u1053\u0003\u024c"+
"\u0126\u0000\u1052\u1050\u0001\u0000\u0000\u0000\u1052\u1053\u0001\u0000"+
"\u0000\u0000\u1053\u1055\u0001\u0000\u0000\u0000\u1054\u1056\u0003\u015e"+
"\u00af\u0000\u1055\u1054\u0001\u0000\u0000\u0000\u1055\u1056\u0001\u0000"+
"\u0000\u0000\u1056\u114b\u0001\u0000\u0000\u0000\u1057\u1058\u0005\u0253"+
"\u0000\u0000\u1058\u1059\u0005\u026f\u0000\u0000\u1059\u105a\u0005\u0137"+
"\u0000\u0000\u105a\u114b\u0005\u02cb\u0000\u0000\u105b\u105c\u0005\u0253"+
"\u0000\u0000\u105c\u105d\u0005\u01ee\u0000\u0000\u105d\u1060\u0005\u026d"+
"\u0000\u0000\u105e\u105f\u0007\'\u0000\u0000\u105f\u1061\u0003\u024c\u0126"+
"\u0000\u1060\u105e\u0001\u0000\u0000\u0000\u1060\u1061\u0001\u0000\u0000"+
"\u0000\u1061\u1063\u0001\u0000\u0000\u0000\u1062\u1064\u0003\u015e\u00af"+
"\u0000\u1063\u1062\u0001\u0000\u0000\u0000\u1063\u1064\u0001\u0000\u0000"+
"\u0000\u1064\u114b\u0001\u0000\u0000\u0000\u1065\u1066\u0005\u0253\u0000"+
"\u0000\u1066\u1068\u0005\u0173\u0000\u0000\u1067\u1069\u0003\u02c0\u0160"+
"\u0000\u1068\u1067\u0001\u0000\u0000\u0000\u1068\u1069\u0001\u0000\u0000"+
"\u0000\u1069\u114b\u0001\u0000\u0000\u0000\u106a\u106b\u0005\u0253\u0000"+
"\u0000\u106b\u106c\u0005\u0123\u0000\u0000\u106c\u114b\u0005\u02cb\u0000"+
"\u0000\u106d\u106f\u0005\u0253\u0000\u0000\u106e\u1070\u0005\u0174\u0000"+
"\u0000\u106f\u106e\u0001\u0000\u0000\u0000\u106f\u1070\u0001\u0000\u0000"+
"\u0000\u1070\u1071\u0001\u0000\u0000\u0000\u1071\u1072\u00070\u0000\u0000"+
"\u1072\u1073\u0007\'\u0000\u0000\u1073\u1076\u0003\u024c\u0126\u0000\u1074"+
"\u1075\u0007\'\u0000\u0000\u1075\u1077\u0003\u024c\u0126\u0000\u1076\u1074"+
"\u0001\u0000\u0000\u0000\u1076\u1077\u0001\u0000\u0000\u0000\u1077\u1079"+
"\u0001\u0000\u0000\u0000\u1078\u107a\u0003\u015e\u00af\u0000\u1079\u1078"+
"\u0001\u0000\u0000\u0000\u1079\u107a\u0001\u0000\u0000\u0000\u107a\u114b"+
"\u0001\u0000\u0000\u0000\u107b\u107c\u0005\u0253\u0000\u0000\u107c\u107d"+
"\u0005\u026c\u0000\u0000\u107d\u114b\u0005\u02cb\u0000\u0000\u107e\u107f"+
"\u0005\u0253\u0000\u0000\u107f\u1082\u0005\u027d\u0000\u0000\u1080\u1081"+
"\u0005\u01ec\u0000\u0000\u1081\u1083\u0005\u02c6\u0000\u0000\u1082\u1080"+
"\u0001\u0000\u0000\u0000\u1082\u1083\u0001\u0000\u0000\u0000\u1083\u114b"+
"\u0001\u0000\u0000\u0000\u1084\u1088\u0005\u0253\u0000\u0000\u1085\u1089"+
"\u0005\u00fe\u0000\u0000\u1086\u1087\u0005\u010b\u0000\u0000\u1087\u1089"+
"\u0005\u017f\u0000\u0000\u1088\u1085\u0001\u0000\u0000\u0000\u1088\u1086"+
"\u0001\u0000\u0000\u0000\u1089\u114b\u0001\u0000\u0000\u0000\u108a\u108c"+
"\u0005\u0253\u0000\u0000\u108b\u108d\u0003\u01b0\u00d8\u0000\u108c\u108b"+
"\u0001\u0000\u0000\u0000\u108c\u108d\u0001\u0000\u0000\u0000\u108d\u108e"+
"\u0001\u0000\u0000\u0000\u108e\u114b\u0005\u0260\u0000\u0000\u108f\u1090"+
"\u0005\u0253\u0000\u0000\u1090\u114b\u0005\u02a5\u0000\u0000\u1091\u1092"+
"\u0005\u0253\u0000\u0000\u1092\u1093\u0005\u0270\u0000\u0000\u1093\u1094"+
"\u0005\u00db\u0000\u0000\u1094\u1099\u0005\u02cb\u0000\u0000\u1095\u1096"+
"\u0005\u00b8\u0000\u0000\u1096\u1098\u0005\u02cb\u0000\u0000\u1097\u1095"+
"\u0001\u0000\u0000\u0000\u1098\u109b\u0001\u0000\u0000\u0000\u1099\u1097"+
"\u0001\u0000\u0000\u0000\u1099\u109a\u0001\u0000\u0000\u0000\u109a\u114b"+
"\u0001\u0000\u0000\u0000\u109b\u1099\u0001\u0000\u0000\u0000\u109c\u109d"+
"\u0005\u0253\u0000\u0000\u109d\u109e\u0005\u0122\u0000\u0000\u109e\u109f"+
"\u0005\u0255\u0000\u0000\u109f\u10a0\u0005\u0171\u0000\u0000\u10a0\u114b"+
"\u0003\u015c\u00ae\u0000\u10a1\u10a2\u0005\u0253\u0000\u0000\u10a2\u10a3"+
"\u0005\u026c\u0000\u0000\u10a3\u10a6\u0005\u0118\u0000\u0000\u10a4\u10a5"+
"\u0007\'\u0000\u0000\u10a5\u10a7\u0003\u024c\u0126\u0000\u10a6\u10a4\u0001"+
"\u0000\u0000\u0000\u10a6\u10a7\u0001\u0000\u0000\u0000\u10a7\u10aa\u0001"+
"\u0000\u0000\u0000\u10a8\u10a9\u0005\u01b9\u0000\u0000\u10a9\u10ab\u0005"+
"\u02c6\u0000\u0000\u10aa\u10a8\u0001\u0000\u0000\u0000\u10aa\u10ab\u0001"+
"\u0000\u0000\u0000\u10ab\u114b\u0001\u0000\u0000\u0000\u10ac\u10ad\u0005"+
"\u0253\u0000\u0000\u10ad\u10ae\u0005\u026f\u0000\u0000\u10ae\u10af\u0005"+
"\u0262\u0000\u0000\u10af\u10b1\u0005\u016f\u0000\u0000\u10b0\u10b2\u0005"+
"\u029c\u0000\u0000\u10b1\u10b0\u0001\u0000\u0000\u0000\u10b1\u10b2\u0001"+
"\u0000\u0000\u0000\u10b2\u114b\u0001\u0000\u0000\u0000\u10b3\u10b4\u0005"+
"\u0253\u0000\u0000\u10b4\u10b5\u0005\u0219\u0000\u0000\u10b5\u10b7\u0005"+
"\u0214\u0000\u0000\u10b6\u10b8\u0005\u02c6\u0000\u0000\u10b7\u10b6\u0001"+
"\u0000\u0000\u0000\u10b7\u10b8\u0001\u0000\u0000\u0000\u10b8\u10ba\u0001"+
"\u0000\u0000\u0000\u10b9\u10bb\u0003\u022e\u0117\u0000\u10ba\u10b9\u0001"+
"\u0000\u0000\u0000\u10ba\u10bb\u0001\u0000\u0000\u0000\u10bb\u114b\u0001"+
"\u0000\u0000\u0000\u10bc\u10bd\u0005\u0253\u0000\u0000\u10bd\u10c0\u0005"+
"\u0114\u0000\u0000\u10be\u10bf\u0007\'\u0000\u0000\u10bf\u10c1\u0003\u024c"+
"\u0126\u0000\u10c0\u10be\u0001\u0000\u0000\u0000\u10c0\u10c1\u0001\u0000"+
"\u0000\u0000\u10c1\u114b\u0001\u0000\u0000\u0000\u10c2\u10c4\u0005\u0253"+
"\u0000\u0000\u10c3\u10c5\u0005\u0174\u0000\u0000\u10c4\u10c3\u0001\u0000"+
"\u0000\u0000\u10c4\u10c5\u0001\u0000\u0000\u0000\u10c5\u10c6\u0001\u0000"+
"\u0000\u0000\u10c6\u10c9\u0005\u026d\u0000\u0000\u10c7\u10c8\u0007\'\u0000"+
"\u0000\u10c8\u10ca\u0003\u024c\u0126\u0000\u10c9\u10c7\u0001\u0000\u0000"+
"\u0000\u10c9\u10ca\u0001\u0000\u0000\u0000\u10ca\u10cc\u0001\u0000\u0000"+
"\u0000\u10cb\u10cd\u0003\u015e\u00af\u0000\u10cc\u10cb\u0001\u0000\u0000"+
"\u0000\u10cc\u10cd\u0001\u0000\u0000\u0000\u10cd\u114b\u0001\u0000\u0000"+
"\u0000\u10ce\u10d0\u0005\u0253\u0000\u0000\u10cf\u10d1\u0005\u0174\u0000"+
"\u0000\u10d0\u10cf\u0001\u0000\u0000\u0000\u10d0\u10d1\u0001\u0000\u0000"+
"\u0000\u10d1\u10d2\u0001\u0000\u0000\u0000\u10d2\u10d5\u0005\u029f\u0000"+
"\u0000\u10d3\u10d4\u0007\'\u0000\u0000\u10d4\u10d6\u0003\u024c\u0126\u0000"+
"\u10d5\u10d3\u0001\u0000\u0000\u0000\u10d5\u10d6\u0001\u0000\u0000\u0000"+
"\u10d6\u10d8\u0001\u0000\u0000\u0000\u10d7\u10d9\u0003\u015e\u00af\u0000"+
"\u10d8\u10d7\u0001\u0000\u0000\u0000\u10d8\u10d9\u0001\u0000\u0000\u0000"+
"\u10d9\u114b\u0001\u0000\u0000\u0000\u10da\u10db\u0005\u0253\u0000\u0000"+
"\u10db\u10dc\u0005\u026c\u0000\u0000\u10dc\u10df\u0005\u0260\u0000\u0000"+
"\u10dd\u10de\u0007\'\u0000\u0000\u10de\u10e0\u0003\u024c\u0126\u0000\u10df"+
"\u10dd\u0001\u0000\u0000\u0000\u10df\u10e0\u0001\u0000\u0000\u0000\u10e0"+
"\u10e2\u0001\u0000\u0000\u0000\u10e1\u10e3\u0003\u015e\u00af\u0000\u10e2"+
"\u10e1\u0001\u0000\u0000\u0000\u10e2\u10e3\u0001\u0000\u0000\u0000\u10e3"+
"\u114b\u0001\u0000\u0000\u0000\u10e4\u10e5\u0005\u0253\u0000\u0000\u10e5"+
"\u10e8\u00071\u0000\u0000\u10e6\u10e7\u0005\u0171\u0000\u0000\u10e7\u10e9"+
"\u0003\u02c0\u0160\u0000\u10e8\u10e6\u0001\u0000\u0000\u0000\u10e8\u10e9"+
"\u0001\u0000\u0000\u0000\u10e9\u10eb\u0001\u0000\u0000\u0000\u10ea\u10ec"+
"\u0003\u015e\u00af\u0000\u10eb\u10ea\u0001\u0000\u0000\u0000\u10eb\u10ec"+
"\u0001\u0000\u0000\u0000\u10ec\u114b\u0001\u0000\u0000\u0000\u10ed\u10ee"+
"\u0005\u0253\u0000\u0000\u10ee\u10ef\u0005\u0270\u0000\u0000\u10ef\u10f0"+
"\u0005\u0171\u0000\u0000\u10f0\u10f2\u0003\u024c\u0126\u0000\u10f1\u10f3"+
"\u0003\u01a6\u00d3\u0000\u10f2\u10f1\u0001\u0000\u0000\u0000\u10f2\u10f3"+
"\u0001\u0000\u0000\u0000\u10f3\u10f5\u0001\u0000\u0000\u0000\u10f4\u10f6"+
"\u0003\u015e\u00af\u0000\u10f5\u10f4\u0001\u0000\u0000\u0000\u10f5\u10f6"+
"\u0001\u0000\u0000\u0000\u10f6\u10f8\u0001\u0000\u0000\u0000\u10f7\u10f9"+
"\u0003\u022a\u0115\u0000\u10f8\u10f7\u0001\u0000\u0000\u0000\u10f8\u10f9"+
"\u0001\u0000\u0000\u0000\u10f9\u10fb\u0001\u0000\u0000\u0000\u10fa\u10fc"+
"\u0003\u022e\u0117\u0000\u10fb\u10fa\u0001\u0000\u0000\u0000\u10fb\u10fc"+
"\u0001\u0000\u0000\u0000\u10fc\u114b\u0001\u0000\u0000\u0000\u10fd\u10fe"+
"\u0005\u0253\u0000\u0000\u10fe\u10ff\u0005\u00f6\u0000\u0000\u10ff\u1100"+
"\u0005\u0224\u0000\u0000\u1100\u1103\u0005\u00de\u0000\u0000\u1101\u1102"+
"\u0005\u02a4\u0000\u0000\u1102\u1104\u0003\u0278\u013c\u0000\u1103\u1101"+
"\u0001\u0000\u0000\u0000\u1103\u1104\u0001\u0000\u0000\u0000\u1104\u114b"+
"\u0001\u0000\u0000\u0000\u1105\u1106\u0005\u0253\u0000\u0000\u1106\u1107"+
"\u0005\u026f\u0000\u0000\u1107\u114b\u0005\u02cb\u0000\u0000\u1108\u1109"+
"\u0005\u0253\u0000\u0000\u1109\u110b\u0005\u0138\u0000\u0000\u110a\u110c"+
"\u0003\u015e\u00af\u0000\u110b\u110a\u0001\u0000\u0000\u0000\u110b\u110c"+
"\u0001\u0000\u0000\u0000\u110c\u114b\u0001\u0000\u0000\u0000\u110d\u110e"+
"\u0005\u0253\u0000\u0000\u110e\u1111\u0005\u027c\u0000\u0000\u110f\u1110"+
"\u0007\'\u0000\u0000\u1110\u1112\u0003\u024c\u0126\u0000\u1111\u110f\u0001"+
"\u0000\u0000\u0000\u1111\u1112\u0001\u0000\u0000\u0000\u1112\u1114\u0001"+
"\u0000\u0000\u0000\u1113\u1115\u0003\u015e\u00af\u0000\u1114\u1113\u0001"+
"\u0000\u0000\u0000\u1114\u1115\u0001\u0000\u0000\u0000\u1115\u114b\u0001"+
"\u0000\u0000\u0000\u1116\u1117\u0005\u0253\u0000\u0000\u1117\u1118\u0005"+
"\u022f\u0000\u0000\u1118\u1119\u0005\u0260\u0000\u0000\u1119\u111a\u0005"+
"\u0171\u0000\u0000\u111a\u111c\u0003\u015c\u00ae\u0000\u111b\u111d\u0003"+
"\u01fe\u00ff\u0000\u111c\u111b\u0001\u0000\u0000\u0000\u111c\u111d\u0001"+
"\u0000\u0000\u0000\u111d\u114b\u0001\u0000\u0000\u0000\u111e\u111f\u0005"+
"\u0253\u0000\u0000\u111f\u1120\u0005\u02a8\u0000\u0000\u1120\u1123\u0005"+
"\u017f\u0000\u0000\u1121\u1122\u0005\u01b9\u0000\u0000\u1122\u1124\u0005"+
"\u02c6\u0000\u0000\u1123\u1121\u0001\u0000\u0000\u0000\u1123\u1124\u0001"+
"\u0000\u0000\u0000\u1124\u114b\u0001\u0000\u0000\u0000\u1125\u1126\u0005"+
"\u0253\u0000\u0000\u1126\u1129\u0005\u0115\u0000\u0000\u1127\u1128\u0007"+
"\'\u0000\u0000\u1128\u112a\u0003\u02c0\u0160\u0000\u1129\u1127\u0001\u0000"+
"\u0000\u0000\u1129\u112a\u0001\u0000\u0000\u0000\u112a\u112c\u0001\u0000"+
"\u0000\u0000\u112b\u112d\u0003\u01fe\u00ff\u0000\u112c\u112b\u0001\u0000"+
"\u0000\u0000\u112c\u112d\u0001\u0000\u0000\u0000\u112d\u112f\u0001\u0000"+
"\u0000\u0000\u112e\u1130\u0003\u022a\u0115\u0000\u112f\u112e\u0001\u0000"+
"\u0000\u0000\u112f\u1130\u0001\u0000\u0000\u0000\u1130\u1132\u0001\u0000"+
"\u0000\u0000\u1131\u1133\u0003\u022e\u0117\u0000\u1132\u1131\u0001\u0000"+
"\u0000\u0000\u1132\u1133\u0001\u0000\u0000\u0000\u1133\u114b\u0001\u0000"+
"\u0000\u0000\u1134\u1135\u0005\u0253\u0000\u0000\u1135\u1136\u0005\u0219"+
"\u0000\u0000\u1136\u1141\u0005\u025f\u0000\u0000\u1137\u1138\u0005\u016c"+
"\u0000\u0000\u1138\u1142\u0003\u02c0\u0160\u0000\u1139\u113a\u0005\u0171"+
"\u0000\u0000\u113a\u113f\u0003\u024c\u0126\u0000\u113b\u113d\u0005\u00c8"+
"\u0000\u0000\u113c\u113e\u0005\u029c\u0000\u0000\u113d\u113c\u0001\u0000"+
"\u0000\u0000\u113d\u113e\u0001\u0000\u0000\u0000\u113e\u1140\u0001\u0000"+
"\u0000\u0000\u113f\u113b\u0001\u0000\u0000\u0000\u113f\u1140\u0001\u0000"+
"\u0000\u0000\u1140\u1142\u0001\u0000\u0000\u0000\u1141\u1137\u0001\u0000"+
"\u0000\u0000\u1141\u1139\u0001\u0000\u0000\u0000\u1141\u1142\u0001\u0000"+
"\u0000\u0000\u1142\u114b\u0001\u0000\u0000\u0000\u1143\u1144\u0005\u0253"+
"\u0000\u0000\u1144\u1145\u0005\u02a0\u0000\u0000\u1145\u1146\u0005\u028e"+
"\u0000\u0000\u1146\u1148\u0005\u01a7\u0000\u0000\u1147\u1149\u0003\u015e"+
"\u00af\u0000\u1148\u1147\u0001\u0000\u0000\u0000\u1148\u1149\u0001\u0000"+
"\u0000\u0000\u1149\u114b\u0001\u0000\u0000\u0000\u114a\u0ed2\u0001\u0000"+
"\u0000\u0000\u114a\u0eda\u0001\u0000\u0000\u0000\u114a\u0edc\u0001\u0000"+
"\u0000\u0000\u114a\u0ee0\u0001\u0000\u0000\u0000\u114a\u0ee9\u0001\u0000"+
"\u0000\u0000\u114a\u0eeb\u0001\u0000\u0000\u0000\u114a\u0ef3\u0001\u0000"+
"\u0000\u0000\u114a\u0efc\u0001\u0000\u0000\u0000\u114a\u0f0b\u0001\u0000"+
"\u0000\u0000\u114a\u0f0e\u0001\u0000\u0000\u0000\u114a\u0f14\u0001\u0000"+
"\u0000\u0000\u114a\u0f1a\u0001\u0000\u0000\u0000\u114a\u0f2a\u0001\u0000"+
"\u0000\u0000\u114a\u0f3a\u0001\u0000\u0000\u0000\u114a\u0f44\u0001\u0000"+
"\u0000\u0000\u114a\u0f49\u0001\u0000\u0000\u0000\u114a\u0f4d\u0001\u0000"+
"\u0000\u0000\u114a\u0f54\u0001\u0000\u0000\u0000\u114a\u0f5b\u0001\u0000"+
"\u0000\u0000\u114a\u0f64\u0001\u0000\u0000\u0000\u114a\u0f69\u0001\u0000"+
"\u0000\u0000\u114a\u0f71\u0001\u0000\u0000\u0000\u114a\u0f73\u0001\u0000"+
"\u0000\u0000\u114a\u0f76\u0001\u0000\u0000\u0000\u114a\u0f78\u0001\u0000"+
"\u0000\u0000\u114a\u0f82\u0001\u0000\u0000\u0000\u114a\u0f89\u0001\u0000"+
"\u0000\u0000\u114a\u0f8e\u0001\u0000\u0000\u0000\u114a\u0f9e\u0001\u0000"+
"\u0000\u0000\u114a\u0faa\u0001\u0000\u0000\u0000\u114a\u0fac\u0001\u0000"+
"\u0000\u0000\u114a\u0faf\u0001\u0000\u0000\u0000\u114a\u0fb1\u0001\u0000"+
"\u0000\u0000\u114a\u0fb4\u0001\u0000\u0000\u0000\u114a\u0fba\u0001\u0000"+
"\u0000\u0000\u114a\u0fbf\u0001\u0000\u0000\u0000\u114a\u0fc3\u0001\u0000"+
"\u0000\u0000\u114a\u0fc6\u0001\u0000\u0000\u0000\u114a\u0fcb\u0001\u0000"+
"\u0000\u0000\u114a\u0fd5\u0001\u0000\u0000\u0000\u114a\u0fdc\u0001\u0000"+
"\u0000\u0000\u114a\u0fe1\u0001\u0000\u0000\u0000\u114a\u0fec\u0001\u0000"+
"\u0000\u0000\u114a\u0ff6\u0001\u0000\u0000\u0000\u114a\u0ffc\u0001\u0000"+
"\u0000\u0000\u114a\u1000\u0001\u0000\u0000\u0000\u114a\u1003\u0001\u0000"+
"\u0000\u0000\u114a\u1012\u0001\u0000\u0000\u0000\u114a\u101a\u0001\u0000"+
"\u0000\u0000\u114a\u101f\u0001\u0000\u0000\u0000\u114a\u1025\u0001\u0000"+
"\u0000\u0000\u114a\u1027\u0001\u0000\u0000\u0000\u114a\u1029\u0001\u0000"+
"\u0000\u0000\u114a\u102e\u0001\u0000\u0000\u0000\u114a\u1039\u0001\u0000"+
"\u0000\u0000\u114a\u104b\u0001\u0000\u0000\u0000\u114a\u1057\u0001\u0000"+
"\u0000\u0000\u114a\u105b\u0001\u0000\u0000\u0000\u114a\u1065\u0001\u0000"+
"\u0000\u0000\u114a\u106a\u0001\u0000\u0000\u0000\u114a\u106d\u0001\u0000"+
"\u0000\u0000\u114a\u107b\u0001\u0000\u0000\u0000\u114a\u107e\u0001\u0000"+
"\u0000\u0000\u114a\u1084\u0001\u0000\u0000\u0000\u114a\u108a\u0001\u0000"+
"\u0000\u0000\u114a\u108f\u0001\u0000\u0000\u0000\u114a\u1091\u0001\u0000"+
"\u0000\u0000\u114a\u109c\u0001\u0000\u0000\u0000\u114a\u10a1\u0001\u0000"+
"\u0000\u0000\u114a\u10ac\u0001\u0000\u0000\u0000\u114a\u10b3\u0001\u0000"+
"\u0000\u0000\u114a\u10bc\u0001\u0000\u0000\u0000\u114a\u10c2\u0001\u0000"+
"\u0000\u0000\u114a\u10ce\u0001\u0000\u0000\u0000\u114a\u10da\u0001\u0000"+
"\u0000\u0000\u114a\u10e4\u0001\u0000\u0000\u0000\u114a\u10ed\u0001\u0000"+
"\u0000\u0000\u114a\u10fd\u0001\u0000\u0000\u0000\u114a\u1105\u0001\u0000"+
"\u0000\u0000\u114a\u1108\u0001\u0000\u0000\u0000\u114a\u110d\u0001\u0000"+
"\u0000\u0000\u114a\u1116\u0001\u0000\u0000\u0000\u114a\u111e\u0001\u0000"+
"\u0000\u0000\u114a\u1125\u0001\u0000\u0000\u0000\u114a\u1134\u0001\u0000"+
"\u0000\u0000\u114a\u1143\u0001\u0000\u0000\u0000\u114b\u0127\u0001\u0000"+
"\u0000\u0000\u114c\u1189\u0005\u026a\u0000\u0000\u114d\u1189\u0003\u0136"+
"\u009b\u0000\u114e\u1150\u0005\u0253\u0000\u0000\u114f\u1151\u0005\u00c8"+
"\u0000\u0000\u1150\u114f\u0001\u0000\u0000\u0000\u1150\u1151\u0001\u0000"+
"\u0000\u0000\u1151\u1152\u0001\u0000\u0000\u0000\u1152\u1153\u0005\u0117"+
"\u0000\u0000\u1153\u1154\u0005\u0240\u0000\u0000\u1154\u1155\u0005\u01be"+
"\u0000\u0000\u1155\u1156\u0005\u016c\u0000\u0000\u1156\u1189\u0003\u024c"+
"\u0126\u0000\u1157\u1158\u0005\u0200\u0000\u0000\u1158\u1159\u0005\u0240"+
"\u0000\u0000\u1159\u115a\u0005\u01be\u0000\u0000\u115a\u115b\u0005\u016c"+
"\u0000\u0000\u115b\u1189\u0003\u024c\u0126\u0000\u115c\u115d\u0005\u0200"+
"\u0000\u0000\u115d\u115e\u0005\u00c8\u0000\u0000\u115e\u115f\u0005\u0240"+
"\u0000\u0000\u115f\u1189\u0005\u01be\u0000\u0000\u1160\u1161\u0005\u0236"+
"\u0000\u0000\u1161\u1162\u0005\u0240\u0000\u0000\u1162\u1163\u0005\u01be"+
"\u0000\u0000\u1163\u1164\u0005\u016c\u0000\u0000\u1164\u1189\u0003\u024c"+
"\u0126\u0000\u1165\u1166\u0005\u0236\u0000\u0000\u1166\u1167\u0005\u00c8"+
"\u0000\u0000\u1167\u1168\u0005\u0240\u0000\u0000\u1168\u1189\u0005\u01be"+
"\u0000\u0000\u1169\u116a\u0005\u0261\u0000\u0000\u116a\u116b\u0005\u0240"+
"\u0000\u0000\u116b\u116c\u0005\u01be\u0000\u0000\u116c\u116d\u0005\u016c"+
"\u0000\u0000\u116d\u1189\u0003\u024c\u0126\u0000\u116e\u116f\u0005\u0261"+
"\u0000\u0000\u116f\u1170\u0005\u026a\u0000\u0000\u1170\u1171\u0005\u01a7"+
"\u0000\u0000\u1171\u1189\u0003\u024c\u0126\u0000\u1172\u1173\u0005\u0236"+
"\u0000\u0000\u1173\u1174\u0005\u026a\u0000\u0000\u1174\u1175\u0005\u01a7"+
"\u0000\u0000\u1175\u1189\u0003\u024c\u0126\u0000\u1176\u1177\u0005\u0200"+
"\u0000\u0000\u1177\u1178\u0005\u026a\u0000\u0000\u1178\u1179\u0005\u01a7"+
"\u0000\u0000\u1179\u1189\u0003\u024c\u0126\u0000\u117a\u117b\u0005\u0117"+
"\u0000\u0000\u117b\u117c\u0005\u026a\u0000\u0000\u117c\u117d\u0003\u024c"+
"\u0126\u0000\u117d\u117e\u0005\u00b6\u0000\u0000\u117e\u117f\u0003\u0148"+
"\u00a4\u0000\u117f\u1180\u0005\u00b7\u0000\u0000\u1180\u1181\u0005\u0171"+
"\u0000\u0000\u1181\u1182\u0005\u00e0\u0000\u0000\u1182\u1183\u0005\u00b6"+
"\u0000\u0000\u1183\u1184\u0003\u0242\u0121\u0000\u1184\u1186\u0005\u00b7"+
"\u0000\u0000\u1185\u1187\u0003\u0240\u0120\u0000\u1186\u1185\u0001\u0000"+
"\u0000\u0000\u1186\u1187\u0001\u0000\u0000\u0000\u1187\u1189\u0001\u0000"+
"\u0000\u0000\u1188\u114c\u0001\u0000\u0000\u0000\u1188\u114d\u0001\u0000"+
"\u0000\u0000\u1188\u114e\u0001\u0000\u0000\u0000\u1188\u1157\u0001\u0000"+
"\u0000\u0000\u1188\u115c\u0001\u0000\u0000\u0000\u1188\u1160\u0001\u0000"+
"\u0000\u0000\u1188\u1165\u0001\u0000\u0000\u0000\u1188\u1169\u0001\u0000"+
"\u0000\u0000\u1188\u116e\u0001\u0000\u0000\u0000\u1188\u1172\u0001\u0000"+
"\u0000\u0000\u1188\u1176\u0001\u0000\u0000\u0000\u1188\u117a\u0001\u0000"+
"\u0000\u0000\u1189\u0129\u0001\u0000\u0000\u0000\u118a\u118c\u0005\u01ae"+
"\u0000\u0000\u118b\u118d\u0005\u010e\u0000\u0000\u118c\u118b\u0001\u0000"+
"\u0000\u0000\u118c\u118d\u0001\u0000\u0000\u0000\u118d\u118e\u0001\u0000"+
"\u0000\u0000\u118e\u1193\u0005\u02cb\u0000\u0000\u118f\u1190\u0005\u01ae"+
"\u0000\u0000\u1190\u1191\u0005\u0219\u0000\u0000\u1191\u1193\u00072\u0000"+
"\u0000\u1192\u118a\u0001\u0000\u0000\u0000\u1192\u118f\u0001\u0000\u0000"+
"\u0000\u1193\u012b\u0001\u0000\u0000\u0000\u1194\u1195\u0005\u0184\u0000"+
"\u0000\u1195\u11af\u0003\u01bc\u00de\u0000\u1196\u1197\u0005\u028b\u0000"+
"\u0000\u1197\u11af\u0005\u026d\u0000\u0000\u1198\u1199\u0005\u0197\u0000"+
"\u0000\u1199\u119a\u0005\u020b\u0000\u0000\u119a\u119b\u0005\u0171\u0000"+
"\u0000\u119b\u119d\u0003\u01bc\u00de\u0000\u119c\u119e\u0003\u0240\u0120"+
"\u0000\u119d\u119c\u0001\u0000\u0000\u0000\u119d\u119e\u0001\u0000\u0000"+
"\u0000\u119e\u11af\u0001\u0000\u0000\u0000\u119f\u11a0\u0005\u0288\u0000"+
"\u0000\u11a0\u11a1\u0005\u020b\u0000\u0000\u11a1\u11af\u0003\u01bc\u00de"+
"\u0000\u11a2\u11a3\u0005\u01c3\u0000\u0000\u11a3\u11ac\u0005\u026d\u0000"+
"\u0000\u11a4\u11a9\u0003\u0132\u0099\u0000\u11a5\u11a6\u0005\u00b8\u0000"+
"\u0000\u11a6\u11a8\u0003\u0132\u0099\u0000\u11a7\u11a5\u0001\u0000\u0000"+
"\u0000\u11a8\u11ab\u0001\u0000\u0000\u0000\u11a9\u11a7\u0001\u0000\u0000"+
"\u0000\u11a9\u11aa\u0001\u0000\u0000\u0000\u11aa\u11ad\u0001\u0000\u0000"+
"\u0000\u11ab\u11a9\u0001\u0000\u0000\u0000\u11ac\u11a4\u0001\u0000\u0000"+
"\u0000\u11ac\u11ad\u0001\u0000\u0000\u0000\u11ad\u11af\u0001\u0000\u0000"+
"\u0000\u11ae\u1194\u0001\u0000\u0000\u0000\u11ae\u1196\u0001\u0000\u0000"+
"\u0000\u11ae\u1198\u0001\u0000\u0000\u0000\u11ae\u119f\u0001\u0000\u0000"+
"\u0000\u11ae\u11a2\u0001\u0000\u0000\u0000\u11af\u012d\u0001\u0000\u0000"+
"\u0000\u11b0\u11b1\u0005\u02a0\u0000\u0000\u11b1\u11b5\u0005\u028e\u0000"+
"\u0000\u11b2\u11b6\u0005\u00fd\u0000\u0000\u11b3\u11b4\u0005\u010b\u0000"+
"\u0000\u11b4\u11b6\u0005\u017d\u0000\u0000\u11b5\u11b2\u0001\u0000\u0000"+
"\u0000\u11b5\u11b3\u0001\u0000\u0000\u0000\u11b6\u11b7\u0001\u0000\u0000"+
"\u0000\u11b7\u11b8\u0003\u02c0\u0160\u0000\u11b8\u11c7\u0005\u02a6\u0000"+
"\u0000\u11b9\u11bd\u0005\u00fd\u0000\u0000\u11ba\u11bb\u0005\u010b\u0000"+
"\u0000\u11bb\u11bd\u0005\u017d\u0000\u0000\u11bc\u11b9\u0001\u0000\u0000"+
"\u0000\u11bc\u11ba\u0001\u0000\u0000\u0000\u11bd\u11be\u0001\u0000\u0000"+
"\u0000\u11be\u11c8\u0003\u02c0\u0160\u0000\u11bf\u11c4\u0003\u0130\u0098"+
"\u0000\u11c0\u11c1\u0005\u00cc\u0000\u0000\u11c1\u11c3\u0003\u0130\u0098"+
"\u0000\u11c2\u11c0\u0001\u0000\u0000\u0000\u11c3\u11c6\u0001\u0000\u0000"+
"\u0000\u11c4\u11c2\u0001\u0000\u0000\u0000\u11c4\u11c5\u0001\u0000\u0000"+
"\u0000\u11c5\u11c8\u0001\u0000\u0000\u0000\u11c6\u11c4\u0001\u0000\u0000"+
"\u0000\u11c7\u11bc\u0001\u0000\u0000\u0000\u11c7\u11bf\u0001\u0000\u0000"+
"\u0000\u11c8\u11ca\u0001\u0000\u0000\u0000\u11c9\u11cb\u0005\u016e\u0000"+
"\u0000\u11ca\u11c9\u0001\u0000\u0000\u0000\u11ca\u11cb\u0001\u0000\u0000"+
"\u0000\u11cb\u1200\u0001\u0000\u0000\u0000\u11cc\u11cd\u0005\u00d9\u0000"+
"\u0000\u11cd\u11ce\u0005\u0257\u0000\u0000\u11ce\u11cf\u0003\u024c\u0126"+
"\u0000\u11cf\u11d0\u0005\u027b\u0000\u0000\u11d0\u11dd\u0003\u02c0\u0160"+
"\u0000\u11d1\u11d2\u00073\u0000\u0000\u11d2\u11d3\u0005\u00b6\u0000\u0000"+
"\u11d3\u11d8\u0003\u015c\u00ae\u0000\u11d4\u11d5\u0005\u00b8\u0000\u0000"+
"\u11d5\u11d7\u0003\u015c\u00ae\u0000\u11d6\u11d4\u0001\u0000\u0000\u0000"+
"\u11d7\u11da\u0001\u0000\u0000\u0000\u11d8\u11d6\u0001\u0000\u0000\u0000"+
"\u11d8\u11d9\u0001\u0000\u0000\u0000\u11d9\u11db\u0001\u0000\u0000\u0000"+
"\u11da\u11d8\u0001\u0000\u0000\u0000\u11db\u11dc\u0005\u00b7\u0000\u0000"+
"\u11dc\u11de\u0001\u0000\u0000\u0000\u11dd\u11d1\u0001\u0000\u0000\u0000"+
"\u11dd\u11de\u0001\u0000\u0000\u0000\u11de\u11e0\u0001\u0000\u0000\u0000"+
"\u11df\u11e1\u0003\u0240\u0120\u0000\u11e0\u11df\u0001\u0000\u0000\u0000"+
"\u11e0\u11e1\u0001\u0000\u0000\u0000\u11e1\u1200\u0001\u0000\u0000\u0000"+
"\u11e2\u11e3\u0005\u0234\u0000\u0000\u11e3\u11e4\u0005\u0257\u0000\u0000"+
"\u11e4\u11e5\u0003\u024c\u0126\u0000\u11e5\u11e6\u0005\u0171\u0000\u0000"+
"\u11e6\u11f3\u0003\u02c0\u0160\u0000\u11e7\u11e8\u00073\u0000\u0000\u11e8"+
"\u11e9\u0005\u00b6\u0000\u0000\u11e9\u11ee\u0003\u015c\u00ae\u0000\u11ea"+
"\u11eb\u0005\u00b8\u0000\u0000\u11eb\u11ed\u0003\u015c\u00ae\u0000\u11ec"+
"\u11ea\u0001\u0000\u0000\u0000\u11ed\u11f0\u0001\u0000\u0000\u0000\u11ee"+
"\u11ec\u0001\u0000\u0000\u0000\u11ee\u11ef\u0001\u0000\u0000\u0000\u11ef"+
"\u11f1\u0001\u0000\u0000\u0000\u11f0\u11ee\u0001\u0000\u0000\u0000\u11f1"+
"\u11f2\u0005\u00b7\u0000\u0000\u11f2\u11f4\u0001\u0000\u0000\u0000\u11f3"+
"\u11e7\u0001\u0000\u0000\u0000\u11f3\u11f4\u0001\u0000\u0000\u0000\u11f4"+
"\u11f6\u0001\u0000\u0000\u0000\u11f5\u11f7\u0003\u0240\u0120\u0000\u11f6"+
"\u11f5\u0001\u0000\u0000\u0000\u11f6\u11f7\u0001\u0000\u0000\u0000\u11f7"+
"\u1200\u0001\u0000\u0000\u0000\u11f8\u11f9\u0005\u025d\u0000\u0000\u11f9"+
"\u11fd\u0005\u027c\u0000\u0000\u11fa\u11fb\u0005\u02a6\u0000\u0000\u11fb"+
"\u11fc\u0005\u0110\u0000\u0000\u11fc\u11fe\u0005\u0257\u0000\u0000\u11fd"+
"\u11fa\u0001\u0000\u0000\u0000\u11fd\u11fe\u0001\u0000\u0000\u0000\u11fe"+
"\u1200\u0001\u0000\u0000\u0000\u11ff\u11b0\u0001\u0000\u0000\u0000\u11ff"+
"\u11cc\u0001\u0000\u0000\u0000\u11ff\u11e2\u0001\u0000\u0000\u0000\u11ff"+
"\u11f8\u0001\u0000\u0000\u0000\u1200\u012f\u0001\u0000\u0000\u0000\u1201"+
"\u1202\u0005\u026c\u0000\u0000\u1202\u1205\u0003\u024c\u0126\u0000\u1203"+
"\u1204\u0005\u01f8\u0000\u0000\u1204\u1206\u0003\u02c0\u0160\u0000\u1205"+
"\u1203\u0001\u0000\u0000\u0000\u1205\u1206\u0001\u0000\u0000\u0000\u1206"+
"\u0131\u0001\u0000\u0000\u0000\u1207\u120a\u0003\u024c\u0126\u0000\u1208"+
"\u1209\u0005\u00d0\u0000\u0000\u1209\u120b\u0003\u01bc\u00de\u0000\u120a"+
"\u1208\u0001\u0000\u0000\u0000\u120a\u120b\u0001\u0000\u0000\u0000\u120b"+
"\u1214\u0001\u0000\u0000\u0000\u120c\u120e\u0005\u021f\u0000\u0000\u120d"+
"\u120f\u0005\u01bf\u0000\u0000\u120e\u120d\u0001\u0000\u0000\u0000\u120e"+
"\u120f\u0001\u0000\u0000\u0000\u120f\u1215\u0001\u0000\u0000\u0000\u1210"+
"\u1212\u0005\u01c5\u0000\u0000\u1211\u1210\u0001\u0000\u0000\u0000\u1211"+
"\u1212\u0001\u0000\u0000\u0000\u1212\u1213\u0001\u0000\u0000\u0000\u1213"+
"\u1215\u0005\u02a9\u0000\u0000\u1214\u120c\u0001\u0000\u0000\u0000\u1214"+
"\u1211\u0001\u0000\u0000\u0000\u1215\u0133\u0001\u0000\u0000\u0000\u1216"+
"\u1217\u0005\u0253\u0000\u0000\u1217\u1218\u0005\u0117\u0000\u0000\u1218"+
"\u1219\u0005\u01cf\u0000\u0000\u1219\u121a\u0005\u029e\u0000\u0000\u121a"+
"\u1265\u0003\u024c\u0126\u0000\u121b\u121c\u0005\u0253\u0000\u0000\u121c"+
"\u121d\u0005\u01be\u0000\u0000\u121d\u122a\u0005\u02a1\u0000\u0000\u121e"+
"\u121f\u0007\'\u0000\u0000\u121f\u1221\u0003\u024c\u0126\u0000\u1220\u121e"+
"\u0001\u0000\u0000\u0000\u1220\u1221\u0001\u0000\u0000\u0000\u1221\u1223"+
"\u0001\u0000\u0000\u0000\u1222\u1224\u0003\u015e\u00af\u0000\u1223\u1222"+
"\u0001\u0000\u0000\u0000\u1223\u1224\u0001\u0000\u0000\u0000\u1224\u1226"+
"\u0001\u0000\u0000\u0000\u1225\u1227\u0003\u022e\u0117\u0000\u1226\u1225"+
"\u0001\u0000\u0000\u0000\u1226\u1227\u0001\u0000\u0000\u0000\u1227\u122b"+
"\u0001\u0000\u0000\u0000\u1228\u1229\u0005\u01ec\u0000\u0000\u1229\u122b"+
"\u0005\u02c6\u0000\u0000\u122a\u1220\u0001\u0000\u0000\u0000\u122a\u1228"+
"\u0001\u0000\u0000\u0000\u122b\u1265\u0001\u0000\u0000\u0000\u122c\u122d"+
"\u0005\u0253\u0000\u0000\u122d\u122e\u0005\u00c9\u0000\u0000\u122e\u1233"+
"\u0005\u026c\u0000\u0000\u122f\u1234\u0005\u023f\u0000\u0000\u1230\u1231"+
"\u0005\u01cf\u0000\u0000\u1231\u1234\u0005\u029e\u0000\u0000\u1232\u1234"+
"\u0005\u0103\u0000\u0000\u1233\u122f\u0001\u0000\u0000\u0000\u1233\u1230"+
"\u0001\u0000\u0000\u0000\u1233\u1232\u0001\u0000\u0000\u0000\u1234\u1237"+
"\u0001\u0000\u0000\u0000\u1235\u1236\u0007\'\u0000\u0000\u1236\u1238\u0003"+
"\u024c\u0126\u0000\u1237\u1235\u0001\u0000\u0000\u0000\u1237\u1238\u0001"+
"\u0000\u0000\u0000\u1238\u123a\u0001\u0000\u0000\u0000\u1239\u123b\u0003"+
"\u015e\u00af\u0000\u123a\u1239\u0001\u0000\u0000\u0000\u123a\u123b\u0001"+
"\u0000\u0000\u0000\u123b\u123d\u0001\u0000\u0000\u0000\u123c\u123e\u0003"+
"\u022a\u0115\u0000\u123d\u123c\u0001\u0000\u0000\u0000\u123d\u123e\u0001"+
"\u0000\u0000\u0000\u123e\u1240\u0001\u0000\u0000\u0000\u123f\u1241\u0003"+
"\u022e\u0117\u0000\u1240\u123f\u0001\u0000\u0000\u0000\u1240\u1241\u0001"+
"\u0000\u0000\u0000\u1241\u1265\u0001\u0000\u0000\u0000\u1242\u1243\u0005"+
"\u0253\u0000\u0000\u1243\u1246\u0005\u0284\u0000\u0000\u1244\u1245\u0007"+
"\'\u0000\u0000\u1245\u1247\u0003\u024c\u0126\u0000\u1246\u1244\u0001\u0000"+
"\u0000\u0000\u1246\u1247\u0001\u0000\u0000\u0000\u1247\u1265\u0001\u0000"+
"\u0000\u0000\u1248\u1249\u0005\u0253\u0000\u0000\u1249\u124a\u00074\u0000"+
"\u0000\u124a\u124b\u0007\'\u0000\u0000\u124b\u124e\u0003\u024c\u0126\u0000"+
"\u124c\u124d\u0007\'\u0000\u0000\u124d\u124f\u0003\u024c\u0126\u0000\u124e"+
"\u124c\u0001\u0000\u0000\u0000\u124e\u124f\u0001\u0000\u0000\u0000\u124f"+
"\u1265\u0001\u0000\u0000\u0000\u1250\u1251\u0005\u0253\u0000\u0000\u1251"+
"\u1252\u0005\u00f0\u0000\u0000\u1252\u1253\u0005\u0189\u0000\u0000\u1253"+
"\u1265\u0005\u02c6\u0000\u0000\u1254\u1255\u0005\u0253\u0000\u0000\u1255"+
"\u1256\u0005\u00ec\u0000\u0000\u1256\u1259\u0005\u0192\u0000\u0000\u1257"+
"\u1258\u0007\'\u0000\u0000\u1258\u125a\u0003\u024c\u0126\u0000\u1259\u1257"+
"\u0001\u0000\u0000\u0000\u1259\u125a\u0001\u0000\u0000\u0000\u125a\u125c"+
"\u0001\u0000\u0000\u0000\u125b\u125d\u0003\u015e\u00af\u0000\u125c\u125b"+
"\u0001\u0000\u0000\u0000\u125c\u125d\u0001\u0000\u0000\u0000\u125d\u125f"+
"\u0001\u0000\u0000\u0000\u125e\u1260\u0003\u022a\u0115\u0000\u125f\u125e"+
"\u0001\u0000\u0000\u0000\u125f\u1260\u0001\u0000\u0000\u0000\u1260\u1262"+
"\u0001\u0000\u0000\u0000\u1261\u1263\u0003\u022e\u0117\u0000\u1262\u1261"+
"\u0001\u0000\u0000\u0000\u1262\u1263\u0001\u0000\u0000\u0000\u1263\u1265"+
"\u0001\u0000\u0000\u0000\u1264\u1216\u0001\u0000\u0000\u0000\u1264\u121b"+
"\u0001\u0000\u0000\u0000\u1264\u122c\u0001\u0000\u0000\u0000\u1264\u1242"+
"\u0001\u0000\u0000\u0000\u1264\u1248\u0001\u0000\u0000\u0000\u1264\u1250"+
"\u0001\u0000\u0000\u0000\u1264\u1254\u0001\u0000\u0000\u0000\u1265\u0135"+
"\u0001\u0000\u0000\u0000\u1266\u1267\u0005\u0117\u0000\u0000\u1267\u1268"+
"\u0005\u0240\u0000\u0000\u1268\u1269\u0005\u01be\u0000\u0000\u1269\u126c"+
"\u0003\u024c\u0126\u0000\u126a\u126b\u0005\u01ec\u0000\u0000\u126b\u126d"+
"\u0003\u02c0\u0160\u0000\u126c\u126a\u0001\u0000\u0000\u0000\u126c\u126d"+
"\u0001\u0000\u0000\u0000\u126d\u1270\u0001\u0000\u0000\u0000\u126e\u126f"+
"\u0005\u02a6\u0000\u0000\u126f\u1271\u00075\u0000\u0000\u1270\u126e\u0001"+
"\u0000\u0000\u0000\u1270\u1271\u0001\u0000\u0000\u0000\u1271\u127a\u0001"+
"\u0000\u0000\u0000\u1272\u1277\u0003\u013a\u009d\u0000\u1273\u1274\u0005"+
"\u00b8\u0000\u0000\u1274\u1276\u0003\u013a\u009d\u0000\u1275\u1273\u0001"+
"\u0000\u0000\u0000\u1276\u1279\u0001\u0000\u0000\u0000\u1277\u1275\u0001"+
"\u0000\u0000\u0000\u1277\u1278\u0001\u0000\u0000\u0000\u1278\u127b\u0001"+
"\u0000\u0000\u0000\u1279\u1277\u0001\u0000\u0000\u0000\u127a\u1272\u0001"+
"\u0000\u0000\u0000\u127a\u127b\u0001\u0000\u0000\u0000\u127b\u127d\u0001"+
"\u0000\u0000\u0000\u127c\u127e\u0003\u0240\u0120\u0000\u127d\u127c\u0001"+
"\u0000\u0000\u0000\u127d\u127e\u0001\u0000\u0000\u0000\u127e\u127f\u0001"+
"\u0000\u0000\u0000\u127f\u1280\u0005\u0171\u0000\u0000\u1280\u1281\u0003"+
"\u02c0\u0160\u0000\u1281\u1282\u0005\u00b6\u0000\u0000\u1282\u1283\u0003"+
"\u0242\u0121\u0000\u1283\u1285\u0005\u00b7\u0000\u0000\u1284\u1286\u0003"+
"\u02b4\u015a\u0000\u1285\u1284\u0001\u0000\u0000\u0000\u1285\u1286\u0001"+
"\u0000\u0000\u0000\u1286\u0137\u0001\u0000\u0000\u0000\u1287\u1288\u0005"+
"\u01be\u0000\u0000\u1288\u128e\u0003\u01e4\u00f2\u0000\u1289\u128a\u0005"+
"\u0215\u0000\u0000\u128a\u128b\u0005\u00b6\u0000\u0000\u128b\u128c\u0003"+
"\u0242\u0121\u0000\u128c\u128d\u0005\u00b7\u0000\u0000\u128d\u128f\u0001"+
"\u0000\u0000\u0000\u128e\u1289\u0001\u0000\u0000\u0000\u128e\u128f\u0001"+
"\u0000\u0000\u0000\u128f\u1291\u0001\u0000\u0000\u0000\u1290\u1292\u0003"+
"\u02b4\u015a\u0000\u1291\u1290\u0001\u0000\u0000\u0000\u1291\u1292\u0001"+
"\u0000\u0000\u0000\u1292\u12b1\u0001\u0000\u0000\u0000\u1293\u1295\u0005"+
"\u0253\u0000\u0000\u1294\u1296\u0005\u00c8\u0000\u0000\u1295\u1294\u0001"+
"\u0000\u0000\u0000\u1295\u1296\u0001\u0000\u0000\u0000\u1296\u1297\u0001"+
"\u0000\u0000\u0000\u1297\u1298\u0005\u0240\u0000\u0000\u1298\u129e\u0005"+
"\u01be\u0000\u0000\u1299\u129a\u0005\u016c\u0000\u0000\u129a\u129f\u0003"+
"\u024c\u0126\u0000\u129b\u129d\u0003\u015e\u00af\u0000\u129c\u129b\u0001"+
"\u0000\u0000\u0000\u129c\u129d\u0001\u0000\u0000\u0000\u129d\u129f\u0001"+
"\u0000\u0000\u0000\u129e\u1299\u0001\u0000\u0000\u0000\u129e\u129c\u0001"+
"\u0000\u0000\u0000\u129f\u12b1\u0001\u0000\u0000\u0000\u12a0\u12a1\u0005"+
"\u0253\u0000\u0000\u12a1\u12a2\u0005\u0240\u0000\u0000\u12a2\u12a3\u0005"+
"\u01be\u0000\u0000\u12a3\u12a6\u0005\u0271\u0000\u0000\u12a4\u12a5\u0007"+
"\'\u0000\u0000\u12a5\u12a7\u0003\u02c0\u0160\u0000\u12a6\u12a4\u0001\u0000"+
"\u0000\u0000\u12a6\u12a7\u0001\u0000\u0000\u0000\u12a7\u12a9\u0001\u0000"+
"\u0000\u0000\u12a8\u12aa\u0003\u015e\u00af\u0000\u12a9\u12a8\u0001\u0000"+
"\u0000\u0000\u12a9\u12aa\u0001\u0000\u0000\u0000\u12aa\u12b1\u0001\u0000"+
"\u0000\u0000\u12ab\u12ac\u0005\u0253\u0000\u0000\u12ac\u12ad\u0005\u0117"+
"\u0000\u0000\u12ad\u12ae\u0005\u01be\u0000\u0000\u12ae\u12af\u0005\u016c"+
"\u0000\u0000\u12af\u12b1\u0003\u024c\u0126\u0000\u12b0\u1287\u0001\u0000"+
"\u0000\u0000\u12b0\u1293\u0001\u0000\u0000\u0000\u12b0\u12a0\u0001\u0000"+
"\u0000\u0000\u12b0\u12ab\u0001\u0000\u0000\u0000\u12b1\u0139\u0001\u0000"+
"\u0000\u0000\u12b2\u12b3\u0005\u0104\u0000\u0000\u12b3\u12b4\u0005\u0274"+
"\u0000\u0000\u12b4\u12b5\u0005\u00ef\u0000\u0000\u12b5\u12bd\u0005\u02c6"+
"\u0000\u0000\u12b6\u12bd\u0003\u0144\u00a2\u0000\u12b7\u12bd\u0003\u0142"+
"\u00a1\u0000\u12b8\u12bd\u0003\u0140\u00a0\u0000\u12b9\u12bd\u0003\u013e"+
"\u009f\u0000\u12ba\u12bd\u0003\u013c\u009e\u0000\u12bb\u12bd\u0003\u01a6"+
"\u00d3\u0000\u12bc\u12b2\u0001\u0000\u0000\u0000\u12bc\u12b6\u0001\u0000"+
"\u0000\u0000\u12bc\u12b7\u0001\u0000\u0000\u0000\u12bc\u12b8\u0001\u0000"+
"\u0000\u0000\u12bc\u12b9\u0001\u0000\u0000\u0000\u12bc\u12ba\u0001\u0000"+
"\u0000\u0000\u12bc\u12bb\u0001\u0000\u0000\u0000\u12bd\u013b\u0001\u0000"+
"\u0000\u0000\u12be\u12bf\u0005\u01f1\u0000\u0000\u12bf\u12c0\u0005\u00ef"+
"\u0000\u0000\u12c0\u12c1\u0003\u02c0\u0160\u0000\u12c1\u013d\u0001\u0000"+
"\u0000\u0000\u12c2\u12c3\u0005\u0132\u0000\u0000\u12c3\u12c4\u0005\u01ec"+
"\u0000\u0000\u12c4\u12c5\u0003\u027c\u013e\u0000\u12c5\u013f\u0001\u0000"+
"\u0000\u0000\u12c6\u12c7\u0005\u02a4\u0000\u0000\u12c7\u12c8\u0003\u027c"+
"\u013e\u0000\u12c8\u0141\u0001\u0000\u0000\u0000\u12c9\u12ca\u0005\u020e"+
"\u0000\u0000\u12ca\u12cb\u0005\u0167\u0000\u0000\u12cb\u12cc\u0003\u027c"+
"\u013e\u0000\u12cc\u0143\u0001\u0000\u0000\u0000\u12cd\u12ce\u0005\u0104"+
"\u0000\u0000\u12ce\u12cf\u0005\u00b6\u0000\u0000\u12cf\u12d4\u0003\u0146"+
"\u00a3\u0000\u12d0\u12d1\u0005\u00b8\u0000\u0000\u12d1\u12d3\u0003\u0146"+
"\u00a3\u0000\u12d2\u12d0\u0001\u0000\u0000\u0000\u12d3\u12d6\u0001\u0000"+
"\u0000\u0000\u12d4\u12d2\u0001\u0000\u0000\u0000\u12d4\u12d5\u0001\u0000"+
"\u0000\u0000\u12d5\u12d7\u0001\u0000\u0000\u0000\u12d6\u12d4\u0001\u0000"+
"\u0000\u0000\u12d7\u12d8\u0005\u00b7\u0000\u0000\u12d8\u0145\u0001\u0000"+
"\u0000\u0000\u12d9\u12dc\u0003\u02c0\u0160\u0000\u12da\u12db\u0005\u02ac"+
"\u0000\u0000\u12db\u12dd\u0003\u027c\u013e\u0000\u12dc\u12da\u0001\u0000"+
"\u0000\u0000\u12dc\u12dd\u0001\u0000\u0000\u0000\u12dd\u12e7\u0001\u0000"+
"\u0000\u0000\u12de\u12df\u0005\u00b6\u0000\u0000\u12df\u12e2\u0003\u02c0"+
"\u0160\u0000\u12e0\u12e1\u0005\u02ac\u0000\u0000\u12e1\u12e3\u0003\u027c"+
"\u013e\u0000\u12e2\u12e0\u0001\u0000\u0000\u0000\u12e2\u12e3\u0001\u0000"+
"\u0000\u0000\u12e3\u12e4\u0001\u0000\u0000\u0000\u12e4\u12e5\u0005\u00b7"+
"\u0000\u0000\u12e5\u12e7\u0001\u0000\u0000\u0000\u12e6\u12d9\u0001\u0000"+
"\u0000\u0000\u12e6\u12de\u0001\u0000\u0000\u0000\u12e7\u0147\u0001\u0000"+
"\u0000\u0000\u12e8\u12ed\u0003\u014a\u00a5\u0000\u12e9\u12ea\u0005\u00b8"+
"\u0000\u0000\u12ea\u12ec\u0003\u014a\u00a5\u0000\u12eb\u12e9\u0001\u0000"+
"\u0000\u0000\u12ec\u12ef\u0001\u0000\u0000\u0000\u12ed\u12eb\u0001\u0000"+
"\u0000\u0000\u12ed\u12ee\u0001\u0000\u0000\u0000\u12ee\u0149\u0001\u0000"+
"\u0000\u0000\u12ef\u12ed\u0001\u0000\u0000\u0000\u12f0\u12f1\u0005\u0171"+
"\u0000\u0000\u12f1\u12f2\u0003\u024c\u0126\u0000\u12f2\u12f3\u0005\u019d"+
"\u0000\u0000\u12f3\u12f5\u0003\u024c\u0126\u0000\u12f4\u12f6\u0003\u01a6"+
"\u00d3\u0000\u12f5\u12f4\u0001\u0000\u0000\u0000\u12f5\u12f6\u0001\u0000"+
"\u0000\u0000\u12f6\u12f8\u0001\u0000\u0000\u0000\u12f7\u12f9\u0003\u0236"+
"\u011b\u0000\u12f8\u12f7\u0001\u0000\u0000\u0000\u12f8\u12f9\u0001\u0000"+
"\u0000\u0000\u12f9\u014b\u0001\u0000\u0000\u0000\u12fa\u12fb\u0005\u0225"+
"\u0000\u0000\u12fb\u12fc\u0005\u00f6\u0000\u0000\u12fc\u12fe\u0003\u02c0"+
"\u0160\u0000\u12fd\u12ff\u0003\u0240\u0120\u0000\u12fe\u12fd\u0001\u0000"+
"\u0000\u0000\u12fe\u12ff\u0001\u0000\u0000\u0000\u12ff\u130d\u0001\u0000"+
"\u0000\u0000\u1300\u1301\u0005\u0225\u0000\u0000\u1301\u1302\u0005\u0123"+
"\u0000\u0000\u1302\u1304\u0003\u024c\u0126\u0000\u1303\u1305\u0003\u0240"+
"\u0120\u0000\u1304\u1303\u0001\u0000\u0000\u0000\u1304\u1305\u0001\u0000"+
"\u0000\u0000\u1305\u130d\u0001\u0000\u0000\u0000\u1306\u1307\u0005\u0225"+
"\u0000\u0000\u1307\u1308\u0005\u026c\u0000\u0000\u1308\u130d\u0003\u024c"+
"\u0126\u0000\u1309\u130a\u0005\u0225\u0000\u0000\u130a\u130b\u0005\u0139"+
"\u0000\u0000\u130b\u130d\u0003\u024c\u0126\u0000\u130c\u12fa\u0001\u0000"+
"\u0000\u0000\u130c\u1300\u0001\u0000\u0000\u0000\u130c\u1306\u0001\u0000"+
"\u0000\u0000\u130c\u1309\u0001\u0000\u0000\u0000\u130d\u014d\u0001\u0000"+
"\u0000\u0000\u130e\u130f\u0005\u00fc\u0000\u0000\u130f\u1310\u0005\u00c8"+
"\u0000\u0000\u1310\u1326\u0005\u0214\u0000\u0000\u1311\u1312\u0005\u00fc"+
"\u0000\u0000\u1312\u1314\u0005\u01af\u0000\u0000\u1313\u1315\u0003\u02c0"+
"\u0160\u0000\u1314\u1313\u0001\u0000\u0000\u0000\u1314\u1315\u0001\u0000"+
"\u0000\u0000\u1315\u1316\u0001\u0000\u0000\u0000\u1316\u1317\u0007\'\u0000"+
"\u0000\u1317\u1326\u0003\u02c0\u0160\u0000\u1318\u1319\u0005\u00fc\u0000"+
"\u0000\u1319\u131a\u0005\u0219\u0000\u0000\u131a\u131f\u0005\u025f\u0000"+
"\u0000\u131b\u131c\u0005\u016c\u0000\u0000\u131c\u1320\u0003\u02c0\u0160"+
"\u0000\u131d\u131e\u0007\'\u0000\u0000\u131e\u1320\u0003\u024c\u0126\u0000"+
"\u131f\u131b\u0001\u0000\u0000\u0000\u131f\u131d\u0001\u0000\u0000\u0000"+
"\u1320\u1326\u0001\u0000\u0000\u0000\u1321\u1322\u0005\u00fc\u0000\u0000"+
"\u1322\u1323\u0005\u00c8\u0000\u0000\u1323\u1324\u0005\u0219\u0000\u0000"+
"\u1324\u1326\u0005\u025f\u0000\u0000\u1325\u130e\u0001\u0000\u0000\u0000"+
"\u1325\u1311\u0001\u0000\u0000\u0000\u1325\u1318\u0001\u0000\u0000\u0000"+
"\u1325\u1321\u0001\u0000\u0000\u0000\u1326\u014f\u0001\u0000\u0000\u0000"+
"\u1327\u1328\u0005\u0225\u0000\u0000\u1328\u132c\u0005\u01b4\u0000\u0000"+
"\u1329\u132d\u0005\u00c8\u0000\u0000\u132a\u132b\u0005\u016c\u0000\u0000"+
"\u132b\u132d\u0003\u01bc\u00de\u0000\u132c\u1329\u0001\u0000\u0000\u0000"+
"\u132c\u132a\u0001\u0000\u0000\u0000\u132d\u0151\u0001\u0000\u0000\u0000"+
"\u132e\u132f\u0005\u00f3\u0000\u0000\u132f\u1332\u0005\u01be\u0000\u0000"+
"\u1330\u1331\u0007\'\u0000\u0000\u1331\u1333\u0003\u02c0\u0160\u0000\u1332"+
"\u1330\u0001\u0000\u0000\u0000\u1332\u1333\u0001\u0000\u0000\u0000\u1333"+
"\u1335\u0001\u0000\u0000\u0000\u1334\u1336\u0003\u015e\u00af\u0000\u1335"+
"\u1334\u0001\u0000\u0000\u0000\u1335\u1336\u0001\u0000\u0000\u0000\u1336"+
"\u137c\u0001\u0000\u0000\u0000\u1337\u1338\u0005\u00f3\u0000\u0000\u1338"+
"\u133b\u0005\u015d\u0000\u0000\u1339\u133a\u0007\'\u0000\u0000\u133a\u133c"+
"\u0003\u02c0\u0160\u0000\u133b\u1339\u0001\u0000\u0000\u0000\u133b\u133c"+
"\u0001\u0000\u0000\u0000\u133c\u133e\u0001\u0000\u0000\u0000\u133d\u133f"+
"\u0003\u015e\u00af\u0000\u133e\u133d\u0001\u0000\u0000\u0000\u133e\u133f"+
"\u0001\u0000\u0000\u0000\u133f\u137c\u0001\u0000\u0000\u0000\u1340\u1341"+
"\u0005\u00f3\u0000\u0000\u1341\u1342\u0005\u02a0\u0000\u0000\u1342\u1343"+
"\u0005\u028e\u0000\u0000\u1343\u1345\u0005\u01a7\u0000\u0000\u1344\u1346"+
"\u0003\u015e\u00af\u0000\u1345\u1344\u0001\u0000\u0000\u0000\u1345\u1346"+
"\u0001\u0000\u0000\u0000\u1346\u137c\u0001\u0000\u0000\u0000\u1347\u1348"+
"\u0005\u00f3\u0000\u0000\u1348\u134b\u0005\u00d9\u0000\u0000\u1349\u134a"+
"\u0007\'\u0000\u0000\u134a\u134c\u0003\u02c0\u0160\u0000\u134b\u1349\u0001"+
"\u0000\u0000\u0000\u134b\u134c\u0001\u0000\u0000\u0000\u134c\u137c\u0001"+
"\u0000\u0000\u0000\u134d\u134e\u0005\u00f3\u0000\u0000\u134e\u1351\u0005"+
"\u0234\u0000\u0000\u134f\u1350\u0007\'\u0000\u0000\u1350\u1352\u0003\u02c0"+
"\u0160\u0000\u1351\u134f\u0001\u0000\u0000\u0000\u1351\u1352\u0001\u0000"+
"\u0000\u0000\u1352\u137c\u0001\u0000\u0000\u0000\u1353\u1354\u0005\u00f3"+
"\u0000\u0000\u1354\u1355\u0005\u00ec\u0000\u0000\u1355\u1356\u0005\u0192"+
"\u0000\u0000\u1356\u1357\u0005\u01ec\u0000\u0000\u1357\u1362\u0003\u024c"+
"\u0126\u0000\u1358\u1359\u0005\u00b6\u0000\u0000\u1359\u135e\u0005\u02cb"+
"\u0000\u0000\u135a\u135b\u0005\u00b8\u0000\u0000\u135b\u135d\u0005\u02cb"+
"\u0000\u0000\u135c\u135a\u0001\u0000\u0000\u0000\u135d\u1360\u0001\u0000"+
"\u0000\u0000\u135e\u135c\u0001\u0000\u0000\u0000\u135e\u135f\u0001\u0000"+
"\u0000\u0000\u135f\u1361\u0001\u0000\u0000\u0000\u1360\u135e\u0001\u0000"+
"\u0000\u0000\u1361\u1363\u0005\u00b7\u0000\u0000\u1362\u1358\u0001\u0000"+
"\u0000\u0000\u1362\u1363\u0001\u0000\u0000\u0000\u1363\u137c\u0001\u0000"+
"\u0000\u0000\u1364\u1365\u0005\u00f3\u0000\u0000\u1365\u1366\u0005\u00c9"+
"\u0000\u0000\u1366\u136b\u0005\u026c\u0000\u0000\u1367\u136c\u0005\u023f"+
"\u0000\u0000\u1368\u1369\u0005\u01cf\u0000\u0000\u1369\u136c\u0005\u029e"+
"\u0000\u0000\u136a\u136c\u0005\u0103\u0000\u0000\u136b\u1367\u0001\u0000"+
"\u0000\u0000\u136b\u1368\u0001\u0000\u0000\u0000\u136b\u136a\u0001\u0000"+
"\u0000\u0000\u136c\u136d\u0001\u0000\u0000\u0000\u136d\u136e\u0005\u0171"+
"\u0000\u0000\u136e\u1379\u0003\u024c\u0126\u0000\u136f\u1370\u0005\u00b6"+
"\u0000\u0000\u1370\u1375\u0005\u02cb\u0000\u0000\u1371\u1372\u0005\u00b8"+
"\u0000\u0000\u1372\u1374\u0005\u02cb\u0000\u0000\u1373\u1371\u0001\u0000"+
"\u0000\u0000\u1374\u1377\u0001\u0000\u0000\u0000\u1375\u1373\u0001\u0000"+
"\u0000\u0000\u1375\u1376\u0001\u0000\u0000\u0000\u1376\u1378\u0001\u0000"+
"\u0000\u0000\u1377\u1375\u0001\u0000\u0000\u0000\u1378\u137a\u0005\u00b7"+
"\u0000\u0000\u1379\u136f\u0001\u0000\u0000\u0000\u1379\u137a\u0001\u0000"+
"\u0000\u0000\u137a\u137c\u0001\u0000\u0000\u0000\u137b\u132e\u0001\u0000"+
"\u0000\u0000\u137b\u1337\u0001\u0000\u0000\u0000\u137b\u1340\u0001\u0000"+
"\u0000\u0000\u137b\u1347\u0001\u0000\u0000\u0000\u137b\u134d\u0001\u0000"+
"\u0000\u0000\u137b\u1353\u0001\u0000\u0000\u0000\u137b\u1364\u0001\u0000"+
"\u0000\u0000\u137c\u0153\u0001\u0000\u0000\u0000\u137d\u137e\u0005\u00f3"+
"\u0000\u0000\u137e\u137f\u0005\u012f\u0000\u0000\u137f\u1380\u0005\u00d7"+
"\u0000\u0000\u1380\u1385\u0005\u02c6\u0000\u0000\u1381\u1382\u0005\u00b8"+
"\u0000\u0000\u1382\u1384\u0005\u02c6\u0000\u0000\u1383\u1381\u0001\u0000"+
"\u0000\u0000\u1384\u1387\u0001\u0000\u0000\u0000\u1385\u1383\u0001\u0000"+
"\u0000\u0000\u1385\u1386\u0001\u0000\u0000\u0000\u1386\u0155\u0001\u0000"+
"\u0000\u0000\u1387\u1385\u0001\u0000\u0000\u0000\u1388\u1389\u0005\u00c3"+
"\u0000\u0000\u1389\u138a\u0005\u0253\u0000\u0000\u138a\u138b\u0005\u022f"+
"\u0000\u0000\u138b\u138c\u0005\u013f\u0000\u0000\u138c\u138d\u0005\u0171"+
"\u0000\u0000\u138d\u141b\u0003\u015c\u00ae\u0000\u138e\u138f\u0005\u00c3"+
"\u0000\u0000\u138f\u1390\u0005\u0221\u0000\u0000\u1390\u139c\u0005\u013a"+
"\u0000\u0000\u1391\u1392\u0005\u01ec\u0000\u0000\u1392\u1393\u0005\u00b6"+
"\u0000\u0000\u1393\u1398\u0005\u02c6\u0000\u0000\u1394\u1395\u0005\u00b8"+
"\u0000\u0000\u1395\u1397\u0005\u02c6\u0000\u0000\u1396\u1394\u0001\u0000"+
"\u0000\u0000\u1397\u139a\u0001\u0000\u0000\u0000\u1398\u1396\u0001\u0000"+
"\u0000\u0000\u1398\u1399\u0001\u0000\u0000\u0000\u1399\u139b\u0001\u0000"+
"\u0000\u0000\u139a\u1398\u0001\u0000\u0000\u0000\u139b\u139d\u0005\u00b7"+
"\u0000\u0000\u139c\u1391\u0001\u0000\u0000\u0000\u139c\u139d\u0001\u0000"+
"\u0000\u0000\u139d\u141b\u0001\u0000\u0000\u0000\u139e\u139f\u0005\u00c3"+
"\u0000\u0000\u139f\u13a0\u0005\u00f3\u0000\u0000\u13a0\u13a1\u0005\u0221"+
"\u0000\u0000\u13a1\u13ad\u0005\u013a\u0000\u0000\u13a2\u13a3\u0005\u01ec"+
"\u0000\u0000\u13a3\u13a4\u0005\u00b6\u0000\u0000\u13a4\u13a9\u0005\u02c6"+
"\u0000\u0000\u13a5\u13a6\u0005\u00b8\u0000\u0000\u13a6\u13a8\u0005\u02c6"+
"\u0000\u0000\u13a7\u13a5\u0001\u0000\u0000\u0000\u13a8\u13ab\u0001\u0000"+
"\u0000\u0000\u13a9\u13a7\u0001\u0000\u0000\u0000\u13a9\u13aa\u0001\u0000"+
"\u0000\u0000\u13aa\u13ac\u0001\u0000\u0000\u0000\u13ab\u13a9\u0001\u0000"+
"\u0000\u0000\u13ac\u13ae\u0005\u00b7\u0000\u0000\u13ad\u13a2\u0001\u0000"+
"\u0000\u0000\u13ad\u13ae\u0001\u0000\u0000\u0000\u13ae\u141b\u0001\u0000"+
"\u0000\u0000\u13af\u13b0\u0005\u00c3\u0000\u0000\u13b0\u13b1\u0005\u0136"+
"\u0000\u0000\u13b1\u13b2\u0005\u026f\u0000\u0000\u13b2\u141b\u0005\u02cb"+
"\u0000\u0000\u13b3\u13b4\u0005\u00c3\u0000\u0000\u13b4\u13b5\u0005\u0253"+
"\u0000\u0000\u13b5\u13b6\u0005\u022f\u0000\u0000\u13b6\u13b7\u0005\u0260"+
"\u0000\u0000\u13b7\u13b8\u0005\u0171\u0000\u0000\u13b8\u13be\u0003\u015c"+
"\u00ae\u0000\u13b9\u13ba\u0005\u02a4\u0000\u0000\u13ba\u13bb\u0005\u0260"+
"\u0000\u0000\u13bb\u13bf\u0005\u02ac\u0000\u0000\u13bc\u13bd\u0005\u02ae"+
"\u0000\u0000\u13bd\u13bf\u0005\u02c6\u0000\u0000\u13be\u13b9\u0001\u0000"+
"\u0000\u0000\u13be\u13bc\u0001\u0000\u0000\u0000\u13be\u13bf\u0001\u0000"+
"\u0000\u0000\u13bf\u141b\u0001\u0000\u0000\u0000\u13c0\u13c1\u0005\u00c3"+
"\u0000\u0000\u13c1\u13c2\u0005\u0108\u0000\u0000\u13c2\u13c3\u0005\u026c"+
"\u0000\u0000\u13c3\u13c8\u0003\u015c\u00ae\u0000\u13c4\u13c5\u0005\u02a4"+
"\u0000\u0000\u13c5\u13c6\u0005\u0283\u0000\u0000\u13c6\u13c7\u0005\u02ac"+
"\u0000\u0000\u13c7\u13c9\u0005\u02c6\u0000\u0000\u13c8\u13c4\u0001\u0000"+
"\u0000\u0000\u13c8\u13c9\u0001\u0000\u0000\u0000\u13c9\u141b\u0001\u0000"+
"\u0000\u0000\u13ca\u13cb\u0005\u00c3\u0000\u0000\u13cb\u13cc\u0005\u00fb"+
"\u0000\u0000\u13cc\u13ce\u0003\u0270\u0138\u0000\u13cd\u13cf\u0003\u0240"+
"\u0120\u0000\u13ce\u13cd\u0001\u0000\u0000\u0000\u13ce\u13cf\u0001\u0000"+
"\u0000\u0000\u13cf\u141b\u0001\u0000\u0000\u0000\u13d0\u13d1\u0005\u00c3"+
"\u0000\u0000\u13d1\u13d2\u0005\u0253\u0000\u0000\u13d2\u13d3\u0005\u026f"+
"\u0000\u0000\u13d3\u13d4\u0005\u0262\u0000\u0000\u13d4\u13d6\u0005\u016f"+
"\u0000\u0000\u13d5\u13d7\u0005\u029c\u0000\u0000\u13d6\u13d5\u0001\u0000"+
"\u0000\u0000\u13d6\u13d7\u0001\u0000\u0000\u0000\u13d7\u141b\u0001\u0000"+
"\u0000\u0000\u13d8\u13d9\u0005\u00c3\u0000\u0000\u13d9\u13dd\u0005\u024f"+
"\u0000\u0000\u13da\u13de\u0005\u0172\u0000\u0000\u13db\u13dc\u0005\u00c8"+
"\u0000\u0000\u13dc\u13de\u0005\u0173\u0000\u0000\u13dd\u13da\u0001\u0000"+
"\u0000\u0000\u13dd\u13db\u0001\u0000\u0000\u0000\u13de\u13df\u0001\u0000"+
"\u0000\u0000\u13df\u13e4\u0005\u010d\u0000\u0000\u13e0\u13e1\u0005\u00b6"+
"\u0000\u0000\u13e1\u13e2\u0003\u0242\u0121\u0000\u13e2\u13e3\u0005\u00b7"+
"\u0000\u0000\u13e3\u13e5\u0001\u0000\u0000\u0000\u13e4\u13e0\u0001\u0000"+
"\u0000\u0000\u13e4\u13e5\u0001\u0000\u0000\u0000\u13e5\u13e7\u0001\u0000"+
"\u0000\u0000\u13e6\u13e8\u0005\u00c8\u0000\u0000\u13e7\u13e6\u0001\u0000"+
"\u0000\u0000\u13e7\u13e8\u0001\u0000\u0000\u0000\u13e8\u141b\u0001\u0000"+
"\u0000\u0000\u13e9\u13ea\u0005\u00c3\u0000\u0000\u13ea\u13eb\u0005\u00fc"+
"\u0000\u0000\u13eb\u13f7\u0005\u027d\u0000\u0000\u13ec\u13ed\u0005\u01ec"+
"\u0000\u0000\u13ed\u13ee\u0005\u00b6\u0000\u0000\u13ee\u13f3\u0005\u02c6"+
"\u0000\u0000\u13ef\u13f0\u0005\u00b8\u0000\u0000\u13f0\u13f2\u0005\u02c6"+
"\u0000\u0000\u13f1\u13ef\u0001\u0000\u0000\u0000\u13f2\u13f5\u0001\u0000"+
"\u0000\u0000\u13f3\u13f1\u0001\u0000\u0000\u0000\u13f3\u13f4\u0001\u0000"+
"\u0000\u0000\u13f4\u13f6\u0001\u0000\u0000\u0000\u13f5\u13f3\u0001\u0000"+
"\u0000\u0000\u13f6\u13f8\u0005\u00b7\u0000\u0000\u13f7\u13ec\u0001\u0000"+
"\u0000\u0000\u13f7\u13f8\u0001\u0000\u0000\u0000\u13f8\u141b\u0001\u0000"+
"\u0000\u0000\u13f9\u13fa\u0005\u00c3\u0000\u0000\u13fa\u13fb\u0005\u024f"+
"\u0000\u0000\u13fb\u13fc\u0005\u026c\u0000\u0000\u13fc\u13fd\u0003\u024c"+
"\u0126\u0000\u13fd\u13ff\u0005\u0260\u0000\u0000\u13fe\u1400\u0003\u0240"+
"\u0120\u0000\u13ff\u13fe\u0001\u0000\u0000\u0000\u13ff\u1400\u0001\u0000"+
"\u0000\u0000\u1400\u141b\u0001\u0000\u0000\u0000\u1401\u1402\u0005\u00c3"+
"\u0000\u0000\u1402\u1403\u0005\u024f\u0000\u0000\u1403\u1404\u0005\u022f"+
"\u0000\u0000\u1404\u1405\u0005\u0260\u0000\u0000\u1405\u1406\u0005\u0215"+
"\u0000\u0000\u1406\u1407\u0005\u00b6\u0000\u0000\u1407\u1408\u0003\u0242"+
"\u0121\u0000\u1408\u1409\u0005\u00b7\u0000\u0000\u1409\u141b\u0001\u0000"+
"\u0000\u0000\u140a\u140b\u0005\u00c3\u0000\u0000\u140b\u140c\u0005\u022a"+
"\u0000\u0000\u140c\u140d\u0005\u026c\u0000\u0000\u140d\u141b\u0003\u015c"+
"\u00ae\u0000\u140e\u140f\u0005\u00c3\u0000\u0000\u140f\u1410\u0005\u00f3"+
"\u0000\u0000\u1410\u1411\u0005\u022a\u0000\u0000\u1411\u1412\u0005\u026c"+
"\u0000\u0000\u1412\u141b\u0003\u015c\u00ae\u0000\u1413\u1414\u0005\u00c3"+
"\u0000\u0000\u1414\u1415\u0005\u0115\u0000\u0000\u1415\u1416\u0005\u026f"+
"\u0000\u0000\u1416\u1418\u0005\u02cb\u0000\u0000\u1417\u1419\u0003\u0240"+
"\u0120\u0000\u1418\u1417\u0001\u0000\u0000\u0000\u1418\u1419\u0001\u0000"+
"\u0000\u0000\u1419\u141b\u0001\u0000\u0000\u0000\u141a\u1388\u0001\u0000"+
"\u0000\u0000\u141a\u138e\u0001\u0000\u0000\u0000\u141a\u139e\u0001\u0000"+
"\u0000\u0000\u141a\u13af\u0001\u0000\u0000\u0000\u141a\u13b3\u0001\u0000"+
"\u0000\u0000\u141a\u13c0\u0001\u0000\u0000\u0000\u141a\u13ca\u0001\u0000"+
"\u0000\u0000\u141a\u13d0\u0001\u0000\u0000\u0000\u141a\u13d8\u0001\u0000"+
"\u0000\u0000\u141a\u13e9\u0001\u0000\u0000\u0000\u141a\u13f9\u0001\u0000"+
"\u0000\u0000\u141a\u1401\u0001\u0000\u0000\u0000\u141a\u140a\u0001\u0000"+
"\u0000\u0000\u141a\u140e\u0001\u0000\u0000\u0000\u141a\u1413\u0001\u0000"+
"\u0000\u0000\u141b\u0157\u0001\u0000\u0000\u0000\u141c\u141d\u0005\u0223"+
"\u0000\u0000\u141d\u141e\u0005\u0123\u0000\u0000\u141e\u1420\u0003\u02c0"+
"\u0160\u0000\u141f\u1421\u0005\u02cb\u0000\u0000\u1420\u141f\u0001\u0000"+
"\u0000\u0000\u1420\u1421\u0001\u0000\u0000\u0000\u1421\u1424\u0001\u0000"+
"\u0000\u0000\u1422\u1423\u0005\u00d0\u0000\u0000\u1423\u1425\u0003\u02c0"+
"\u0160\u0000\u1424\u1422\u0001\u0000\u0000\u0000\u1424\u1425\u0001\u0000"+
"\u0000\u0000\u1425\u143e\u0001\u0000\u0000\u0000\u1426\u1427\u0005\u0223"+
"\u0000\u0000\u1427\u1428\u0005\u026c\u0000\u0000\u1428\u142a\u0003\u024c"+
"\u0126\u0000\u1429\u142b\u0005\u02cb\u0000\u0000\u142a\u1429\u0001\u0000"+
"\u0000\u0000\u142a\u142b\u0001\u0000\u0000\u0000\u142b\u142e\u0001\u0000"+
"\u0000\u0000\u142c\u142d\u0005\u00d0\u0000\u0000\u142d\u142f\u0003\u02c0"+
"\u0160\u0000\u142e\u142c\u0001\u0000\u0000\u0000\u142e\u142f\u0001\u0000"+
"\u0000\u0000\u142f\u143e\u0001\u0000\u0000\u0000\u1430\u1431\u0005\u0223"+
"\u0000\u0000\u1431\u1432\u0005\u01f8\u0000\u0000\u1432\u1434\u0003\u02c0"+
"\u0160\u0000\u1433\u1435\u0005\u02cb\u0000\u0000\u1434\u1433\u0001\u0000"+
"\u0000\u0000\u1434\u1435\u0001\u0000\u0000\u0000\u1435\u1438\u0001\u0000"+
"\u0000\u0000\u1436\u1437\u0005\u00d0\u0000\u0000\u1437\u1439\u0003\u02c0"+
"\u0160\u0000\u1438\u1436\u0001\u0000\u0000\u0000\u1438\u1439\u0001\u0000"+
"\u0000\u0000\u1439\u143a\u0001\u0000\u0000\u0000\u143a\u143b\u0005\u0171"+
"\u0000\u0000\u143b\u143c\u0003\u024c\u0126\u0000\u143c\u143e\u0001\u0000"+
"\u0000\u0000\u143d\u141c\u0001\u0000\u0000\u0000\u143d\u1426\u0001\u0000"+
"\u0000\u0000\u143d\u1430\u0001\u0000\u0000\u0000\u143e\u0159\u0001\u0000"+
"\u0000\u0000\u143f\u1440\u0005\u00c3\u0000\u0000\u1440\u1441\u0005\u024f"+
"\u0000\u0000\u1441\u1442\u0005\u022f\u0000\u0000\u1442\u1443\u0005\u029d"+
"\u0000\u0000\u1443\u1444\u0005\u0215\u0000\u0000\u1444\u1445\u0005\u00b6"+
"\u0000\u0000\u1445\u1446\u0003\u0242\u0121\u0000\u1446\u1447\u0005\u00b7"+
"\u0000\u0000\u1447\u1452\u0001\u0000\u0000\u0000\u1448\u1449\u0005\u00c3"+
"\u0000\u0000\u1449\u144a\u0005\u024f\u0000\u0000\u144a\u144b\u0005\u026c"+
"\u0000\u0000\u144b\u144c\u0003\u024c\u0126\u0000\u144c\u144d\u0005\u01f8"+
"\u0000\u0000\u144d\u144f\u0005\u029d\u0000\u0000\u144e\u1450\u0003\u0240"+
"\u0120\u0000\u144f\u144e\u0001\u0000\u0000\u0000\u144f\u1450\u0001\u0000"+
"\u0000\u0000\u1450\u1452\u0001\u0000\u0000\u0000\u1451\u143f\u0001\u0000"+
"\u0000\u0000\u1451\u1448\u0001\u0000\u0000\u0000\u1452\u015b\u0001\u0000"+
"\u0000\u0000\u1453\u1455\u0003\u024c\u0126\u0000\u1454\u1456\u0003\u023a"+
"\u011d\u0000\u1455\u1454\u0001\u0000\u0000\u0000\u1455\u1456\u0001\u0000"+
"\u0000\u0000\u1456\u1458\u0001\u0000\u0000\u0000\u1457\u1459\u0003\u02ba"+
"\u015d\u0000\u1458\u1457\u0001\u0000\u0000\u0000\u1458\u1459\u0001\u0000"+
"\u0000\u0000\u1459\u145b\u0001\u0000\u0000\u0000\u145a\u145c\u0003\u029c"+
"\u014e\u0000\u145b\u145a\u0001\u0000\u0000\u0000\u145b\u145c\u0001\u0000"+
"\u0000\u0000\u145c\u145e\u0001\u0000\u0000\u0000\u145d\u145f\u0003\u0270"+
"\u0138\u0000\u145e\u145d\u0001\u0000\u0000\u0000\u145e\u145f\u0001\u0000"+
"\u0000\u0000\u145f\u1460\u0001\u0000\u0000\u0000\u1460\u1462\u0003\u024a"+
"\u0125\u0000\u1461\u1463\u0003\u02b6\u015b\u0000\u1462\u1461\u0001\u0000"+
"\u0000\u0000\u1462\u1463\u0001\u0000\u0000\u0000\u1463\u1465\u0001\u0000"+
"\u0000\u0000\u1464\u1466\u0003\u0210\u0108\u0000\u1465\u1464\u0001\u0000"+
"\u0000\u0000\u1465\u1466\u0001\u0000\u0000\u0000\u1466\u015d\u0001\u0000"+
"\u0000\u0000\u1467\u1468\u0005\u01b9\u0000\u0000\u1468\u146c\u0005\u02c6"+
"\u0000\u0000\u1469\u146a\u0005\u02a4\u0000\u0000\u146a\u146c\u0003\u0278"+
"\u013c\u0000\u146b\u1467\u0001\u0000\u0000\u0000\u146b\u1469\u0001\u0000"+
"\u0000\u0000\u146c\u015f\u0001\u0000\u0000\u0000\u146d\u1473\u0005\u00da"+
"\u0000\u0000\u146e\u146f\u0005\u02a6\u0000\u0000\u146f\u1471\u0005\u01af"+
"\u0000\u0000\u1470\u1472\u0003\u02c0\u0160\u0000\u1471\u1470\u0001\u0000"+
"\u0000\u0000\u1471\u1472\u0001\u0000\u0000\u0000\u1472\u1474\u0001\u0000"+
"\u0000\u0000\u1473\u146e\u0001\u0000\u0000\u0000\u1473\u1474\u0001\u0000"+
"\u0000\u0000\u1474\u1498\u0001\u0000\u0000\u0000\u1475\u1477\u0005\u0106"+
"\u0000\u0000\u1476\u1478\u0005\u02a7\u0000\u0000\u1477\u1476\u0001\u0000"+
"\u0000\u0000\u1477\u1478\u0001\u0000\u0000\u0000\u1478\u147e\u0001\u0000"+
"\u0000\u0000\u1479\u147b\u0005\u00cc\u0000\u0000\u147a\u147c\u0005\u01e3"+
"\u0000\u0000\u147b\u147a\u0001\u0000\u0000\u0000\u147b\u147c\u0001\u0000"+
"\u0000\u0000\u147c\u147d\u0001\u0000\u0000\u0000\u147d\u147f\u0005\u00f8"+
"\u0000\u0000\u147e\u1479\u0001\u0000\u0000\u0000\u147e\u147f\u0001\u0000"+
"\u0000\u0000\u147f\u1484\u0001\u0000\u0000\u0000\u1480\u1482\u0005\u01e3"+
"\u0000\u0000\u1481\u1480\u0001\u0000\u0000\u0000\u1481\u1482\u0001\u0000"+
"\u0000\u0000\u1482\u1483\u0001\u0000\u0000\u0000\u1483\u1485\u0005\u0228"+
"\u0000\u0000\u1484\u1481\u0001\u0000\u0000\u0000\u1484\u1485\u0001\u0000"+
"\u0000\u0000\u1485\u1498\u0001\u0000\u0000\u0000\u1486\u1488\u0005\u023e"+
"\u0000\u0000\u1487\u1489\u0005\u02a7\u0000\u0000\u1488\u1487\u0001\u0000"+
"\u0000\u0000\u1488\u1489\u0001\u0000\u0000\u0000\u1489\u148f\u0001\u0000"+
"\u0000\u0000\u148a\u148c\u0005\u00cc\u0000\u0000\u148b\u148d\u0005\u01e3"+
"\u0000\u0000\u148c\u148b\u0001\u0000\u0000\u0000\u148c\u148d\u0001\u0000"+
"\u0000\u0000\u148d\u148e\u0001\u0000\u0000\u0000\u148e\u1490\u0005\u00f8"+
"\u0000\u0000\u148f\u148a\u0001\u0000\u0000\u0000\u148f\u1490\u0001\u0000"+
"\u0000\u0000\u1490\u1495\u0001\u0000\u0000\u0000\u1491\u1493\u0005\u01e3"+
"\u0000\u0000\u1492\u1491\u0001\u0000\u0000\u0000\u1492\u1493\u0001\u0000"+
"\u0000\u0000\u1493\u1494\u0001\u0000\u0000\u0000\u1494\u1496\u0005\u0228"+
"\u0000\u0000\u1495\u1492\u0001\u0000\u0000\u0000\u1495\u1496\u0001\u0000"+
"\u0000\u0000\u1496\u1498\u0001\u0000\u0000\u0000\u1497\u146d\u0001\u0000"+
"\u0000\u0000\u1497\u1475\u0001\u0000\u0000\u0000\u1497\u1486\u0001\u0000"+
"\u0000\u0000\u1498\u0161\u0001\u0000\u0000\u0000\u1499\u149a\u0005\u017a"+
"\u0000\u0000\u149a\u149b\u0003\u0166\u00b3\u0000\u149b\u149c\u0005\u01ec"+
"\u0000\u0000\u149c\u149d\u0003\u01c0\u00e0\u0000\u149d\u14a1\u0005\u027b"+
"\u0000\u0000\u149e\u14a2\u0003\u01c4\u00e2\u0000\u149f\u14a0\u0005\u023c"+
"\u0000\u0000\u14a0\u14a2\u0003\u01bc\u00de\u0000\u14a1\u149e\u0001\u0000"+
"\u0000\u0000\u14a1\u149f\u0001\u0000\u0000\u0000\u14a2\u14f0\u0001\u0000"+
"\u0000\u0000\u14a3\u14a4\u0005\u017a\u0000\u0000\u14a4\u14a5\u0003\u0166"+
"\u00b3\u0000\u14a5\u14af\u0005\u01ec\u0000\u0000\u14a6\u14b0\u0005\u0232"+
"\u0000\u0000\u14a7\u14b0\u0005\u00fd\u0000\u0000\u14a8\u14a9\u0005\u010b"+
"\u0000\u0000\u14a9\u14b0\u0005\u017d\u0000\u0000\u14aa\u14b0\u0005\u025b"+
"\u0000\u0000\u14ab\u14ac\u0005\u0262\u0000\u0000\u14ac\u14b0\u0005\u029a"+
"\u0000\u0000\u14ad\u14ae\u0005\u02a8\u0000\u0000\u14ae\u14b0\u0005\u017d"+
"\u0000\u0000\u14af\u14a6\u0001\u0000\u0000\u0000\u14af\u14a7\u0001\u0000"+
"\u0000\u0000\u14af\u14a8\u0001\u0000\u0000\u0000\u14af\u14aa\u0001\u0000"+
"\u0000\u0000\u14af\u14ab\u0001\u0000\u0000\u0000\u14af\u14ad\u0001\u0000"+
"\u0000\u0000\u14b0\u14b1\u0001\u0000\u0000\u0000\u14b1\u14b2\u0003\u01be"+
"\u00df\u0000\u14b2\u14b6\u0005\u027b\u0000\u0000\u14b3\u14b7\u0003\u01c4"+
"\u00e2\u0000\u14b4\u14b5\u0005\u023c\u0000\u0000\u14b5\u14b7\u0003\u01bc"+
"\u00de\u0000\u14b6\u14b3\u0001\u0000\u0000\u0000\u14b6\u14b4\u0001\u0000"+
"\u0000\u0000\u14b7\u14f0\u0001\u0000\u0000\u0000\u14b8\u14b9\u0005\u017a"+
"\u0000\u0000\u14b9\u14be\u0003\u01bc\u00de\u0000\u14ba\u14bb\u0005\u00b8"+
"\u0000\u0000\u14bb\u14bd\u0003\u01bc\u00de\u0000\u14bc\u14ba\u0001\u0000"+
"\u0000\u0000\u14bd\u14c0\u0001\u0000\u0000\u0000\u14be\u14bc\u0001\u0000"+
"\u0000\u0000\u14be\u14bf\u0001\u0000\u0000\u0000\u14bf\u14c1\u0001\u0000"+
"\u0000\u0000\u14c0\u14be\u0001\u0000\u0000\u0000\u14c1\u14c2\u0005\u027b"+
"\u0000\u0000\u14c2\u14c3\u0003\u01c4\u00e2\u0000\u14c3\u14f0\u0001\u0000"+
"\u0000\u0000\u14c4\u14c5\u0005\u0238\u0000\u0000\u14c5\u14ca\u0003\u01bc"+
"\u00de\u0000\u14c6\u14c7\u0005\u00b8\u0000\u0000\u14c7\u14c9\u0003\u01bc"+
"\u00de\u0000\u14c8\u14c6\u0001\u0000\u0000\u0000\u14c9\u14cc\u0001\u0000"+
"\u0000\u0000\u14ca\u14c8\u0001\u0000\u0000\u0000\u14ca\u14cb\u0001\u0000"+
"\u0000\u0000\u14cb\u14cd\u0001\u0000\u0000\u0000\u14cc\u14ca\u0001\u0000"+
"\u0000\u0000\u14cd\u14ce\u0005\u0171\u0000\u0000\u14ce\u14cf\u0003\u01c4"+
"\u00e2\u0000\u14cf\u14f0\u0001\u0000\u0000\u0000\u14d0\u14d1\u0005\u0238"+
"\u0000\u0000\u14d1\u14d2\u0003\u0166\u00b3\u0000\u14d2\u14dc\u0005\u01ec"+
"\u0000\u0000\u14d3\u14dd\u0005\u0232\u0000\u0000\u14d4\u14dd\u0005\u00fd"+
"\u0000\u0000\u14d5\u14d6\u0005\u010b\u0000\u0000\u14d6\u14dd\u0005\u017d"+
"\u0000\u0000\u14d7\u14dd\u0005\u025b\u0000\u0000\u14d8\u14d9\u0005\u0262"+
"\u0000\u0000\u14d9\u14dd\u0005\u029a\u0000\u0000\u14da\u14db\u0005\u02a8"+
"\u0000\u0000\u14db\u14dd\u0005\u017d\u0000\u0000\u14dc\u14d3\u0001\u0000"+
"\u0000\u0000\u14dc\u14d4\u0001\u0000\u0000\u0000\u14dc\u14d5\u0001\u0000"+
"\u0000\u0000\u14dc\u14d7\u0001\u0000\u0000\u0000\u14dc\u14d8\u0001\u0000"+
"\u0000\u0000\u14dc\u14da\u0001\u0000\u0000\u0000\u14dd\u14de\u0001\u0000"+
"\u0000\u0000\u14de\u14df\u0003\u01be\u00df\u0000\u14df\u14e3\u0005\u0171"+
"\u0000\u0000\u14e0\u14e4\u0003\u01c4\u00e2\u0000\u14e1\u14e2\u0005\u023c"+
"\u0000\u0000\u14e2\u14e4\u0003\u01bc\u00de\u0000\u14e3\u14e0\u0001\u0000"+
"\u0000\u0000\u14e3\u14e1\u0001\u0000\u0000\u0000\u14e4\u14f0\u0001\u0000"+
"\u0000\u0000\u14e5\u14e6\u0005\u0238\u0000\u0000\u14e6\u14e7\u0003\u0166"+
"\u00b3\u0000\u14e7\u14e8\u0005\u01ec\u0000\u0000\u14e8\u14e9\u0003\u01c0"+
"\u00e0\u0000\u14e9\u14ed\u0005\u0171\u0000\u0000\u14ea\u14ee\u0003\u01c4"+
"\u00e2\u0000\u14eb\u14ec\u0005\u023c\u0000\u0000\u14ec\u14ee\u0003\u01bc"+
"\u00de\u0000\u14ed\u14ea\u0001\u0000\u0000\u0000\u14ed\u14eb\u0001\u0000"+
"\u0000\u0000\u14ee\u14f0\u0001\u0000\u0000\u0000\u14ef\u1499\u0001\u0000"+
"\u0000\u0000\u14ef\u14a3\u0001\u0000\u0000\u0000\u14ef\u14b8\u0001\u0000"+
"\u0000\u0000\u14ef\u14c4\u0001\u0000\u0000\u0000\u14ef\u14d0\u0001\u0000"+
"\u0000\u0000\u14ef\u14e5\u0001\u0000\u0000\u0000\u14f0\u0163\u0001\u0000"+
"\u0000\u0000\u14f1\u14f3\u0003\u02c0\u0160\u0000\u14f2\u14f4\u0003\u0236"+
"\u011b\u0000\u14f3\u14f2\u0001\u0000\u0000\u0000\u14f3\u14f4\u0001\u0000"+
"\u0000\u0000\u14f4\u14f7\u0001\u0000\u0000\u0000\u14f5\u14f7\u0005\u00c8"+
"\u0000\u0000\u14f6\u14f1\u0001\u0000\u0000\u0000\u14f6\u14f5\u0001\u0000"+
"\u0000\u0000\u14f7\u0165\u0001\u0000\u0000\u0000\u14f8\u14fd\u0003\u0164"+
"\u00b2\u0000\u14f9\u14fa\u0005\u00b8\u0000\u0000\u14fa\u14fc\u0003\u0164"+
"\u00b2\u0000\u14fb\u14f9\u0001\u0000\u0000\u0000\u14fc\u14ff\u0001\u0000"+
"\u0000\u0000\u14fd\u14fb\u0001\u0000\u0000\u0000\u14fd\u14fe\u0001\u0000"+
"\u0000\u0000\u14fe\u0167\u0001\u0000\u0000\u0000\u14ff\u14fd\u0001\u0000"+
"\u0000\u0000\u1500\u1501\u0005\u00c9\u0000\u0000\u1501\u1502\u0005\u0102"+
"\u0000\u0000\u1502\u1503\u0005\u017d\u0000\u0000\u1503\u1504\u0003\u024c"+
"\u0126\u0000\u1504\u1505\u0005\u024f\u0000\u0000\u1505\u1506\u0005\u00b6"+
"\u0000\u0000\u1506\u1507\u0003\u0242\u0121\u0000\u1507\u1508\u0005\u00b7"+
"\u0000\u0000\u1508\u1520\u0001\u0000\u0000\u0000\u1509\u150a\u0005\u00c9"+
"\u0000\u0000\u150a\u150b\u0005\u0240\u0000\u0000\u150b\u150c\u0005\u01be"+
"\u0000\u0000\u150c\u150d\u0005\u016c\u0000\u0000\u150d\u150f\u0003\u024c"+
"\u0126\u0000\u150e\u1510\u0003\u0240\u0120\u0000\u150f\u150e\u0001\u0000"+
"\u0000\u0000\u150f\u1510\u0001\u0000\u0000\u0000\u1510\u1517\u0001\u0000"+
"\u0000\u0000\u1511\u1512\u0005\u0171\u0000\u0000\u1512\u1513\u0003\u02c0"+
"\u0160\u0000\u1513\u1514\u0005\u00b6\u0000\u0000\u1514\u1515\u0003\u0242"+
"\u0121\u0000\u1515\u1516\u0005\u00b7\u0000\u0000\u1516\u1518\u0001\u0000"+
"\u0000\u0000\u1517\u1511\u0001\u0000\u0000\u0000\u1517\u1518\u0001\u0000"+
"\u0000\u0000\u1518\u1520\u0001\u0000\u0000\u0000\u1519\u151a\u0005\u00c9"+
"\u0000\u0000\u151a\u151b\u0005\u0262\u0000\u0000\u151b\u151c\u0005\u020d"+
"\u0000\u0000\u151c\u151d\u0003\u01bc\u00de\u0000\u151d\u151e\u0003\u0240"+
"\u0120\u0000\u151e\u1520\u0001\u0000\u0000\u0000\u151f\u1500\u0001\u0000"+
"\u0000\u0000\u151f\u1509\u0001\u0000\u0000\u0000\u151f\u1519\u0001\u0000"+
"\u0000\u0000\u1520\u0169\u0001\u0000\u0000\u0000\u1521\u1522\u0005\u00c2"+
"\u0000\u0000\u1522\u1523\u0005\u00d7\u0000\u0000\u1523\u1528\u0005\u02c6"+
"\u0000\u0000\u1524\u1525\u0005\u00b8\u0000\u0000\u1525\u1527\u0005\u02c6"+
"\u0000\u0000\u1526\u1524\u0001\u0000\u0000\u0000\u1527\u152a\u0001\u0000"+
"\u0000\u0000\u1528\u1526\u0001\u0000\u0000\u0000\u1528\u1529\u0001\u0000"+
"\u0000\u0000\u1529\u152c\u0001\u0000\u0000\u0000\u152a\u1528\u0001\u0000"+
"\u0000\u0000\u152b\u152d\u0003\u0240\u0120\u0000\u152c\u152b\u0001\u0000"+
"\u0000\u0000\u152c\u152d\u0001\u0000\u0000\u0000\u152d\u1584\u0001\u0000"+
"\u0000\u0000\u152e\u152f\u00076\u0000\u0000\u152f\u1530\u0005\u00d7\u0000"+
"\u0000\u1530\u1535\u0005\u02c6\u0000\u0000\u1531\u1532\u0005\u00b8\u0000"+
"\u0000\u1532\u1534\u0005\u02c6\u0000\u0000\u1533\u1531\u0001\u0000\u0000"+
"\u0000\u1534\u1537\u0001\u0000\u0000\u0000\u1535\u1533\u0001\u0000\u0000"+
"\u0000\u1535\u1536\u0001\u0000\u0000\u0000\u1536\u1584\u0001\u0000\u0000"+
"\u0000\u1537\u1535\u0001\u0000\u0000\u0000\u1538\u1539\u0005\u012f\u0000"+
"\u0000\u1539\u153a\u0005\u00d7\u0000\u0000\u153a\u153f\u0005\u02c6\u0000"+
"\u0000\u153b\u153c\u0005\u00b8\u0000\u0000\u153c\u153e\u0005\u02c6\u0000"+
"\u0000\u153d\u153b\u0001\u0000\u0000\u0000\u153e\u1541\u0001\u0000\u0000"+
"\u0000\u153f\u153d\u0001\u0000\u0000\u0000\u153f\u1540\u0001\u0000\u0000"+
"\u0000\u1540\u1584\u0001\u0000\u0000\u0000\u1541\u153f\u0001\u0000\u0000"+
"\u0000\u1542\u1543\u0005\u00c2\u0000\u0000\u1543\u1544\u0005\u01e9\u0000"+
"\u0000\u1544\u1584\u0005\u02c6\u0000\u0000\u1545\u1546\u0005\u0144\u0000"+
"\u0000\u1546\u1547\u0005\u01e9\u0000\u0000\u1547\u1584\u0005\u02c6\u0000"+
"\u0000\u1548\u1549\u0005\u00c2\u0000\u0000\u1549\u154a\u0005\u016a\u0000"+
"\u0000\u154a\u1584\u0005\u02c6\u0000\u0000\u154b\u154c\u0005\u0144\u0000"+
"\u0000\u154c\u154d\u0005\u016a\u0000\u0000\u154d\u1584\u0005\u02c6\u0000"+
"\u0000\u154e\u154f\u0005\u00c2\u0000\u0000\u154f\u1550\u0005\u00ea\u0000"+
"\u0000\u1550\u1551\u0003\u01bc\u00de\u0000\u1551\u1556\u0005\u02c6\u0000"+
"\u0000\u1552\u1553\u0005\u00b8\u0000\u0000\u1553\u1555\u0005\u02c6\u0000"+
"\u0000\u1554\u1552\u0001\u0000\u0000\u0000\u1555\u1558\u0001\u0000\u0000"+
"\u0000\u1556\u1554\u0001\u0000\u0000\u0000\u1556\u1557\u0001\u0000\u0000"+
"\u0000\u1557\u1584\u0001\u0000\u0000\u0000\u1558\u1556\u0001\u0000\u0000"+
"\u0000\u1559\u155a\u0005\u0144\u0000\u0000\u155a\u155b\u0005\u00ea\u0000"+
"\u0000\u155b\u155c\u0003\u01bc\u00de\u0000\u155c\u1561\u0005\u02c6\u0000"+
"\u0000\u155d\u155e\u0005\u00b8\u0000\u0000\u155e\u1560\u0005\u02c6\u0000"+
"\u0000\u155f\u155d\u0001\u0000\u0000\u0000\u1560\u1563\u0001\u0000\u0000"+
"\u0000\u1561\u155f\u0001\u0000\u0000\u0000\u1561\u1562\u0001\u0000\u0000"+
"\u0000\u1562\u1584\u0001\u0000\u0000\u0000\u1563\u1561\u0001\u0000\u0000"+
"\u0000\u1564\u1565\u0005\u0144\u0000\u0000\u1565\u1566\u0005\u00c8\u0000"+
"\u0000\u1566\u1567\u0005\u00ea\u0000\u0000\u1567\u1584\u0003\u01bc\u00de"+
"\u0000\u1568\u1569\u0005\u024f\u0000\u0000\u1569\u156a\u0005\u01be\u0000"+
"\u0000\u156a\u156b\u0005\u0154\u0000\u0000\u156b\u156d\u0005\u018b\u0000"+
"\u0000\u156c\u156e\u0003\u0240\u0120\u0000\u156d\u156c\u0001\u0000\u0000"+
"\u0000\u156d\u156e\u0001\u0000\u0000\u0000\u156e\u1584\u0001\u0000\u0000"+
"\u0000\u156f\u1570\u0005\u01d9\u0000\u0000\u1570\u1571\u0005\u00d7\u0000"+
"\u0000\u1571\u1576\u0005\u02c6\u0000\u0000\u1572\u1573\u0005\u00b8\u0000"+
"\u0000\u1573\u1575\u0005\u02c6\u0000\u0000\u1574\u1572\u0001\u0000\u0000"+
"\u0000\u1575\u1578\u0001\u0000\u0000\u0000\u1576\u1574\u0001\u0000\u0000"+
"\u0000\u1576\u1577\u0001\u0000\u0000\u0000\u1577\u1579\u0001\u0000\u0000"+
"\u0000\u1578\u1576\u0001\u0000\u0000\u0000\u1579\u157a\u0005\u024f\u0000"+
"\u0000\u157a\u157b\u0005\u00b6\u0000\u0000\u157b\u157c\u0003\u0242\u0121"+
"\u0000\u157c\u157d\u0005\u00b7\u0000\u0000\u157d\u1584\u0001\u0000\u0000"+
"\u0000\u157e\u157f\u0005\u01d9\u0000\u0000\u157f\u1580\u0007\r\u0000\u0000"+
"\u1580\u1581\u0005\u02c6\u0000\u0000\u1581\u1582\u0005\u0188\u0000\u0000"+
"\u1582\u1584\u0005\u02c6\u0000\u0000\u1583\u1521\u0001\u0000\u0000\u0000"+
"\u1583\u152e\u0001\u0000\u0000\u0000\u1583\u1538\u0001\u0000\u0000\u0000"+
"\u1583\u1542\u0001\u0000\u0000\u0000\u1583\u1545\u0001\u0000\u0000\u0000"+
"\u1583\u1548\u0001\u0000\u0000\u0000\u1583\u154b\u0001\u0000\u0000\u0000"+
"\u1583\u154e\u0001\u0000\u0000\u0000\u1583\u1559\u0001\u0000\u0000\u0000"+
"\u1583\u1564\u0001\u0000\u0000\u0000\u1583\u1568\u0001\u0000\u0000\u0000"+
"\u1583\u156f\u0001\u0000\u0000\u0000\u1583\u157e\u0001\u0000\u0000\u0000"+
"\u1584\u016b\u0001\u0000\u0000\u0000\u1585\u1587\u0003\u02c0\u0160\u0000"+
"\u1586\u1588\u0003\u0240\u0120\u0000\u1587\u1586\u0001\u0000\u0000\u0000"+
"\u1587\u1588\u0001\u0000\u0000\u0000\u1588\u016d\u0001\u0000\u0000\u0000"+
"\u1589\u158a\u0003\u02c0\u0160\u0000\u158a\u158e\u0003\u0236\u011b\u0000"+
"\u158b\u158c\u0005\u0148\u0000\u0000\u158c\u158d\u0005\u01ac\u0000\u0000"+
"\u158d\u158f\u0003\u0236\u011b\u0000\u158e\u158b\u0001\u0000\u0000\u0000"+
"\u158e\u158f\u0001\u0000\u0000\u0000\u158f\u1591\u0001\u0000\u0000\u0000"+
"\u1590\u1592\u0003\u0176\u00bb\u0000\u1591\u1590\u0001\u0000\u0000\u0000"+
"\u1591\u1592\u0001\u0000\u0000\u0000\u1592\u1594\u0001\u0000\u0000\u0000"+
"\u1593\u1595\u0003\u0240\u0120\u0000\u1594\u1593\u0001\u0000\u0000\u0000"+
"\u1594\u1595\u0001\u0000\u0000\u0000\u1595\u016f\u0001\u0000\u0000\u0000"+
"\u1596\u1597\u0005\u00c2\u0000\u0000\u1597\u1598\u0005\u0103\u0000\u0000"+
"\u1598\u159a\u0003\u0254\u012a\u0000\u1599\u159b\u0003\u0172\u00b9\u0000"+
"\u159a\u1599\u0001\u0000\u0000\u0000\u159a\u159b\u0001\u0000\u0000\u0000"+
"\u159b\u159d\u0001\u0000\u0000\u0000\u159c\u159e\u0003\u0174\u00ba\u0000"+
"\u159d\u159c\u0001\u0000\u0000\u0000\u159d\u159e\u0001\u0000\u0000\u0000"+
"\u159e\u15a0\u0001\u0000\u0000\u0000\u159f\u15a1\u0003\u0240\u0120\u0000"+
"\u15a0\u159f\u0001\u0000\u0000\u0000\u15a0\u15a1\u0001\u0000\u0000\u0000"+
"\u15a1\u1673\u0001\u0000\u0000\u0000\u15a2\u15a3\u0005\u00c2\u0000\u0000"+
"\u15a3\u15a4\u0005\u0103\u0000\u0000\u15a4\u15a5\u0005\u00b6\u0000\u0000"+
"\u15a5\u15a6\u0003\u0252\u0129\u0000\u15a6\u15a8\u0005\u00b7\u0000\u0000"+
"\u15a7\u15a9\u0003\u0174\u00ba\u0000\u15a8\u15a7\u0001\u0000\u0000\u0000"+
"\u15a8\u15a9\u0001\u0000\u0000\u0000\u15a9\u15ab\u0001\u0000\u0000\u0000"+
"\u15aa\u15ac\u0003\u0240\u0120\u0000\u15ab\u15aa\u0001\u0000\u0000\u0000"+
"\u15ab\u15ac\u0001\u0000\u0000\u0000\u15ac\u1673\u0001\u0000\u0000\u0000"+
"\u15ad\u15ae\u0005\u0144\u0000\u0000\u15ae\u15af\u0005\u0103\u0000\u0000"+
"\u15af\u15b1\u0003\u02c0\u0160\u0000\u15b0\u15b2\u0003\u0176\u00bb\u0000"+
"\u15b1\u15b0\u0001\u0000\u0000\u0000\u15b1\u15b2\u0001\u0000\u0000\u0000"+
"\u15b2\u15b4\u0001\u0000\u0000\u0000\u15b3\u15b5\u0003\u0240\u0120\u0000"+
"\u15b4\u15b3\u0001\u0000\u0000\u0000\u15b4\u15b5\u0001\u0000\u0000\u0000"+
"\u15b5\u1673\u0001\u0000\u0000\u0000\u15b6\u15b7\u0005\u01d9\u0000\u0000"+
"\u15b7\u15b8\u0005\u0103\u0000\u0000\u15b8\u15ba\u0003\u0254\u012a\u0000"+
"\u15b9\u15bb\u0003\u0172\u00b9\u0000\u15ba\u15b9\u0001\u0000\u0000\u0000"+
"\u15ba\u15bb\u0001\u0000\u0000\u0000\u15bb\u15bd\u0001\u0000\u0000\u0000"+
"\u15bc\u15be\u0003\u0176\u00bb\u0000\u15bd\u15bc\u0001\u0000\u0000\u0000"+
"\u15bd\u15be\u0001\u0000\u0000\u0000\u15be\u15c0\u0001\u0000\u0000\u0000"+
"\u15bf\u15c1\u0003\u0240\u0120\u0000\u15c0\u15bf\u0001\u0000\u0000\u0000"+
"\u15c0\u15c1\u0001\u0000\u0000\u0000\u15c1\u1673\u0001\u0000\u0000\u0000"+
"\u15c2\u15c3\u0005\u01f1\u0000\u0000\u15c3\u15c4\u0005\u00ef\u0000\u0000"+
"\u15c4\u15c6\u0003\u0236\u011b\u0000\u15c5\u15c7\u0003\u0176\u00bb\u0000"+
"\u15c6\u15c5\u0001\u0000\u0000\u0000\u15c6\u15c7\u0001\u0000\u0000\u0000"+
"\u15c7\u15c9\u0001\u0000\u0000\u0000\u15c8\u15ca\u0003\u0240\u0120\u0000"+
"\u15c9\u15c8\u0001\u0000\u0000\u0000\u15c9\u15ca\u0001\u0000\u0000\u0000"+
"\u15ca\u1673\u0001\u0000\u0000\u0000\u15cb\u15cd\u0005\u00c2\u0000\u0000"+
"\u15cc\u15ce\u0005\u0273\u0000\u0000\u15cd\u15cc\u0001\u0000\u0000\u0000"+
"\u15cd\u15ce\u0001\u0000\u0000\u0000\u15ce\u15cf\u0001\u0000\u0000\u0000"+
"\u15cf\u15de\u0003\u025c\u012e\u0000\u15d0\u15d1\u0005\u013e\u0000\u0000"+
"\u15d1\u15d5\u0005\u00ef\u0000\u0000\u15d2\u15d3\u0005\u0180\u0000\u0000"+
"\u15d3\u15d6\u0003\u0236\u011b\u0000\u15d4\u15d6\u0005\u021d\u0000\u0000"+
"\u15d5\u15d2\u0001\u0000\u0000\u0000\u15d5\u15d4\u0001\u0000\u0000\u0000"+
"\u15d6\u15dc\u0001\u0000\u0000\u0000\u15d7\u15da\u0005\u00eb\u0000\u0000"+
"\u15d8\u15db\u0005\u02cb\u0000\u0000\u15d9\u15db\u0005\u00d4\u0000\u0000"+
"\u15da\u15d8\u0001\u0000\u0000\u0000\u15da\u15d9\u0001\u0000\u0000\u0000"+
"\u15db\u15dd\u0001\u0000\u0000\u0000\u15dc\u15d7\u0001\u0000\u0000\u0000"+
"\u15dc\u15dd\u0001\u0000\u0000\u0000\u15dd\u15df\u0001\u0000\u0000\u0000"+
"\u15de\u15d0\u0001\u0000\u0000\u0000\u15de\u15df\u0001\u0000\u0000\u0000"+
"\u15df\u15e1\u0001\u0000\u0000\u0000\u15e0\u15e2\u0003\u0240\u0120\u0000"+
"\u15e1\u15e0\u0001\u0000\u0000\u0000\u15e1\u15e2\u0001\u0000\u0000\u0000"+
"\u15e2\u1673\u0001\u0000\u0000\u0000\u15e3\u15e5\u0005\u0144\u0000\u0000"+
"\u15e4\u15e6\u0005\u0273\u0000\u0000\u15e5\u15e4\u0001\u0000\u0000\u0000"+
"\u15e5\u15e6\u0001\u0000\u0000\u0000\u15e6\u15e7\u0001\u0000\u0000\u0000"+
"\u15e7\u15ea\u0005\u01f8\u0000\u0000\u15e8\u15e9\u0005\u018d\u0000\u0000"+
"\u15e9\u15eb\u0005\u015a\u0000\u0000\u15ea\u15e8\u0001\u0000\u0000\u0000"+
"\u15ea\u15eb\u0001\u0000\u0000\u0000\u15eb\u15ec\u0001\u0000\u0000\u0000"+
"\u15ec\u15ee\u0003\u02c0\u0160\u0000\u15ed\u15ef\u0005\u016e\u0000\u0000"+
"\u15ee\u15ed\u0001\u0000\u0000\u0000\u15ee\u15ef\u0001\u0000\u0000\u0000"+
"\u15ef\u15f3\u0001\u0000\u0000\u0000\u15f0\u15f1\u0005\u0171\u0000\u0000"+
"\u15f1\u15f2\u0005\u0192\u0000\u0000\u15f2\u15f4\u0003\u02c0\u0160\u0000"+
"\u15f3\u15f0\u0001\u0000\u0000\u0000\u15f3\u15f4\u0001\u0000\u0000\u0000"+
"\u15f4\u1673\u0001\u0000\u0000\u0000\u15f5\u15f7\u0005\u01d9\u0000\u0000"+
"\u15f6\u15f8\u0005\u0273\u0000\u0000\u15f7\u15f6\u0001\u0000\u0000\u0000"+
"\u15f7\u15f8\u0001\u0000\u0000\u0000\u15f8\u15f9\u0001\u0000\u0000\u0000"+
"\u15f9\u15ff\u0005\u01f8\u0000\u0000\u15fa\u1600\u0003\u02c0\u0160\u0000"+
"\u15fb\u1600\u0003\u0236\u011b\u0000\u15fc\u15fd\u0005\u00b6\u0000\u0000"+
"\u15fd\u15fe\u0005\u02b5\u0000\u0000\u15fe\u1600\u0005\u00b7\u0000\u0000"+
"\u15ff\u15fa\u0001\u0000\u0000\u0000\u15ff\u15fb\u0001\u0000\u0000\u0000"+
"\u15ff\u15fc\u0001\u0000\u0000\u0000\u1600\u1601\u0001\u0000\u0000\u0000"+
"\u1601\u1602\u0005\u024f\u0000\u0000\u1602\u1603\u0005\u00b6\u0000\u0000"+
"\u1603\u1604\u0003\u0242\u0121\u0000\u1604\u1605\u0005\u00b7\u0000\u0000"+
"\u1605\u1673\u0001\u0000\u0000\u0000\u1606\u1608\u0005\u022c\u0000\u0000"+
"\u1607\u1609\u0003\u01a6\u00d3\u0000\u1608\u1607\u0001\u0000\u0000\u0000"+
"\u1608\u1609\u0001\u0000\u0000\u0000\u1609\u160a\u0001\u0000\u0000\u0000"+
"\u160a\u160c\u0005\u02a6\u0000\u0000\u160b\u160d\u0003\u01a6\u00d3\u0000"+
"\u160c\u160b\u0001\u0000\u0000\u0000\u160c\u160d\u0001\u0000\u0000\u0000"+
"\u160d\u160f\u0001\u0000\u0000\u0000\u160e\u1610\u0005\u016e\u0000\u0000"+
"\u160f\u160e\u0001\u0000\u0000\u0000\u160f\u1610\u0001\u0000\u0000\u0000"+
"\u1610\u1612\u0001\u0000\u0000\u0000\u1611\u1613\u0003\u0240\u0120\u0000"+
"\u1612\u1611\u0001\u0000\u0000\u0000\u1612\u1613\u0001\u0000\u0000\u0000"+
"\u1613\u1673\u0001\u0000\u0000\u0000\u1614\u1615\u0005\u022c\u0000\u0000"+
"\u1615\u1616\u0005\u02a6\u0000\u0000\u1616\u1617\u0005\u026c\u0000\u0000"+
"\u1617\u1619\u0003\u02c0\u0160\u0000\u1618\u161a\u0003\u0240\u0120\u0000"+
"\u1619\u1618\u0001\u0000\u0000\u0000\u1619\u161a\u0001\u0000\u0000\u0000"+
"\u161a\u161c\u0001\u0000\u0000\u0000\u161b\u161d\u0005\u016e\u0000\u0000"+
"\u161c\u161b\u0001\u0000\u0000\u0000\u161c\u161d\u0001\u0000\u0000\u0000"+
"\u161d\u1673\u0001\u0000\u0000\u0000\u161e\u161f\u0005\u0229\u0000\u0000"+
"\u161f\u1673\u0003\u02c0\u0160\u0000\u1620\u1621\u0005\u0229\u0000\u0000"+
"\u1621\u1622\u0005\u023f\u0000\u0000\u1622\u1623\u0003\u02c0\u0160\u0000"+
"\u1623\u1624\u0003\u02c0\u0160\u0000\u1624\u1673\u0001\u0000\u0000\u0000"+
"\u1625\u1626\u0005\u0229\u0000\u0000\u1626\u1627\u0005\u01f8\u0000\u0000"+
"\u1627\u1628\u0003\u02c0\u0160\u0000\u1628\u1629\u0003\u02c0\u0160\u0000"+
"\u1629\u1673\u0001\u0000\u0000\u0000\u162a\u162b\u0005\u0229\u0000\u0000"+
"\u162b\u162c\u0005\u0103\u0000\u0000\u162c\u162d\u0003\u02c0\u0160\u0000"+
"\u162d\u162e\u0003\u02c0\u0160\u0000\u162e\u1673\u0001\u0000\u0000\u0000"+
"\u162f\u1630\u0005\u00c2\u0000\u0000\u1630\u1673\u0003\u0258\u012c\u0000"+
"\u1631\u1632\u0005\u0144\u0000\u0000\u1632\u1635\u0005\u0192\u0000\u0000"+
"\u1633\u1634\u0005\u018d\u0000\u0000\u1634\u1636\u0005\u015a\u0000\u0000"+
"\u1635\u1633\u0001\u0000\u0000\u0000\u1635\u1636\u0001\u0000\u0000\u0000"+
"\u1636\u1637\u0001\u0000\u0000\u0000\u1637\u1673\u0003\u02c0\u0160\u0000"+
"\u1638\u1639\u0005\u014c\u0000\u0000\u1639\u163a\u0005\u0164\u0000\u0000"+
"\u163a\u163d\u0005\u02c6\u0000\u0000\u163b\u163c\u0005\u02a6\u0000\u0000"+
"\u163c\u163e\u0003\u0240\u0120\u0000\u163d\u163b\u0001\u0000\u0000\u0000"+
"\u163d\u163e\u0001\u0000\u0000\u0000\u163e\u1673\u0001\u0000\u0000\u0000"+
"\u163f\u1640\u0005\u01d9\u0000\u0000\u1640\u164f\u0005\u013f\u0000\u0000"+
"\u1641\u1642\u0005\u013e\u0000\u0000\u1642\u1646\u0005\u00ef\u0000\u0000"+
"\u1643\u1644\u0005\u0180\u0000\u0000\u1644\u1647\u0003\u0236\u011b\u0000"+
"\u1645\u1647\u0005\u021d\u0000\u0000\u1646\u1643\u0001\u0000\u0000\u0000"+
"\u1646\u1645\u0001\u0000\u0000\u0000\u1647\u164d\u0001\u0000\u0000\u0000"+
"\u1648\u164b\u0005\u00eb\u0000\u0000\u1649\u164c\u0005\u02cb\u0000\u0000"+
"\u164a\u164c\u0005\u00d4\u0000\u0000\u164b\u1649\u0001\u0000\u0000\u0000"+
"\u164b\u164a\u0001\u0000\u0000\u0000\u164c\u164e\u0001\u0000\u0000\u0000"+
"\u164d\u1648\u0001\u0000\u0000\u0000\u164d\u164e\u0001\u0000\u0000\u0000"+
"\u164e\u1650\u0001\u0000\u0000\u0000\u164f\u1641\u0001\u0000\u0000\u0000"+
"\u164f\u1650\u0001\u0000\u0000\u0000\u1650\u1673\u0001\u0000\u0000\u0000"+
"\u1651\u1652\u0005\u01d9\u0000\u0000\u1652\u1653\u0005\u0105\u0000\u0000"+
"\u1653\u1673\u0005\u02c6\u0000\u0000\u1654\u1655\u0005\u01d9\u0000\u0000"+
"\u1655\u1656\u0005\u0103\u0000\u0000\u1656\u1657\u0003\u02c0\u0160\u0000"+
"\u1657\u1658\u0005\u0105\u0000\u0000\u1658\u1659\u0005\u02c6\u0000\u0000"+
"\u1659\u1673\u0001\u0000\u0000\u0000\u165a\u165b\u0005\u01d9\u0000\u0000"+
"\u165b\u165c\u0005\u0151\u0000\u0000\u165c\u165d\u0005\u027b\u0000\u0000"+
"\u165d\u165f\u0003\u02c0\u0160\u0000\u165e\u1660\u0003\u0240\u0120\u0000"+
"\u165f\u165e\u0001\u0000\u0000\u0000\u165f\u1660\u0001\u0000\u0000\u0000"+
"\u1660\u1673\u0001\u0000\u0000\u0000\u1661\u1663\u0005\u00c2\u0000\u0000"+
"\u1662\u1664\u0005\u0273\u0000\u0000\u1663\u1662\u0001\u0000\u0000\u0000"+
"\u1663\u1664\u0001\u0000\u0000\u0000\u1664\u1665\u0001\u0000\u0000\u0000"+
"\u1665\u1666\u0005\u01f9\u0000\u0000\u1666\u1667\u0005\u0171\u0000\u0000"+
"\u1667\u1668\u0003\u0266\u0133\u0000\u1668\u1669\u0005\u027b\u0000\u0000"+
"\u1669\u166a\u0003\u0266\u0133\u0000\u166a\u166b\u0005\u019c\u0000\u0000"+
"\u166b\u166d\u0005\u02cb\u0000\u0000\u166c\u166e\u0003\u02c0\u0160\u0000"+
"\u166d\u166c\u0001\u0000\u0000\u0000\u166d\u166e\u0001\u0000\u0000\u0000"+
"\u166e\u1670\u0001\u0000\u0000\u0000\u166f\u1671\u0003\u0240\u0120\u0000"+
"\u1670\u166f\u0001\u0000\u0000\u0000\u1670\u1671\u0001\u0000\u0000\u0000"+
"\u1671\u1673\u0001\u0000\u0000\u0000\u1672\u1596\u0001\u0000\u0000\u0000"+
"\u1672\u15a2\u0001\u0000\u0000\u0000\u1672\u15ad\u0001\u0000\u0000\u0000"+
"\u1672\u15b6\u0001\u0000\u0000\u0000\u1672\u15c2\u0001\u0000\u0000\u0000"+
"\u1672\u15cb\u0001\u0000\u0000\u0000\u1672\u15e3\u0001\u0000\u0000\u0000"+
"\u1672\u15f5\u0001\u0000\u0000\u0000\u1672\u1606\u0001\u0000\u0000\u0000"+
"\u1672\u1614\u0001\u0000\u0000\u0000\u1672\u161e\u0001\u0000\u0000\u0000"+
"\u1672\u1620\u0001\u0000\u0000\u0000\u1672\u1625\u0001\u0000\u0000\u0000"+
"\u1672\u162a\u0001\u0000\u0000\u0000\u1672\u162f\u0001\u0000\u0000\u0000"+
"\u1672\u1631\u0001\u0000\u0000\u0000\u1672\u1638\u0001\u0000\u0000\u0000"+
"\u1672\u163f\u0001\u0000\u0000\u0000\u1672\u1651\u0001\u0000\u0000\u0000"+
"\u1672\u1654\u0001\u0000\u0000\u0000\u1672\u165a\u0001\u0000\u0000\u0000"+
"\u1672\u1661\u0001\u0000\u0000\u0000\u1673\u0171\u0001\u0000\u0000\u0000"+
"\u1674\u1678\u0005\u0168\u0000\u0000\u1675\u1676\u0005\u00c4\u0000\u0000"+
"\u1676\u1678\u0003\u02c0\u0160\u0000\u1677\u1674\u0001\u0000\u0000\u0000"+
"\u1677\u1675\u0001\u0000\u0000\u0000\u1678\u0173\u0001\u0000\u0000\u0000"+
"\u1679\u167a\u00077\u0000\u0000\u167a\u167b\u0003\u02c0\u0160\u0000\u167b"+
"\u0175\u0001\u0000\u0000\u0000\u167c\u167d\u0005\u0171\u0000\u0000\u167d"+
"\u167e\u0003\u02c0\u0160\u0000\u167e\u0177\u0001\u0000\u0000\u0000\u167f"+
"\u1681\u0005\u0253\u0000\u0000\u1680\u1682\u0005\u00d4\u0000\u0000\u1681"+
"\u1680\u0001\u0000\u0000\u0000\u1681\u1682\u0001\u0000\u0000\u0000\u1682"+
"\u1683\u0001\u0000\u0000\u0000\u1683\u1686\u0005\u00ca\u0000\u0000\u1684"+
"\u1687\u0005\u02cb\u0000\u0000\u1685\u1687\u0003\u024c\u0126\u0000\u1686"+
"\u1684\u0001\u0000\u0000\u0000\u1686\u1685\u0001\u0000\u0000\u0000\u1686"+
"\u1687\u0001\u0000\u0000\u0000\u1687\u168d\u0001\u0000\u0000\u0000\u1688"+
"\u1689\u0005\u02a4\u0000\u0000\u1689\u168a\u0003\u02c0\u0160\u0000\u168a"+
"\u168b\u0005\u02ac\u0000\u0000\u168b\u168c\u0005\u02c6\u0000\u0000\u168c"+
"\u168e\u0001\u0000\u0000\u0000\u168d\u1688\u0001\u0000\u0000\u0000\u168d"+
"\u168e\u0001\u0000\u0000\u0000\u168e\u170c\u0001\u0000\u0000\u0000\u168f"+
"\u1690\u0005\u0253\u0000\u0000\u1690\u1691\u0005\u021a\u0000\u0000\u1691"+
"\u1692\u0005\u00ca\u0000\u0000\u1692\u1694\u0005\u01a8\u0000\u0000\u1693"+
"\u1695\u0003\u024c\u0126\u0000\u1694\u1693\u0001\u0000\u0000\u0000\u1694"+
"\u1695\u0001\u0000\u0000\u0000\u1695\u169b\u0001\u0000\u0000\u0000\u1696"+
"\u1697\u0005\u02a4\u0000\u0000\u1697\u1698\u0003\u02c0\u0160\u0000\u1698"+
"\u1699\u0005\u02ac\u0000\u0000\u1699\u169a\u0005\u02c6\u0000\u0000\u169a"+
"\u169c\u0001\u0000\u0000\u0000\u169b\u1696\u0001\u0000\u0000\u0000\u169b"+
"\u169c\u0001\u0000\u0000\u0000\u169c\u170c\u0001\u0000\u0000\u0000\u169d"+
"\u169e\u0005\u0253\u0000\u0000\u169e\u169f\u0005\u0103\u0000\u0000\u169f"+
"\u16a0\u0005\u0185\u0000\u0000\u16a0\u16a1\u0003\u024c\u0126\u0000\u16a1"+
"\u16a2\u0003\u0236\u011b\u0000\u16a2\u170c\u0001\u0000\u0000\u0000\u16a3"+
"\u16a4\u0005\u00ca\u0000\u0000\u16a4\u16a5\u0005\u0123\u0000\u0000\u16a5"+
"\u16aa\u0003\u024c\u0126\u0000\u16a6\u16a7\u0005\u02a6\u0000\u0000\u16a7"+
"\u16a9\u0003\u017c\u00be\u0000\u16a8\u16a6\u0001\u0000\u0000\u0000\u16a9"+
"\u16ac\u0001\u0000\u0000\u0000\u16aa\u16a8\u0001\u0000\u0000\u0000\u16aa"+
"\u16ab\u0001\u0000\u0000\u0000\u16ab\u16ae\u0001\u0000\u0000\u0000\u16ac"+
"\u16aa\u0001\u0000\u0000\u0000\u16ad\u16af\u0003\u0240\u0120\u0000\u16ae"+
"\u16ad\u0001\u0000\u0000\u0000\u16ae\u16af\u0001\u0000\u0000\u0000\u16af"+
"\u170c\u0001\u0000\u0000\u0000\u16b0\u16b1\u0005\u00ca\u0000\u0000\u16b1"+
"\u16b2\u0005\u026c\u0000\u0000\u16b2\u16b4\u0003\u024c\u0126\u0000\u16b3"+
"\u16b5\u0003\u01a6\u00d3\u0000\u16b4\u16b3\u0001\u0000\u0000\u0000\u16b4"+
"\u16b5\u0001\u0000\u0000\u0000\u16b5\u16b7\u0001\u0000\u0000\u0000\u16b6"+
"\u16b8\u0003\u0236\u011b\u0000\u16b7\u16b6\u0001\u0000\u0000\u0000\u16b7"+
"\u16b8\u0001\u0000\u0000\u0000\u16b8\u16bd\u0001\u0000\u0000\u0000\u16b9"+
"\u16ba\u0005\u02a6\u0000\u0000\u16ba\u16bc\u0003\u017c\u00be\u0000\u16bb"+
"\u16b9\u0001\u0000\u0000\u0000\u16bc\u16bf\u0001\u0000\u0000\u0000\u16bd"+
"\u16bb\u0001\u0000\u0000\u0000\u16bd\u16be\u0001\u0000\u0000\u0000\u16be"+
"\u16c1\u0001\u0000\u0000\u0000\u16bf\u16bd\u0001\u0000\u0000\u0000\u16c0"+
"\u16c2\u0003\u0240\u0120\u0000\u16c1\u16c0\u0001\u0000\u0000\u0000\u16c1"+
"\u16c2\u0001\u0000\u0000\u0000\u16c2\u170c\u0001\u0000\u0000\u0000\u16c3"+
"\u16c4\u0005\u00c9\u0000\u0000\u16c4\u16c5\u0005\u026c\u0000\u0000\u16c5"+
"\u16c6\u0003\u024c\u0126\u0000\u16c6\u16c7\u0005\u024f\u0000\u0000\u16c7"+
"\u16c8\u0005\u025f\u0000\u0000\u16c8\u16c9\u0005\u00b6\u0000\u0000\u16c9"+
"\u16ca\u0003\u0242\u0121\u0000\u16ca\u16cc\u0005\u00b7\u0000\u0000\u16cb"+
"\u16cd\u0003\u01a6\u00d3\u0000\u16cc\u16cb\u0001\u0000\u0000\u0000\u16cc"+
"\u16cd\u0001\u0000\u0000\u0000\u16cd\u170c\u0001\u0000\u0000\u0000\u16ce"+
"\u16cf\u0005\u00c9\u0000\u0000\u16cf\u16d0\u0005\u026c\u0000\u0000\u16d0"+
"\u16d3\u0003\u024c\u0126\u0000\u16d1\u16d2\u0005\u0192\u0000\u0000\u16d2"+
"\u16d4\u0003\u02c0\u0160\u0000\u16d3\u16d1\u0001\u0000\u0000\u0000\u16d3"+
"\u16d4\u0001\u0000\u0000\u0000\u16d4\u16d5\u0001\u0000\u0000\u0000\u16d5"+
"\u16d6\u0005\u01d9\u0000\u0000\u16d6\u16d7\u0005\u0103\u0000\u0000\u16d7"+
"\u16d8\u0003\u02c0\u0160\u0000\u16d8\u16d9\u0005\u024f\u0000\u0000\u16d9"+
"\u16da\u0005\u025f\u0000\u0000\u16da\u16db\u0005\u00b6\u0000\u0000\u16db"+
"\u16dc\u0003\u0242\u0121\u0000\u16dc\u16de\u0005\u00b7\u0000\u0000\u16dd"+
"\u16df\u0003\u01a6\u00d3\u0000\u16de\u16dd\u0001\u0000\u0000\u0000\u16de"+
"\u16df\u0001\u0000\u0000\u0000\u16df\u170c\u0001\u0000\u0000\u0000\u16e0"+
"\u16e1\u0005\u0253\u0000\u0000\u16e1\u16e2\u0005\u0192\u0000\u0000\u16e2"+
"\u16e3\u0005\u025f\u0000\u0000\u16e3\u16e4\u0003\u024c\u0126\u0000\u16e4"+
"\u16e5\u0003\u02c0\u0160\u0000\u16e5\u170c\u0001\u0000\u0000\u0000\u16e6"+
"\u16e7\u0005\u0144\u0000\u0000\u16e7\u16e8\u0005\u025f\u0000\u0000\u16e8"+
"\u16ea\u0003\u024c\u0126\u0000\u16e9\u16eb\u0003\u0236\u011b\u0000\u16ea"+
"\u16e9\u0001\u0000\u0000\u0000\u16ea\u16eb\u0001\u0000\u0000\u0000\u16eb"+
"\u16ed\u0001\u0000\u0000\u0000\u16ec\u16ee\u0003\u01a6\u00d3\u0000\u16ed"+
"\u16ec\u0001\u0000\u0000\u0000\u16ed\u16ee\u0001\u0000\u0000\u0000\u16ee"+
"\u170c\u0001\u0000\u0000\u0000\u16ef\u16f0\u0005\u0144\u0000\u0000\u16f0"+
"\u16f1\u0005\u00f1\u0000\u0000\u16f1\u16f2\u0005\u025f\u0000\u0000\u16f2"+
"\u170c\u0003\u024c\u0126\u0000\u16f3\u16f4\u0005\u0144\u0000\u0000\u16f4"+
"\u16f5\u0005\u015b\u0000\u0000\u16f5\u170c\u0005\u025f\u0000\u0000\u16f6"+
"\u16f7\u0005\u01ae\u0000\u0000\u16f7\u16f8\u0005\u00ca\u0000\u0000\u16f8"+
"\u170c\u0005\u02cb\u0000\u0000\u16f9\u16fa\u0005\u0144\u0000\u0000\u16fa"+
"\u16fb\u0005\u00ca\u0000\u0000\u16fb\u16fc\u0005\u01a7\u0000\u0000\u16fc"+
"\u170c\u0005\u02cb\u0000\u0000\u16fd\u16fe\u0005\u0253\u0000\u0000\u16fe"+
"\u16ff\u0005\u026c\u0000\u0000\u16ff\u1700\u0005\u025f\u0000\u0000\u1700"+
"\u1702\u0003\u024c\u0126\u0000\u1701\u1703\u0003\u01a6\u00d3\u0000\u1702"+
"\u1701\u0001\u0000\u0000\u0000\u1702\u1703\u0001\u0000\u0000\u0000\u1703"+
"\u1705\u0001\u0000\u0000\u0000\u1704\u1706\u0003\u0236\u011b\u0000\u1705"+
"\u1704\u0001\u0000\u0000\u0000\u1705\u1706\u0001\u0000\u0000\u0000\u1706"+
"\u170c\u0001\u0000\u0000\u0000\u1707\u1708\u0005\u0253\u0000\u0000\u1708"+
"\u1709\u0005\u026c\u0000\u0000\u1709\u170a\u0005\u025f\u0000\u0000\u170a"+
"\u170c\u0005\u02cb\u0000\u0000\u170b\u167f\u0001\u0000\u0000\u0000\u170b"+
"\u168f\u0001\u0000\u0000\u0000\u170b\u169d\u0001\u0000\u0000\u0000\u170b"+
"\u16a3\u0001\u0000\u0000\u0000\u170b\u16b0\u0001\u0000\u0000\u0000\u170b"+
"\u16c3\u0001\u0000\u0000\u0000\u170b\u16ce\u0001\u0000\u0000\u0000\u170b"+
"\u16e0\u0001\u0000\u0000\u0000\u170b\u16e6\u0001\u0000\u0000\u0000\u170b"+
"\u16ef\u0001\u0000\u0000\u0000\u170b\u16f3\u0001\u0000\u0000\u0000\u170b"+
"\u16f6\u0001\u0000\u0000\u0000\u170b\u16f9\u0001\u0000\u0000\u0000\u170b"+
"\u16fd\u0001\u0000\u0000\u0000\u170b\u1707\u0001\u0000\u0000\u0000\u170c"+
"\u0179\u0001\u0000\u0000\u0000\u170d\u170e\u0005\u0253\u0000\u0000\u170e"+
"\u1710\u0005\u0103\u0000\u0000\u170f\u1711\u0005\u00f1\u0000\u0000\u1710"+
"\u170f\u0001\u0000\u0000\u0000\u1710\u1711\u0001\u0000\u0000\u0000\u1711"+
"\u1712\u0001\u0000\u0000\u0000\u1712\u1713\u0005\u025f\u0000\u0000\u1713"+
"\u1715\u0003\u024c\u0126\u0000\u1714\u1716\u0003\u0236\u011b\u0000\u1715"+
"\u1714\u0001\u0000\u0000\u0000\u1715\u1716\u0001\u0000\u0000\u0000\u1716"+
"\u1718\u0001\u0000\u0000\u0000\u1717\u1719\u0003\u01a6\u00d3\u0000\u1718"+
"\u1717\u0001\u0000\u0000\u0000\u1718\u1719\u0001\u0000\u0000\u0000\u1719"+
"\u1720\u0001\u0000\u0000\u0000\u171a\u171b\u0005\u0253\u0000\u0000\u171b"+
"\u171c\u0005\u00ca\u0000\u0000\u171c\u171d\u0005\u0271\u0000\u0000\u171d"+
"\u171e\u0005\u0260\u0000\u0000\u171e\u1720\u0005\u02cb\u0000\u0000\u171f"+
"\u170d\u0001\u0000\u0000\u0000\u171f\u171a\u0001\u0000\u0000\u0000\u1720"+
"\u017b\u0001\u0000\u0000\u0000\u1721\u1734\u0005\u026a\u0000\u0000\u1722"+
"\u1734\u0005\u0191\u0000\u0000\u1723\u1734\u0005\u0174\u0000\u0000\u1724"+
"\u1734\u0005\u0086\u0000\u0000\u1725\u1734\u0005\u0185\u0000\u0000\u1726"+
"\u172b\u0005\u0244\u0000\u0000\u1727\u1728\u0005\u0242\u0000\u0000\u1728"+
"\u172c\u0005\u02cb\u0000\u0000\u1729\u172a\u0005\u0201\u0000\u0000\u172a"+
"\u172c\u0005\u02cb\u0000\u0000\u172b\u1727\u0001\u0000\u0000\u0000\u172b"+
"\u1729\u0001\u0000\u0000\u0000\u172c\u1734\u0001\u0000\u0000\u0000\u172d"+
"\u172e\u0005\u00eb\u0000\u0000\u172e\u1734\u0005\u02cb\u0000\u0000\u172f"+
"\u1730\u0005\u0202\u0000\u0000\u1730\u1734\u0005\u02cb\u0000\u0000\u1731"+
"\u1732\u0005\u0119\u0000\u0000\u1732\u1734\u0005\u02c6\u0000\u0000\u1733"+
"\u1721\u0001\u0000\u0000\u0000\u1733\u1722\u0001\u0000\u0000\u0000\u1733"+
"\u1723\u0001\u0000\u0000\u0000\u1733\u1724\u0001\u0000\u0000\u0000\u1733"+
"\u1725\u0001\u0000\u0000\u0000\u1733\u1726\u0001\u0000\u0000\u0000\u1733"+
"\u172d\u0001\u0000\u0000\u0000\u1733\u172f\u0001\u0000\u0000\u0000\u1733"+
"\u1731\u0001\u0000\u0000\u0000\u1734\u017d\u0001\u0000\u0000\u0000\u1735"+
"\u173a\u0003\u0180\u00c0\u0000\u1736\u1737\u0005\u00b8\u0000\u0000\u1737"+
"\u1739\u0003\u0180\u00c0\u0000\u1738\u1736\u0001\u0000\u0000\u0000\u1739"+
"\u173c\u0001\u0000\u0000\u0000\u173a\u1738\u0001\u0000\u0000\u0000\u173a"+
"\u173b\u0001\u0000\u0000\u0000\u173b\u017f\u0001\u0000\u0000\u0000\u173c"+
"\u173a\u0001\u0000\u0000\u0000\u173d\u173e\u0005\u0251\u0000\u0000\u173e"+
"\u1744\u0005\u02c6\u0000\u0000\u173f\u1741\u0003\u02c0\u0160\u0000\u1740"+
"\u1742\u0005\u02c6\u0000\u0000\u1741\u1740\u0001\u0000\u0000\u0000\u1741"+
"\u1742\u0001\u0000\u0000\u0000\u1742\u1744\u0001\u0000\u0000\u0000\u1743"+
"\u173d\u0001\u0000\u0000\u0000\u1743\u173f\u0001\u0000\u0000\u0000\u1744"+
"\u0181\u0001\u0000\u0000\u0000\u1745\u174a\u0003\u0184\u00c2\u0000\u1746"+
"\u1747\u0005\u00b8\u0000\u0000\u1747\u1749\u0003\u0184\u00c2\u0000\u1748"+
"\u1746\u0001\u0000\u0000\u0000\u1749\u174c\u0001\u0000\u0000\u0000\u174a"+
"\u1748\u0001\u0000\u0000\u0000\u174a\u174b\u0001\u0000\u0000\u0000\u174b"+
"\u0183\u0001\u0000\u0000\u0000\u174c\u174a\u0001\u0000\u0000\u0000\u174d"+
"\u174e\u0003\u02c0\u0160\u0000\u174e\u1751\u0003\u02a0\u0150\u0000\u174f"+
"\u1752\u0003\u02c6\u0163\u0000\u1750\u1752\u0005\u02c6\u0000\u0000\u1751"+
"\u174f\u0001\u0000\u0000\u0000\u1751\u1750\u0001\u0000\u0000\u0000\u1752"+
"\u0185\u0001\u0000\u0000\u0000\u1753\u1755\u00078\u0000\u0000\u1754\u1756"+
"\u0003\u02c0\u0160\u0000\u1755\u1754\u0001\u0000\u0000\u0000\u1755\u1756"+
"\u0001\u0000\u0000\u0000\u1756\u1757\u0001\u0000\u0000\u0000\u1757\u1758"+
"\u0005\u01ec\u0000\u0000\u1758\u1759\u0005\u01c2\u0000\u0000\u1759\u175b"+
"\u0005\u02c6\u0000\u0000\u175a\u175c\u0003\u0240\u0120\u0000\u175b\u175a"+
"\u0001\u0000\u0000\u0000\u175b\u175c\u0001\u0000\u0000\u0000\u175c\u0187"+
"\u0001\u0000\u0000\u0000\u175d\u1760\u0005\u01fc\u0000\u0000\u175e\u1761"+
"\u0005\u0130\u0000\u0000\u175f\u1761\u0005\u02cb\u0000\u0000\u1760\u175e"+
"\u0001\u0000\u0000\u0000\u1760\u175f\u0001\u0000\u0000\u0000\u1761\u1763"+
"\u0001\u0000\u0000\u0000\u1762\u175d\u0001\u0000\u0000\u0000\u1762\u1763"+
"\u0001\u0000\u0000\u0000\u1763\u176c\u0001\u0000\u0000\u0000\u1764\u176a"+
"\u0005\u01fb\u0000\u0000\u1765\u176b\u0005\u0130\u0000\u0000\u1766\u176b"+
"\u0005\u01e0\u0000\u0000\u1767\u1768\u0005\u019c\u0000\u0000\u1768\u1769"+
"\u0005\u02cb\u0000\u0000\u1769\u176b\u00079\u0000\u0000\u176a\u1765\u0001"+
"\u0000\u0000\u0000\u176a\u1766\u0001\u0000\u0000\u0000\u176a\u1767\u0001"+
"\u0000\u0000\u0000\u176b\u176d\u0001\u0000\u0000\u0000\u176c\u1764\u0001"+
"\u0000\u0000\u0000\u176c\u176d\u0001\u0000\u0000\u0000\u176d\u1775\u0001"+
"\u0000\u0000\u0000\u176e\u176f\u0005\u01fe\u0000\u0000\u176f\u1773\u0005"+
"\u019c\u0000\u0000\u1770\u1774\u0005\u0130\u0000\u0000\u1771\u1772\u0005"+
"\u02cb\u0000\u0000\u1772\u1774\u0005\u012b\u0000\u0000\u1773\u1770\u0001"+
"\u0000\u0000\u0000\u1773\u1771\u0001\u0000\u0000\u0000\u1774\u1776\u0001"+
"\u0000\u0000\u0000\u1775\u176e\u0001\u0000\u0000\u0000\u1775\u1776\u0001"+
"\u0000\u0000\u0000\u1776\u1779\u0001\u0000\u0000\u0000\u1777\u1778\u0005"+
"\u0161\u0000\u0000\u1778\u177a\u0005\u02cb\u0000\u0000\u1779\u1777\u0001"+
"\u0000\u0000\u0000\u1779\u177a\u0001\u0000\u0000\u0000\u177a\u1781\u0001"+
"\u0000\u0000\u0000\u177b\u177f\u0005\u01fd\u0000\u0000\u177c\u1780\u0005"+
"\u0286\u0000\u0000\u177d\u177e\u0005\u02cb\u0000\u0000\u177e\u1780\u0007"+
"9\u0000\u0000\u177f\u177c\u0001\u0000\u0000\u0000\u177f\u177d\u0001\u0000"+
"\u0000\u0000\u1780\u1782\u0001\u0000\u0000\u0000\u1781\u177b\u0001\u0000"+
"\u0000\u0000\u1781\u1782\u0001\u0000\u0000\u0000\u1782\u1784\u0001\u0000"+
"\u0000\u0000\u1783\u1785\u0007:\u0000\u0000\u1784\u1783\u0001\u0000\u0000"+
"\u0000\u1784\u1785\u0001\u0000\u0000\u0000\u1785\u0189\u0001\u0000\u0000"+
"\u0000\u1786\u178d\u0005\u00ba\u0000\u0000\u1787\u178d\u0003\u018c\u00c6"+
"\u0000\u1788\u1789\u0003\u018c\u00c6\u0000\u1789\u178a\u0005\u00b8\u0000"+
"\u0000\u178a\u178b\u0005\u00ba\u0000\u0000\u178b\u178d\u0001\u0000\u0000"+
"\u0000\u178c\u1786\u0001\u0000\u0000\u0000\u178c\u1787\u0001\u0000\u0000"+
"\u0000\u178c\u1788\u0001\u0000\u0000\u0000\u178d\u018b\u0001\u0000\u0000"+
"\u0000\u178e\u1793\u0003\u02ac\u0156\u0000\u178f\u1790\u0005\u00b8\u0000"+
"\u0000\u1790\u1792\u0003\u02ac\u0156\u0000\u1791\u178f\u0001\u0000\u0000"+
"\u0000\u1792\u1795\u0001\u0000\u0000\u0000\u1793\u1791\u0001\u0000\u0000"+
"\u0000\u1793\u1794\u0001\u0000\u0000\u0000\u1794\u018d\u0001\u0000\u0000"+
"\u0000\u1795\u1793\u0001\u0000\u0000\u0000\u1796\u1799\u0005\u024f\u0000"+
"\u0000\u1797\u179a\u0003\u0190\u00c8\u0000\u1798\u179a\u0003\u0192\u00c9"+
"\u0000\u1799\u1797\u0001\u0000\u0000\u0000\u1799\u1798\u0001\u0000\u0000"+
"\u0000\u179a\u17a2\u0001\u0000\u0000\u0000\u179b\u179e\u0005\u00b8\u0000"+
"\u0000\u179c\u179f\u0003\u0190\u00c8\u0000\u179d\u179f\u0003\u0192\u00c9"+
"\u0000\u179e\u179c\u0001\u0000\u0000\u0000\u179e\u179d\u0001\u0000\u0000"+
"\u0000\u179f\u17a1\u0001\u0000\u0000\u0000\u17a0\u179b\u0001\u0000\u0000"+
"\u0000\u17a1\u17a4\u0001\u0000\u0000\u0000\u17a2\u17a0\u0001\u0000\u0000"+
"\u0000\u17a2\u17a3\u0001\u0000\u0000\u0000\u17a3\u17c5\u0001\u0000\u0000"+
"\u0000\u17a4\u17a2\u0001\u0000\u0000\u0000\u17a5\u17a6\u0005\u024f\u0000"+
"\u0000\u17a6\u17a7\u0003\u02c0\u0160\u0000\u17a7\u17a8\u0005\u00d0\u0000"+
"\u0000\u17a8\u17a9\u0005\u0130\u0000\u0000\u17a9\u17aa\u0005\u0262\u0000"+
"\u0000\u17aa\u17ab\u0005\u029a\u0000\u0000\u17ab\u17c5\u0001\u0000\u0000"+
"\u0000\u17ac\u17ad\u0005\u024f\u0000\u0000\u17ad\u17b0\u0005\u0216\u0000"+
"\u0000\u17ae\u17af\u0005\u016c\u0000\u0000\u17af\u17b1\u0003\u01bc\u00de"+
"\u0000\u17b0\u17ae\u0001\u0000\u0000\u0000\u17b0\u17b1\u0001\u0000\u0000"+
"\u0000\u17b1\u17b2\u0001\u0000\u0000\u0000\u17b2\u17c5\u0003\u0242\u0121"+
"\u0000\u17b3\u17b5\u0005\u024f\u0000\u0000\u17b4\u17b6\u0003\u01b0\u00d8"+
"\u0000\u17b5\u17b4\u0001\u0000\u0000\u0000\u17b5\u17b6\u0001\u0000\u0000"+
"\u0000\u17b6\u17b7\u0001\u0000\u0000\u0000\u17b7\u17c2\u0005\u027c\u0000"+
"\u0000\u17b8\u17c3\u0003\u0196\u00cb\u0000\u17b9\u17c3\u0003\u0198\u00cc"+
"\u0000\u17ba\u17bb\u0003\u0196\u00cb\u0000\u17bb\u17bc\u0005\u00b8\u0000"+
"\u0000\u17bc\u17bd\u0003\u0198\u00cc\u0000\u17bd\u17c3\u0001\u0000\u0000"+
"\u0000\u17be\u17bf\u0003\u0198\u00cc\u0000\u17bf\u17c0\u0005\u00b8\u0000"+
"\u0000\u17c0\u17c1\u0003\u0196\u00cb\u0000\u17c1\u17c3\u0001\u0000\u0000"+
"\u0000\u17c2\u17b8\u0001\u0000\u0000\u0000\u17c2\u17b9\u0001\u0000\u0000"+
"\u0000\u17c2\u17ba\u0001\u0000\u0000\u0000\u17c2\u17be\u0001\u0000\u0000"+
"\u0000\u17c3\u17c5\u0001\u0000\u0000\u0000\u17c4\u1796\u0001\u0000\u0000"+
"\u0000\u17c4\u17a5\u0001\u0000\u0000\u0000\u17c4\u17ac\u0001\u0000\u0000"+
"\u0000\u17c4\u17b3\u0001\u0000\u0000\u0000\u17c5\u018f\u0001\u0000\u0000"+
"\u0000\u17c6\u17c7\u0003\u01b0\u00d8\u0000\u17c7\u17c8\u0003\u02c0\u0160"+
"\u0000\u17c8\u17cb\u0005\u02ac\u0000\u0000\u17c9\u17cc\u0003\u0278\u013c"+
"\u0000\u17ca\u17cc\u0005\u0130\u0000\u0000\u17cb\u17c9\u0001\u0000\u0000"+
"\u0000\u17cb\u17ca\u0001\u0000\u0000\u0000\u17cc\u0191\u0001\u0000\u0000"+
"\u0000\u17cd\u17ce\u0005\u01dd\u0000\u0000\u17ce\u17cf\u0005\u02ac\u0000"+
"\u0000\u17cf\u17fb\u0003\u0278\u013c\u0000\u17d0\u17d1\u0005\u00f9\u0000"+
"\u0000\u17d1\u17d4\u0005\u024f\u0000\u0000\u17d2\u17d4\u0005\u00fa\u0000"+
"\u0000\u17d3\u17d0\u0001\u0000\u0000\u0000\u17d3\u17d2\u0001\u0000\u0000"+
"\u0000\u17d4\u17d7\u0001\u0000\u0000\u0000\u17d5\u17d8\u0003\u01bc\u00de"+
"\u0000\u17d6\u17d8\u0005\u0130\u0000\u0000\u17d7\u17d5\u0001\u0000\u0000"+
"\u0000\u17d7\u17d6\u0001\u0000\u0000\u0000\u17d8\u17fb\u0001\u0000\u0000"+
"\u0000\u17d9\u17dc\u0005\u01dd\u0000\u0000\u17da\u17dd\u0003\u01bc\u00de"+
"\u0000\u17db\u17dd\u0005\u0130\u0000\u0000\u17dc\u17da\u0001\u0000\u0000"+
"\u0000\u17dc\u17db\u0001\u0000\u0000\u0000\u17dd\u17e1\u0001\u0000\u0000"+
"\u0000\u17de\u17df\u0005\u00ff\u0000\u0000\u17df\u17e2\u0003\u01bc\u00de"+
"\u0000\u17e0\u17e2\u0005\u0130\u0000\u0000\u17e1\u17de\u0001\u0000\u0000"+
"\u0000\u17e1\u17e0\u0001\u0000\u0000\u0000\u17e1\u17e2\u0001\u0000\u0000"+
"\u0000\u17e2\u17fb\u0001\u0000\u0000\u0000\u17e3\u17e6\u0005\u01fa\u0000"+
"\u0000\u17e4\u17e5\u0005\u016c\u0000\u0000\u17e5\u17e7\u0003\u01c4\u00e2"+
"\u0000\u17e6\u17e4\u0001\u0000\u0000\u0000\u17e6\u17e7\u0001\u0000\u0000"+
"\u0000\u17e7\u17e8\u0001\u0000\u0000\u0000\u17e8\u17ee\u0005\u02ac\u0000"+
"\u0000\u17e9\u17ef\u0005\u02c6\u0000\u0000\u17ea\u17eb\u0005\u01fa\u0000"+
"\u0000\u17eb\u17ec\u0005\u00b6\u0000\u0000\u17ec\u17ed\u0005\u02c6\u0000"+
"\u0000\u17ed\u17ef\u0005\u00b7\u0000\u0000\u17ee\u17e9\u0001\u0000\u0000"+
"\u0000\u17ee\u17ea\u0001\u0000\u0000\u0000\u17ef\u17fb\u0001\u0000\u0000"+
"\u0000\u17f0\u17f1\u0005\u01b5\u0000\u0000\u17f1\u17f7\u0005\u02ac\u0000"+
"\u0000\u17f2\u17f8\u0005\u02c6\u0000\u0000\u17f3\u17f4\u0005\u01fa\u0000"+
"\u0000\u17f4\u17f5\u0005\u00b6\u0000\u0000\u17f5\u17f6\u0005\u02c6\u0000"+
"\u0000\u17f6\u17f8\u0005\u00b7\u0000\u0000\u17f7\u17f2\u0001\u0000\u0000"+
"\u0000\u17f7\u17f3\u0001\u0000\u0000\u0000\u17f8\u17fb\u0001\u0000\u0000"+
"\u0000\u17f9\u17fb\u0003\u0194\u00ca\u0000\u17fa\u17cd\u0001\u0000\u0000"+
"\u0000\u17fa\u17d3\u0001\u0000\u0000\u0000\u17fa\u17d9\u0001\u0000\u0000"+
"\u0000\u17fa\u17e3\u0001\u0000\u0000\u0000\u17fa\u17f0\u0001\u0000\u0000"+
"\u0000\u17fa\u17f9\u0001\u0000\u0000\u0000\u17fb\u0193\u0001\u0000\u0000"+
"\u0000\u17fc\u1800\u0005\u02c5\u0000\u0000\u17fd\u17fe\u0003\u01b0\u00d8"+
"\u0000\u17fe\u17ff\u0005\u00b9\u0000\u0000\u17ff\u1801\u0001\u0000\u0000"+
"\u0000\u1800\u17fd\u0001\u0000\u0000\u0000\u1800\u1801\u0001\u0000\u0000"+
"\u0000\u1801\u1803\u0001\u0000\u0000\u0000\u1802\u17fc\u0001\u0000\u0000"+
"\u0000\u1802\u1803\u0001\u0000\u0000\u0000\u1803\u1804\u0001\u0000\u0000"+
"\u0000\u1804\u1805\u0003\u02c0\u0160\u0000\u1805\u1808\u0005\u02ac\u0000"+
"\u0000\u1806\u1809\u0003\u0278\u013c\u0000\u1807\u1809\u0005\u0130\u0000"+
"\u0000\u1808\u1806\u0001\u0000\u0000\u0000\u1808\u1807\u0001\u0000\u0000"+
"\u0000\u1809\u1810\u0001\u0000\u0000\u0000\u180a\u180b\u0005\u02c4\u0000"+
"\u0000\u180b\u180c\u0003\u02c0\u0160\u0000\u180c\u180d\u0005\u02ac\u0000"+
"\u0000\u180d\u180e\u0003\u0278\u013c\u0000\u180e\u1810\u0001\u0000\u0000"+
"\u0000\u180f\u1802\u0001\u0000\u0000\u0000\u180f\u180a\u0001\u0000\u0000"+
"\u0000\u1810\u0195\u0001\u0000\u0000\u0000\u1811\u1812\u0005\u021f\u0000"+
"\u0000\u1812\u1813\u0007;\u0000\u0000\u1813\u0197\u0001\u0000\u0000\u0000"+
"\u1814\u1815\u0005\u01a6\u0000\u0000\u1815\u181d\u0005\u01b8\u0000\u0000"+
"\u1816\u1817\u0005\u021f\u0000\u0000\u1817\u181e\u0005\u0287\u0000\u0000"+
"\u1818\u1819\u0005\u021f\u0000\u0000\u1819\u181e\u0005\u0107\u0000\u0000"+
"\u181a\u181b\u0005\u022b\u0000\u0000\u181b\u181e\u0005\u021f\u0000\u0000"+
"\u181c\u181e\u0005\u024c\u0000\u0000\u181d\u1816\u0001\u0000\u0000\u0000"+
"\u181d\u1818\u0001\u0000\u0000\u0000\u181d\u181a\u0001\u0000\u0000\u0000"+
"\u181d\u181c\u0001\u0000\u0000\u0000\u181e\u0199\u0001\u0000\u0000\u0000"+
"\u181f\u1821\u0005\u028c\u0000\u0000\u1820\u1822\u0003\u01b0\u00d8\u0000"+
"\u1821\u1820\u0001\u0000\u0000\u0000\u1821\u1822\u0001\u0000\u0000\u0000"+
"\u1822\u1823\u0001\u0000\u0000\u0000\u1823\u1826\u0005\u0297\u0000\u0000"+
"\u1824\u1827\u0005\u00c8\u0000\u0000\u1825\u1827\u0003\u02c0\u0160\u0000"+
"\u1826\u1824\u0001\u0000\u0000\u0000\u1826\u1825\u0001\u0000\u0000\u0000"+
"\u1827\u182d\u0001\u0000\u0000\u0000\u1828\u1829\u0005\u028c\u0000\u0000"+
"\u1829\u182a\u0005\u0130\u0000\u0000\u182a\u182b\u0005\u0262\u0000\u0000"+
"\u182b\u182d\u0005\u029a\u0000\u0000\u182c\u181f\u0001\u0000\u0000\u0000"+
"\u182c\u1828\u0001\u0000\u0000\u0000\u182d\u019b\u0001\u0000\u0000\u0000"+
"\u182e\u182f\u0005\u0269\u0000\u0000\u182f\u1838\u0003\u02c0\u0160\u0000"+
"\u1830\u1834\u0005\u0290\u0000\u0000\u1831\u1832\u0003\u02c0\u0160\u0000"+
"\u1832\u1833\u0005\u00b9\u0000\u0000\u1833\u1835\u0001\u0000\u0000\u0000"+
"\u1834\u1831\u0001\u0000\u0000\u0000\u1834\u1835\u0001\u0000\u0000\u0000"+
"\u1835\u1836\u0001\u0000\u0000\u0000\u1836\u1838\u0003\u02c0\u0160\u0000"+
"\u1837\u182e\u0001\u0000\u0000\u0000\u1837\u1830\u0001\u0000\u0000\u0000"+
"\u1838\u019d\u0001\u0000\u0000\u0000\u1839\u1840\u0005\u0290\u0000\u0000"+
"\u183a\u183b\u0003\u02c0\u0160\u0000\u183b\u183c\u0005\u00b9\u0000\u0000"+
"\u183c\u183e\u0001\u0000\u0000\u0000\u183d\u183a\u0001\u0000\u0000\u0000"+
"\u183d\u183e\u0001\u0000\u0000\u0000\u183e\u183f\u0001\u0000\u0000\u0000"+
"\u183f\u1841\u0003\u02c0\u0160\u0000\u1840\u183d\u0001\u0000\u0000\u0000"+
"\u1840\u1841\u0001\u0000\u0000\u0000\u1841\u1842\u0001\u0000\u0000\u0000"+
"\u1842\u1843\u0005\u02c4\u0000\u0000\u1843\u1844\u0003\u02c0\u0160\u0000"+
"\u1844\u019f\u0001\u0000\u0000\u0000\u1845\u1848\u0005\u02c4\u0000\u0000"+
"\u1846\u1849\u0003\u02c0\u0160\u0000\u1847\u1849\u0005\u02b8\u0000\u0000"+
"\u1848\u1846\u0001\u0000\u0000\u0000\u1848\u1847\u0001\u0000\u0000\u0000"+
"\u1849\u184d\u0001\u0000\u0000\u0000\u184a\u184b\u0005\u00b6\u0000\u0000"+
"\u184b\u184c\u0005\u02c6\u0000\u0000\u184c\u184e\u0005\u00b7\u0000\u0000"+
"\u184d\u184a\u0001\u0000\u0000\u0000\u184d\u184e\u0001\u0000\u0000\u0000"+
"\u184e\u01a1\u0001\u0000\u0000\u0000\u184f\u1850\u0003\u01ca\u00e5\u0000"+
"\u1850\u1851\u0005\u0175\u0000\u0000\u1851\u1852\u0003\u02c0\u0160\u0000"+
"\u1852\u1854\u0005\u00b6\u0000\u0000\u1853\u1855\u0003\u0242\u0121\u0000"+
"\u1854\u1853\u0001\u0000\u0000\u0000\u1854\u1855\u0001\u0000\u0000\u0000"+
"\u1855\u1856\u0001\u0000\u0000\u0000\u1856\u1857\u0005\u00b7\u0000\u0000"+
"\u1857\u1858\u0003\u024a\u0125\u0000\u1858\u1867\u0001\u0000\u0000\u0000"+
"\u1859\u185a\u0003\u01ca\u00e5\u0000\u185a\u185b\u0003\u024c\u0126\u0000"+
"\u185b\u185c\u0005\u00c8\u0000\u0000\u185c\u1867\u0001\u0000\u0000\u0000"+
"\u185d\u185e\u0003\u01ca\u00e5\u0000\u185e\u1860\u0003\u024c\u0126\u0000"+
"\u185f\u1861\u0003\u029c\u014e\u0000\u1860\u185f\u0001\u0000\u0000\u0000"+
"\u1860\u1861\u0001\u0000\u0000\u0000\u1861\u1867\u0001\u0000\u0000\u0000"+
"\u1862\u1863\u0003\u01ca\u00e5\u0000\u1863\u1864\u0005\u0139\u0000\u0000"+
"\u1864\u1865\u0003\u024c\u0126\u0000\u1865\u1867\u0001\u0000\u0000\u0000"+
"\u1866\u184f\u0001\u0000\u0000\u0000\u1866\u1859\u0001\u0000\u0000\u0000"+
"\u1866\u185d\u0001\u0000\u0000\u0000\u1866\u1862\u0001\u0000\u0000\u0000"+
"\u1867\u01a3\u0001\u0000\u0000\u0000\u1868\u1869\u0005\u0210\u0000\u0000"+
"\u1869\u186a\u0005\u01ac\u0000\u0000\u186a\u1875\u0003\u0236\u011b\u0000"+
"\u186b\u186c\u0005\u028a\u0000\u0000\u186c\u1875\u0003\u0236\u011b\u0000"+
"\u186d\u186e\u0005\u016d\u0000\u0000\u186e\u186f\u0005\u01ac\u0000\u0000"+
"\u186f\u1870\u0003\u0236\u011b\u0000\u1870\u1871\u0005\u0226\u0000\u0000"+
"\u1871\u1872\u0003\u024c\u0126\u0000\u1872\u1873\u0003\u0236\u011b\u0000"+
"\u1873\u1875\u0001\u0000\u0000\u0000\u1874\u1868\u0001\u0000\u0000\u0000"+
"\u1874\u186b\u0001\u0000\u0000\u0000\u1874\u186d\u0001\u0000\u0000\u0000"+
"\u1875\u01a5\u0001\u0000\u0000\u0000\u1876\u1878\u0005\u0273\u0000\u0000"+
"\u1877\u1876\u0001\u0000\u0000\u0000\u1877\u1878\u0001\u0000\u0000\u0000"+
"\u1878\u1879\u0001\u0000\u0000\u0000\u1879\u187a\u0007<\u0000\u0000\u187a"+
"\u1885\u0003\u0236\u011b\u0000\u187b\u187d\u0005\u0273\u0000\u0000\u187c"+
"\u187b\u0001\u0000\u0000\u0000\u187c\u187d\u0001\u0000\u0000\u0000\u187d"+
"\u187e\u0001\u0000\u0000\u0000\u187e\u187f\u0005\u01f8\u0000\u0000\u187f"+
"\u1885\u0003\u02bc\u015e\u0000\u1880\u1881\u0007<\u0000\u0000\u1881\u1882"+
"\u0005\u00b6\u0000\u0000\u1882\u1883\u0005\u02b5\u0000\u0000\u1883\u1885"+
"\u0005\u00b7\u0000\u0000\u1884\u1877\u0001\u0000\u0000\u0000\u1884\u187c"+
"\u0001\u0000\u0000\u0000\u1884\u1880\u0001\u0000\u0000\u0000\u1885\u01a7"+
"\u0001\u0000\u0000\u0000\u1886\u1888\u0005\u00d4\u0000\u0000\u1887\u1886"+
"\u0001\u0000\u0000\u0000\u1887\u1888\u0001\u0000\u0000\u0000\u1888\u1889"+
"\u0001\u0000\u0000\u0000\u1889\u188a\u0005\u01f8\u0000\u0000\u188a\u188c"+
"\u0005\u00ef\u0000\u0000\u188b\u188d\u0007=\u0000\u0000\u188c\u188b\u0001"+
"\u0000\u0000\u0000\u188c\u188d\u0001\u0000\u0000\u0000\u188d\u188e\u0001"+
"\u0000\u0000\u0000\u188e\u188f\u0003\u01aa\u00d5\u0000\u188f\u1891\u0005"+
"\u00b6\u0000\u0000\u1890\u1892\u0003\u025a\u012d\u0000\u1891\u1890\u0001"+
"\u0000\u0000\u0000\u1891\u1892\u0001\u0000\u0000\u0000\u1892\u1893\u0001"+
"\u0000\u0000\u0000\u1893\u1894\u0005\u00b7\u0000\u0000\u1894\u01a9\u0001"+
"\u0000\u0000\u0000\u1895\u1896\u0005\u00b6\u0000\u0000\u1896\u189b\u0003"+
"\u01ac\u00d6\u0000\u1897\u1898\u0005\u00b8\u0000\u0000\u1898\u189a\u0003"+
"\u01ac\u00d6\u0000\u1899\u1897\u0001\u0000\u0000\u0000\u189a\u189d\u0001"+
"\u0000\u0000\u0000\u189b\u1899\u0001\u0000\u0000\u0000\u189b\u189c\u0001"+
"\u0000\u0000\u0000\u189c\u189e\u0001\u0000\u0000\u0000\u189d\u189b\u0001"+
"\u0000\u0000\u0000\u189e\u189f\u0005\u00b7\u0000\u0000\u189f\u01ab\u0001"+
"\u0000\u0000\u0000\u18a0\u18a3\u0003\u02c0\u0160\u0000\u18a1\u18a3\u0003"+
"\u028c\u0146\u0000\u18a2\u18a0\u0001\u0000\u0000\u0000\u18a2\u18a1\u0001"+
"\u0000\u0000\u0000\u18a3\u01ad\u0001\u0000\u0000\u0000\u18a4\u18a6\u0005"+
"\u02a6\u0000\u0000\u18a5\u18a4\u0001\u0000\u0000\u0000\u18a5\u18a6\u0001"+
"\u0000\u0000\u0000\u18a6\u18a7\u0001\u0000\u0000\u0000\u18a7\u18a9\u0003"+
"\u01d2\u00e9\u0000\u18a8\u18a5\u0001\u0000\u0000\u0000\u18a8\u18a9\u0001"+
"\u0000\u0000\u0000\u18a9\u18aa\u0001\u0000\u0000\u0000\u18aa\u18ab\u0005"+
"\u0122\u0000\u0000\u18ab\u18ac\u0005\u0194\u0000\u0000\u18ac\u18ad\u0005"+
"\u00b6\u0000\u0000\u18ad\u18b2\u0005\u02c6\u0000\u0000\u18ae\u18af\u0005"+
"\u00b8\u0000\u0000\u18af\u18b1\u0005\u02c6\u0000\u0000\u18b0\u18ae\u0001"+
"\u0000\u0000\u0000\u18b1\u18b4\u0001\u0000\u0000\u0000\u18b2\u18b0\u0001"+
"\u0000\u0000\u0000\u18b2\u18b3\u0001\u0000\u0000\u0000\u18b3\u18b5\u0001"+
"\u0000\u0000\u0000\u18b4\u18b2\u0001\u0000\u0000\u0000\u18b5\u18b6\u0005"+
"\u00b7\u0000\u0000\u18b6\u18b7\u0005\u019d\u0000\u0000\u18b7\u18b8\u0005"+
"\u026c\u0000\u0000\u18b8\u18ba\u0003\u02c0\u0160\u0000\u18b9\u18bb\u0003"+
"\u01a6\u00d3\u0000\u18ba\u18b9\u0001\u0000\u0000\u0000\u18ba\u18bb\u0001"+
"\u0000\u0000\u0000\u18bb\u18c0\u0001\u0000\u0000\u0000\u18bc\u18bd\u0005"+
"\u0104\u0000\u0000\u18bd\u18be\u0005\u0274\u0000\u0000\u18be\u18bf\u0005"+
"\u00ef\u0000\u0000\u18bf\u18c1\u0005\u02c6\u0000\u0000\u18c0\u18bc\u0001"+
"\u0000\u0000\u0000\u18c0\u18c1\u0001\u0000\u0000\u0000\u18c1\u18c6\u0001"+
"\u0000\u0000\u0000\u18c2\u18c3\u0005\u01bb\u0000\u0000\u18c3\u18c4\u0005"+
"\u0274\u0000\u0000\u18c4\u18c5\u0005\u00ef\u0000\u0000\u18c5\u18c7\u0005"+
"\u02c6\u0000\u0000\u18c6\u18c2\u0001\u0000\u0000\u0000\u18c6\u18c7\u0001"+
"\u0000\u0000\u0000\u18c7\u18cb\u0001\u0000\u0000\u0000\u18c8\u18c9\u0005"+
"\u016f\u0000\u0000\u18c9\u18ca\u0005\u00d0\u0000\u0000\u18ca\u18cc\u0003"+
"\u01bc\u00de\u0000\u18cb\u18c8\u0001\u0000\u0000\u0000\u18cb\u18cc\u0001"+
"\u0000\u0000\u0000\u18cc\u18d0\u0001\u0000\u0000\u0000\u18cd\u18ce\u0005"+
"\u010a\u0000\u0000\u18ce\u18cf\u0005\u00d0\u0000\u0000\u18cf\u18d1\u0003"+
"\u01bc\u00de\u0000\u18d0\u18cd\u0001\u0000\u0000\u0000\u18d0\u18d1\u0001"+
"\u0000\u0000\u0000\u18d1\u18d3\u0001\u0000\u0000\u0000\u18d2\u18d4\u0003"+
"\u0236\u011b\u0000\u18d3\u18d2\u0001\u0000\u0000\u0000\u18d3\u18d4\u0001"+
"\u0000\u0000\u0000\u18d4\u18d6\u0001\u0000\u0000\u0000\u18d5\u18d7\u0003"+
"\u01da\u00ed\u0000\u18d6\u18d5\u0001\u0000\u0000\u0000\u18d6\u18d7\u0001"+
"\u0000\u0000\u0000\u18d7\u18d9\u0001\u0000\u0000\u0000\u18d8\u18da\u0003"+
"\u01dc\u00ee\u0000\u18d9\u18d8\u0001\u0000\u0000\u0000\u18d9\u18da\u0001"+
"\u0000\u0000\u0000\u18da\u18dc\u0001\u0000\u0000\u0000\u18db\u18dd\u0003"+
"\u01d4\u00ea\u0000\u18dc\u18db\u0001\u0000\u0000\u0000\u18dc\u18dd\u0001"+
"\u0000\u0000\u0000\u18dd\u18df\u0001\u0000\u0000\u0000\u18de\u18e0\u0003"+
"\u01fe\u00ff\u0000\u18df\u18de\u0001\u0000\u0000\u0000\u18df\u18e0\u0001"+
"\u0000\u0000\u0000\u18e0\u18e2\u0001\u0000\u0000\u0000\u18e1\u18e3\u0003"+
"\u01d6\u00eb\u0000\u18e2\u18e1\u0001\u0000\u0000\u0000\u18e2\u18e3\u0001"+
"\u0000\u0000\u0000\u18e3\u18e5\u0001\u0000\u0000\u0000\u18e4\u18e6\u0003"+
"\u01d8\u00ec\u0000\u18e5\u18e4\u0001\u0000\u0000\u0000\u18e5\u18e6\u0001"+
"\u0000\u0000\u0000\u18e6\u18e8\u0001\u0000\u0000\u0000\u18e7\u18e9\u0003"+
"\u0240\u0120\u0000\u18e8\u18e7\u0001\u0000\u0000\u0000\u18e8\u18e9\u0001"+
"\u0000\u0000\u0000\u18e9\u1908\u0001\u0000\u0000\u0000\u18ea\u18ec\u0005"+
"\u02a6\u0000\u0000\u18eb\u18ea\u0001\u0000\u0000\u0000\u18eb\u18ec\u0001"+
"\u0000\u0000\u0000\u18ec\u18ed\u0001\u0000\u0000\u0000\u18ed\u18ef\u0003"+
"\u01d2\u00e9\u0000\u18ee\u18eb\u0001\u0000\u0000\u0000\u18ee\u18ef\u0001"+
"\u0000\u0000\u0000\u18ef\u18f0\u0001\u0000\u0000\u0000\u18f0\u18f1\u0005"+
"\u0122\u0000\u0000\u18f1\u18f2\u0005\u0171\u0000\u0000\u18f2\u18f3\u0005"+
"\u026c\u0000\u0000\u18f3\u18f4\u0003\u02c0\u0160\u0000\u18f4\u18f5\u0005"+
"\u019d\u0000\u0000\u18f5\u18f6\u0005\u026c\u0000\u0000\u18f6\u18f9\u0003"+
"\u02c0\u0160\u0000\u18f7\u18f8\u0005\u01f8\u0000\u0000\u18f8\u18fa\u0003"+
"\u0236\u011b\u0000\u18f9\u18f7\u0001\u0000\u0000\u0000\u18f9\u18fa\u0001"+
"\u0000\u0000\u0000\u18fa\u18fc\u0001\u0000\u0000\u0000\u18fb\u18fd\u0003"+
"\u01dc\u00ee\u0000\u18fc\u18fb\u0001\u0000\u0000\u0000\u18fc\u18fd\u0001"+
"\u0000\u0000\u0000\u18fd\u18ff\u0001\u0000\u0000\u0000\u18fe\u1900\u0003"+
"\u01fe\u00ff\u0000\u18ff\u18fe\u0001\u0000\u0000\u0000\u18ff\u1900\u0001"+
"\u0000\u0000\u0000\u1900\u1902\u0001\u0000\u0000\u0000\u1901\u1903\u0003"+
"\u01d6\u00eb\u0000\u1902\u1901\u0001\u0000\u0000\u0000\u1902\u1903\u0001"+
"\u0000\u0000\u0000\u1903\u1905\u0001\u0000\u0000\u0000\u1904\u1906\u0003"+
"\u0240\u0120\u0000\u1905\u1904\u0001\u0000\u0000\u0000\u1905\u1906\u0001"+
"\u0000\u0000\u0000\u1906\u1908\u0001\u0000\u0000\u0000\u1907\u18a8\u0001"+
"\u0000\u0000\u0000\u1907\u18ee\u0001\u0000\u0000\u0000\u1908\u01af\u0001"+
"\u0000\u0000\u0000\u1909\u190a\u0007\u0011\u0000\u0000\u190a\u01b1\u0001"+
"\u0000\u0000\u0000\u190b\u190c\u0005\u00ec\u0000\u0000\u190c\u190d\u0007"+
">\u0000\u0000\u190d\u01b3\u0001\u0000\u0000\u0000\u190e\u190f\u0005\u01ec"+
"\u0000\u0000\u190f\u1916\u0005\u01c6\u0000\u0000\u1910\u1911\u0005\u01ec"+
"\u0000\u0000\u1911\u1912\u0005\u0245\u0000\u0000\u1912\u1916\u0003\u01b6"+
"\u00db\u0000\u1913\u1914\u0005\u01ec\u0000\u0000\u1914\u1916\u0005\u0106"+
"\u0000\u0000\u1915\u190e\u0001\u0000\u0000\u0000\u1915\u1910\u0001\u0000"+
"\u0000\u0000\u1915\u1913\u0001\u0000\u0000\u0000\u1916\u01b5\u0001\u0000"+
"\u0000\u0000\u1917\u1918\u0005\u0156\u0000\u0000\u1918\u1919\u0005\u02cb"+
"\u0000\u0000\u1919\u191c\u0003\u02c0\u0160\u0000\u191a\u191b\u0005\u025e"+
"\u0000\u0000\u191b\u191d\u0005\u02c6\u0000\u0000\u191c\u191a\u0001\u0000"+
"\u0000\u0000\u191c\u191d\u0001\u0000\u0000\u0000\u191d\u01b7\u0001\u0000"+
"\u0000\u0000\u191e\u191f\u0007?\u0000\u0000\u191f\u01b9\u0001\u0000\u0000"+
"\u0000\u1920\u1923\u0003\u02c0\u0160\u0000\u1921\u1923\u0003\u028c\u0146"+
"\u0000\u1922\u1920\u0001\u0000\u0000\u0000\u1922\u1921\u0001\u0000\u0000"+
"\u0000\u1923\u01bb\u0001\u0000\u0000\u0000\u1924\u1927\u0003\u02c0\u0160"+
"\u0000\u1925\u1927\u0005\u02c6\u0000\u0000\u1926\u1924\u0001\u0000\u0000"+
"\u0000\u1926\u1925\u0001\u0000\u0000\u0000\u1927\u01bd\u0001\u0000\u0000"+
"\u0000\u1928\u192c\u0003\u02c0\u0160\u0000\u1929\u192c\u0005\u02c6\u0000"+
"\u0000\u192a\u192c\u0005\u02b5\u0000\u0000\u192b\u1928\u0001\u0000\u0000"+
"\u0000\u192b\u1929\u0001\u0000\u0000\u0000\u192b\u192a\u0001\u0000\u0000"+
"\u0000\u192c\u01bf\u0001\u0000\u0000\u0000\u192d\u1932\u0003\u01c2\u00e1"+
"\u0000\u192e\u192f\u0005\u00b9\u0000\u0000\u192f\u1931\u0003\u01c2\u00e1"+
"\u0000\u1930\u192e\u0001\u0000\u0000\u0000\u1931\u1934\u0001\u0000\u0000"+
"\u0000\u1932\u1930\u0001\u0000\u0000\u0000\u1932\u1933\u0001\u0000\u0000"+
"\u0000\u1933\u01c1\u0001\u0000\u0000\u0000\u1934\u1932\u0001\u0000\u0000"+
"\u0000\u1935\u1938\u0003\u01bc\u00de\u0000\u1936\u1938\u0005\u02b5\u0000"+
"\u0000\u1937\u1935\u0001\u0000\u0000\u0000\u1937\u1936\u0001\u0000\u0000"+
"\u0000\u1938\u01c3\u0001\u0000\u0000\u0000\u1939\u1942\u0003\u01bc\u00de"+
"\u0000\u193a\u1940\u0005\u02c4\u0000\u0000\u193b\u1941\u0003\u01bc\u00de"+
"\u0000\u193c\u193d\u0005\u00b6\u0000\u0000\u193d\u193e\u0003\u01bc\u00de"+
"\u0000\u193e\u193f\u0005\u00b7\u0000\u0000\u193f\u1941\u0001\u0000\u0000"+
"\u0000\u1940\u193b\u0001\u0000\u0000\u0000\u1940\u193c\u0001\u0000\u0000"+
"\u0000\u1941\u1943\u0001\u0000\u0000\u0000\u1942\u193a\u0001\u0000\u0000"+
"\u0000\u1942\u1943\u0001\u0000\u0000\u0000\u1943\u01c5\u0001\u0000\u0000"+
"\u0000\u1944\u194b\u0003\u01c4\u00e2\u0000\u1945\u1946\u0005\u018c\u0000"+
"\u0000\u1946\u1948\u0005\u00ef\u0000\u0000\u1947\u1949\u0005\u01fa\u0000"+
"\u0000\u1948\u1947\u0001\u0000\u0000\u0000\u1948\u1949\u0001\u0000\u0000"+
"\u0000\u1949\u194a\u0001\u0000\u0000\u0000\u194a\u194c\u0005\u02c6\u0000"+
"\u0000\u194b\u1945\u0001\u0000\u0000\u0000\u194b\u194c\u0001\u0000\u0000"+
"\u0000\u194c\u01c7\u0001\u0000\u0000\u0000\u194d\u194f\u0003\u01ca\u00e5"+
"\u0000\u194e\u1950\u0003\u01cc\u00e6\u0000\u194f\u194e\u0001\u0000\u0000"+
"\u0000\u194f\u1950\u0001\u0000\u0000\u0000\u1950\u1952\u0001\u0000\u0000"+
"\u0000\u1951\u1953\u0007@\u0000\u0000\u1952\u1951\u0001\u0000\u0000\u0000"+
"\u1952\u1953\u0001\u0000\u0000\u0000\u1953\u1955\u0001\u0000\u0000\u0000"+
"\u1954\u1956\u0005\u020a\u0000\u0000\u1955\u1954\u0001\u0000\u0000\u0000"+
"\u1955\u1956\u0001\u0000\u0000\u0000\u1956\u01c9\u0001\u0000\u0000\u0000"+
"\u1957\u1958\u0007A\u0000\u0000\u1958\u01cb\u0001\u0000\u0000\u0000\u1959"+
"\u195a\u0007B\u0000\u0000\u195a\u01cd\u0001\u0000\u0000\u0000\u195b\u195c"+
"\u0005\u0207\u0000\u0000\u195c\u195d\u0005\u022e\u0000\u0000\u195d\u195e"+
"\u0003\u01d0\u00e8\u0000\u195e\u01cf\u0001\u0000\u0000\u0000\u195f\u1960"+
"\u0005\u0147\u0000\u0000\u1960\u1964\u0003\u01ea\u00f5\u0000\u1961\u1962"+
"\u0005\u0208\u0000\u0000\u1962\u1964\u0005\u02c6\u0000\u0000\u1963\u195f"+
"\u0001\u0000\u0000\u0000\u1963\u1961\u0001\u0000\u0000\u0000\u1964\u01d1"+
"\u0001\u0000\u0000\u0000\u1965\u1966\u00075\u0000\u0000\u1966\u01d3\u0001"+
"\u0000\u0000\u0000\u1967\u1968\u0005\u020e\u0000\u0000\u1968\u1969\u0005"+
"\u0167\u0000\u0000\u1969\u196a\u0003\u0278\u013c\u0000\u196a\u01d5\u0001"+
"\u0000\u0000\u0000\u196b\u196c\u0005\u0132\u0000\u0000\u196c\u196d\u0005"+
"\u01ec\u0000\u0000\u196d\u196e\u0003\u0278\u013c\u0000\u196e\u01d7\u0001"+
"\u0000\u0000\u0000\u196f\u1970\u0005\u01f1\u0000\u0000\u1970\u1971\u0005"+
"\u00ef\u0000\u0000\u1971\u1972\u0003\u02c0\u0160\u0000\u1972\u01d9\u0001"+
"\u0000\u0000\u0000\u1973\u1974\u0005\u0104\u0000\u0000\u1974\u1975\u0005"+
"\u0171\u0000\u0000\u1975\u1976\u0005\u01ff\u0000\u0000\u1976\u1977\u0005"+
"\u00d0\u0000\u0000\u1977\u1978\u0003\u0236\u011b\u0000\u1978\u01db\u0001"+
"\u0000\u0000\u0000\u1979\u197a\u0005\u024f\u0000\u0000\u197a\u197b\u0005"+
"\u00b6\u0000\u0000\u197b\u1980\u0003\u01de\u00ef\u0000\u197c\u197d\u0005"+
"\u00b8\u0000\u0000\u197d\u197f\u0003\u01de\u00ef\u0000\u197e\u197c\u0001"+
"\u0000\u0000\u0000\u197f\u1982\u0001\u0000\u0000\u0000\u1980\u197e\u0001"+
"\u0000\u0000\u0000\u1980\u1981\u0001\u0000\u0000\u0000\u1981\u1983\u0001"+
"\u0000\u0000\u0000\u1982\u1980\u0001\u0000\u0000\u0000\u1983\u1984\u0005"+
"\u00b7\u0000\u0000\u1984\u01dd\u0001\u0000\u0000\u0000\u1985\u1986\u0003"+
"\u02c0\u0160\u0000\u1986\u1987\u0005\u02ac\u0000\u0000\u1987\u1988\u0003"+
"\u0278\u013c\u0000\u1988\u01df\u0001\u0000\u0000\u0000\u1989\u19a6\u0003"+
"\u01e2\u00f1\u0000\u198a\u198b\u0005\u02a6\u0000\u0000\u198b\u198c\u0005"+
"\u0243\u0000\u0000\u198c\u198d\u0005\u00b6\u0000\u0000\u198d\u198e\u0003"+
"\u0242\u0121\u0000\u198e\u198f\u0005\u00b7\u0000\u0000\u198f\u19a6\u0001"+
"\u0000\u0000\u0000\u1990\u1991\u0005\u02a6\u0000\u0000\u1991\u1992\u0005"+
"\u0183\u0000\u0000\u1992\u1993\u0005\u00b6\u0000\u0000\u1993\u1994\u0003"+
"\u0242\u0121\u0000\u1994\u1995\u0005\u00b7\u0000\u0000\u1995\u19a6\u0001"+
"\u0000\u0000\u0000\u1996\u1997\u0005\u02a6\u0000\u0000\u1997\u1998\u0005"+
"\u01bf\u0000\u0000\u1998\u1999\u0005\u00b6\u0000\u0000\u1999\u199a\u0003"+
"\u0242\u0121\u0000\u199a\u199b\u0005\u00b7\u0000\u0000\u199b\u19a6\u0001"+
"\u0000\u0000\u0000\u199c\u199d\u0005\u02a6\u0000\u0000\u199d\u199e\u0005"+
"\u00ea\u0000\u0000\u199e\u19a3\u0003\u01bc\u00de\u0000\u199f\u19a0\u0005"+
"\u00b6\u0000\u0000\u19a0\u19a1\u0003\u0242\u0121\u0000\u19a1\u19a2\u0005"+
"\u00b7\u0000\u0000\u19a2\u19a4\u0001\u0000\u0000\u0000\u19a3\u199f\u0001"+
"\u0000\u0000\u0000\u19a3\u19a4\u0001\u0000\u0000\u0000\u19a4\u19a6\u0001"+
"\u0000\u0000\u0000\u19a5\u1989\u0001\u0000\u0000\u0000\u19a5\u198a\u0001"+
"\u0000\u0000\u0000\u19a5\u1990\u0001\u0000\u0000\u0000\u19a5\u1996\u0001"+
"\u0000\u0000\u0000\u19a5\u199c\u0001\u0000\u0000\u0000\u19a6\u01e1\u0001"+
"\u0000\u0000\u0000\u19a7\u19a8\u0005\u02a6\u0000\u0000\u19a8\u19a9\u0005"+
"\u0232\u0000\u0000\u19a9\u19ae\u0003\u01bc\u00de\u0000\u19aa\u19ab\u0005"+
"\u00b6\u0000\u0000\u19ab\u19ac\u0003\u0242\u0121\u0000\u19ac\u19ad\u0005"+
"\u00b7\u0000\u0000\u19ad\u19af\u0001\u0000\u0000\u0000\u19ae\u19aa\u0001"+
"\u0000\u0000\u0000\u19ae\u19af\u0001\u0000\u0000\u0000\u19af\u01e3\u0001"+
"\u0000\u0000\u0000\u19b0\u19b2\u0005\u0122\u0000\u0000\u19b1\u19b3\u0005"+
"\u01bf\u0000\u0000\u19b2\u19b1\u0001\u0000\u0000\u0000\u19b2\u19b3\u0001"+
"\u0000\u0000\u0000\u19b3\u19b4\u0001\u0000\u0000\u0000\u19b4\u19b5\u0005"+
"\u0194\u0000\u0000\u19b5\u19b6\u0005\u02c6\u0000\u0000\u19b6\u19b7\u0005"+
"\u019d\u0000\u0000\u19b7\u19b8\u0005\u026c\u0000\u0000\u19b8\u19bb\u0003"+
"\u024c\u0126\u0000\u19b9\u19ba\u0005\u01f8\u0000\u0000\u19ba\u19bc\u0003"+
"\u0236\u011b\u0000\u19bb\u19b9\u0001\u0000\u0000\u0000\u19bb\u19bc\u0001"+
"\u0000\u0000\u0000\u19bc\u19c1\u0001\u0000\u0000\u0000\u19bd\u19be\u0005"+
"\u0104\u0000\u0000\u19be\u19bf\u0005\u0274\u0000\u0000\u19bf\u19c0\u0005"+
"\u00ef\u0000\u0000\u19c0\u19c2\u0005\u02c6\u0000\u0000\u19c1\u19bd\u0001"+
"\u0000\u0000\u0000\u19c1\u19c2\u0001\u0000\u0000\u0000\u19c2\u19c7\u0001"+
"\u0000\u0000\u0000\u19c3\u19c4\u0005\u01bb\u0000\u0000\u19c4\u19c5\u0005"+
"\u0274\u0000\u0000\u19c5\u19c6\u0005\u00ef\u0000\u0000\u19c6\u19c8\u0005"+
"\u02c6\u0000\u0000\u19c7\u19c3\u0001\u0000\u0000\u0000\u19c7\u19c8\u0001"+
"\u0000\u0000\u0000\u19c8\u19ca\u0001\u0000\u0000\u0000\u19c9\u19cb\u0003"+
"\u01e6\u00f3\u0000\u19ca\u19c9\u0001\u0000\u0000\u0000\u19ca\u19cb\u0001"+
"\u0000\u0000\u0000\u19cb\u19cd\u0001\u0000\u0000\u0000\u19cc\u19ce\u0003"+
"\u0236\u011b\u0000\u19cd\u19cc\u0001\u0000\u0000\u0000\u19cd\u19ce\u0001"+
"\u0000\u0000\u0000\u19ce\u19d0\u0001\u0000\u0000\u0000\u19cf\u19d1\u0003"+
"\u01dc\u00ee\u0000\u19d0\u19cf\u0001\u0000\u0000\u0000\u19d0\u19d1\u0001"+
"\u0000\u0000\u0000\u19d1\u19d3\u0001\u0000\u0000\u0000\u19d2\u19d4\u0003"+
"\u0240\u0120\u0000\u19d3\u19d2\u0001\u0000\u0000\u0000\u19d3\u19d4\u0001"+
"\u0000\u0000\u0000\u19d4\u01e5\u0001\u0000\u0000\u0000\u19d5\u19d6\u0005"+
"\u018e\u0000\u0000\u19d6\u19d7\u0005\u02cb\u0000\u0000\u19d7\u19dc\u0005"+
"\u01bb\u0000\u0000\u19d8\u19d9\u0005\u018e\u0000\u0000\u19d9\u19da\u0005"+
"\u02cb\u0000\u0000\u19da\u19dc\u0005\u0242\u0000\u0000\u19db\u19d5\u0001"+
"\u0000\u0000\u0000\u19db\u19d8\u0001\u0000\u0000\u0000\u19dc\u01e7\u0001"+
"\u0000\u0000\u0000\u19dd\u19de\u0005\u019d\u0000\u0000\u19de\u19df\u0005"+
"\u01f3\u0000\u0000\u19df\u19e3\u0003\u029e\u014f\u0000\u19e0\u19e1\u0005"+
"\u016f\u0000\u0000\u19e1\u19e2\u0005\u00d0\u0000\u0000\u19e2\u19e4\u0003"+
"\u02c0\u0160\u0000\u19e3\u19e0\u0001\u0000\u0000\u0000\u19e3\u19e4\u0001"+
"\u0000\u0000\u0000\u19e4\u19e6\u0001\u0000\u0000\u0000\u19e5\u19e7\u0003"+
"\u0240\u0120\u0000\u19e6\u19e5\u0001\u0000\u0000\u0000\u19e6\u19e7\u0001"+
"\u0000\u0000\u0000\u19e7\u01e9\u0001\u0000\u0000\u0000\u19e8\u19ea\u0003"+
"\u01f4\u00fa\u0000\u19e9\u19e8\u0001\u0000\u0000\u0000\u19e9\u19ea\u0001"+
"\u0000\u0000\u0000\u19ea\u19eb\u0001\u0000\u0000\u0000\u19eb\u19ec\u0003"+
"\u01ec\u00f6\u0000\u19ec\u19ed\u0003\u0228\u0114\u0000\u19ed\u01eb\u0001"+
"\u0000\u0000\u0000\u19ee\u19ef\u0006\u00f6\uffff\uffff\u0000\u19ef\u19f0"+
"\u0003\u01f0\u00f8\u0000\u19f0\u19ff\u0001\u0000\u0000\u0000\u19f1\u19f2"+
"\n\u0002\u0000\u0000\u19f2\u19f4\u0005\u019b\u0000\u0000\u19f3\u19f5\u0003"+
"\u01ee\u00f7\u0000\u19f4\u19f3\u0001\u0000\u0000\u0000\u19f4\u19f5\u0001"+
"\u0000\u0000\u0000\u19f5\u19f6\u0001\u0000\u0000\u0000\u19f6\u19fe\u0003"+
"\u01ec\u00f6\u0003\u19f7\u19f8\n\u0001\u0000\u0000\u19f8\u19fa\u0007C"+
"\u0000\u0000\u19f9\u19fb\u0003\u01ee\u00f7\u0000\u19fa\u19f9\u0001\u0000"+
"\u0000\u0000\u19fa\u19fb\u0001\u0000\u0000\u0000\u19fb\u19fc\u0001\u0000"+
"\u0000\u0000\u19fc\u19fe\u0003\u01ec\u00f6\u0002\u19fd\u19f1\u0001\u0000"+
"\u0000\u0000\u19fd\u19f7\u0001\u0000\u0000\u0000\u19fe\u1a01\u0001\u0000"+
"\u0000\u0000\u19ff\u19fd\u0001\u0000\u0000\u0000\u19ff\u1a00\u0001\u0000"+
"\u0000\u0000\u1a00\u01ed\u0001\u0000\u0000\u0000\u1a01\u19ff\u0001\u0000"+
"\u0000\u0000\u1a02\u1a03\u0007\u001f\u0000\u0000\u1a03\u01ef\u0001\u0000"+
"\u0000\u0000\u1a04\u1a0b\u0003\u01f2\u00f9\u0000\u1a05\u1a06\u0005\u00b6"+
"\u0000\u0000\u1a06\u1a07\u0003\u01ea\u00f5\u0000\u1a07\u1a08\u0005\u00b7"+
"\u0000\u0000\u1a08\u1a0b\u0001\u0000\u0000\u0000\u1a09\u1a0b\u0003\u0272"+
"\u0139\u0000\u1a0a\u1a04\u0001\u0000\u0000\u0000\u1a0a\u1a05\u0001\u0000"+
"\u0000\u0000\u1a0a\u1a09\u0001\u0000\u0000\u0000\u1a0b\u01f1\u0001\u0000"+
"\u0000\u0000\u1a0c\u1a0e\u0003\u01fa\u00fd\u0000\u1a0d\u1a0f\u0003\u0202"+
"\u0101\u0000\u1a0e\u1a0d\u0001\u0000\u0000\u0000\u1a0e\u1a0f\u0001\u0000"+
"\u0000\u0000\u1a0f\u1a11\u0001\u0000\u0000\u0000\u1a10\u1a12\u0003\u0200"+
"\u0100\u0000\u1a11\u1a10\u0001\u0000\u0000\u0000\u1a11\u1a12\u0001\u0000"+
"\u0000\u0000\u1a12\u1a14\u0001\u0000\u0000\u0000\u1a13\u1a15\u0003\u01fe"+
"\u00ff\u0000\u1a14\u1a13\u0001\u0000\u0000\u0000\u1a14\u1a15\u0001\u0000"+
"\u0000\u0000\u1a15\u1a17\u0001\u0000\u0000\u0000\u1a16\u1a18\u0003\u0212"+
"\u0109\u0000\u1a17\u1a16\u0001\u0000\u0000\u0000\u1a17\u1a18\u0001\u0000"+
"\u0000\u0000\u1a18\u1a1a\u0001\u0000\u0000\u0000\u1a19\u1a1b\u0003\u0218"+
"\u010c\u0000\u1a1a\u1a19\u0001\u0000\u0000\u0000\u1a1a\u1a1b\u0001\u0000"+
"\u0000\u0000\u1a1b\u1a1d\u0001\u0000\u0000\u0000\u1a1c\u1a1e\u0003\u021a"+
"\u010d\u0000\u1a1d\u1a1c\u0001\u0000\u0000\u0000\u1a1d\u1a1e\u0001\u0000"+
"\u0000\u0000\u1a1e\u1a22\u0001\u0000\u0000\u0000\u1a1f\u1a20\u0004\u00f9"+
"\n\u0000\u1a20\u1a23\u0003\u0228\u0114\u0000\u1a21\u1a23\u0004\u00f9\u000b"+
"\u0000\u1a22\u1a1f\u0001\u0000\u0000\u0000\u1a22\u1a21\u0001\u0000\u0000"+
"\u0000\u1a23\u01f3\u0001\u0000\u0000\u0000\u1a24\u1a25\u0005\u02a6\u0000"+
"\u0000\u1a25\u1a2a\u0003\u01f6\u00fb\u0000\u1a26\u1a27\u0005\u00b8\u0000"+
"\u0000\u1a27\u1a29\u0003\u01f6\u00fb\u0000\u1a28\u1a26\u0001\u0000\u0000"+
"\u0000\u1a29\u1a2c\u0001\u0000\u0000\u0000\u1a2a\u1a28\u0001\u0000\u0000"+
"\u0000\u1a2a\u1a2b\u0001\u0000\u0000\u0000\u1a2b\u01f5\u0001\u0000\u0000"+
"\u0000\u1a2c\u1a2a\u0001\u0000\u0000\u0000\u1a2d\u1a2f\u0003\u02c0\u0160"+
"\u0000\u1a2e\u1a30\u0003\u01f8\u00fc\u0000\u1a2f\u1a2e\u0001\u0000\u0000"+
"\u0000\u1a2f\u1a30\u0001\u0000\u0000\u0000\u1a30\u1a31\u0001\u0000\u0000"+
"\u0000\u1a31\u1a32\u0005\u00d0\u0000\u0000\u1a32\u1a33\u0005\u00b6\u0000"+
"\u0000\u1a33\u1a34\u0003\u01ea\u00f5\u0000\u1a34\u1a35\u0005\u00b7\u0000"+
"\u0000\u1a35\u01f7\u0001\u0000\u0000\u0000\u1a36\u1a37\u0005\u00b6\u0000"+
"\u0000\u1a37\u1a3c\u0003\u02c0\u0160\u0000\u1a38\u1a39\u0005\u00b8\u0000"+
"\u0000\u1a39\u1a3b\u0003\u02c0\u0160\u0000\u1a3a\u1a38\u0001\u0000\u0000"+
"\u0000\u1a3b\u1a3e\u0001\u0000\u0000\u0000\u1a3c\u1a3a\u0001\u0000\u0000"+
"\u0000\u1a3c\u1a3d\u0001\u0000\u0000\u0000\u1a3d\u1a3f\u0001\u0000\u0000"+
"\u0000\u1a3e\u1a3c\u0001\u0000\u0000\u0000\u1a3f\u1a40\u0005\u00b7\u0000"+
"\u0000\u1a40\u01f9\u0001\u0000\u0000\u0000\u1a41";
private static final String _serializedATNSegment3 =
"\u1a43\u0005\u024a\u0000\u0000\u1a42\u1a44\u0007\u001f\u0000\u0000\u1a43"+
"\u1a42\u0001\u0000\u0000\u0000\u1a43\u1a44\u0001\u0000\u0000\u0000\u1a44"+
"\u1a45\u0001\u0000\u0000\u0000\u1a45\u1a46\u0003\u01fc\u00fe\u0000\u1a46"+
"\u01fb\u0001\u0000\u0000\u0000\u1a47\u1a48\u0003\u0276\u013b\u0000\u1a48"+
"\u01fd\u0001\u0000\u0000\u0000\u1a49\u1a4a\u0005\u02a4\u0000\u0000\u1a4a"+
"\u1a4b\u0003\u027c\u013e\u0000\u1a4b\u01ff\u0001\u0000\u0000\u0000\u1a4c"+
"\u1a4d\u0005\u0171\u0000\u0000\u1a4d\u1a4e\u0003\u0208\u0104\u0000\u1a4e"+
"\u0201\u0001\u0000\u0000\u0000\u1a4f\u1a51\u0003\u0204\u0102\u0000\u1a50"+
"\u1a4f\u0001\u0000\u0000\u0000\u1a50\u1a51\u0001\u0000\u0000\u0000\u1a51"+
"\u1a52\u0001\u0000\u0000\u0000\u1a52\u1a55\u0005\u019d\u0000\u0000\u1a53"+
"\u1a56\u0003\u0206\u0103\u0000\u1a54\u1a56\u0003\u02c0\u0160\u0000\u1a55"+
"\u1a53\u0001\u0000\u0000\u0000\u1a55\u1a54\u0001\u0000\u0000\u0000\u1a56"+
"\u1a5e\u0001\u0000\u0000\u0000\u1a57\u1a5a\u0005\u00b8\u0000\u0000\u1a58"+
"\u1a5b\u0003\u0206\u0103\u0000\u1a59\u1a5b\u0003\u02c0\u0160\u0000\u1a5a"+
"\u1a58\u0001\u0000\u0000\u0000\u1a5a\u1a59\u0001\u0000\u0000\u0000\u1a5b"+
"\u1a5d\u0001\u0000\u0000\u0000\u1a5c\u1a57\u0001\u0000\u0000\u0000\u1a5d"+
"\u1a60\u0001\u0000\u0000\u0000\u1a5e\u1a5c\u0001\u0000\u0000\u0000\u1a5e"+
"\u1a5f\u0001\u0000\u0000\u0000\u1a5f\u0203\u0001\u0000\u0000\u0000\u1a60"+
"\u1a5e\u0001\u0000\u0000\u0000\u1a61\u1a62\u0005\u00ee\u0000\u0000\u1a62"+
"\u1a63\u0005\u0101\u0000\u0000\u1a63\u0205\u0001\u0000\u0000\u0000\u1a64"+
"\u1a65\u0003\u02c0\u0160\u0000\u1a65\u1a66\u0005\u00b6\u0000\u0000\u1a66"+
"\u1a67\u0005\u02cb\u0000\u0000\u1a67\u1a68\u0005\u00b7\u0000\u0000\u1a68"+
"\u0207\u0001\u0000\u0000\u0000\u1a69\u1a6e\u0003\u020a\u0105\u0000\u1a6a"+
"\u1a6b\u0005\u00b8\u0000\u0000\u1a6b\u1a6d\u0003\u020a\u0105\u0000\u1a6c"+
"\u1a6a\u0001\u0000\u0000\u0000\u1a6d\u1a70\u0001\u0000\u0000\u0000\u1a6e"+
"\u1a6c\u0001\u0000\u0000\u0000\u1a6e\u1a6f\u0001\u0000\u0000\u0000\u1a6f"+
"\u0209\u0001\u0000\u0000\u0000\u1a70\u1a6e\u0001\u0000\u0000\u0000\u1a71"+
"\u1a75\u0003\u023c\u011e\u0000\u1a72\u1a74\u0003\u020c\u0106\u0000\u1a73"+
"\u1a72\u0001\u0000\u0000\u0000\u1a74\u1a77\u0001\u0000\u0000\u0000\u1a75"+
"\u1a73\u0001\u0000\u0000\u0000\u1a75\u1a76\u0001\u0000\u0000\u0000\u1a76"+
"\u020b\u0001\u0000\u0000\u0000\u1a77\u1a75\u0001\u0000\u0000\u0000\u1a78"+
"\u1a79\u0003\u0232\u0119\u0000\u1a79\u1a7b\u0005\u01a9\u0000\u0000\u1a7a"+
"\u1a7c\u0003\u020e\u0107\u0000\u1a7b\u1a7a\u0001\u0000\u0000\u0000\u1a7b"+
"\u1a7c\u0001\u0000\u0000\u0000\u1a7c\u1a7d\u0001\u0000\u0000\u0000\u1a7d"+
"\u1a7f\u0003\u023c\u011e\u0000\u1a7e\u1a80\u0003\u0234\u011a\u0000\u1a7f"+
"\u1a7e\u0001\u0000\u0000\u0000\u1a7f\u1a80\u0001\u0000\u0000\u0000\u1a80"+
"\u020d\u0001\u0000\u0000\u0000\u1a81\u1a82\u0005\u00bb\u0000\u0000\u1a82"+
"\u1a83\u0003\u02c0\u0160\u0000\u1a83\u1a84\u0005\u00bc\u0000\u0000\u1a84"+
"\u1a8a\u0001\u0000\u0000\u0000\u1a85\u1a86\u0005\u02c1\u0000\u0000\u1a86"+
"\u1a87\u0003\u02c0\u0160\u0000\u1a87\u1a88\u0005\u02c2\u0000\u0000\u1a88"+
"\u1a8a\u0001\u0000\u0000\u0000\u1a89\u1a81\u0001\u0000\u0000\u0000\u1a89"+
"\u1a85\u0001\u0000\u0000\u0000\u1a8a\u020f\u0001\u0000\u0000\u0000\u1a8b"+
"\u1a8c\u0005\u00bb\u0000\u0000\u1a8c\u1a91\u0003\u02c0\u0160\u0000\u1a8d"+
"\u1a8e\u0005\u00b8\u0000\u0000\u1a8e\u1a90\u0003\u02c0\u0160\u0000\u1a8f"+
"\u1a8d\u0001\u0000\u0000\u0000\u1a90\u1a93\u0001\u0000\u0000\u0000\u1a91"+
"\u1a8f\u0001\u0000\u0000\u0000\u1a91\u1a92\u0001\u0000\u0000\u0000\u1a92"+
"\u1a94\u0001\u0000\u0000\u0000\u1a93\u1a91\u0001\u0000\u0000\u0000\u1a94"+
"\u1a95\u0005\u00bc\u0000\u0000\u1a95\u1aa2\u0001\u0000\u0000\u0000\u1a96"+
"\u1a97\u0005\u02c1\u0000\u0000\u1a97\u1a9c\u0003\u02c0\u0160\u0000\u1a98"+
"\u1a99\u0005\u00b8\u0000\u0000\u1a99\u1a9b\u0003\u02c0\u0160\u0000\u1a9a"+
"\u1a98\u0001\u0000\u0000\u0000\u1a9b\u1a9e\u0001\u0000\u0000\u0000\u1a9c"+
"\u1a9a\u0001\u0000\u0000\u0000\u1a9c\u1a9d\u0001\u0000\u0000\u0000\u1a9d"+
"\u1a9f\u0001\u0000\u0000\u0000\u1a9e\u1a9c\u0001\u0000\u0000\u0000\u1a9f"+
"\u1aa0\u0005\u02c2\u0000\u0000\u1aa0\u1aa2\u0001\u0000\u0000\u0000\u1aa1"+
"\u1a8b\u0001\u0000\u0000\u0000\u1aa1\u1a96\u0001\u0000\u0000\u0000\u1aa2"+
"\u0211\u0001\u0000\u0000\u0000\u1aa3\u1aa4\u0005\u017d\u0000\u0000\u1aa4"+
"\u1aa5\u0005\u00ef\u0000\u0000\u1aa5\u1aa6\u0003\u0214\u010a\u0000\u1aa6"+
"\u0213\u0001\u0000\u0000\u0000\u1aa7\u1aa8\u0005\u023f\u0000\u0000\u1aa8"+
"\u1ab1\u0005\u00b6\u0000\u0000\u1aa9\u1aae\u0003\u0278\u013c\u0000\u1aaa"+
"\u1aab\u0005\u00b8\u0000\u0000\u1aab\u1aad\u0003\u0278\u013c\u0000\u1aac"+
"\u1aaa\u0001\u0000\u0000\u0000\u1aad\u1ab0\u0001\u0000\u0000\u0000\u1aae"+
"\u1aac\u0001\u0000\u0000\u0000\u1aae\u1aaf\u0001\u0000\u0000\u0000\u1aaf"+
"\u1ab2\u0001\u0000\u0000\u0000\u1ab0\u1aae\u0001\u0000\u0000\u0000\u1ab1"+
"\u1aa9\u0001\u0000\u0000\u0000\u1ab1\u1ab2\u0001\u0000\u0000\u0000\u1ab2"+
"\u1ab3\u0001\u0000\u0000\u0000\u1ab3\u1ad7\u0005\u00b7\u0000\u0000\u1ab4"+
"\u1ab5\u0005\u011b\u0000\u0000\u1ab5\u1abe\u0005\u00b6\u0000\u0000\u1ab6"+
"\u1abb\u0003\u0278\u013c\u0000\u1ab7\u1ab8\u0005\u00b8\u0000\u0000\u1ab8"+
"\u1aba\u0003\u0278\u013c\u0000\u1ab9\u1ab7\u0001\u0000\u0000\u0000\u1aba"+
"\u1abd\u0001\u0000\u0000\u0000\u1abb\u1ab9\u0001\u0000\u0000\u0000\u1abb"+
"\u1abc\u0001\u0000\u0000\u0000\u1abc\u1abf\u0001\u0000\u0000\u0000\u1abd"+
"\u1abb\u0001\u0000\u0000\u0000\u1abe\u1ab6\u0001\u0000\u0000\u0000\u1abe"+
"\u1abf\u0001\u0000\u0000\u0000\u1abf\u1ac0\u0001\u0000\u0000\u0000\u1ac0"+
"\u1ad7\u0005\u00b7\u0000\u0000\u1ac1\u1ac2\u0005\u017e\u0000\u0000\u1ac2"+
"\u1ac3\u0005\u0250\u0000\u0000\u1ac3\u1ac4\u0005\u00b6\u0000\u0000\u1ac4"+
"\u1ac9\u0003\u0216\u010b\u0000\u1ac5\u1ac6\u0005\u00b8\u0000\u0000\u1ac6"+
"\u1ac8\u0003\u0216\u010b\u0000\u1ac7\u1ac5\u0001\u0000\u0000\u0000\u1ac8"+
"\u1acb\u0001\u0000\u0000\u0000\u1ac9\u1ac7\u0001\u0000\u0000\u0000\u1ac9"+
"\u1aca\u0001\u0000\u0000\u0000\u1aca\u1acc\u0001\u0000\u0000\u0000\u1acb"+
"\u1ac9\u0001\u0000\u0000\u0000\u1acc\u1acd\u0005\u00b7\u0000\u0000\u1acd"+
"\u1ad7\u0001\u0000\u0000\u0000\u1ace\u1ad3\u0003\u0278\u013c\u0000\u1acf"+
"\u1ad0\u0005\u00b8\u0000\u0000\u1ad0\u1ad2\u0003\u0278\u013c\u0000\u1ad1"+
"\u1acf\u0001\u0000\u0000\u0000\u1ad2\u1ad5\u0001\u0000\u0000\u0000\u1ad3"+
"\u1ad1\u0001\u0000\u0000\u0000\u1ad3\u1ad4\u0001\u0000\u0000\u0000\u1ad4"+
"\u1ad7\u0001\u0000\u0000\u0000\u1ad5\u1ad3\u0001\u0000\u0000\u0000\u1ad6"+
"\u1aa7\u0001\u0000\u0000\u0000\u1ad6\u1ab4\u0001\u0000\u0000\u0000\u1ad6"+
"\u1ac1\u0001\u0000\u0000\u0000\u1ad6\u1ace\u0001\u0000\u0000\u0000\u1ad7"+
"\u0215\u0001\u0000\u0000\u0000\u1ad8\u1ae1\u0005\u00b6\u0000\u0000\u1ad9"+
"\u1ade\u0003\u0278\u013c\u0000\u1ada\u1adb\u0005\u00b8\u0000\u0000\u1adb"+
"\u1add\u0003\u0278\u013c\u0000\u1adc\u1ada\u0001\u0000\u0000\u0000\u1add"+
"\u1ae0\u0001\u0000\u0000\u0000\u1ade\u1adc\u0001\u0000\u0000\u0000\u1ade"+
"\u1adf\u0001\u0000\u0000\u0000\u1adf\u1ae2\u0001\u0000\u0000\u0000\u1ae0"+
"\u1ade\u0001\u0000\u0000\u0000\u1ae1\u1ad9\u0001\u0000\u0000\u0000\u1ae1"+
"\u1ae2\u0001\u0000\u0000\u0000\u1ae2\u1ae3\u0001\u0000\u0000\u0000\u1ae3"+
"\u1ae4\u0005\u00b7\u0000\u0000\u1ae4\u0217\u0001\u0000\u0000\u0000\u1ae5"+
"\u1ae6\u0005\u0182\u0000\u0000\u1ae6\u1ae7\u0003\u027c\u013e\u0000\u1ae7"+
"\u0219\u0001\u0000\u0000\u0000\u1ae8\u1ae9\u0005k\u0000\u0000\u1ae9\u1aea"+
"\u0003\u027c\u013e\u0000\u1aea\u021b\u0001\u0000\u0000\u0000\u1aeb\u1af2"+
"\u0003\u021e\u010f\u0000\u1aec\u1aee\u0005\u00b8\u0000\u0000\u1aed\u1aec"+
"\u0001\u0000\u0000\u0000\u1aed\u1aee\u0001\u0000\u0000\u0000\u1aee\u1aef"+
"\u0001\u0000\u0000\u0000\u1aef\u1af1\u0003\u021e\u010f\u0000\u1af0\u1aed"+
"\u0001\u0000\u0000\u0000\u1af1\u1af4\u0001\u0000\u0000\u0000\u1af2\u1af0"+
"\u0001\u0000\u0000\u0000\u1af2\u1af3\u0001\u0000\u0000\u0000\u1af3\u1af5"+
"\u0001\u0000\u0000\u0000\u1af4\u1af2\u0001\u0000\u0000\u0000\u1af5\u1af6"+
"\u0005\u02c2\u0000\u0000\u1af6\u021d\u0001\u0000\u0000\u0000\u1af7\u1b05"+
"\u0003\u02c0\u0160\u0000\u1af8\u1af9\u0005\u00b6\u0000\u0000\u1af9\u1b00"+
"\u0003\u0220\u0110\u0000\u1afa\u1afc\u0005\u00b8\u0000\u0000\u1afb\u1afa"+
"\u0001\u0000\u0000\u0000\u1afb\u1afc\u0001\u0000\u0000\u0000\u1afc\u1afd"+
"\u0001\u0000\u0000\u0000\u1afd\u1aff\u0003\u0220\u0110\u0000\u1afe\u1afb"+
"\u0001\u0000\u0000\u0000\u1aff\u1b02\u0001\u0000\u0000\u0000\u1b00\u1afe"+
"\u0001\u0000\u0000\u0000\u1b00\u1b01\u0001\u0000\u0000\u0000\u1b01\u1b03"+
"\u0001\u0000\u0000\u0000\u1b02\u1b00\u0001\u0000\u0000\u0000\u1b03\u1b04"+
"\u0005\u00b7\u0000\u0000\u1b04\u1b06\u0001\u0000\u0000\u0000\u1b05\u1af8"+
"\u0001\u0000\u0000\u0000\u1b05\u1b06\u0001\u0000\u0000\u0000\u1b06\u1b16"+
"\u0001\u0000\u0000\u0000\u1b07\u1b13\u0007D\u0000\u0000\u1b08\u1b09\u0005"+
"\u00b6\u0000\u0000\u1b09\u1b0e\u0003\u024c\u0126\u0000\u1b0a\u1b0b\u0005"+
"\u00b8\u0000\u0000\u1b0b\u1b0d\u0003\u024c\u0126\u0000\u1b0c\u1b0a\u0001"+
"\u0000\u0000\u0000\u1b0d\u1b10\u0001\u0000\u0000\u0000\u1b0e\u1b0c\u0001"+
"\u0000\u0000\u0000\u1b0e\u1b0f\u0001\u0000\u0000\u0000\u1b0f\u1b11\u0001"+
"\u0000\u0000\u0000\u1b10\u1b0e\u0001\u0000\u0000\u0000\u1b11\u1b12\u0005"+
"\u00b7\u0000\u0000\u1b12\u1b14\u0001\u0000\u0000\u0000\u1b13\u1b08\u0001"+
"\u0000\u0000\u0000\u1b13\u1b14\u0001\u0000\u0000\u0000\u1b14\u1b16\u0001"+
"\u0000\u0000\u0000\u1b15\u1af7\u0001\u0000\u0000\u0000\u1b15\u1b07\u0001"+
"\u0000\u0000\u0000\u1b16\u021f\u0001\u0000\u0000\u0000\u1b17\u1b1d\u0003"+
"\u01bc\u00de\u0000\u1b18\u1b1b\u0005\u02ac\u0000\u0000\u1b19\u1b1c\u0003"+
"\u029e\u014f\u0000\u1b1a\u1b1c\u0003\u02c0\u0160\u0000\u1b1b\u1b19\u0001"+
"\u0000\u0000\u0000\u1b1b\u1b1a\u0001\u0000\u0000\u0000\u1b1c\u1b1e\u0001"+
"\u0000\u0000\u0000\u1b1d\u1b18\u0001\u0000\u0000\u0000\u1b1d\u1b1e\u0001"+
"\u0000\u0000\u0000\u1b1e\u1b21\u0001\u0000\u0000\u0000\u1b1f\u1b21\u0003"+
"\u029e\u014f\u0000\u1b20\u1b17\u0001\u0000\u0000\u0000\u1b20\u1b1f\u0001"+
"\u0000\u0000\u0000\u1b21\u0221\u0001\u0000\u0000\u0000\u1b22\u1b23\u0003"+
"\u024c\u0126\u0000\u1b23\u1b26\u0005\u02ac\u0000\u0000\u1b24\u1b27\u0003"+
"\u0278\u013c\u0000\u1b25\u1b27\u0005\u0130\u0000\u0000\u1b26\u1b24\u0001"+
"\u0000\u0000\u0000\u1b26\u1b25\u0001\u0000\u0000\u0000\u1b27\u0223\u0001"+
"\u0000\u0000\u0000\u1b28\u1b2d\u0003\u0222\u0111\u0000\u1b29\u1b2a\u0005"+
"\u00b8\u0000\u0000\u1b2a\u1b2c\u0003\u0222\u0111\u0000\u1b2b\u1b29\u0001"+
"\u0000\u0000\u0000\u1b2c\u1b2f\u0001\u0000\u0000\u0000\u1b2d\u1b2b\u0001"+
"\u0000\u0000\u0000\u1b2d\u1b2e\u0001\u0000\u0000\u0000\u1b2e\u0225\u0001"+
"\u0000\u0000\u0000\u1b2f\u1b2d\u0001\u0000\u0000\u0000\u1b30\u1b31\u0005"+
"\u01b3\u0000\u0000\u1b31\u1b32\u0005\u029e\u0000\u0000\u1b32\u1b33\u0003"+
"\u02c0\u0160\u0000\u1b33\u1b3c\u0005\u00b6\u0000\u0000\u1b34\u1b39\u0003"+
"\u0278\u013c\u0000\u1b35\u1b36\u0005\u00b8\u0000\u0000\u1b36\u1b38\u0003"+
"\u0278\u013c\u0000\u1b37\u1b35\u0001\u0000\u0000\u0000\u1b38\u1b3b\u0001"+
"\u0000\u0000\u0000\u1b39\u1b37\u0001\u0000\u0000\u0000\u1b39\u1b3a\u0001"+
"\u0000\u0000\u0000\u1b3a\u1b3d\u0001\u0000\u0000\u0000\u1b3b\u1b39\u0001"+
"\u0000\u0000\u0000\u1b3c\u1b34\u0001\u0000\u0000\u0000\u1b3c\u1b3d\u0001"+
"\u0000\u0000\u0000\u1b3d\u1b3e\u0001\u0000\u0000\u0000\u1b3e\u1b3f\u0005"+
"\u00b7\u0000\u0000\u1b3f\u1b40\u0003\u02c0\u0160\u0000\u1b40\u1b41\u0005"+
"\u00d0\u0000\u0000\u1b41\u1b46\u0003\u02c0\u0160\u0000\u1b42\u1b43\u0005"+
"\u00b8\u0000\u0000\u1b43\u1b45\u0003\u02c0\u0160\u0000\u1b44\u1b42\u0001"+
"\u0000\u0000\u0000\u1b45\u1b48\u0001\u0000\u0000\u0000\u1b46\u1b44\u0001"+
"\u0000\u0000\u0000\u1b46\u1b47\u0001\u0000\u0000\u0000\u1b47\u0227\u0001"+
"\u0000\u0000\u0000\u1b48\u1b46\u0001\u0000\u0000\u0000\u1b49\u1b4b\u0003"+
"\u022a\u0115\u0000\u1b4a\u1b49\u0001\u0000\u0000\u0000\u1b4a\u1b4b\u0001"+
"\u0000\u0000\u0000\u1b4b\u1b4d\u0001\u0000\u0000\u0000\u1b4c\u1b4e\u0003"+
"\u022e\u0117\u0000\u1b4d\u1b4c\u0001\u0000\u0000\u0000\u1b4d\u1b4e\u0001"+
"\u0000\u0000\u0000\u1b4e\u0229\u0001\u0000\u0000\u0000\u1b4f\u1b50\u0005"+
"\u01f1\u0000\u0000\u1b50\u1b51\u0005\u00ef\u0000\u0000\u1b51\u1b56\u0003"+
"\u022c\u0116\u0000\u1b52\u1b53\u0005\u00b8\u0000\u0000\u1b53\u1b55\u0003"+
"\u022c\u0116\u0000\u1b54\u1b52\u0001\u0000\u0000\u0000\u1b55\u1b58\u0001"+
"\u0000\u0000\u0000\u1b56\u1b54\u0001\u0000\u0000\u0000\u1b56\u1b57\u0001"+
"\u0000\u0000\u0000\u1b57\u022b\u0001\u0000\u0000\u0000\u1b58\u1b56\u0001"+
"\u0000\u0000\u0000\u1b59\u1b5b\u0003\u0278\u013c\u0000\u1b5a\u1b5c\u0007"+
" \u0000\u0000\u1b5b\u1b5a\u0001\u0000\u0000\u0000\u1b5b\u1b5c\u0001\u0000"+
"\u0000\u0000\u1b5c\u1b5f\u0001\u0000\u0000\u0000\u1b5d\u1b5e\u0005\u01e8"+
"\u0000\u0000\u1b5e\u1b60\u0007E\u0000\u0000\u1b5f\u1b5d\u0001\u0000\u0000"+
"\u0000\u1b5f\u1b60\u0001\u0000\u0000\u0000\u1b60\u022d\u0001\u0000\u0000"+
"\u0000\u1b61\u1b62\u0005\u01ba\u0000\u0000\u1b62\u1b6c\u0005\u02cb\u0000"+
"\u0000\u1b63\u1b64\u0005\u01ba\u0000\u0000\u1b64\u1b65\u0005\u02cb\u0000"+
"\u0000\u1b65\u1b66\u0005\u01eb\u0000\u0000\u1b66\u1b6c\u0005\u02cb\u0000"+
"\u0000\u1b67\u1b68\u0005\u01ba\u0000\u0000\u1b68\u1b69\u0005\u02cb\u0000"+
"\u0000\u1b69\u1b6a\u0005\u00b8\u0000\u0000\u1b6a\u1b6c\u0005\u02cb\u0000"+
"\u0000\u1b6b\u1b61\u0001\u0000\u0000\u0000\u1b6b\u1b63\u0001\u0000\u0000"+
"\u0000\u1b6b\u1b67\u0001\u0000\u0000\u0000\u1b6c\u022f\u0001\u0000\u0000"+
"\u0000\u1b6d\u1b6e\u0005\u01f8\u0000\u0000\u1b6e\u1b6f\u0005\u00ef\u0000"+
"\u0000\u1b6f\u1b74\u0003\u0278\u013c\u0000\u1b70\u1b71\u0005\u00b8\u0000"+
"\u0000\u1b71\u1b73\u0003\u0278\u013c\u0000\u1b72\u1b70\u0001\u0000\u0000"+
"\u0000\u1b73\u1b76\u0001\u0000\u0000\u0000\u1b74\u1b72\u0001\u0000\u0000"+
"\u0000\u1b74\u1b75\u0001\u0000\u0000\u0000\u1b75\u0231\u0001\u0000\u0000"+
"\u0000\u1b76\u1b74\u0001\u0000\u0000\u0000\u1b77\u1b79\u0005\u0195\u0000"+
"\u0000\u1b78\u1b77\u0001\u0000\u0000\u0000\u1b78\u1b79\u0001\u0000\u0000"+
"\u0000\u1b79\u1b90\u0001\u0000\u0000\u0000\u1b7a\u1b90\u0005\u011a\u0000"+
"\u0000\u1b7b\u1b7d\u0005\u01b6\u0000\u0000\u1b7c\u1b7e\u0005\u01f2\u0000"+
"\u0000\u1b7d\u1b7c\u0001\u0000\u0000\u0000\u1b7d\u1b7e\u0001\u0000\u0000"+
"\u0000\u1b7e\u1b90\u0001\u0000\u0000\u0000\u1b7f\u1b81\u0005\u023a\u0000"+
"\u0000\u1b80\u1b82\u0005\u01f2\u0000\u0000\u1b81\u1b80\u0001\u0000\u0000"+
"\u0000\u1b81\u1b82\u0001\u0000\u0000\u0000\u1b82\u1b90\u0001\u0000\u0000"+
"\u0000\u1b83\u1b85\u0005\u0174\u0000\u0000\u1b84\u1b86\u0005\u01f2\u0000"+
"\u0000\u1b85\u1b84\u0001\u0000\u0000\u0000\u1b85\u1b86\u0001\u0000\u0000"+
"\u0000\u1b86\u1b90\u0001\u0000\u0000\u0000\u1b87\u1b88\u0005\u01b6\u0000"+
"\u0000\u1b88\u1b90\u0005\u024b\u0000\u0000\u1b89\u1b8a\u0005\u023a\u0000"+
"\u0000\u1b8a\u1b90\u0005\u024b\u0000\u0000\u1b8b\u1b8c\u0005\u01b6\u0000"+
"\u0000\u1b8c\u1b90\u0005\u00cd\u0000\u0000\u1b8d\u1b8e\u0005\u023a\u0000"+
"\u0000\u1b8e\u1b90\u0005\u00cd\u0000\u0000\u1b8f\u1b78\u0001\u0000\u0000"+
"\u0000\u1b8f\u1b7a\u0001\u0000\u0000\u0000\u1b8f\u1b7b\u0001\u0000\u0000"+
"\u0000\u1b8f\u1b7f\u0001\u0000\u0000\u0000\u1b8f\u1b83\u0001\u0000\u0000"+
"\u0000\u1b8f\u1b87\u0001\u0000\u0000\u0000\u1b8f\u1b89\u0001\u0000\u0000"+
"\u0000\u1b8f\u1b8b\u0001\u0000\u0000\u0000\u1b8f\u1b8d\u0001\u0000\u0000"+
"\u0000\u1b90\u0233\u0001\u0000\u0000\u0000\u1b91\u1b92\u0005\u01ec\u0000"+
"\u0000\u1b92\u1b96\u0003\u027c\u013e\u0000\u1b93\u1b94\u0005\u0293\u0000"+
"\u0000\u1b94\u1b96\u0003\u0236\u011b\u0000\u1b95\u1b91\u0001\u0000\u0000"+
"\u0000\u1b95\u1b93\u0001\u0000\u0000\u0000\u1b96\u0235\u0001\u0000\u0000"+
"\u0000\u1b97\u1b98\u0005\u00b6\u0000\u0000\u1b98\u1b99\u0003\u0238\u011c"+
"\u0000\u1b99\u1b9a\u0005\u00b7\u0000\u0000\u1b9a\u0237\u0001\u0000\u0000"+
"\u0000\u1b9b\u1ba0\u0003\u02bc\u015e\u0000\u1b9c\u1b9d\u0005\u00b8\u0000"+
"\u0000\u1b9d\u1b9f\u0003\u02bc\u015e\u0000\u1b9e\u1b9c\u0001\u0000\u0000"+
"\u0000\u1b9f\u1ba2\u0001\u0000\u0000\u0000\u1ba0\u1b9e\u0001\u0000\u0000"+
"\u0000\u1ba0\u1ba1\u0001\u0000\u0000\u0000\u1ba1\u0239\u0001\u0000\u0000"+
"\u0000\u1ba2\u1ba0\u0001\u0000\u0000\u0000\u1ba3\u1ba4\u0005\u02c4\u0000"+
"\u0000\u1ba4\u1ba5\u0003\u02c0\u0160\u0000\u1ba5\u1ba7\u0005\u00b6\u0000"+
"\u0000\u1ba6\u1ba8\u0003\u0242\u0121\u0000\u1ba7\u1ba6\u0001\u0000\u0000"+
"\u0000\u1ba7\u1ba8\u0001\u0000\u0000\u0000\u1ba8\u1ba9\u0001\u0000\u0000"+
"\u0000\u1ba9\u1baa\u0005\u00b7\u0000\u0000\u1baa\u023b\u0001\u0000\u0000"+
"\u0000\u1bab\u1bad\u0003\u024c\u0126\u0000\u1bac\u1bae\u0003\u023a\u011d"+
"\u0000\u1bad\u1bac\u0001\u0000\u0000\u0000\u1bad\u1bae\u0001\u0000\u0000"+
"\u0000\u1bae\u1bb0\u0001\u0000\u0000\u0000\u1baf\u1bb1\u0003\u023e\u011f"+
"\u0000\u1bb0\u1baf\u0001\u0000\u0000\u0000\u1bb0\u1bb1\u0001\u0000\u0000"+
"\u0000\u1bb1\u1bb3\u0001\u0000\u0000\u0000\u1bb2\u1bb4\u0003\u02ba\u015d"+
"\u0000\u1bb3\u1bb2\u0001\u0000\u0000\u0000\u1bb3\u1bb4\u0001\u0000\u0000"+
"\u0000\u1bb4\u1bb6\u0001\u0000\u0000\u0000\u1bb5\u1bb7\u0003\u029c\u014e"+
"\u0000\u1bb6\u1bb5\u0001\u0000\u0000\u0000\u1bb6\u1bb7\u0001\u0000\u0000"+
"\u0000\u1bb7\u1bb9\u0001\u0000\u0000\u0000\u1bb8\u1bba\u0003\u0270\u0138"+
"\u0000\u1bb9\u1bb8\u0001\u0000\u0000\u0000\u1bb9\u1bba\u0001\u0000\u0000"+
"\u0000\u1bba\u1bbb\u0001\u0000\u0000\u0000\u1bbb\u1bbd\u0003\u024a\u0125"+
"\u0000\u1bbc\u1bbe\u0003\u02b6\u015b\u0000\u1bbd\u1bbc\u0001\u0000\u0000"+
"\u0000\u1bbd\u1bbe\u0001\u0000\u0000\u0000\u1bbe\u1bc0\u0001\u0000\u0000"+
"\u0000\u1bbf\u1bc1\u0003\u0210\u0108\u0000\u1bc0\u1bbf\u0001\u0000\u0000"+
"\u0000\u1bc0\u1bc1\u0001\u0000\u0000\u0000\u1bc1\u1bc5\u0001\u0000\u0000"+
"\u0000\u1bc2\u1bc4\u0003\u0226\u0113\u0000\u1bc3\u1bc2\u0001\u0000\u0000"+
"\u0000\u1bc4\u1bc7\u0001\u0000\u0000\u0000\u1bc5\u1bc3\u0001\u0000\u0000"+
"\u0000\u1bc5\u1bc6\u0001\u0000\u0000\u0000\u1bc6\u1bdf\u0001\u0000\u0000"+
"\u0000\u1bc7\u1bc5\u0001\u0000\u0000\u0000\u1bc8\u1bc9\u0005\u00b6\u0000"+
"\u0000\u1bc9\u1bca\u0003\u01ea\u00f5\u0000\u1bca\u1bcb\u0005\u00b7\u0000"+
"\u0000\u1bcb\u1bcf\u0003\u024a\u0125\u0000\u1bcc\u1bce\u0003\u0226\u0113"+
"\u0000\u1bcd\u1bcc\u0001\u0000\u0000\u0000\u1bce\u1bd1\u0001\u0000\u0000"+
"\u0000\u1bcf\u1bcd\u0001\u0000\u0000\u0000\u1bcf\u1bd0\u0001\u0000\u0000"+
"\u0000\u1bd0\u1bdf\u0001\u0000\u0000\u0000\u1bd1\u1bcf\u0001\u0000\u0000"+
"\u0000\u1bd2\u1bd3\u0003\u02c0\u0160\u0000\u1bd3\u1bd5\u0005\u00b6\u0000"+
"\u0000\u1bd4\u1bd6\u0003\u0242\u0121\u0000\u1bd5\u1bd4\u0001\u0000\u0000"+
"\u0000\u1bd5\u1bd6\u0001\u0000\u0000\u0000\u1bd6\u1bd7\u0001\u0000\u0000"+
"\u0000\u1bd7\u1bd8\u0005\u00b7\u0000\u0000\u1bd8\u1bd9\u0003\u024a\u0125"+
"\u0000\u1bd9\u1bdf\u0001\u0000\u0000\u0000\u1bda\u1bdb\u0005\u00b6\u0000"+
"\u0000\u1bdb\u1bdc\u0003\u0208\u0104\u0000\u1bdc\u1bdd\u0005\u00b7\u0000"+
"\u0000\u1bdd\u1bdf\u0001\u0000\u0000\u0000\u1bde\u1bab\u0001\u0000\u0000"+
"\u0000\u1bde\u1bc8\u0001\u0000\u0000\u0000\u1bde\u1bd2\u0001\u0000\u0000"+
"\u0000\u1bde\u1bda\u0001\u0000\u0000\u0000\u1bdf\u023d\u0001\u0000\u0000"+
"\u0000\u1be0\u1be1\u0005\u0192\u0000\u0000\u1be1\u1be2\u0003\u02c0\u0160"+
"\u0000\u1be2\u023f\u0001\u0000\u0000\u0000\u1be3\u1be4\u0005\u0215\u0000"+
"\u0000\u1be4\u1be5\u0005\u00b6\u0000\u0000\u1be5\u1be6\u0003\u0242\u0121"+
"\u0000\u1be6\u1be7\u0005\u00b7\u0000\u0000\u1be7\u0241\u0001\u0000\u0000"+
"\u0000\u1be8\u1bed\u0003\u0244\u0122\u0000\u1be9\u1bea\u0005\u00b8\u0000"+
"\u0000\u1bea\u1bec\u0003\u0244\u0122\u0000\u1beb\u1be9\u0001\u0000\u0000"+
"\u0000\u1bec\u1bef\u0001\u0000\u0000\u0000\u1bed\u1beb\u0001\u0000\u0000"+
"\u0000\u1bed\u1bee\u0001\u0000\u0000\u0000\u1bee\u0243\u0001\u0000\u0000"+
"\u0000\u1bef\u1bed\u0001\u0000\u0000\u0000\u1bf0\u1bf1\u0003\u0246\u0123"+
"\u0000\u1bf1\u1bf2\u0005\u02ac\u0000\u0000\u1bf2\u1bf3\u0003\u0248\u0124"+
"\u0000\u1bf3\u0245\u0001\u0000\u0000\u0000\u1bf4\u1bf7\u0003\u02c0\u0160"+
"\u0000\u1bf5\u1bf7\u0003\u029e\u014f\u0000\u1bf6\u1bf4\u0001\u0000\u0000"+
"\u0000\u1bf6\u1bf5\u0001\u0000\u0000\u0000\u1bf7\u0247\u0001\u0000\u0000"+
"\u0000\u1bf8\u1bfb\u0003\u02c0\u0160\u0000\u1bf9\u1bfb\u0003\u029e\u014f"+
"\u0000\u1bfa\u1bf8\u0001\u0000\u0000\u0000\u1bfa\u1bf9\u0001\u0000\u0000"+
"\u0000\u1bfb\u0249\u0001\u0000\u0000\u0000\u1bfc\u1bfe\u0005\u00d0\u0000"+
"\u0000\u1bfd\u1bfc\u0001\u0000\u0000\u0000\u1bfd\u1bfe\u0001\u0000\u0000"+
"\u0000\u1bfe\u1bff\u0001\u0000\u0000\u0000\u1bff\u1c01\u0003\u02c2\u0161"+
"\u0000\u1c00\u1c02\u0003\u0236\u011b\u0000\u1c01\u1c00\u0001\u0000\u0000"+
"\u0000\u1c01\u1c02\u0001\u0000\u0000\u0000\u1c02\u1c04\u0001\u0000\u0000"+
"\u0000\u1c03\u1bfd\u0001\u0000\u0000\u0000\u1c03\u1c04\u0001\u0000\u0000"+
"\u0000\u1c04\u024b\u0001\u0000\u0000\u0000\u1c05\u1c0a\u0003\u02bc\u015e"+
"\u0000\u1c06\u1c07\u0005\u00b9\u0000\u0000\u1c07\u1c09\u0003\u02bc\u015e"+
"\u0000\u1c08\u1c06\u0001\u0000\u0000\u0000\u1c09\u1c0c\u0001\u0000\u0000"+
"\u0000\u1c0a\u1c08\u0001\u0000\u0000\u0000\u1c0a\u1c0b\u0001\u0000\u0000"+
"\u0000\u1c0b\u024d\u0001\u0000\u0000\u0000\u1c0c\u1c0a\u0001\u0000\u0000"+
"\u0000\u1c0d\u1c12\u0003\u0250\u0128\u0000\u1c0e\u1c0f\u0005\u00b8\u0000"+
"\u0000\u1c0f\u1c11\u0003\u0250\u0128\u0000\u1c10\u1c0e\u0001\u0000\u0000"+
"\u0000\u1c11\u1c14\u0001\u0000\u0000\u0000\u1c12\u1c10\u0001\u0000\u0000"+
"\u0000\u1c12\u1c13\u0001\u0000\u0000\u0000\u1c13\u024f\u0001\u0000\u0000"+
"\u0000\u1c14\u1c12\u0001\u0000\u0000\u0000\u1c15\u1c18\u0003\u02c0\u0160"+
"\u0000\u1c16\u1c17\u0005\u0105\u0000\u0000\u1c17\u1c19\u0005\u02c6\u0000"+
"\u0000\u1c18\u1c16\u0001\u0000\u0000\u0000\u1c18\u1c19\u0001\u0000\u0000"+
"\u0000\u1c19\u0251\u0001\u0000\u0000\u0000\u1c1a\u1c1f\u0003\u0254\u012a"+
"\u0000\u1c1b\u1c1c\u0005\u00b8\u0000\u0000\u1c1c\u1c1e\u0003\u0254\u012a"+
"\u0000\u1c1d\u1c1b\u0001\u0000\u0000\u0000\u1c1e\u1c21\u0001\u0000\u0000"+
"\u0000\u1c1f\u1c1d\u0001\u0000\u0000\u0000\u1c1f\u1c20\u0001\u0000\u0000"+
"\u0000\u1c20\u0253\u0001\u0000\u0000\u0000\u1c21\u1c1f\u0001\u0000\u0000"+
"\u0000\u1c22\u1c23\u0003\u02c0\u0160\u0000\u1c23\u1c25\u0003\u02ac\u0156"+
"\u0000\u1c24\u1c26\u0005\u01ac\u0000\u0000\u1c25\u1c24\u0001\u0000\u0000"+
"\u0000\u1c25\u1c26\u0001\u0000\u0000\u0000\u1c26\u1c28\u0001\u0000\u0000"+
"\u0000\u1c27\u1c29\u0003\u026e\u0137\u0000\u1c28\u1c27\u0001\u0000\u0000"+
"\u0000\u1c28\u1c29\u0001\u0000\u0000\u0000\u1c29\u1c33\u0001\u0000\u0000"+
"\u0000\u1c2a\u1c2b\u0005\u0177\u0000\u0000\u1c2b\u1c2d\u0005\u00d6\u0000"+
"\u0000\u1c2c\u1c2a\u0001\u0000\u0000\u0000\u1c2c\u1c2d\u0001\u0000\u0000"+
"\u0000\u1c2d\u1c2e\u0001\u0000\u0000\u0000\u1c2e\u1c2f\u0005\u00d0\u0000"+
"\u0000\u1c2f\u1c30\u0005\u00b6\u0000\u0000\u1c30\u1c31\u0003\u0278\u013c"+
"\u0000\u1c31\u1c32\u0005\u00b7\u0000\u0000\u1c32\u1c34\u0001\u0000\u0000"+
"\u0000\u1c33\u1c2c\u0001\u0000\u0000\u0000\u1c33\u1c34\u0001\u0000\u0000"+
"\u0000\u1c34\u1c39\u0001\u0000\u0000\u0000\u1c35\u1c37\u0005\u01e6\u0000"+
"\u0000\u1c36\u1c35\u0001\u0000\u0000\u0000\u1c36\u1c37\u0001\u0000\u0000"+
"\u0000\u1c37\u1c38\u0001\u0000\u0000\u0000\u1c38\u1c3a\u0005\u01e7\u0000"+
"\u0000\u1c39\u1c36\u0001\u0000\u0000\u0000\u1c39\u1c3a\u0001\u0000\u0000"+
"\u0000\u1c3a\u1c42\u0001\u0000\u0000\u0000\u1c3b\u1c40\u0005\u00d5\u0000"+
"\u0000\u1c3c\u1c3d\u0005\u00b6\u0000\u0000\u1c3d\u1c3e\u0003\u02c6\u0163"+
"\u0000\u1c3e\u1c3f\u0005\u00b7\u0000\u0000\u1c3f\u1c41\u0001\u0000\u0000"+
"\u0000\u1c40\u1c3c\u0001\u0000\u0000\u0000\u1c40\u1c41\u0001\u0000\u0000"+
"\u0000\u1c41\u1c43\u0001\u0000\u0000\u0000\u1c42\u1c3b\u0001\u0000\u0000"+
"\u0000\u1c42\u1c43\u0001\u0000\u0000\u0000\u1c43\u1c5c\u0001\u0000\u0000"+
"\u0000\u1c44\u1c5a\u0005\u0130\u0000\u0000\u1c45\u1c5b\u0005\u01e7\u0000"+
"\u0000\u1c46\u1c48\u0005\u02b4\u0000\u0000\u1c47\u1c46\u0001\u0000\u0000"+
"\u0000\u1c47\u1c48\u0001\u0000\u0000\u0000\u1c48\u1c49\u0001\u0000\u0000"+
"\u0000\u1c49\u1c5b\u0005\u02cb\u0000\u0000\u1c4a\u1c4c\u0005\u02b4\u0000"+
"\u0000\u1c4b\u1c4a\u0001\u0000\u0000\u0000\u1c4b\u1c4c\u0001\u0000\u0000"+
"\u0000\u1c4c\u1c4d\u0001\u0000\u0000\u0000\u1c4d\u1c5b\u0005\u02cd\u0000"+
"\u0000\u1c4e\u1c5b\u0005\u0205\u0000\u0000\u1c4f\u1c5b\u0005\u014a\u0000"+
"\u0000\u1c50\u1c5b\u0005\u00e3\u0000\u0000\u1c51\u1c5b\u0005\u02c6\u0000"+
"\u0000\u1c52\u1c5b\u0005\u011e\u0000\u0000\u1c53\u1c58\u0005\u0120\u0000"+
"\u0000\u1c54\u1c55\u0005\u00b6\u0000\u0000\u1c55\u1c56\u0003\u02c6\u0163"+
"\u0000\u1c56\u1c57\u0005\u00b7\u0000\u0000\u1c57\u1c59\u0001\u0000\u0000"+
"\u0000\u1c58\u1c54\u0001\u0000\u0000\u0000\u1c58\u1c59\u0001\u0000\u0000"+
"\u0000\u1c59\u1c5b\u0001\u0000\u0000\u0000\u1c5a\u1c45\u0001\u0000\u0000"+
"\u0000\u1c5a\u1c47\u0001\u0000\u0000\u0000\u1c5a\u1c4b\u0001\u0000\u0000"+
"\u0000\u1c5a\u1c4e\u0001\u0000\u0000\u0000\u1c5a\u1c4f\u0001\u0000\u0000"+
"\u0000\u1c5a\u1c50\u0001\u0000\u0000\u0000\u1c5a\u1c51\u0001\u0000\u0000"+
"\u0000\u1c5a\u1c52\u0001\u0000\u0000\u0000\u1c5a\u1c53\u0001\u0000\u0000"+
"\u0000\u1c5b\u1c5d\u0001\u0000\u0000\u0000\u1c5c\u1c44\u0001\u0000\u0000"+
"\u0000\u1c5c\u1c5d\u0001\u0000\u0000\u0000\u1c5d\u1c67\u0001\u0000\u0000"+
"\u0000\u1c5e\u1c5f\u0005\u01ec\u0000\u0000\u1c5f\u1c60\u0005\u028f\u0000"+
"\u0000\u1c60\u1c65\u0005\u0120\u0000\u0000\u1c61\u1c62\u0005\u00b6\u0000"+
"\u0000\u1c62\u1c63\u0003\u02c6\u0163\u0000\u1c63\u1c64\u0005\u00b7\u0000"+
"\u0000\u1c64\u1c66\u0001\u0000\u0000\u0000\u1c65\u1c61\u0001\u0000\u0000"+
"\u0000\u1c65\u1c66\u0001\u0000\u0000\u0000\u1c66\u1c68\u0001\u0000\u0000"+
"\u0000\u1c67\u1c5e\u0001\u0000\u0000\u0000\u1c67\u1c68\u0001\u0000\u0000"+
"\u0000\u1c68\u1c6b\u0001\u0000\u0000\u0000\u1c69\u1c6a\u0005\u0105\u0000"+
"\u0000\u1c6a\u1c6c\u0005\u02c6\u0000\u0000\u1c6b\u1c69\u0001\u0000\u0000"+
"\u0000\u1c6b\u1c6c\u0001\u0000\u0000\u0000\u1c6c\u0255\u0001\u0000\u0000"+
"\u0000\u1c6d\u1c72\u0003\u0258\u012c\u0000\u1c6e\u1c6f\u0005\u00b8\u0000"+
"\u0000\u1c6f\u1c71\u0003\u0258\u012c\u0000\u1c70\u1c6e\u0001\u0000\u0000"+
"\u0000\u1c71\u1c74\u0001\u0000\u0000\u0000\u1c72\u1c70\u0001\u0000\u0000"+
"\u0000\u1c72\u1c73\u0001\u0000\u0000\u0000\u1c73\u0257\u0001\u0000\u0000"+
"\u0000\u1c74\u1c72\u0001\u0000\u0000\u0000\u1c75\u1c79\u0005\u0192\u0000"+
"\u0000\u1c76\u1c77\u0005\u018d\u0000\u0000\u1c77\u1c78\u0005\u01e6\u0000"+
"\u0000\u1c78\u1c7a\u0005\u015a\u0000\u0000\u1c79\u1c76\u0001\u0000\u0000"+
"\u0000\u1c79\u1c7a\u0001\u0000\u0000\u0000\u1c7a\u1c7b\u0001\u0000\u0000"+
"\u0000\u1c7b\u1c7c\u0003\u02c0\u0160\u0000\u1c7c\u1c7f\u0003\u0236\u011b"+
"\u0000\u1c7d\u1c7e\u0005\u0293\u0000\u0000\u1c7e\u1c80\u0007)\u0000\u0000"+
"\u1c7f\u1c7d\u0001\u0000\u0000\u0000\u1c7f\u1c80\u0001\u0000\u0000\u0000"+
"\u1c80\u1c86\u0001\u0000\u0000\u0000\u1c81\u1c82\u0005\u0215\u0000\u0000"+
"\u1c82\u1c83\u0005\u00b6\u0000\u0000\u1c83\u1c84\u0003\u0242\u0121\u0000"+
"\u1c84\u1c85\u0005\u00b7\u0000\u0000\u1c85\u1c87\u0001\u0000\u0000\u0000"+
"\u1c86\u1c81\u0001\u0000\u0000\u0000\u1c86\u1c87\u0001\u0000\u0000\u0000"+
"\u1c87\u1c8a\u0001\u0000\u0000\u0000\u1c88\u1c89\u0005\u0105\u0000\u0000"+
"\u1c89\u1c8b\u0005\u02c6\u0000\u0000\u1c8a\u1c88\u0001\u0000\u0000\u0000"+
"\u1c8a\u1c8b\u0001\u0000\u0000\u0000\u1c8b\u0259\u0001\u0000\u0000\u0000"+
"\u1c8c\u1c91\u0003\u025c\u012e\u0000\u1c8d\u1c8e\u0005\u00b8\u0000\u0000"+
"\u1c8e\u1c90\u0003\u025c\u012e\u0000\u1c8f\u1c8d\u0001\u0000\u0000\u0000"+
"\u1c90\u1c93\u0001\u0000\u0000\u0000\u1c91\u1c8f\u0001\u0000\u0000\u0000"+
"\u1c91\u1c92\u0001\u0000\u0000\u0000\u1c92\u025b\u0001\u0000\u0000\u0000"+
"\u1c93\u1c91\u0001\u0000\u0000\u0000\u1c94\u1c99\u0003\u025e\u012f\u0000"+
"\u1c95\u1c99\u0003\u0260\u0130\u0000\u1c96\u1c99\u0003\u0262\u0131\u0000"+
"\u1c97\u1c99\u0003\u0264\u0132\u0000\u1c98\u1c94\u0001\u0000\u0000\u0000"+
"\u1c98\u1c95\u0001\u0000\u0000\u0000\u1c98\u1c96\u0001\u0000\u0000\u0000"+
"\u1c98\u1c97\u0001\u0000\u0000\u0000\u1c99\u1c9e\u0001\u0000\u0000\u0000"+
"\u1c9a\u1c9b\u0005\u00b6\u0000\u0000\u1c9b\u1c9c\u0003\u0242\u0121\u0000"+
"\u1c9c\u1c9d\u0005\u00b7\u0000\u0000\u1c9d\u1c9f\u0001\u0000\u0000\u0000"+
"\u1c9e\u1c9a\u0001\u0000\u0000\u0000\u1c9e\u1c9f\u0001\u0000\u0000\u0000"+
"\u1c9f\u025d\u0001\u0000\u0000\u0000\u1ca0\u1ca4\u0005\u01f8\u0000\u0000"+
"\u1ca1\u1ca2\u0005\u018d\u0000\u0000\u1ca2\u1ca3\u0005\u01e6\u0000\u0000"+
"\u1ca3\u1ca5\u0005\u015a\u0000\u0000\u1ca4\u1ca1\u0001\u0000\u0000\u0000"+
"\u1ca4\u1ca5\u0001\u0000\u0000\u0000\u1ca5\u1ca6\u0001\u0000\u0000\u0000"+
"\u1ca6\u1ca7\u0003\u02c0\u0160\u0000\u1ca7\u1ca8\u0005\u0295\u0000\u0000"+
"\u1ca8\u1ca9\u0005\u01b7\u0000\u0000\u1ca9\u1cac\u0005\u0276\u0000\u0000"+
"\u1caa\u1cad\u0005\u01d1\u0000\u0000\u1cab\u1cad\u0003\u0266\u0133\u0000"+
"\u1cac\u1caa\u0001\u0000\u0000\u0000\u1cac\u1cab\u0001\u0000\u0000\u0000"+
"\u1cad\u025f\u0001\u0000\u0000\u0000\u1cae\u1cb2\u0005\u01f8\u0000\u0000"+
"\u1caf\u1cb0\u0005\u018d\u0000\u0000\u1cb0\u1cb1\u0005\u01e6\u0000\u0000"+
"\u1cb1\u1cb3\u0005\u015a\u0000\u0000\u1cb2\u1caf\u0001\u0000\u0000\u0000"+
"\u1cb2\u1cb3\u0001\u0000\u0000\u0000\u1cb3\u1cb4\u0001\u0000\u0000\u0000"+
"\u1cb4\u1cb5\u0003\u02c0\u0160\u0000\u1cb5\u1cb6\u0005\u0295\u0000\u0000"+
"\u1cb6\u1cb7\u0005\u00bb\u0000\u0000\u1cb7\u1cb8\u0003\u0266\u0133\u0000"+
"\u1cb8\u1cb9\u0005\u00b8\u0000\u0000\u1cb9\u1cba\u0003\u0266\u0133\u0000"+
"\u1cba\u1cbb\u0005\u00b7\u0000\u0000\u1cbb\u0261\u0001\u0000\u0000\u0000"+
"\u1cbc\u1cbd\u0005\u0171\u0000\u0000\u1cbd\u1cbe\u0003\u0266\u0133\u0000"+
"\u1cbe\u1cbf\u0005\u027b\u0000\u0000\u1cbf\u1cc0\u0003\u0266\u0133\u0000"+
"\u1cc0\u1cc1\u0005\u019c\u0000\u0000\u1cc1\u1cc3\u0005\u02cb\u0000\u0000"+
"\u1cc2\u1cc4\u0003\u02a8\u0154\u0000\u1cc3\u1cc2\u0001\u0000\u0000\u0000"+
"\u1cc3\u1cc4\u0001\u0000\u0000\u0000\u1cc4\u0263\u0001\u0000\u0000\u0000"+
"\u1cc5\u1cc9\u0005\u01f8\u0000\u0000\u1cc6\u1cc7\u0005\u018d\u0000\u0000"+
"\u1cc7\u1cc8\u0005\u01e6\u0000\u0000\u1cc8\u1cca\u0005\u015a\u0000\u0000"+
"\u1cc9\u1cc6\u0001\u0000\u0000\u0000\u1cc9\u1cca\u0001\u0000\u0000\u0000"+
"\u1cca\u1ccb\u0001\u0000\u0000\u0000\u1ccb\u1cdc\u0003\u02c0\u0160\u0000"+
"\u1ccc\u1ccd\u0005\u0295\u0000\u0000\u1ccd\u1cda\u0005\u0190\u0000\u0000"+
"\u1cce\u1ccf\u0005\u00b6\u0000\u0000\u1ccf\u1cd4\u0003\u0266\u0133\u0000"+
"\u1cd0\u1cd1\u0005\u00b8\u0000\u0000\u1cd1\u1cd3\u0003\u0266\u0133\u0000"+
"\u1cd2\u1cd0\u0001\u0000\u0000\u0000\u1cd3\u1cd6\u0001\u0000\u0000\u0000"+
"\u1cd4\u1cd2\u0001\u0000\u0000\u0000\u1cd4\u1cd5\u0001\u0000\u0000\u0000"+
"\u1cd5\u1cd7\u0001\u0000\u0000\u0000\u1cd6\u1cd4\u0001\u0000\u0000\u0000"+
"\u1cd7\u1cd8\u0005\u00b7\u0000\u0000\u1cd8\u1cdb\u0001\u0000\u0000\u0000"+
"\u1cd9\u1cdb\u0003\u0266\u0133\u0000\u1cda\u1cce\u0001\u0000\u0000\u0000"+
"\u1cda\u1cd9\u0001\u0000\u0000\u0000\u1cdb\u1cdd\u0001\u0000\u0000\u0000"+
"\u1cdc\u1ccc\u0001\u0000\u0000\u0000\u1cdc\u1cdd\u0001\u0000\u0000\u0000"+
"\u1cdd\u0265\u0001\u0000\u0000\u0000\u1cde\u1cdf\u0005\u00b6\u0000\u0000"+
"\u1cdf\u1ce4\u0003\u0268\u0134\u0000\u1ce0\u1ce1\u0005\u00b8\u0000\u0000"+
"\u1ce1\u1ce3\u0003\u0268\u0134\u0000\u1ce2\u1ce0\u0001\u0000\u0000\u0000"+
"\u1ce3\u1ce6\u0001\u0000\u0000\u0000\u1ce4\u1ce2\u0001\u0000\u0000\u0000"+
"\u1ce4\u1ce5\u0001\u0000\u0000\u0000\u1ce5\u1ce7\u0001\u0000\u0000\u0000"+
"\u1ce6\u1ce4\u0001\u0000\u0000\u0000\u1ce7\u1ce8\u0005\u00b7\u0000\u0000"+
"\u1ce8\u0267\u0001\u0000\u0000\u0000\u1ce9\u1ceb\u0005\u02b4\u0000\u0000"+
"\u1cea\u1ce9\u0001\u0000\u0000\u0000\u1cea\u1ceb\u0001\u0000\u0000\u0000"+
"\u1ceb\u1cec\u0001\u0000\u0000\u0000\u1cec\u1cf1\u0005\u02cb\u0000\u0000"+
"\u1ced\u1cf1\u0005\u02c6\u0000\u0000\u1cee\u1cf1\u0005\u01d1\u0000\u0000"+
"\u1cef\u1cf1\u0005\u01e7\u0000\u0000\u1cf0\u1cea\u0001\u0000\u0000\u0000"+
"\u1cf0\u1ced\u0001\u0000\u0000\u0000\u1cf0\u1cee\u0001\u0000\u0000\u0000"+
"\u1cf0\u1cef\u0001\u0000\u0000\u0000\u1cf1\u0269\u0001\u0000\u0000\u0000"+
"\u1cf2\u1cf7\u0003\u026c\u0136\u0000\u1cf3\u1cf4\u0005\u00b8\u0000\u0000"+
"\u1cf4\u1cf6\u0003\u026c\u0136\u0000\u1cf5\u1cf3\u0001\u0000\u0000\u0000"+
"\u1cf6\u1cf9\u0001\u0000\u0000\u0000\u1cf7\u1cf5\u0001\u0000\u0000\u0000"+
"\u1cf7\u1cf8\u0001\u0000\u0000\u0000\u1cf8\u026b\u0001\u0000\u0000\u0000"+
"\u1cf9\u1cf7\u0001\u0000\u0000\u0000\u1cfa\u1cfb\u0003\u02c0\u0160\u0000"+
"\u1cfb\u1cff\u0003\u0236\u011b\u0000\u1cfc\u1cfd\u0005\u0148\u0000\u0000"+
"\u1cfd\u1cfe\u0005\u01ac\u0000\u0000\u1cfe\u1d00\u0003\u0236\u011b\u0000"+
"\u1cff\u1cfc\u0001\u0000\u0000\u0000\u1cff\u1d00\u0001\u0000\u0000\u0000"+
"\u1d00\u1d02\u0001\u0000\u0000\u0000\u1d01\u1d03\u0003\u0240\u0120\u0000"+
"\u1d02\u1d01\u0001\u0000\u0000\u0000\u1d02\u1d03\u0001\u0000\u0000\u0000"+
"\u1d03\u026d\u0001\u0000\u0000\u0000\u1d04\u1d05\u0007F\u0000\u0000\u1d05"+
"\u026f\u0001\u0000\u0000\u0000\u1d06\u1d07\u0005\u026f\u0000\u0000\u1d07"+
"\u1d08\u0005\u00b6\u0000\u0000\u1d08\u1d0d\u0005\u02cb\u0000\u0000\u1d09"+
"\u1d0a\u0005\u00b8\u0000\u0000\u1d0a\u1d0c\u0005\u02cb\u0000\u0000\u1d0b"+
"\u1d09\u0001\u0000\u0000\u0000\u1d0c\u1d0f\u0001\u0000\u0000\u0000\u1d0d"+
"\u1d0b\u0001\u0000\u0000\u0000\u1d0d\u1d0e\u0001\u0000\u0000\u0000\u1d0e"+
"\u1d10\u0001\u0000\u0000\u0000\u1d0f\u1d0d\u0001\u0000\u0000\u0000\u1d10"+
"\u1d11\u0005\u00b7\u0000\u0000\u1d11\u0271\u0001\u0000\u0000\u0000\u1d12"+
"\u1d13\u0005\u0295\u0000\u0000\u1d13\u1d18\u0003\u027e\u013f\u0000\u1d14"+
"\u1d15\u0005\u00b8\u0000\u0000\u1d15\u1d17\u0003\u027e\u013f\u0000\u1d16"+
"\u1d14\u0001\u0000\u0000\u0000\u1d17\u1d1a\u0001\u0000\u0000\u0000\u1d18"+
"\u1d16\u0001\u0000\u0000\u0000\u1d18\u1d19\u0001\u0000\u0000\u0000\u1d19"+
"\u0273\u0001\u0000\u0000\u0000\u1d1a\u1d18\u0001\u0000\u0000\u0000\u1d1b"+
"\u1d20\u0003\u0278\u013c\u0000\u1d1c\u1d1e\u0005\u00d0\u0000\u0000\u1d1d"+
"\u1d1c\u0001\u0000\u0000\u0000\u1d1d\u1d1e\u0001\u0000\u0000\u0000\u1d1e"+
"\u1d1f\u0001\u0000\u0000\u0000\u1d1f\u1d21\u0003\u01bc\u00de\u0000\u1d20"+
"\u1d1d\u0001\u0000\u0000\u0000\u1d20\u1d21\u0001\u0000\u0000\u0000\u1d21"+
"\u0275\u0001\u0000\u0000\u0000\u1d22\u1d27\u0003\u0274\u013a\u0000\u1d23"+
"\u1d24\u0005\u00b8\u0000\u0000\u1d24\u1d26\u0003\u0274\u013a\u0000\u1d25"+
"\u1d23\u0001\u0000\u0000\u0000\u1d26\u1d29\u0001\u0000\u0000\u0000\u1d27"+
"\u1d25\u0001\u0000\u0000\u0000\u1d27\u1d28\u0001\u0000\u0000\u0000\u1d28"+
"\u0277\u0001\u0000\u0000\u0000\u1d29\u1d27\u0001\u0000\u0000\u0000\u1d2a"+
"\u1d2d\u0003\u027c\u013e\u0000\u1d2b\u1d2d\u0003\u027a\u013d\u0000\u1d2c"+
"\u1d2a\u0001\u0000\u0000\u0000\u1d2c\u1d2b\u0001\u0000\u0000\u0000\u1d2d"+
"\u0279\u0001\u0000\u0000\u0000\u1d2e\u1d2f\u0003\u02bc\u015e\u0000\u1d2f"+
"\u1d30\u0005\u02c0\u0000\u0000\u1d30\u1d31\u0003\u027c\u013e\u0000\u1d31"+
"\u1d3f\u0001\u0000\u0000\u0000\u1d32\u1d33\u0005\u00b6\u0000\u0000\u1d33"+
"\u1d36\u0003\u02bc\u015e\u0000\u1d34\u1d35\u0005\u00b8\u0000\u0000\u1d35"+
"\u1d37\u0003\u02bc\u015e\u0000\u1d36\u1d34\u0001\u0000\u0000\u0000\u1d37"+
"\u1d38\u0001\u0000\u0000\u0000\u1d38\u1d36\u0001\u0000\u0000\u0000\u1d38"+
"\u1d39\u0001\u0000\u0000\u0000\u1d39\u1d3a\u0001\u0000\u0000\u0000\u1d3a"+
"\u1d3b\u0005\u00b7\u0000\u0000\u1d3b\u1d3c\u0005\u02c0\u0000\u0000\u1d3c"+
"\u1d3d\u0003\u027c\u013e\u0000\u1d3d\u1d3f\u0001\u0000\u0000\u0000\u1d3e"+
"\u1d2e\u0001\u0000\u0000\u0000\u1d3e\u1d32\u0001\u0000\u0000\u0000\u1d3f"+
"\u027b\u0001\u0000\u0000\u0000\u1d40\u1d41\u0006\u013e\uffff\uffff\u0000"+
"\u1d41\u1d42\u0005\u02bb\u0000\u0000\u1d42\u1d59\u0003\u027c\u013e\n\u1d43"+
"\u1d44\u0005\u015a\u0000\u0000\u1d44\u1d45\u0005\u00b6\u0000\u0000\u1d45"+
"\u1d46\u0003\u01ea\u00f5\u0000\u1d46\u1d47\u0005\u00b7\u0000\u0000\u1d47"+
"\u1d59\u0001\u0000\u0000\u0000\u1d48\u1d49\u0007G\u0000\u0000\u1d49\u1d4a"+
"\u0005\u00b6\u0000\u0000\u1d4a\u1d4b\u0003\u0284\u0142\u0000\u1d4b\u1d4c"+
"\u0005\u00b7\u0000\u0000\u1d4c\u1d59\u0001\u0000\u0000\u0000\u1d4d\u1d4e"+
"\u0005\u01a3\u0000\u0000\u1d4e\u1d4f\u0005\u00b6\u0000\u0000\u1d4f\u1d50"+
"\u0003\u0284\u0142\u0000\u1d50\u1d51\u0005\u00b7\u0000\u0000\u1d51\u1d59"+
"\u0001\u0000\u0000\u0000\u1d52\u1d54\u0003\u0284\u0142\u0000\u1d53\u1d55"+
"\u0003\u0282\u0141\u0000\u1d54\u1d53\u0001\u0000\u0000\u0000\u1d54\u1d55"+
"\u0001\u0000\u0000\u0000\u1d55\u1d59\u0001\u0000\u0000\u0000\u1d56\u1d57"+
"\u0005\u01e6\u0000\u0000\u1d57\u1d59\u0003\u027c\u013e\u0005\u1d58\u1d40"+
"\u0001\u0000\u0000\u0000\u1d58\u1d43\u0001\u0000\u0000\u0000\u1d58\u1d48"+
"\u0001\u0000\u0000\u0000\u1d58\u1d4d\u0001\u0000\u0000\u0000\u1d58\u1d52"+
"\u0001\u0000\u0000\u0000\u1d58\u1d56\u0001\u0000\u0000\u0000\u1d59\u1d68"+
"\u0001\u0000\u0000\u0000\u1d5a\u1d5b\n\u0004\u0000\u0000\u1d5b\u1d5c\u0007"+
"H\u0000\u0000\u1d5c\u1d67\u0003\u027c\u013e\u0005\u1d5d\u1d5e\n\u0003"+
"\u0000\u0000\u1d5e\u1d5f\u0005\u02aa\u0000\u0000\u1d5f\u1d67\u0003\u027c"+
"\u013e\u0004\u1d60\u1d61\n\u0002\u0000\u0000\u1d61\u1d62\u0005\u01f0\u0000"+
"\u0000\u1d62\u1d67\u0003\u027c\u013e\u0003\u1d63\u1d64\n\u0001\u0000\u0000"+
"\u1d64\u1d65\u0005\u02bd\u0000\u0000\u1d65\u1d67\u0003\u027c\u013e\u0002"+
"\u1d66\u1d5a\u0001\u0000\u0000\u0000\u1d66\u1d5d\u0001\u0000\u0000\u0000"+
"\u1d66\u1d60\u0001\u0000\u0000\u0000\u1d66\u1d63\u0001\u0000\u0000\u0000"+
"\u1d67\u1d6a\u0001\u0000\u0000\u0000\u1d68\u1d66\u0001\u0000\u0000\u0000"+
"\u1d68\u1d69\u0001\u0000\u0000\u0000\u1d69\u027d\u0001\u0000\u0000\u0000"+
"\u1d6a\u1d68\u0001\u0000\u0000\u0000\u1d6b\u1d74\u0005\u00b6\u0000\u0000"+
"\u1d6c\u1d71\u0003\u0280\u0140\u0000\u1d6d\u1d6e\u0005\u00b8\u0000\u0000"+
"\u1d6e\u1d70\u0003\u0280\u0140\u0000\u1d6f\u1d6d\u0001\u0000\u0000\u0000"+
"\u1d70\u1d73\u0001\u0000\u0000\u0000\u1d71\u1d6f\u0001\u0000\u0000\u0000"+
"\u1d71\u1d72\u0001\u0000\u0000\u0000\u1d72\u1d75\u0001\u0000\u0000\u0000"+
"\u1d73\u1d71\u0001\u0000\u0000\u0000\u1d74\u1d6c\u0001\u0000\u0000\u0000"+
"\u1d74\u1d75\u0001\u0000\u0000\u0000\u1d75\u1d76\u0001\u0000\u0000\u0000"+
"\u1d76\u1d77\u0005\u00b7\u0000\u0000\u1d77\u027f\u0001\u0000\u0000\u0000"+
"\u1d78\u1d7c\u0003\u029e\u014f\u0000\u1d79\u1d7c\u0005\u0130\u0000\u0000"+
"\u1d7a\u1d7c\u0003\u0274\u013a\u0000\u1d7b\u1d78\u0001\u0000\u0000\u0000"+
"\u1d7b\u1d79\u0001\u0000\u0000\u0000\u1d7b\u1d7a\u0001\u0000\u0000\u0000"+
"\u1d7c\u0281\u0001\u0000\u0000\u0000\u1d7d\u1d7f\u0005\u01e6\u0000\u0000"+
"\u1d7e\u1d7d\u0001\u0000\u0000\u0000\u1d7e\u1d7f\u0001\u0000\u0000\u0000"+
"\u1d7f\u1d80\u0001\u0000\u0000\u0000\u1d80\u1d81\u0005\u00dc\u0000\u0000"+
"\u1d81\u1d82\u0003\u0284\u0142\u0000\u1d82\u1d83\u0005\u00cc\u0000\u0000"+
"\u1d83\u1d84\u0003\u0284\u0142\u0000\u1d84\u1db1\u0001\u0000\u0000\u0000"+
"\u1d85\u1d87\u0005\u01e6\u0000\u0000\u1d86\u1d85\u0001\u0000\u0000\u0000"+
"\u1d86\u1d87\u0001\u0000\u0000\u0000\u1d87\u1d88\u0001\u0000\u0000\u0000"+
"\u1d88\u1d89\u0007\u0019\u0000\u0000\u1d89\u1db1\u0003\u0284\u0142\u0000"+
"\u1d8a\u1d8c\u0005\u01e6\u0000\u0000\u1d8b\u1d8a\u0001\u0000\u0000\u0000"+
"\u1d8b\u1d8c\u0001\u0000\u0000\u0000\u1d8c\u1d8d\u0001\u0000\u0000\u0000"+
"\u1d8d\u1d8e\u0007I\u0000\u0000\u1d8e\u1db1\u0003\u0284\u0142\u0000\u1d8f"+
"\u1d91\u0005\u01e6\u0000\u0000\u1d90\u1d8f\u0001\u0000\u0000\u0000\u1d90"+
"\u1d91\u0001\u0000\u0000\u0000\u1d91\u1d92\u0001\u0000\u0000\u0000\u1d92"+
"\u1d93\u0005\u0190\u0000\u0000\u1d93\u1d94\u0005\u00b6\u0000\u0000\u1d94"+
"\u1d95\u0003\u01ea\u00f5\u0000\u1d95\u1d96\u0005\u00b7\u0000\u0000\u1d96"+
"\u1db1\u0001\u0000\u0000\u0000\u1d97\u1d99\u0005\u01e6\u0000\u0000\u1d98"+
"\u1d97\u0001\u0000\u0000\u0000\u1d98\u1d99\u0001\u0000\u0000\u0000\u1d99"+
"\u1d9a\u0001\u0000\u0000\u0000\u1d9a\u1d9b\u0005\u0190\u0000\u0000\u1d9b"+
"\u1d9c\u0005\u00b6\u0000\u0000\u1d9c\u1da1\u0003\u0278\u013c\u0000\u1d9d"+
"\u1d9e\u0005\u00b8\u0000\u0000\u1d9e\u1da0\u0003\u0278\u013c\u0000\u1d9f"+
"\u1d9d\u0001\u0000\u0000\u0000\u1da0\u1da3\u0001\u0000\u0000\u0000\u1da1"+
"\u1d9f\u0001\u0000\u0000\u0000\u1da1\u1da2\u0001\u0000\u0000\u0000\u1da2"+
"\u1da4\u0001\u0000\u0000\u0000\u1da3\u1da1\u0001\u0000\u0000\u0000\u1da4"+
"\u1da5\u0005\u00b7\u0000\u0000\u1da5\u1db1\u0001\u0000\u0000\u0000\u1da6"+
"\u1da8\u0005\u01a2\u0000\u0000\u1da7\u1da9\u0005\u01e6\u0000\u0000\u1da8"+
"\u1da7\u0001\u0000\u0000\u0000\u1da8\u1da9\u0001\u0000\u0000\u0000\u1da9"+
"\u1daa\u0001\u0000\u0000\u0000\u1daa\u1db1\u0005\u01e7\u0000\u0000\u1dab"+
"\u1dad\u0005\u01a2\u0000\u0000\u1dac\u1dae\u0005\u01e6\u0000\u0000\u1dad"+
"\u1dac\u0001\u0000\u0000\u0000\u1dad\u1dae\u0001\u0000\u0000\u0000\u1dae"+
"\u1daf\u0001\u0000\u0000\u0000\u1daf\u1db1\u0007!\u0000\u0000\u1db0\u1d7e"+
"\u0001\u0000\u0000\u0000\u1db0\u1d86\u0001\u0000\u0000\u0000\u1db0\u1d8b"+
"\u0001\u0000\u0000\u0000\u1db0\u1d90\u0001\u0000\u0000\u0000\u1db0\u1d98"+
"\u0001\u0000\u0000\u0000\u1db0\u1da6\u0001\u0000\u0000\u0000\u1db0\u1dab"+
"\u0001\u0000\u0000\u0000\u1db1\u0283\u0001\u0000\u0000\u0000\u1db2\u1db3"+
"\u0006\u0142\uffff\uffff\u0000\u1db3\u1db7\u0003\u0286\u0143\u0000\u1db4"+
"\u1db5\u0007J\u0000\u0000\u1db5\u1db7\u0003\u0284\u0142\u0007\u1db6\u1db2"+
"\u0001\u0000\u0000\u0000\u1db6\u1db4\u0001\u0000\u0000\u0000\u1db7\u1dcd"+
"\u0001\u0000\u0000\u0000\u1db8\u1db9\n\u0006\u0000\u0000\u1db9\u1dba\u0005"+
"\u02be\u0000\u0000\u1dba\u1dcc\u0003\u0284\u0142\u0007\u1dbb\u1dbc\n\u0005"+
"\u0000\u0000\u1dbc\u1dbd\u0007K\u0000\u0000\u1dbd\u1dcc\u0003\u0284\u0142"+
"\u0006\u1dbe\u1dbf\n\u0004\u0000\u0000\u1dbf\u1dc0\u0007\u001b\u0000\u0000"+
"\u1dc0\u1dcc\u0003\u0284\u0142\u0005\u1dc1\u1dc2\n\u0003\u0000\u0000\u1dc2"+
"\u1dc3\u0005\u02b9\u0000\u0000\u1dc3\u1dcc\u0003\u0284\u0142\u0004\u1dc4"+
"\u1dc5\n\u0002\u0000\u0000\u1dc5\u1dc6\u0005\u02bc\u0000\u0000\u1dc6\u1dcc"+
"\u0003\u0284\u0142\u0003\u1dc7\u1dc8\n\u0001\u0000\u0000\u1dc8\u1dc9\u0003"+
"\u02a0\u0150\u0000\u1dc9\u1dca\u0003\u0284\u0142\u0002\u1dca\u1dcc\u0001"+
"\u0000\u0000\u0000\u1dcb\u1db8\u0001\u0000\u0000\u0000\u1dcb\u1dbb\u0001"+
"\u0000\u0000\u0000\u1dcb\u1dbe\u0001\u0000\u0000\u0000\u1dcb\u1dc1\u0001"+
"\u0000\u0000\u0000\u1dcb\u1dc4\u0001\u0000\u0000\u0000\u1dcb\u1dc7\u0001"+
"\u0000\u0000\u0000\u1dcc\u1dcf\u0001\u0000\u0000\u0000\u1dcd\u1dcb\u0001"+
"\u0000\u0000\u0000\u1dcd\u1dce\u0001\u0000\u0000\u0000\u1dce\u0285\u0001"+
"\u0000\u0000\u0000\u1dcf\u1dcd\u0001\u0000\u0000\u0000\u1dd0\u1dd1\u0006"+
"\u0143\uffff\uffff\u0000\u1dd1\u1e4f\u0005\u011e\u0000\u0000\u1dd2\u1e4f"+
"\u0005\u011f\u0000\u0000\u1dd3\u1e4f\u0005\u0120\u0000\u0000\u1dd4\u1e4f"+
"\u0005\u01c0\u0000\u0000\u1dd5\u1e4f\u0005\u01c1\u0000\u0000\u1dd6\u1e4f"+
"\u0005\u0121\u0000\u0000\u1dd7\u1e4f\u0005\u024e\u0000\u0000\u1dd8\u1dda"+
"\u0005\u00f4\u0000\u0000\u1dd9\u1ddb\u0003\u02a4\u0152\u0000\u1dda\u1dd9"+
"\u0001\u0000\u0000\u0000\u1ddb\u1ddc\u0001\u0000\u0000\u0000\u1ddc\u1dda"+
"\u0001\u0000\u0000\u0000\u1ddc\u1ddd\u0001\u0000\u0000\u0000\u1ddd\u1de0"+
"\u0001\u0000\u0000\u0000\u1dde\u1ddf\u0005\u014b\u0000\u0000\u1ddf\u1de1"+
"\u0003\u0278\u013c\u0000\u1de0\u1dde\u0001\u0000\u0000\u0000\u1de0\u1de1"+
"\u0001\u0000\u0000\u0000\u1de1\u1de2\u0001\u0000\u0000\u0000\u1de2\u1de3"+
"\u0005\u014f\u0000\u0000\u1de3\u1e4f\u0001\u0000\u0000\u0000\u1de4\u1de5"+
"\u0005\u00f4\u0000\u0000\u1de5\u1de7\u0003\u0278\u013c\u0000\u1de6\u1de8"+
"\u0003\u02a4\u0152\u0000\u1de7\u1de6\u0001\u0000\u0000\u0000\u1de8\u1de9"+
"\u0001\u0000\u0000\u0000\u1de9\u1de7\u0001\u0000\u0000\u0000\u1de9\u1dea"+
"\u0001\u0000\u0000\u0000\u1dea\u1ded\u0001\u0000\u0000\u0000\u1deb\u1dec"+
"\u0005\u014b\u0000\u0000\u1dec\u1dee\u0003\u0278\u013c\u0000\u1ded\u1deb"+
"\u0001\u0000\u0000\u0000\u1ded\u1dee\u0001\u0000\u0000\u0000\u1dee\u1def"+
"\u0001\u0000\u0000\u0000\u1def\u1df0\u0005\u014f\u0000\u0000\u1df0\u1e4f"+
"\u0001\u0000\u0000\u0000\u1df1\u1df2\u0005\u00f5\u0000\u0000\u1df2\u1df3"+
"\u0005\u00b6\u0000\u0000\u1df3\u1df4\u0003\u0278\u013c\u0000\u1df4\u1df5"+
"\u0005\u00d0\u0000\u0000\u1df5\u1df6\u0003\u028a\u0145\u0000\u1df6\u1df7"+
"\u0005\u00b7\u0000\u0000\u1df7\u1e4f\u0001\u0000\u0000\u0000\u1df8\u1e4f"+
"\u0003\u029e\u014f\u0000\u1df9\u1e4f\u0003\u02a6\u0153\u0000\u1dfa\u1dfe"+
"\u0005\u02b5\u0000\u0000\u1dfb\u1dfd\u0003\u0288\u0144\u0000\u1dfc\u1dfb"+
"\u0001\u0000\u0000\u0000\u1dfd\u1e00\u0001\u0000\u0000\u0000\u1dfe\u1dfc"+
"\u0001\u0000\u0000\u0000\u1dfe\u1dff\u0001\u0000\u0000\u0000\u1dff\u1e4f"+
"\u0001\u0000\u0000\u0000\u1e00\u1dfe\u0001\u0000\u0000\u0000\u1e01\u1e02"+
"\u0003\u029a\u014d\u0000\u1e02\u1e03\u0005\u00b9\u0000\u0000\u1e03\u1e07"+
"\u0005\u02b5\u0000\u0000\u1e04\u1e06\u0003\u0288\u0144\u0000\u1e05\u1e04"+
"\u0001\u0000\u0000\u0000\u1e06\u1e09\u0001\u0000\u0000\u0000\u1e07\u1e05"+
"\u0001\u0000\u0000\u0000\u1e07\u1e08\u0001\u0000\u0000\u0000\u1e08\u1e4f"+
"\u0001\u0000\u0000\u0000\u1e09\u1e07\u0001\u0000\u0000\u0000\u1e0a\u1e0b"+
"\u0005\u00f9\u0000\u0000\u1e0b\u1e0c\u0005\u00b6\u0000\u0000\u1e0c\u1e11"+
"\u0003\u0278\u013c\u0000\u1e0d\u1e0e\u0005\u00b8\u0000\u0000\u1e0e\u1e10"+
"\u0003\u0278\u013c\u0000\u1e0f\u1e0d\u0001\u0000\u0000\u0000\u1e10\u1e13"+
"\u0001\u0000\u0000\u0000\u1e11\u1e0f\u0001\u0000\u0000\u0000\u1e11\u1e12"+
"\u0001\u0000\u0000\u0000\u1e12\u1e16\u0001\u0000\u0000\u0000\u1e13\u1e11"+
"\u0001\u0000\u0000\u0000\u1e14\u1e15\u0005\u0293\u0000\u0000\u1e15\u1e17"+
"\u0003\u01bc\u00de\u0000\u1e16\u1e14\u0001\u0000\u0000\u0000\u1e16\u1e17"+
"\u0001\u0000\u0000\u0000\u1e17\u1e18\u0001\u0000\u0000\u0000\u1e18\u1e19"+
"\u0005\u00b7\u0000\u0000\u1e19\u1e4f\u0001\u0000\u0000\u0000\u1e1a\u1e1b"+
"\u0005\u0113\u0000\u0000\u1e1b\u1e1c\u0005\u00b6\u0000\u0000\u1e1c\u1e1d"+
"\u0003\u0278\u013c\u0000\u1e1d\u1e1e\u0005\u0293\u0000\u0000\u1e1e\u1e1f"+
"\u0003\u01bc\u00de\u0000\u1e1f\u1e20\u0005\u00b7\u0000\u0000\u1e20\u1e4f"+
"\u0001\u0000\u0000\u0000\u1e21\u1e22\u0005\u0113\u0000\u0000\u1e22\u1e23"+
"\u0005\u00b6\u0000\u0000\u1e23\u1e24\u0003\u0278\u013c\u0000\u1e24\u1e25"+
"\u0005\u00b8\u0000\u0000\u1e25\u1e26\u0003\u028a\u0145\u0000\u1e26\u1e27"+
"\u0005\u00b7\u0000\u0000\u1e27\u1e4f\u0001\u0000\u0000\u0000\u1e28\u1e4f"+
"\u0003\u028c\u0146\u0000\u1e29\u1e2a\u0005\u00b6\u0000\u0000\u1e2a\u1e2b"+
"\u0003\u01ea\u00f5\u0000\u1e2b\u1e2c\u0005\u00b7\u0000\u0000\u1e2c\u1e4f"+
"\u0001\u0000\u0000\u0000\u1e2d\u1e2e\u0005\u02c4\u0000\u0000\u1e2e\u1e4f"+
"\u0003\u01bc\u00de\u0000\u1e2f\u1e32\u0005\u02c5\u0000\u0000\u1e30\u1e31"+
"\u0007L\u0000\u0000\u1e31\u1e33\u0005\u00b9\u0000\u0000\u1e32\u1e30\u0001"+
"\u0000\u0000\u0000\u1e32\u1e33\u0001\u0000\u0000\u0000\u1e33\u1e34\u0001"+
"\u0000\u0000\u0000\u1e34\u1e4f\u0003\u02c0\u0160\u0000\u1e35\u1e37\u0005"+
"\u00df\u0000\u0000\u1e36\u1e35\u0001\u0000\u0000\u0000\u1e36\u1e37\u0001"+
"\u0000\u0000\u0000\u1e37\u1e38\u0001\u0000\u0000\u0000\u1e38\u1e4f\u0003"+
"\u02c0\u0160\u0000\u1e39\u1e3a\u0005\u00b6\u0000\u0000\u1e3a\u1e3b\u0003"+
"\u0278\u013c\u0000\u1e3b\u1e3c\u0005\u00b7\u0000\u0000\u1e3c\u1e4f\u0001"+
"\u0000\u0000\u0000\u1e3d\u1e41\u0005\u01ac\u0000\u0000\u1e3e\u1e3f\u0003"+
"\u02c0\u0160\u0000\u1e3f\u1e40\u0005\u00b9\u0000\u0000\u1e40\u1e42\u0001"+
"\u0000\u0000\u0000\u1e41\u1e3e\u0001\u0000\u0000\u0000\u1e41\u1e42\u0001"+
"\u0000\u0000\u0000\u1e42\u1e43\u0001\u0000\u0000\u0000\u1e43\u1e4f\u0003"+
"\u02c0\u0160\u0000\u1e44\u1e45\u0005\u0160\u0000\u0000\u1e45\u1e46\u0005"+
"\u00b6\u0000\u0000\u1e46\u1e47\u0003\u02c0\u0160\u0000\u1e47\u1e49\u0005"+
"\u0171\u0000\u0000\u1e48\u1e4a\u0007M\u0000\u0000\u1e49\u1e48\u0001\u0000"+
"\u0000\u0000\u1e49\u1e4a\u0001\u0000\u0000\u0000\u1e4a\u1e4b\u0001\u0000"+
"\u0000\u0000\u1e4b\u1e4c\u0003\u0284\u0142\u0000\u1e4c\u1e4d\u0005\u00b7"+
"\u0000\u0000\u1e4d\u1e4f\u0001\u0000\u0000\u0000\u1e4e\u1dd0\u0001\u0000"+
"\u0000\u0000\u1e4e\u1dd2\u0001\u0000\u0000\u0000\u1e4e\u1dd3\u0001\u0000"+
"\u0000\u0000\u1e4e\u1dd4\u0001\u0000\u0000\u0000\u1e4e\u1dd5\u0001\u0000"+
"\u0000\u0000\u1e4e\u1dd6\u0001\u0000\u0000\u0000\u1e4e\u1dd7\u0001\u0000"+
"\u0000\u0000\u1e4e\u1dd8\u0001\u0000\u0000\u0000\u1e4e\u1de4\u0001\u0000"+
"\u0000\u0000\u1e4e\u1df1\u0001\u0000\u0000\u0000\u1e4e\u1df8\u0001\u0000"+
"\u0000\u0000\u1e4e\u1df9\u0001\u0000\u0000\u0000\u1e4e\u1dfa\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e01\u0001\u0000\u0000\u0000\u1e4e\u1e0a\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e1a\u0001\u0000\u0000\u0000\u1e4e\u1e21\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e28\u0001\u0000\u0000\u0000\u1e4e\u1e29\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e2d\u0001\u0000\u0000\u0000\u1e4e\u1e2f\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e36\u0001\u0000\u0000\u0000\u1e4e\u1e39\u0001\u0000"+
"\u0000\u0000\u1e4e\u1e3d\u0001\u0000\u0000\u0000\u1e4e\u1e44\u0001\u0000"+
"\u0000\u0000\u1e4f\u1e6a\u0001\u0000\u0000\u0000\u1e50\u1e51\n\u000b\u0000"+
"\u0000\u1e51\u1e52\u0005\u00bb\u0000\u0000\u1e52\u1e53\u0003\u0284\u0142"+
"\u0000\u1e53\u1e54\u0005\u00bc\u0000\u0000\u1e54\u1e69\u0001\u0000\u0000"+
"\u0000\u1e55\u1e56\n\n\u0000\u0000\u1e56\u1e57\u0005\u00bb\u0000\u0000"+
"\u1e57\u1e58\u0003\u0284\u0142\u0000\u1e58\u1e5a\u0005\u02bf\u0000\u0000"+
"\u1e59\u1e5b\u0003\u0284\u0142\u0000\u1e5a\u1e59\u0001\u0000\u0000\u0000"+
"\u1e5a\u1e5b\u0001\u0000\u0000\u0000\u1e5b\u1e5c\u0001\u0000\u0000\u0000"+
"\u1e5c\u1e5d\u0005\u00bc\u0000\u0000\u1e5d\u1e69\u0001\u0000\u0000\u0000"+
"\u1e5e\u1e5f\n\u0005\u0000\u0000\u1e5f\u1e60\u0005\u00b9\u0000\u0000\u1e60"+
"\u1e69\u0003\u02c0\u0160\u0000\u1e61\u1e62\n\u0001\u0000\u0000\u1e62\u1e66"+
"\u0005\u00ff\u0000\u0000\u1e63\u1e67\u0003\u02c0\u0160\u0000\u1e64\u1e67"+
"\u0005\u02c6\u0000\u0000\u1e65\u1e67\u0005\u0130\u0000\u0000\u1e66\u1e63"+
"\u0001\u0000\u0000\u0000\u1e66\u1e64\u0001\u0000\u0000\u0000\u1e66\u1e65"+
"\u0001\u0000\u0000\u0000\u1e67\u1e69\u0001\u0000\u0000\u0000\u1e68\u1e50"+
"\u0001\u0000\u0000\u0000\u1e68\u1e55\u0001\u0000\u0000\u0000\u1e68\u1e5e"+
"\u0001\u0000\u0000\u0000\u1e68\u1e61\u0001\u0000\u0000\u0000\u1e69\u1e6c"+
"\u0001\u0000\u0000\u0000\u1e6a\u1e68\u0001\u0000\u0000\u0000\u1e6a\u1e6b"+
"\u0001\u0000\u0000\u0000\u1e6b\u0287\u0001\u0000\u0000\u0000\u1e6c\u1e6a"+
"\u0001\u0000\u0000\u0000\u1e6d\u1e6e\u0005\u0157\u0000\u0000\u1e6e\u1e6f"+
"\u0005\u00b6\u0000\u0000\u1e6f\u1e70\u0003\u0276\u013b\u0000\u1e70\u1e71"+
"\u0005\u00b7\u0000\u0000\u1e71\u1e78\u0001\u0000\u0000\u0000\u1e72\u1e73"+
"\u0005\u022c\u0000\u0000\u1e73\u1e74\u0005\u00b6\u0000\u0000\u1e74\u1e75"+
"\u0003\u0276\u013b\u0000\u1e75\u1e76\u0005\u00b7\u0000\u0000\u1e76\u1e78"+
"\u0001\u0000\u0000\u0000\u1e77\u1e6d\u0001\u0000\u0000\u0000\u1e77\u1e72"+
"\u0001\u0000\u0000\u0000\u1e78\u0289\u0001\u0000\u0000\u0000\u1e79\u1e7f"+
"\u0003\u02ac\u0156\u0000\u1e7a\u1e7c\u0007N\u0000\u0000\u1e7b\u1e7d\u0007"+
"O\u0000\u0000\u1e7c\u1e7b\u0001\u0000\u0000\u0000\u1e7c\u1e7d\u0001\u0000"+
"\u0000\u0000\u1e7d\u1e7f\u0001\u0000\u0000\u0000\u1e7e\u1e79\u0001\u0000"+
"\u0000\u0000\u1e7e\u1e7a\u0001\u0000\u0000\u0000\u1e7f\u028b\u0001\u0000"+
"\u0000\u0000\u1e80\u1e81\u0003\u028e\u0147\u0000\u1e81\u1e99\u0005\u00b6"+
"\u0000\u0000\u1e82\u1e84\u0007\u001f\u0000\u0000\u1e83\u1e82\u0001\u0000"+
"\u0000\u0000\u1e83\u1e84\u0001\u0000\u0000\u0000\u1e84\u1e85\u0001\u0000"+
"\u0000\u0000\u1e85\u1e8a\u0003\u0278\u013c\u0000\u1e86\u1e87\u0005\u00b8"+
"\u0000\u0000\u1e87\u1e89\u0003\u0278\u013c\u0000\u1e88\u1e86\u0001\u0000"+
"\u0000\u0000\u1e89\u1e8c\u0001\u0000\u0000\u0000\u1e8a\u1e88\u0001\u0000"+
"\u0000\u0000\u1e8a\u1e8b\u0001\u0000\u0000\u0000\u1e8b\u1e97\u0001\u0000"+
"\u0000\u0000\u1e8c\u1e8a\u0001\u0000\u0000\u0000\u1e8d\u1e8e\u0005\u01f1"+
"\u0000\u0000\u1e8e\u1e8f\u0005\u00ef\u0000\u0000\u1e8f\u1e94\u0003\u022c"+
"\u0116\u0000\u1e90\u1e91\u0005\u00b8\u0000\u0000\u1e91\u1e93\u0003\u022c"+
"\u0116\u0000\u1e92\u1e90\u0001\u0000\u0000\u0000\u1e93\u1e96\u0001\u0000"+
"\u0000\u0000\u1e94\u1e92\u0001\u0000\u0000\u0000\u1e94\u1e95\u0001\u0000"+
"\u0000\u0000\u1e95\u1e98\u0001\u0000\u0000\u0000\u1e96\u1e94\u0001\u0000"+
"\u0000\u0000\u1e97\u1e8d\u0001\u0000\u0000\u0000\u1e97\u1e98\u0001\u0000"+
"\u0000\u0000\u1e98\u1e9a\u0001\u0000\u0000\u0000\u1e99\u1e83\u0001\u0000"+
"\u0000\u0000\u1e99\u1e9a\u0001\u0000\u0000\u0000\u1e9a\u1e9b\u0001\u0000"+
"\u0000\u0000\u1e9b\u1e9e\u0005\u00b7\u0000\u0000\u1e9c\u1e9d\u0005\u01f4"+
"\u0000\u0000\u1e9d\u1e9f\u0003\u0292\u0149\u0000\u1e9e\u1e9c\u0001\u0000"+
"\u0000\u0000\u1e9e\u1e9f\u0001\u0000\u0000\u0000\u1e9f\u028d\u0001\u0000"+
"\u0000\u0000\u1ea0\u1ea1\u0003\u02c0\u0160\u0000\u1ea1\u1ea2\u0005\u00b9"+
"\u0000\u0000\u1ea2\u1ea4\u0001\u0000\u0000\u0000\u1ea3\u1ea0\u0001\u0000"+
"\u0000\u0000\u1ea3\u1ea4\u0001\u0000\u0000\u0000\u1ea4\u1ea5\u0001\u0000"+
"\u0000\u0000\u1ea5\u1ea6\u0003\u0290\u0148\u0000\u1ea6\u028f\u0001\u0000"+
"\u0000\u0000\u1ea7\u1eb8\u0003\u02c0\u0160\u0000\u1ea8\u1eb8\u0005\u00c2"+
"\u0000\u0000\u1ea9\u1eb8\u0005\u010f\u0000\u0000\u1eaa\u1eb8\u0005\u011d"+
"\u0000\u0000\u1eab\u1eb8\u0005\u0121\u0000\u0000\u1eac\u1eb8\u0005\u0123"+
"\u0000\u0000\u1ead\u1eb8\u0005\u018d\u0000\u0000\u1eae\u1eb8\u0005\u01b6"+
"\u0000\u0000\u1eaf\u1eb8\u0005\u01b9\u0000\u0000\u1eb0\u1eb8\u0005\u01fa"+
"\u0000\u0000\u1eb1\u1eb8\u0005\u0227\u0000\u0000\u1eb2\u1eb8\u0005\u023a"+
"\u0000\u0000\u1eb3\u1eb8\u0005\u0247\u0000\u0000\u1eb4\u1eb8\u0005\u024e"+
"\u0000\u0000\u1eb5\u1eb8\u0005\u0280\u0000\u0000\u1eb6\u1eb8\u0005\u0291"+
"\u0000\u0000\u1eb7\u1ea7\u0001\u0000\u0000\u0000\u1eb7\u1ea8\u0001\u0000"+
"\u0000\u0000\u1eb7\u1ea9\u0001\u0000\u0000\u0000\u1eb7\u1eaa\u0001\u0000"+
"\u0000\u0000\u1eb7\u1eab\u0001\u0000\u0000\u0000\u1eb7\u1eac\u0001\u0000"+
"\u0000\u0000\u1eb7\u1ead\u0001\u0000\u0000\u0000\u1eb7\u1eae\u0001\u0000"+
"\u0000\u0000\u1eb7\u1eaf\u0001\u0000\u0000\u0000\u1eb7\u1eb0\u0001\u0000"+
"\u0000\u0000\u1eb7\u1eb1\u0001\u0000\u0000\u0000\u1eb7\u1eb2\u0001\u0000"+
"\u0000\u0000\u1eb7\u1eb3\u0001\u0000\u0000\u0000\u1eb7\u1eb4\u0001\u0000"+
"\u0000\u0000\u1eb7\u1eb5\u0001\u0000\u0000\u0000\u1eb7\u1eb6\u0001\u0000"+
"\u0000\u0000\u1eb8\u0291\u0001\u0000\u0000\u0000\u1eb9\u1ebb\u0005\u00b6"+
"\u0000\u0000\u1eba\u1ebc\u0003\u0230\u0118\u0000\u1ebb\u1eba\u0001\u0000"+
"\u0000\u0000\u1ebb\u1ebc\u0001\u0000\u0000\u0000\u1ebc\u1ebe\u0001\u0000"+
"\u0000\u0000\u1ebd\u1ebf\u0003\u022a\u0115\u0000\u1ebe\u1ebd\u0001\u0000"+
"\u0000\u0000\u1ebe\u1ebf\u0001\u0000\u0000\u0000\u1ebf\u1ec1\u0001\u0000"+
"\u0000\u0000\u1ec0\u1ec2\u0003\u0294\u014a\u0000\u1ec1\u1ec0\u0001\u0000"+
"\u0000\u0000\u1ec1\u1ec2\u0001\u0000\u0000\u0000\u1ec2\u1ec3\u0001\u0000"+
"\u0000\u0000\u1ec3\u1ec4\u0005\u00b7\u0000\u0000\u1ec4\u0293\u0001\u0000"+
"\u0000\u0000\u1ec5\u1ec6\u0003\u0296\u014b\u0000\u1ec6\u1ec7\u0003\u0298"+
"\u014c\u0000\u1ec7\u1ecf\u0001\u0000\u0000\u0000\u1ec8\u1ec9\u0003\u0296"+
"\u014b\u0000\u1ec9\u1eca\u0005\u00dc\u0000\u0000\u1eca\u1ecb\u0003\u0298"+
"\u014c\u0000\u1ecb\u1ecc\u0005\u00cc\u0000\u0000\u1ecc\u1ecd\u0003\u0298"+
"\u014c\u0000\u1ecd\u1ecf\u0001\u0000\u0000\u0000\u1ece\u1ec5\u0001\u0000"+
"\u0000\u0000\u1ece\u1ec8\u0001\u0000\u0000\u0000\u1ecf\u0295\u0001\u0000"+
"\u0000\u0000\u1ed0\u1ed1\u0007P\u0000\u0000\u1ed1\u0297\u0001\u0000\u0000"+
"\u0000\u1ed2\u1ed3\u0005\u0286\u0000\u0000\u1ed3\u1eda\u0007Q\u0000\u0000"+
"\u1ed4\u1ed5\u0005\u011c\u0000\u0000\u1ed5\u1eda\u0005\u0241\u0000\u0000"+
"\u1ed6\u1ed7\u0003\u0278\u013c\u0000\u1ed7\u1ed8\u0007Q\u0000\u0000\u1ed8"+
"\u1eda\u0001\u0000\u0000\u0000\u1ed9\u1ed2\u0001\u0000\u0000\u0000\u1ed9"+
"\u1ed4\u0001\u0000\u0000\u0000\u1ed9\u1ed6\u0001\u0000\u0000\u0000\u1eda"+
"\u0299\u0001\u0000\u0000\u0000\u1edb\u1ee0\u0003\u02c0\u0160\u0000\u1edc"+
"\u1edd\u0005\u00b9\u0000\u0000\u1edd\u1edf\u0003\u02c0\u0160\u0000\u1ede"+
"\u1edc\u0001\u0000\u0000\u0000\u1edf\u1ee2\u0001\u0000\u0000\u0000\u1ee0"+
"\u1ede\u0001\u0000\u0000\u0000\u1ee0\u1ee1\u0001\u0000\u0000\u0000\u1ee1"+
"\u029b\u0001\u0000\u0000\u0000\u1ee2\u1ee0\u0001\u0000\u0000\u0000\u1ee3"+
"\u1ee5\u0005\u0273\u0000\u0000\u1ee4\u1ee3\u0001\u0000\u0000\u0000\u1ee4"+
"\u1ee5\u0001\u0000\u0000\u0000\u1ee5\u1ee6\u0001\u0000\u0000\u0000\u1ee6"+
"\u1ee9\u0005\u01f8\u0000\u0000\u1ee7\u1eea\u0003\u02c0\u0160\u0000\u1ee8"+
"\u1eea\u0003\u0236\u011b\u0000\u1ee9\u1ee7\u0001\u0000\u0000\u0000\u1ee9"+
"\u1ee8\u0001\u0000\u0000\u0000\u1eea\u1ef1\u0001\u0000\u0000\u0000\u1eeb"+
"\u1eed\u0005\u0273\u0000\u0000\u1eec\u1eeb\u0001\u0000\u0000\u0000\u1eec"+
"\u1eed\u0001\u0000\u0000\u0000\u1eed\u1eee\u0001\u0000\u0000\u0000\u1eee"+
"\u1eef\u0005\u01f9\u0000\u0000\u1eef\u1ef1\u0003\u0236\u011b\u0000\u1ef0"+
"\u1ee4\u0001\u0000\u0000\u0000\u1ef0\u1eec\u0001\u0000\u0000\u0000\u1ef1"+
"\u029d\u0001\u0000\u0000\u0000\u1ef2\u1f26\u0005\u01e7\u0000\u0000\u1ef3"+
"\u1ef4\u0007R\u0000\u0000\u1ef4\u1f26\u0005\u02c6\u0000\u0000\u1ef5\u1f26"+
"\u0003\u02c6\u0163\u0000\u1ef6\u1f26\u0003\u02a2\u0151\u0000\u1ef7\u1ef9"+
"\u0005\u00df\u0000\u0000\u1ef8\u1ef7\u0001\u0000\u0000\u0000\u1ef8\u1ef9"+
"\u0001\u0000\u0000\u0000\u1ef9\u1efa\u0001\u0000\u0000\u0000\u1efa\u1f26"+
"\u0005\u02c6\u0000\u0000\u1efb\u1efd\u0005\u00bb\u0000\u0000\u1efc\u1efe"+
"\u0003\u029e\u014f\u0000\u1efd\u1efc\u0001\u0000\u0000\u0000\u1efd\u1efe"+
"\u0001\u0000\u0000\u0000\u1efe\u1f03\u0001\u0000\u0000\u0000\u1eff\u1f00"+
"\u0005\u00b8\u0000\u0000\u1f00\u1f02\u0003\u029e\u014f\u0000\u1f01\u1eff"+
"\u0001\u0000\u0000\u0000\u1f02\u1f05\u0001\u0000\u0000\u0000\u1f03\u1f01"+
"\u0001\u0000\u0000\u0000\u1f03\u1f04\u0001\u0000\u0000\u0000\u1f04\u1f06"+
"\u0001\u0000\u0000\u0000\u1f05\u1f03\u0001\u0000\u0000\u0000\u1f06\u1f26"+
"\u0005\u00bc\u0000\u0000\u1f07\u1f0c\u0005\u00bd\u0000\u0000\u1f08\u1f09"+
"\u0003\u029e\u014f\u0000\u1f09\u1f0a\u0005\u02bf\u0000\u0000\u1f0a\u1f0b"+
"\u0003\u029e\u014f\u0000\u1f0b\u1f0d\u0001\u0000\u0000\u0000\u1f0c\u1f08"+
"\u0001\u0000\u0000\u0000\u1f0c\u1f0d\u0001\u0000\u0000\u0000\u1f0d\u1f15"+
"\u0001\u0000\u0000\u0000\u1f0e\u1f0f\u0005\u00b8\u0000\u0000\u1f0f\u1f10"+
"\u0003\u029e\u014f\u0000\u1f10\u1f11\u0005\u02bf\u0000\u0000\u1f11\u1f12"+
"\u0003\u029e\u014f\u0000\u1f12\u1f14\u0001\u0000\u0000\u0000\u1f13\u1f0e"+
"\u0001\u0000\u0000\u0000\u1f14\u1f17\u0001\u0000\u0000\u0000\u1f15\u1f13"+
"\u0001\u0000\u0000\u0000\u1f15\u1f16\u0001\u0000\u0000\u0000\u1f16\u1f18"+
"\u0001\u0000\u0000\u0000\u1f17\u1f15\u0001\u0000\u0000\u0000\u1f18\u1f26"+
"\u0005\u00be\u0000\u0000\u1f19\u1f1a\u0005\u00bd\u0000\u0000\u1f1a\u1f1f"+
"\u0003\u029e\u014f\u0000\u1f1b\u1f1c\u0005\u00b8\u0000\u0000\u1f1c\u1f1e"+
"\u0003\u029e\u014f\u0000\u1f1d\u1f1b\u0001\u0000\u0000\u0000\u1f1e\u1f21"+
"\u0001\u0000\u0000\u0000\u1f1f\u1f1d\u0001\u0000\u0000\u0000\u1f1f\u1f20"+
"\u0001\u0000\u0000\u0000\u1f20\u1f22\u0001\u0000\u0000\u0000\u1f21\u1f1f"+
"\u0001\u0000\u0000\u0000\u1f22\u1f23\u0005\u00be\u0000\u0000\u1f23\u1f26"+
"\u0001\u0000\u0000\u0000\u1f24\u1f26\u0005\u0206\u0000\u0000\u1f25\u1ef2"+
"\u0001\u0000\u0000\u0000\u1f25\u1ef3\u0001\u0000\u0000\u0000\u1f25\u1ef5"+
"\u0001\u0000\u0000\u0000\u1f25\u1ef6\u0001\u0000\u0000\u0000\u1f25\u1ef8"+
"\u0001\u0000\u0000\u0000\u1f25\u1efb\u0001\u0000\u0000\u0000\u1f25\u1f07"+
"\u0001\u0000\u0000\u0000\u1f25\u1f19\u0001\u0000\u0000\u0000\u1f25\u1f24"+
"\u0001\u0000\u0000\u0000\u1f26\u029f\u0001\u0000\u0000\u0000\u1f27\u1f28"+
"\u0007S\u0000\u0000\u1f28\u02a1\u0001\u0000\u0000\u0000\u1f29\u1f2a\u0007"+
"!\u0000\u0000\u1f2a\u02a3\u0001\u0000\u0000\u0000\u1f2b\u1f2c\u0005\u02a3"+
"\u0000\u0000\u1f2c\u1f2d\u0003\u0278\u013c\u0000\u1f2d\u1f2e\u0005\u0277"+
"\u0000\u0000\u1f2e\u1f2f\u0003\u0278\u013c\u0000\u1f2f\u02a5\u0001\u0000"+
"\u0000\u0000\u1f30\u1f31\u0005\u019c\u0000\u0000\u1f31\u1f32\u0003\u0278"+
"\u013c\u0000\u1f32\u1f33\u0003\u02a8\u0154\u0000\u1f33\u02a7\u0001\u0000"+
"\u0000\u0000\u1f34\u1f35\u0007T\u0000\u0000\u1f35\u02a9\u0001\u0000\u0000"+
"\u0000\u1f36\u1f3b\u0003\u02ac\u0156\u0000\u1f37\u1f39\u0005\u01e6\u0000"+
"\u0000\u1f38\u1f37\u0001\u0000\u0000\u0000\u1f38\u1f39\u0001\u0000\u0000"+
"\u0000\u1f39\u1f3a\u0001\u0000\u0000\u0000\u1f3a\u1f3c\u0005\u01e7\u0000"+
"\u0000\u1f3b\u1f38\u0001\u0000\u0000\u0000\u1f3b\u1f3c\u0001\u0000\u0000"+
"\u0000\u1f3c\u02ab\u0001\u0000\u0000\u0000\u1f3d\u1f3e\u0005\u00cf\u0000"+
"\u0000\u1f3e\u1f3f\u0005\u02af\u0000\u0000\u1f3f\u1f40\u0003\u02ac\u0156"+
"\u0000\u1f40\u1f41\u0005\u02b1\u0000\u0000\u1f41\u1f6b\u0001\u0000\u0000"+
"\u0000\u1f42\u1f43\u0005\u01c7\u0000\u0000\u1f43\u1f44\u0005\u02af\u0000"+
"\u0000\u1f44\u1f45\u0003\u02ac\u0156\u0000\u1f45\u1f46\u0005\u00b8\u0000"+
"\u0000\u1f46\u1f47\u0003\u02ac\u0156\u0000\u1f47\u1f48\u0005\u02b1\u0000"+
"\u0000\u1f48\u1f6b\u0001\u0000\u0000\u0000\u1f49\u1f4a\u0005\u0266\u0000"+
"\u0000\u1f4a\u1f4b\u0005\u02af\u0000\u0000\u1f4b\u1f4c\u0003\u02b0\u0158"+
"\u0000\u1f4c\u1f4d\u0005\u02b1\u0000\u0000\u1f4d\u1f6b\u0001\u0000\u0000"+
"\u0000\u1f4e\u1f4f\u0005\u00c5\u0000\u0000\u1f4f\u1f50\u0005\u02af\u0000"+
"\u0000\u1f50\u1f51\u0003\u0290\u0148\u0000\u1f51\u1f52\u0005\u00b6\u0000"+
"\u0000\u1f52\u1f57\u0003\u02aa\u0155\u0000\u1f53\u1f54\u0005\u00b8\u0000"+
"\u0000\u1f54\u1f56\u0003\u02aa\u0155\u0000\u1f55\u1f53\u0001\u0000\u0000"+
"\u0000\u1f56\u1f59\u0001\u0000\u0000\u0000\u1f57\u1f55\u0001\u0000\u0000"+
"\u0000\u1f57\u1f58\u0001\u0000\u0000\u0000\u1f58\u1f5a\u0001\u0000\u0000"+
"\u0000\u1f59\u1f57\u0001\u0000\u0000\u0000\u1f5a\u1f5b\u0005\u00b7\u0000"+
"\u0000\u1f5b\u1f5c\u0005\u02b1\u0000\u0000\u1f5c\u1f6b\u0001\u0000\u0000"+
"\u0000\u1f5d\u1f68\u0003\u02ae\u0157\u0000\u1f5e\u1f5f\u0005\u00b6\u0000"+
"\u0000\u1f5f\u1f64\u0007U\u0000\u0000\u1f60\u1f61\u0005\u00b8\u0000\u0000"+
"\u1f61\u1f63\u0005\u02cb\u0000\u0000\u1f62\u1f60\u0001\u0000\u0000\u0000"+
"\u1f63\u1f66\u0001\u0000\u0000\u0000\u1f64\u1f62\u0001\u0000\u0000\u0000"+
"\u1f64\u1f65\u0001\u0000\u0000\u0000\u1f65\u1f67\u0001\u0000\u0000\u0000"+
"\u1f66\u1f64\u0001\u0000\u0000\u0000\u1f67\u1f69\u0005\u00b7\u0000\u0000"+
"\u1f68\u1f5e\u0001\u0000\u0000\u0000\u1f68\u1f69\u0001\u0000\u0000\u0000"+
"\u1f69\u1f6b\u0001\u0000\u0000\u0000\u1f6a\u1f3d\u0001\u0000\u0000\u0000"+
"\u1f6a\u1f42\u0001\u0000\u0000\u0000\u1f6a\u1f49\u0001\u0000\u0000\u0000"+
"\u1f6a\u1f4e\u0001\u0000\u0000\u0000\u1f6a\u1f5d\u0001\u0000\u0000\u0000"+
"\u1f6b\u02ad\u0001\u0000\u0000\u0000\u1f6c\u1f8d\u0005\u027a\u0000\u0000"+
"\u1f6d\u1f8d\u0005\u0256\u0000\u0000\u1f6e\u1f8d\u0007O\u0000\u0000\u1f6f"+
"\u1f8d\u0005\u00dd\u0000\u0000\u1f70\u1f8d\u0005\u01b0\u0000\u0000\u1f71"+
"\u1f8d\u0005\u00e8\u0000\u0000\u1f72\u1f8d\u0005\u0169\u0000\u0000\u1f73"+
"\u1f8d\u0005\u0143\u0000\u0000\u1f74\u1f8d\u0005\u0125\u0000\u0000\u1f75"+
"\u1f8d\u0005\u0126\u0000\u0000\u1f76\u1f8d\u0005\u0278\u0000\u0000\u1f77"+
"\u1f8d\u0005\u0128\u0000\u0000\u1f78\u1f8d\u0005\u0127\u0000\u0000\u1f79"+
"\u1f8d\u0005\u012a\u0000\u0000\u1f7a\u1f8d\u0005\u0129\u0000\u0000\u1f7b"+
"\u1f8d\u0005\u00e2\u0000\u0000\u1f7c\u1f8d\u0005\u0217\u0000\u0000\u1f7d"+
"\u1f8d\u0005\u0186\u0000\u0000\u1f7e\u1f8d\u0005\u00c5\u0000\u0000\u1f7f"+
"\u1f8d\u0005\u0265\u0000\u0000\u1f80\u1f8d\u0005\u01aa\u0000\u0000\u1f81"+
"\u1f8d\u0005\u01ab\u0000\u0000\u1f82\u1f8d\u0005\u0275\u0000\u0000\u1f83"+
"\u1f8d\u0005\u0296\u0000\u0000\u1f84\u1f8d\u0005\u00f9\u0000\u0000\u1f85"+
"\u1f8d\u0005\u012c\u0000\u0000\u1f86\u1f8d\u0005\u012d\u0000\u0000\u1f87"+
"\u1f8d\u0005\u012e\u0000\u0000\u1f88\u1f8d\u0005\u01a0\u0000\u0000\u1f89"+
"\u1f8d\u0005\u01a1\u0000\u0000\u1f8a\u1f8d\u0005\u0299\u0000\u0000\u1f8b"+
"\u1f8d\u0005\u00c8\u0000\u0000\u1f8c\u1f6c\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f6d\u0001\u0000\u0000\u0000\u1f8c\u1f6e\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f6f\u0001\u0000\u0000\u0000\u1f8c\u1f70\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f71\u0001\u0000\u0000\u0000\u1f8c\u1f72\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f73\u0001\u0000\u0000\u0000\u1f8c\u1f74\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f75\u0001\u0000\u0000\u0000\u1f8c\u1f76\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f77\u0001\u0000\u0000\u0000\u1f8c\u1f78\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f79\u0001\u0000\u0000\u0000\u1f8c\u1f7a\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f7b\u0001\u0000\u0000\u0000\u1f8c\u1f7c\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f7d\u0001\u0000\u0000\u0000\u1f8c\u1f7e\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f7f\u0001\u0000\u0000\u0000\u1f8c\u1f80\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f81\u0001\u0000\u0000\u0000\u1f8c\u1f82\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f83\u0001\u0000\u0000\u0000\u1f8c\u1f84\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f85\u0001\u0000\u0000\u0000\u1f8c\u1f86\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f87\u0001\u0000\u0000\u0000\u1f8c\u1f88\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f89\u0001\u0000\u0000\u0000\u1f8c\u1f8a\u0001\u0000\u0000\u0000\u1f8c"+
"\u1f8b\u0001\u0000\u0000\u0000\u1f8d\u02af\u0001\u0000\u0000\u0000\u1f8e"+
"\u1f93\u0003\u02b2\u0159\u0000\u1f8f\u1f90\u0005\u00b8\u0000\u0000\u1f90"+
"\u1f92\u0003\u02b2\u0159\u0000\u1f91\u1f8f\u0001\u0000\u0000\u0000\u1f92"+
"\u1f95\u0001\u0000\u0000\u0000\u1f93\u1f91\u0001\u0000\u0000\u0000\u1f93"+
"\u1f94\u0001\u0000\u0000\u0000\u1f94\u02b1\u0001\u0000\u0000\u0000\u1f95"+
"\u1f93\u0001\u0000\u0000\u0000\u1f96\u1f97\u0003\u02c0\u0160\u0000\u1f97"+
"\u1f98\u0005\u02bf\u0000\u0000\u1f98\u1f9a\u0003\u02ac\u0156\u0000\u1f99"+
"\u1f9b\u0003\u02b4\u015a\u0000\u1f9a\u1f99\u0001\u0000\u0000\u0000\u1f9a"+
"\u1f9b\u0001\u0000\u0000\u0000\u1f9b\u02b3\u0001\u0000\u0000\u0000\u1f9c"+
"\u1f9d\u0005\u0105\u0000\u0000\u1f9d\u1f9e\u0005\u02c6\u0000\u0000\u1f9e"+
"\u02b5\u0001\u0000\u0000\u0000\u1f9f\u1fa0\u0005\u026e\u0000\u0000\u1fa0"+
"\u1fa2\u0005\u00b6\u0000\u0000\u1fa1\u1fa3\u0003\u02b8\u015c\u0000\u1fa2"+
"\u1fa1\u0001\u0000\u0000\u0000\u1fa2\u1fa3\u0001\u0000\u0000\u0000\u1fa3"+
"\u1fa4\u0001\u0000\u0000\u0000\u1fa4\u1fa7\u0005\u00b7\u0000\u0000\u1fa5"+
"\u1fa6\u0005\u022b\u0000\u0000\u1fa6\u1fa8\u0005\u02cb\u0000\u0000\u1fa7"+
"\u1fa5\u0001\u0000\u0000\u0000\u1fa7\u1fa8\u0001\u0000\u0000\u0000\u1fa8"+
"\u02b7\u0001\u0000\u0000\u0000\u1fa9\u1faa\u0005\u02cb\u0000\u0000\u1faa"+
"\u1fae\u0005\u0201\u0000\u0000\u1fab\u1fac\u0005\u02cb\u0000\u0000\u1fac"+
"\u1fae\u0005\u0242\u0000\u0000\u1fad\u1fa9\u0001\u0000\u0000\u0000\u1fad"+
"\u1fab\u0001\u0000\u0000\u0000\u1fae\u02b9\u0001\u0000\u0000\u0000\u1faf"+
"\u1fb0\u0005\u016c\u0000\u0000\u1fb0\u1fb1\u0005\u029d\u0000\u0000\u1fb1"+
"\u1fb2\u0005\u00d0\u0000\u0000\u1fb2\u1fb3\u0005\u01ea\u0000\u0000\u1fb3"+
"\u1fba\u0005\u02cb\u0000\u0000\u1fb4\u1fb5\u0005\u016c\u0000\u0000\u1fb5"+
"\u1fb6\u0005\u0278\u0000\u0000\u1fb6\u1fb7\u0005\u00d0\u0000\u0000\u1fb7"+
"\u1fb8\u0005\u01ea\u0000\u0000\u1fb8\u1fba\u0005\u02c6\u0000\u0000\u1fb9"+
"\u1faf\u0001\u0000\u0000\u0000\u1fb9\u1fb4\u0001\u0000\u0000\u0000\u1fba"+
"\u02bb\u0001\u0000\u0000\u0000\u1fbb\u1fbc\u0003\u02c0\u0160\u0000\u1fbc"+
"\u1fbd\u0003\u02be\u015f\u0000\u1fbd\u02bd\u0001\u0000\u0000\u0000\u1fbe"+
"\u1fbf\u0005\u02b4\u0000\u0000\u1fbf\u1fc1\u0003\u02c0\u0160\u0000\u1fc0"+
"\u1fbe\u0001\u0000\u0000\u0000\u1fc1\u1fc2\u0001\u0000\u0000\u0000\u1fc2"+
"\u1fc0\u0001\u0000\u0000\u0000\u1fc2\u1fc3\u0001\u0000\u0000\u0000\u1fc3"+
"\u1fc6\u0001\u0000\u0000\u0000\u1fc4\u1fc6\u0001\u0000\u0000\u0000\u1fc5"+
"\u1fc0\u0001\u0000\u0000\u0000\u1fc5\u1fc4\u0001\u0000\u0000\u0000\u1fc6"+
"\u02bf\u0001\u0000\u0000\u0000\u1fc7\u1fc8\u0003\u02c2\u0161\u0000\u1fc8"+
"\u02c1\u0001\u0000\u0000\u0000\u1fc9\u1fcd\u0005\u02cf\u0000\u0000\u1fca"+
"\u1fcd\u0003\u02c4\u0162\u0000\u1fcb\u1fcd\u0003\u02c8\u0164\u0000\u1fcc"+
"\u1fc9\u0001\u0000\u0000\u0000\u1fcc\u1fca\u0001\u0000\u0000\u0000\u1fcc"+
"\u1fcb\u0001\u0000\u0000\u0000\u1fcd\u02c3\u0001\u0000\u0000\u0000\u1fce"+
"\u1fcf\u0005\u02d0\u0000\u0000\u1fcf\u02c5\u0001\u0000\u0000\u0000\u1fd0"+
"\u1fd2\u0005\u02b4\u0000\u0000\u1fd1\u1fd0\u0001\u0000\u0000\u0000\u1fd1"+
"\u1fd2\u0001\u0000\u0000\u0000\u1fd2\u1fd3\u0001\u0000\u0000\u0000\u1fd3"+
"\u1fd9\u0005\u02cb\u0000\u0000\u1fd4\u1fd6\u0005\u02b4\u0000\u0000\u1fd5"+
"\u1fd4\u0001\u0000\u0000\u0000\u1fd5\u1fd6\u0001\u0000\u0000\u0000\u1fd6"+
"\u1fd7\u0001\u0000\u0000\u0000\u1fd7\u1fd9\u0007V\u0000\u0000\u1fd8\u1fd1"+
"\u0001\u0000\u0000\u0000\u1fd8\u1fd5\u0001\u0000\u0000\u0000\u1fd9\u02c7"+
"\u0001\u0000\u0000\u0000\u1fda\u1fdb\u0007W\u0000\u0000\u1fdb\u02c9\u0001"+
"\u0000\u0000\u0000\u0463\u02cf\u02d2\u02d6\u02d9\u02de\u02e5\u02eb\u02ed"+
"\u02f6\u02f9\u02fb\u0328\u0330\u0340\u0347\u034a\u0350\u0354\u035d\u0362"+
"\u036f\u0374\u037d\u0389\u038e\u0391\u039f\u03a6\u03af\u03bd\u03c5\u03d0"+
"\u03da\u03e1\u03e8\u03ec\u03f0\u03f5\u03f9\u03fe\u0402\u0406\u0410\u0414"+
"\u0419\u041e\u0422\u042f\u043f\u045e\u0460\u0465\u0469\u046e\u0475\u0478"+
"\u047b\u0480\u0484\u0486\u048c\u048f\u0494\u0498\u049b\u04a2\u04a8\u04ab"+
"\u04b5\u04be\u04c5\u04cc\u04ce\u04d4\u04d7\u04e2\u04eb\u04f1\u04f7\u04fa"+
"\u04ff\u0502\u0505\u0508\u050b\u0511\u0517\u0521\u052d\u0531\u053b\u0546"+
"\u0549\u0550\u0555\u055a\u055e\u0566\u056a\u056f\u0573\u0575\u057a\u0582"+
"\u0587\u058b\u0593\u059b\u059e\u05a1\u05a6\u05af\u05b3\u05bd\u05d0\u05d4"+
"\u05d8\u05e0\u05ee\u05f5\u05f9\u0600\u0602\u0606\u060a\u0612\u0616\u0625"+
"\u0628\u062c\u0633\u063a\u063c\u0640\u0646\u0649\u0650\u0654\u0657\u0662"+
"\u0665\u066f\u0676\u067a\u067e\u0685\u0689\u0691\u069c\u06a0\u06ab\u06b2"+
"\u06c0\u06c8\u06cd\u06d4\u06dc\u06e2\u06e7\u06f1\u0700\u0703\u0717\u0721"+
"\u0723\u072e\u073d\u074a\u074e\u0759\u075d\u0769\u076d\u0778\u077d\u0782"+
"\u0786\u078a\u078f\u0793\u0797\u07ae\u07b0\u07c2\u07c4\u07cc\u07d1\u07d6"+
"\u07db\u07e8\u07ed\u07f2\u07f7\u07fc\u0801\u0806\u080b\u080d\u0815\u081a"+
"\u081e\u0824\u0827\u0832\u083c\u0844\u084d\u0853\u0864\u0867\u0877\u087a"+
"\u088a\u088d\u089d\u08a0\u08b0\u08b3\u08c3\u08c6\u08d4\u08e3\u08e7\u08f7"+
"\u08fd\u0902\u0908\u090c\u0913\u091d\u0924\u0926\u092f\u0934\u093e\u0945"+
"\u0948\u0951\u0956\u095d\u0963\u0968\u0975\u0979\u097e\u0983\u0989\u0991"+
"\u0995\u099a\u09a8\u09ab\u09b3\u09b6\u09be\u09c5\u09cc\u09d5\u09dc\u09e3"+
"\u09e7\u09e9\u09ec\u09f0\u0a0a\u0a15\u0a1d\u0a24\u0a27\u0a2b\u0a2e\u0a30"+
"\u0a33\u0a37\u0a3b\u0a43\u0a4a\u0a4e\u0a50\u0a53\u0a5f\u0a6d\u0a75\u0a7c"+
"\u0a83\u0a88\u0aa2\u0aaf\u0ab1\u0ab5\u0aba\u0abc\u0abf\u0acf\u0ae8\u0afd"+
"\u0b00\u0b03\u0b09\u0b10\u0b13\u0b18\u0b1b\u0b21\u0b25\u0b28\u0b30\u0b33"+
"\u0b36\u0b39\u0b3f\u0b44\u0b47\u0b52\u0b57\u0b5a\u0b5d\u0b64\u0b67\u0b6c"+
"\u0b6f\u0b75\u0b79\u0b83\u0b87\u0b8a\u0b90\u0b93\u0b95\u0b99\u0b9f\u0ba3"+
"\u0ba9\u0bac\u0bb0\u0bb5\u0bbd\u0bbf\u0bc3\u0bc6\u0bcd\u0bd2\u0bd4\u0bd6"+
"\u0bdd\u0be0\u0be4\u0be8\u0bed\u0bf3\u0bfa\u0bfe\u0c08\u0c0d\u0c13\u0c1b"+
"\u0c1d\u0c24\u0c29\u0c31\u0c36\u0c39\u0c40\u0c46\u0c4a\u0c4d\u0c55\u0c60"+
"\u0c6d\u0c71\u0c79\u0c80\u0c88\u0c8b\u0c8f\u0c97\u0c9f\u0ca6\u0ca9\u0cb0"+
"\u0cb4\u0cbb\u0cc3\u0cc6\u0ccc\u0cd1\u0cd8\u0cdb\u0cdf\u0ce6\u0ceb\u0cf2"+
"\u0cfd\u0d04\u0d08\u0d0f\u0d13\u0d18\u0d21\u0d27\u0d2b\u0d32\u0d3f\u0d46"+
"\u0d4a\u0d52\u0d56\u0d58\u0d5f\u0d71\u0d75\u0d79\u0d92\u0d95\u0da5\u0dab"+
"\u0dc8\u0dd5\u0de2\u0df5\u0e0c\u0e12\u0e18\u0e1e\u0e20\u0e2e\u0e35\u0e3c"+
"\u0e43\u0e4b\u0e53\u0e58\u0e5e\u0e66\u0e6e\u0e78\u0e7c\u0e82\u0e86\u0e8a"+
"\u0e8f\u0e94\u0e9c\u0ea6\u0eae\u0eb7\u0eb9\u0ebf\u0ec6\u0ecd\u0ed0\u0ed4"+
"\u0ed8\u0ee4\u0ee7\u0ef1\u0ef7\u0efa\u0f00\u0f03\u0f06\u0f09\u0f12\u0f18"+
"\u0f1d\u0f23\u0f28\u0f2c\u0f2f\u0f34\u0f38\u0f3d\u0f42\u0f46\u0f52\u0f59"+
"\u0f5f\u0f62\u0f6f\u0f7c\u0f80\u0f84\u0f8b\u0f90\u0f96\u0f99\u0f9c\u0fa0"+
"\u0fa5\u0fa8\u0fb8\u0fbc\u0fc9\u0fcf\u0fd3\u0fda\u0fdf\u0fe8\u0fea\u0ff2"+
"\u0ff4\u0ffa\u1006\u100a\u100d\u1010\u101d\u1031\u1034\u1037\u103b\u1040"+
"\u1043\u1046\u1049\u104d\u1052\u1055\u1060\u1063\u1068\u106f\u1076\u1079"+
"\u1082\u1088\u108c\u1099\u10a6\u10aa\u10b1\u10b7\u10ba\u10c0\u10c4\u10c9"+
"\u10cc\u10d0\u10d5\u10d8\u10df\u10e2\u10e8\u10eb\u10f2\u10f5\u10f8\u10fb"+
"\u1103\u110b\u1111\u1114\u111c\u1123\u1129\u112c\u112f\u1132\u113d\u113f"+
"\u1141\u1148\u114a\u1150\u1186\u1188\u118c\u1192\u119d\u11a9\u11ac\u11ae"+
"\u11b5\u11bc\u11c4\u11c7\u11ca\u11d8\u11dd\u11e0\u11ee\u11f3\u11f6\u11fd"+
"\u11ff\u1205\u120a\u120e\u1211\u1214\u1220\u1223\u1226\u122a\u1233\u1237"+
"\u123a\u123d\u1240\u1246\u124e\u1259\u125c\u125f\u1262\u1264\u126c\u1270"+
"\u1277\u127a\u127d\u1285\u128e\u1291\u1295\u129c\u129e\u12a6\u12a9\u12b0"+
"\u12bc\u12d4\u12dc\u12e2\u12e6\u12ed\u12f5\u12f8\u12fe\u1304\u130c\u1314"+
"\u131f\u1325\u132c\u1332\u1335\u133b\u133e\u1345\u134b\u1351\u135e\u1362"+
"\u136b\u1375\u1379\u137b\u1385\u1398\u139c\u13a9\u13ad\u13be\u13c8\u13ce"+
"\u13d6\u13dd\u13e4\u13e7\u13f3\u13f7\u13ff\u1418\u141a\u1420\u1424\u142a"+
"\u142e\u1434\u1438\u143d\u144f\u1451\u1455\u1458\u145b\u145e\u1462\u1465"+
"\u146b\u1471\u1473\u1477\u147b\u147e\u1481\u1484\u1488\u148c\u148f\u1492"+
"\u1495\u1497\u14a1\u14af\u14b6\u14be\u14ca\u14dc\u14e3\u14ed\u14ef\u14f3"+
"\u14f6\u14fd\u150f\u1517\u151f\u1528\u152c\u1535\u153f\u1556\u1561\u156d"+
"\u1576\u1583\u1587\u158e\u1591\u1594\u159a\u159d\u15a0\u15a8\u15ab\u15b1"+
"\u15b4\u15ba\u15bd\u15c0\u15c6\u15c9\u15cd\u15d5\u15da\u15dc\u15de\u15e1"+
"\u15e5\u15ea\u15ee\u15f3\u15f7\u15ff\u1608\u160c\u160f\u1612\u1619\u161c"+
"\u1635\u163d\u1646\u164b\u164d\u164f\u165f\u1663\u166d\u1670\u1672\u1677"+
"\u1681\u1686\u168d\u1694\u169b\u16aa\u16ae\u16b4\u16b7\u16bd\u16c1\u16cc"+
"\u16d3\u16de\u16ea\u16ed\u1702\u1705\u170b\u1710\u1715\u1718\u171f\u172b"+
"\u1733\u173a\u1741\u1743\u174a\u1751\u1755\u175b\u1760\u1762\u176a\u176c"+
"\u1773\u1775\u1779\u177f\u1781\u1784\u178c\u1793\u1799\u179e\u17a2\u17b0"+
"\u17b5\u17c2\u17c4\u17cb\u17d3\u17d7\u17dc\u17e1\u17e6\u17ee\u17f7\u17fa"+
"\u1800\u1802\u1808\u180f\u181d\u1821\u1826\u182c\u1834\u1837\u183d\u1840"+
"\u1848\u184d\u1854\u1860\u1866\u1874\u1877\u187c\u1884\u1887\u188c\u1891"+
"\u189b\u18a2\u18a5\u18a8\u18b2\u18ba\u18c0\u18c6\u18cb\u18d0\u18d3\u18d6"+
"\u18d9\u18dc\u18df\u18e2\u18e5\u18e8\u18eb\u18ee\u18f9\u18fc\u18ff\u1902"+
"\u1905\u1907\u1915\u191c\u1922\u1926\u192b\u1932\u1937\u1940\u1942\u1948"+
"\u194b\u194f\u1952\u1955\u1963\u1980\u19a3\u19a5\u19ae\u19b2\u19bb\u19c1"+
"\u19c7\u19ca\u19cd\u19d0\u19d3\u19db\u19e3\u19e6\u19e9\u19f4\u19fa\u19fd"+
"\u19ff\u1a0a\u1a0e\u1a11\u1a14\u1a17\u1a1a\u1a1d\u1a22\u1a2a\u1a2f\u1a3c"+
"\u1a43\u1a50\u1a55\u1a5a\u1a5e\u1a6e\u1a75\u1a7b\u1a7f\u1a89\u1a91\u1a9c"+
"\u1aa1\u1aae\u1ab1\u1abb\u1abe\u1ac9\u1ad3\u1ad6\u1ade\u1ae1\u1aed\u1af2"+
"\u1afb\u1b00\u1b05\u1b0e\u1b13\u1b15\u1b1b\u1b1d\u1b20\u1b26\u1b2d\u1b39"+
"\u1b3c\u1b46\u1b4a\u1b4d\u1b56\u1b5b\u1b5f\u1b6b\u1b74\u1b78\u1b7d\u1b81"+
"\u1b85\u1b8f\u1b95\u1ba0\u1ba7\u1bad\u1bb0\u1bb3\u1bb6\u1bb9\u1bbd\u1bc0"+
"\u1bc5\u1bcf\u1bd5\u1bde\u1bed\u1bf6\u1bfa\u1bfd\u1c01\u1c03\u1c0a\u1c12"+
"\u1c18\u1c1f\u1c25\u1c28\u1c2c\u1c33\u1c36\u1c39\u1c40\u1c42\u1c47\u1c4b"+
"\u1c58\u1c5a\u1c5c\u1c65\u1c67\u1c6b\u1c72\u1c79\u1c7f\u1c86\u1c8a\u1c91"+
"\u1c98\u1c9e\u1ca4\u1cac\u1cb2\u1cc3\u1cc9\u1cd4\u1cda\u1cdc\u1ce4\u1cea"+
"\u1cf0\u1cf7\u1cff\u1d02\u1d0d\u1d18\u1d1d\u1d20\u1d27\u1d2c\u1d38\u1d3e"+
"\u1d54\u1d58\u1d66\u1d68\u1d71\u1d74\u1d7b\u1d7e\u1d86\u1d8b\u1d90\u1d98"+
"\u1da1\u1da8\u1dad\u1db0\u1db6\u1dcb\u1dcd\u1ddc\u1de0\u1de9\u1ded\u1dfe"+
"\u1e07\u1e11\u1e16\u1e32\u1e36\u1e41\u1e49\u1e4e\u1e5a\u1e66\u1e68\u1e6a"+
"\u1e77\u1e7c\u1e7e\u1e83\u1e8a\u1e94\u1e97\u1e99\u1e9e\u1ea3\u1eb7\u1ebb"+
"\u1ebe\u1ec1\u1ece\u1ed9\u1ee0\u1ee4\u1ee9\u1eec\u1ef0\u1ef8\u1efd\u1f03"+
"\u1f0c\u1f15\u1f1f\u1f25\u1f38\u1f3b\u1f57\u1f64\u1f68\u1f6a\u1f8c\u1f93"+
"\u1f9a\u1fa2\u1fa7\u1fad\u1fb9\u1fc2\u1fc5\u1fcc\u1fd1\u1fd5\u1fd8";
public static final String _serializedATN = Utils.join(
new String[] {
_serializedATNSegment0,
_serializedATNSegment1,
_serializedATNSegment2,
_serializedATNSegment3
},
""
);
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}