
com.squareup.sqldelight.SqliteParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of compiler Show documentation
Show all versions of compiler Show documentation
Common code shared between the Gradle and IntelliJ plugin
// Generated from com/squareup/sqldelight/Sqlite.g4 by ANTLR 4.5
package com.squareup.sqldelight;
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"})
public class SqliteParser extends Parser {
static { RuntimeMetaData.checkVersion("4.5", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__0=1, K_JAVA_BOOLEAN=2, K_JAVA_INTEGER=3, K_JAVA_LONG=4, K_JAVA_FLOAT=5,
K_JAVA_DOUBLE=6, K_JAVA_STRING=7, K_JAVA_BYTE_ARRAY=8, K_INTEGER=9, K_REAL=10,
K_TEXT=11, K_BLOB=12, SCOL=13, DOT=14, OPEN_PAR=15, CLOSE_PAR=16, COMMA=17,
ASSIGN=18, STAR=19, PLUS=20, MINUS=21, TILDE=22, PIPE2=23, DIV=24, MOD=25,
LT2=26, GT2=27, AMP=28, PIPE=29, LT=30, LT_EQ=31, GT=32, GT_EQ=33, EQ=34,
NOT_EQ1=35, NOT_EQ2=36, QUOTE=37, K_ABORT=38, K_ACTION=39, K_ADD=40, K_AFTER=41,
K_ALL=42, K_ALTER=43, K_ANALYZE=44, K_AND=45, K_AS=46, K_ASC=47, K_ATTACH=48,
K_AUTOINCREMENT=49, K_BEFORE=50, K_BEGIN=51, K_BETWEEN=52, K_BY=53, K_CASCADE=54,
K_CASE=55, K_CAST=56, K_CHECK=57, K_COLLATE=58, K_COLUMN=59, K_COMMIT=60,
K_CONFLICT=61, K_CONSTRAINT=62, K_CREATE=63, K_CROSS=64, K_CURRENT_DATE=65,
K_CURRENT_TIME=66, K_CURRENT_TIMESTAMP=67, K_DATABASE=68, K_DEFAULT=69,
K_DEFERRABLE=70, K_DEFERRED=71, K_DELETE=72, K_DESC=73, K_DETACH=74, K_DISTINCT=75,
K_DROP=76, K_EACH=77, K_ELSE=78, K_END=79, K_ESCAPE=80, K_EXCEPT=81, K_EXCLUSIVE=82,
K_EXISTS=83, K_EXPLAIN=84, K_FAIL=85, K_FOR=86, K_FOREIGN_KEY=87, K_FROM=88,
K_FULL=89, K_GLOB=90, K_GROUP=91, K_HAVING=92, K_IF=93, K_IGNORE=94, K_IMMEDIATE=95,
K_IMPORT=96, K_IN=97, K_INDEX=98, K_INDEXED=99, K_INITIALLY=100, K_INNER=101,
K_INSERT=102, K_INSTEAD=103, K_INTERSECT=104, K_INTO=105, K_IS=106, K_ISNULL=107,
K_JOIN=108, K_LEFT=109, K_LIKE=110, K_LIMIT=111, K_MATCH=112, K_NATURAL=113,
K_NO=114, K_NOT=115, K_NOTNULL=116, K_NULL=117, K_OF=118, K_OFFSET=119,
K_ON=120, K_OR=121, K_ORDER=122, K_OUTER=123, K_PLAN=124, K_PRAGMA=125,
K_PRIMARY_KEY=126, K_QUERY=127, K_RAISE=128, K_RECURSIVE=129, K_REFERENCES=130,
K_REGEXP=131, K_REINDEX=132, K_RELEASE=133, K_RENAME=134, K_REPLACE=135,
K_RESTRICT=136, K_RIGHT=137, K_ROLLBACK=138, K_ROW=139, K_SAVEPOINT=140,
K_SELECT=141, K_SET=142, K_TABLE=143, K_TEMP=144, K_TEMPORARY=145, K_THEN=146,
K_TO=147, K_TRANSACTION=148, K_TRIGGER=149, K_UNION=150, K_UNIQUE=151,
K_UPDATE=152, K_USING=153, K_VACUUM=154, K_VALUES=155, K_VIEW=156, K_WHEN=157,
K_WHERE=158, K_WITH=159, K_WITHOUT=160, IDENTIFIER=161, INTEGER_LITERAL=162,
REAL_LITERAL=163, BIND_PARAMETER=164, STRING_LITERAL=165, BLOB_LITERAL=166,
SINGLE_LINE_COMMENT=167, MULTILINE_COMMENT=168, SPACES=169, UNEXPECTED_CHAR=170;
public static final int
RULE_parse = 0, RULE_error = 1, RULE_sql_stmt_list = 2, RULE_import_stmt = 3,
RULE_sql_stmt = 4, RULE_alter_table_stmt = 5, RULE_analyze_stmt = 6, RULE_create_index_stmt = 7,
RULE_create_table_stmt = 8, RULE_create_trigger_stmt = 9, RULE_create_view_stmt = 10,
RULE_delete_stmt = 11, RULE_delete_stmt_limited = 12, RULE_drop_index_stmt = 13,
RULE_drop_table_stmt = 14, RULE_drop_trigger_stmt = 15, RULE_drop_view_stmt = 16,
RULE_insert_stmt = 17, RULE_pragma_stmt = 18, RULE_reindex_stmt = 19,
RULE_release_stmt = 20, RULE_savepoint_stmt = 21, RULE_select_stmt = 22,
RULE_select_or_values = 23, RULE_having_stmt = 24, RULE_values = 25, RULE_update_stmt = 26,
RULE_update_stmt_limited = 27, RULE_vacuum_stmt = 28, RULE_column_def = 29,
RULE_type_name = 30, RULE_column_constraint = 31, RULE_conflict_clause = 32,
RULE_expr = 33, RULE_return_expr = 34, RULE_foreign_key_clause = 35, RULE_raise_function = 36,
RULE_indexed_column = 37, RULE_table_constraint = 38, RULE_with_clause = 39,
RULE_qualified_table_name = 40, RULE_ordering_term = 41, RULE_pragma_value = 42,
RULE_common_table_expression = 43, RULE_result_column = 44, RULE_table_or_subquery = 45,
RULE_join_clause = 46, RULE_join_operator = 47, RULE_join_constraint = 48,
RULE_compound_operator = 49, RULE_signed_number = 50, RULE_literal_value = 51,
RULE_unary_operator = 52, RULE_error_message = 53, RULE_column_alias = 54,
RULE_keyword = 55, RULE_name = 56, RULE_function_name = 57, RULE_table_name = 58,
RULE_table_or_index_name = 59, RULE_new_table_name = 60, RULE_column_name = 61,
RULE_sql_stmt_name = 62, RULE_collation_name = 63, RULE_foreign_table = 64,
RULE_index_name = 65, RULE_trigger_name = 66, RULE_view_name = 67, RULE_pragma_name = 68,
RULE_savepoint_name = 69, RULE_table_alias = 70, RULE_sqlite_type_name = 71,
RULE_java_type_name = 72, RULE_custom_type = 73, RULE_java_type_name2 = 74,
RULE_java_type = 75, RULE_any_name = 76;
public static final String[] ruleNames = {
"parse", "error", "sql_stmt_list", "import_stmt", "sql_stmt", "alter_table_stmt",
"analyze_stmt", "create_index_stmt", "create_table_stmt", "create_trigger_stmt",
"create_view_stmt", "delete_stmt", "delete_stmt_limited", "drop_index_stmt",
"drop_table_stmt", "drop_trigger_stmt", "drop_view_stmt", "insert_stmt",
"pragma_stmt", "reindex_stmt", "release_stmt", "savepoint_stmt", "select_stmt",
"select_or_values", "having_stmt", "values", "update_stmt", "update_stmt_limited",
"vacuum_stmt", "column_def", "type_name", "column_constraint", "conflict_clause",
"expr", "return_expr", "foreign_key_clause", "raise_function", "indexed_column",
"table_constraint", "with_clause", "qualified_table_name", "ordering_term",
"pragma_value", "common_table_expression", "result_column", "table_or_subquery",
"join_clause", "join_operator", "join_constraint", "compound_operator",
"signed_number", "literal_value", "unary_operator", "error_message", "column_alias",
"keyword", "name", "function_name", "table_name", "table_or_index_name",
"new_table_name", "column_name", "sql_stmt_name", "collation_name", "foreign_table",
"index_name", "trigger_name", "view_name", "pragma_name", "savepoint_name",
"table_alias", "sqlite_type_name", "java_type_name", "custom_type", "java_type_name2",
"java_type", "any_name"
};
private static final String[] _LITERAL_NAMES = {
null, "':'", null, null, null, null, null, null, null, null, null, null,
null, "';'", "'.'", "'('", "')'", "','", "'='", "'*'", "'+'", "'-'", "'~'",
"'||'", "'/'", "'%'", "'<<'", "'>>'", "'&'", "'|'", "'<'", "'<='", "'>'",
"'>='", "'=='", "'!='", "'<>'", "'''"
};
private static final String[] _SYMBOLIC_NAMES = {
null, null, "K_JAVA_BOOLEAN", "K_JAVA_INTEGER", "K_JAVA_LONG", "K_JAVA_FLOAT",
"K_JAVA_DOUBLE", "K_JAVA_STRING", "K_JAVA_BYTE_ARRAY", "K_INTEGER", "K_REAL",
"K_TEXT", "K_BLOB", "SCOL", "DOT", "OPEN_PAR", "CLOSE_PAR", "COMMA", "ASSIGN",
"STAR", "PLUS", "MINUS", "TILDE", "PIPE2", "DIV", "MOD", "LT2", "GT2",
"AMP", "PIPE", "LT", "LT_EQ", "GT", "GT_EQ", "EQ", "NOT_EQ1", "NOT_EQ2",
"QUOTE", "K_ABORT", "K_ACTION", "K_ADD", "K_AFTER", "K_ALL", "K_ALTER",
"K_ANALYZE", "K_AND", "K_AS", "K_ASC", "K_ATTACH", "K_AUTOINCREMENT",
"K_BEFORE", "K_BEGIN", "K_BETWEEN", "K_BY", "K_CASCADE", "K_CASE", "K_CAST",
"K_CHECK", "K_COLLATE", "K_COLUMN", "K_COMMIT", "K_CONFLICT", "K_CONSTRAINT",
"K_CREATE", "K_CROSS", "K_CURRENT_DATE", "K_CURRENT_TIME", "K_CURRENT_TIMESTAMP",
"K_DATABASE", "K_DEFAULT", "K_DEFERRABLE", "K_DEFERRED", "K_DELETE", "K_DESC",
"K_DETACH", "K_DISTINCT", "K_DROP", "K_EACH", "K_ELSE", "K_END", "K_ESCAPE",
"K_EXCEPT", "K_EXCLUSIVE", "K_EXISTS", "K_EXPLAIN", "K_FAIL", "K_FOR",
"K_FOREIGN_KEY", "K_FROM", "K_FULL", "K_GLOB", "K_GROUP", "K_HAVING",
"K_IF", "K_IGNORE", "K_IMMEDIATE", "K_IMPORT", "K_IN", "K_INDEX", "K_INDEXED",
"K_INITIALLY", "K_INNER", "K_INSERT", "K_INSTEAD", "K_INTERSECT", "K_INTO",
"K_IS", "K_ISNULL", "K_JOIN", "K_LEFT", "K_LIKE", "K_LIMIT", "K_MATCH",
"K_NATURAL", "K_NO", "K_NOT", "K_NOTNULL", "K_NULL", "K_OF", "K_OFFSET",
"K_ON", "K_OR", "K_ORDER", "K_OUTER", "K_PLAN", "K_PRAGMA", "K_PRIMARY_KEY",
"K_QUERY", "K_RAISE", "K_RECURSIVE", "K_REFERENCES", "K_REGEXP", "K_REINDEX",
"K_RELEASE", "K_RENAME", "K_REPLACE", "K_RESTRICT", "K_RIGHT", "K_ROLLBACK",
"K_ROW", "K_SAVEPOINT", "K_SELECT", "K_SET", "K_TABLE", "K_TEMP", "K_TEMPORARY",
"K_THEN", "K_TO", "K_TRANSACTION", "K_TRIGGER", "K_UNION", "K_UNIQUE",
"K_UPDATE", "K_USING", "K_VACUUM", "K_VALUES", "K_VIEW", "K_WHEN", "K_WHERE",
"K_WITH", "K_WITHOUT", "IDENTIFIER", "INTEGER_LITERAL", "REAL_LITERAL",
"BIND_PARAMETER", "STRING_LITERAL", "BLOB_LITERAL", "SINGLE_LINE_COMMENT",
"MULTILINE_COMMENT", "SPACES", "UNEXPECTED_CHAR"
};
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] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "Sqlite.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public SqliteParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class ParseContext extends ParserRuleContext {
public TerminalNode EOF() { return getToken(SqliteParser.EOF, 0); }
public Sql_stmt_listContext sql_stmt_list() {
return getRuleContext(Sql_stmt_listContext.class,0);
}
public ErrorContext error() {
return getRuleContext(ErrorContext.class,0);
}
public ParseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parse; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterParse(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitParse(this);
}
}
public final ParseContext parse() throws RecognitionException {
ParseContext _localctx = new ParseContext(_ctx, getState());
enterRule(_localctx, 0, RULE_parse);
try {
enterOuterAlt(_localctx, 1);
{
setState(156);
switch (_input.LA(1)) {
case EOF:
case K_CREATE:
case K_IMPORT:
case IDENTIFIER:
{
setState(154);
sql_stmt_list();
}
break;
case UNEXPECTED_CHAR:
{
setState(155);
error();
}
break;
default:
throw new NoViableAltException(this);
}
setState(158);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ErrorContext extends ParserRuleContext {
public TerminalNode UNEXPECTED_CHAR() { return getToken(SqliteParser.UNEXPECTED_CHAR, 0); }
public ErrorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_error; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterError(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitError(this);
}
}
public final ErrorContext error() throws RecognitionException {
ErrorContext _localctx = new ErrorContext(_ctx, getState());
enterRule(_localctx, 2, RULE_error);
try {
enterOuterAlt(_localctx, 1);
{
setState(160);
match(UNEXPECTED_CHAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Sql_stmt_listContext extends ParserRuleContext {
public List import_stmt() {
return getRuleContexts(Import_stmtContext.class);
}
public Import_stmtContext import_stmt(int i) {
return getRuleContext(Import_stmtContext.class,i);
}
public Create_table_stmtContext create_table_stmt() {
return getRuleContext(Create_table_stmtContext.class,0);
}
public List sql_stmt() {
return getRuleContexts(Sql_stmtContext.class);
}
public Sql_stmtContext sql_stmt(int i) {
return getRuleContext(Sql_stmtContext.class,i);
}
public Sql_stmt_listContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sql_stmt_list; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSql_stmt_list(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSql_stmt_list(this);
}
}
public final Sql_stmt_listContext sql_stmt_list() throws RecognitionException {
Sql_stmt_listContext _localctx = new Sql_stmt_listContext(_ctx, getState());
enterRule(_localctx, 4, RULE_sql_stmt_list);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(165);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==K_IMPORT) {
{
{
setState(162);
import_stmt();
}
}
setState(167);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(171);
_la = _input.LA(1);
if (_la==K_CREATE) {
{
setState(168);
create_table_stmt();
setState(169);
match(SCOL);
}
}
setState(178);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==IDENTIFIER) {
{
{
setState(173);
sql_stmt();
setState(174);
match(SCOL);
}
}
setState(180);
_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;
}
public static class Import_stmtContext extends ParserRuleContext {
public TerminalNode K_IMPORT() { return getToken(SqliteParser.K_IMPORT, 0); }
public Java_type_nameContext java_type_name() {
return getRuleContext(Java_type_nameContext.class,0);
}
public Import_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterImport_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitImport_stmt(this);
}
}
public final Import_stmtContext import_stmt() throws RecognitionException {
Import_stmtContext _localctx = new Import_stmtContext(_ctx, getState());
enterRule(_localctx, 6, RULE_import_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(181);
match(K_IMPORT);
setState(182);
java_type_name();
setState(183);
match(SCOL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Sql_stmtContext extends ParserRuleContext {
public Sql_stmt_nameContext sql_stmt_name() {
return getRuleContext(Sql_stmt_nameContext.class,0);
}
public Alter_table_stmtContext alter_table_stmt() {
return getRuleContext(Alter_table_stmtContext.class,0);
}
public Analyze_stmtContext analyze_stmt() {
return getRuleContext(Analyze_stmtContext.class,0);
}
public Create_index_stmtContext create_index_stmt() {
return getRuleContext(Create_index_stmtContext.class,0);
}
public Create_trigger_stmtContext create_trigger_stmt() {
return getRuleContext(Create_trigger_stmtContext.class,0);
}
public Create_view_stmtContext create_view_stmt() {
return getRuleContext(Create_view_stmtContext.class,0);
}
public Delete_stmtContext delete_stmt() {
return getRuleContext(Delete_stmtContext.class,0);
}
public Delete_stmt_limitedContext delete_stmt_limited() {
return getRuleContext(Delete_stmt_limitedContext.class,0);
}
public Drop_index_stmtContext drop_index_stmt() {
return getRuleContext(Drop_index_stmtContext.class,0);
}
public Drop_table_stmtContext drop_table_stmt() {
return getRuleContext(Drop_table_stmtContext.class,0);
}
public Drop_trigger_stmtContext drop_trigger_stmt() {
return getRuleContext(Drop_trigger_stmtContext.class,0);
}
public Drop_view_stmtContext drop_view_stmt() {
return getRuleContext(Drop_view_stmtContext.class,0);
}
public Insert_stmtContext insert_stmt() {
return getRuleContext(Insert_stmtContext.class,0);
}
public Pragma_stmtContext pragma_stmt() {
return getRuleContext(Pragma_stmtContext.class,0);
}
public Reindex_stmtContext reindex_stmt() {
return getRuleContext(Reindex_stmtContext.class,0);
}
public Release_stmtContext release_stmt() {
return getRuleContext(Release_stmtContext.class,0);
}
public Savepoint_stmtContext savepoint_stmt() {
return getRuleContext(Savepoint_stmtContext.class,0);
}
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public Update_stmtContext update_stmt() {
return getRuleContext(Update_stmtContext.class,0);
}
public Update_stmt_limitedContext update_stmt_limited() {
return getRuleContext(Update_stmt_limitedContext.class,0);
}
public Vacuum_stmtContext vacuum_stmt() {
return getRuleContext(Vacuum_stmtContext.class,0);
}
public TerminalNode K_EXPLAIN() { return getToken(SqliteParser.K_EXPLAIN, 0); }
public TerminalNode K_QUERY() { return getToken(SqliteParser.K_QUERY, 0); }
public TerminalNode K_PLAN() { return getToken(SqliteParser.K_PLAN, 0); }
public Sql_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sql_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSql_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSql_stmt(this);
}
}
public final Sql_stmtContext sql_stmt() throws RecognitionException {
Sql_stmtContext _localctx = new Sql_stmtContext(_ctx, getState());
enterRule(_localctx, 8, RULE_sql_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(185);
sql_stmt_name();
setState(186);
match(T__0);
setState(192);
_la = _input.LA(1);
if (_la==K_EXPLAIN) {
{
setState(187);
match(K_EXPLAIN);
setState(190);
_la = _input.LA(1);
if (_la==K_QUERY) {
{
setState(188);
match(K_QUERY);
setState(189);
match(K_PLAN);
}
}
}
}
setState(214);
switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
case 1:
{
setState(194);
alter_table_stmt();
}
break;
case 2:
{
setState(195);
analyze_stmt();
}
break;
case 3:
{
setState(196);
create_index_stmt();
}
break;
case 4:
{
setState(197);
create_trigger_stmt();
}
break;
case 5:
{
setState(198);
create_view_stmt();
}
break;
case 6:
{
setState(199);
delete_stmt();
}
break;
case 7:
{
setState(200);
delete_stmt_limited();
}
break;
case 8:
{
setState(201);
drop_index_stmt();
}
break;
case 9:
{
setState(202);
drop_table_stmt();
}
break;
case 10:
{
setState(203);
drop_trigger_stmt();
}
break;
case 11:
{
setState(204);
drop_view_stmt();
}
break;
case 12:
{
setState(205);
insert_stmt();
}
break;
case 13:
{
setState(206);
pragma_stmt();
}
break;
case 14:
{
setState(207);
reindex_stmt();
}
break;
case 15:
{
setState(208);
release_stmt();
}
break;
case 16:
{
setState(209);
savepoint_stmt();
}
break;
case 17:
{
setState(210);
select_stmt();
}
break;
case 18:
{
setState(211);
update_stmt();
}
break;
case 19:
{
setState(212);
update_stmt_limited();
}
break;
case 20:
{
setState(213);
vacuum_stmt();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Alter_table_stmtContext extends ParserRuleContext {
public TerminalNode K_ALTER() { return getToken(SqliteParser.K_ALTER, 0); }
public TerminalNode K_TABLE() { return getToken(SqliteParser.K_TABLE, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_RENAME() { return getToken(SqliteParser.K_RENAME, 0); }
public TerminalNode K_TO() { return getToken(SqliteParser.K_TO, 0); }
public New_table_nameContext new_table_name() {
return getRuleContext(New_table_nameContext.class,0);
}
public TerminalNode K_ADD() { return getToken(SqliteParser.K_ADD, 0); }
public Column_defContext column_def() {
return getRuleContext(Column_defContext.class,0);
}
public TerminalNode K_COLUMN() { return getToken(SqliteParser.K_COLUMN, 0); }
public Alter_table_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alter_table_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterAlter_table_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitAlter_table_stmt(this);
}
}
public final Alter_table_stmtContext alter_table_stmt() throws RecognitionException {
Alter_table_stmtContext _localctx = new Alter_table_stmtContext(_ctx, getState());
enterRule(_localctx, 10, RULE_alter_table_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(216);
match(K_ALTER);
setState(217);
match(K_TABLE);
setState(218);
table_name();
setState(227);
switch (_input.LA(1)) {
case K_RENAME:
{
setState(219);
match(K_RENAME);
setState(220);
match(K_TO);
setState(221);
new_table_name();
}
break;
case K_ADD:
{
setState(222);
match(K_ADD);
setState(224);
_la = _input.LA(1);
if (_la==K_COLUMN) {
{
setState(223);
match(K_COLUMN);
}
}
setState(226);
column_def();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Analyze_stmtContext extends ParserRuleContext {
public TerminalNode K_ANALYZE() { return getToken(SqliteParser.K_ANALYZE, 0); }
public Table_or_index_nameContext table_or_index_name() {
return getRuleContext(Table_or_index_nameContext.class,0);
}
public Analyze_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_analyze_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterAnalyze_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitAnalyze_stmt(this);
}
}
public final Analyze_stmtContext analyze_stmt() throws RecognitionException {
Analyze_stmtContext _localctx = new Analyze_stmtContext(_ctx, getState());
enterRule(_localctx, 12, RULE_analyze_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(229);
match(K_ANALYZE);
setState(230);
table_or_index_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Create_index_stmtContext extends ParserRuleContext {
public TerminalNode K_CREATE() { return getToken(SqliteParser.K_CREATE, 0); }
public TerminalNode K_INDEX() { return getToken(SqliteParser.K_INDEX, 0); }
public Index_nameContext index_name() {
return getRuleContext(Index_nameContext.class,0);
}
public TerminalNode K_ON() { return getToken(SqliteParser.K_ON, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public List indexed_column() {
return getRuleContexts(Indexed_columnContext.class);
}
public Indexed_columnContext indexed_column(int i) {
return getRuleContext(Indexed_columnContext.class,i);
}
public TerminalNode K_UNIQUE() { return getToken(SqliteParser.K_UNIQUE, 0); }
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Create_index_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_index_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCreate_index_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCreate_index_stmt(this);
}
}
public final Create_index_stmtContext create_index_stmt() throws RecognitionException {
Create_index_stmtContext _localctx = new Create_index_stmtContext(_ctx, getState());
enterRule(_localctx, 14, RULE_create_index_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(232);
match(K_CREATE);
setState(234);
_la = _input.LA(1);
if (_la==K_UNIQUE) {
{
setState(233);
match(K_UNIQUE);
}
}
setState(236);
match(K_INDEX);
setState(240);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(237);
match(K_IF);
setState(238);
match(K_NOT);
setState(239);
match(K_EXISTS);
}
}
setState(242);
index_name();
setState(243);
match(K_ON);
setState(244);
table_name();
setState(245);
match(OPEN_PAR);
setState(246);
indexed_column();
setState(251);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(247);
match(COMMA);
setState(248);
indexed_column();
}
}
setState(253);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(254);
match(CLOSE_PAR);
setState(257);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(255);
match(K_WHERE);
setState(256);
expr(0);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Create_table_stmtContext extends ParserRuleContext {
public TerminalNode K_CREATE() { return getToken(SqliteParser.K_CREATE, 0); }
public TerminalNode K_TABLE() { return getToken(SqliteParser.K_TABLE, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public List column_def() {
return getRuleContexts(Column_defContext.class);
}
public Column_defContext column_def(int i) {
return getRuleContext(Column_defContext.class,i);
}
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_TEMP() { return getToken(SqliteParser.K_TEMP, 0); }
public TerminalNode K_TEMPORARY() { return getToken(SqliteParser.K_TEMPORARY, 0); }
public List table_constraint() {
return getRuleContexts(Table_constraintContext.class);
}
public Table_constraintContext table_constraint(int i) {
return getRuleContext(Table_constraintContext.class,i);
}
public TerminalNode K_WITHOUT() { return getToken(SqliteParser.K_WITHOUT, 0); }
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public Create_table_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_table_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCreate_table_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCreate_table_stmt(this);
}
}
public final Create_table_stmtContext create_table_stmt() throws RecognitionException {
Create_table_stmtContext _localctx = new Create_table_stmtContext(_ctx, getState());
enterRule(_localctx, 16, RULE_create_table_stmt);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(259);
match(K_CREATE);
setState(261);
_la = _input.LA(1);
if (_la==K_TEMP || _la==K_TEMPORARY) {
{
setState(260);
_la = _input.LA(1);
if ( !(_la==K_TEMP || _la==K_TEMPORARY) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(263);
match(K_TABLE);
setState(267);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(264);
match(K_IF);
setState(265);
match(K_NOT);
setState(266);
match(K_EXISTS);
}
}
setState(269);
table_name();
setState(293);
switch (_input.LA(1)) {
case OPEN_PAR:
{
setState(270);
match(OPEN_PAR);
setState(271);
column_def();
setState(276);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,15,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(272);
match(COMMA);
setState(273);
column_def();
}
}
}
setState(278);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,15,_ctx);
}
setState(283);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(279);
match(COMMA);
setState(280);
table_constraint();
}
}
setState(285);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(286);
match(CLOSE_PAR);
setState(289);
_la = _input.LA(1);
if (_la==K_WITHOUT) {
{
setState(287);
match(K_WITHOUT);
setState(288);
match(IDENTIFIER);
}
}
}
break;
case K_AS:
{
setState(291);
match(K_AS);
setState(292);
select_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;
}
public static class Create_trigger_stmtContext extends ParserRuleContext {
public TerminalNode K_CREATE() { return getToken(SqliteParser.K_CREATE, 0); }
public TerminalNode K_TRIGGER() { return getToken(SqliteParser.K_TRIGGER, 0); }
public Trigger_nameContext trigger_name() {
return getRuleContext(Trigger_nameContext.class,0);
}
public TerminalNode K_ON() { return getToken(SqliteParser.K_ON, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_BEGIN() { return getToken(SqliteParser.K_BEGIN, 0); }
public TerminalNode K_END() { return getToken(SqliteParser.K_END, 0); }
public TerminalNode K_DELETE() { return getToken(SqliteParser.K_DELETE, 0); }
public TerminalNode K_INSERT() { return getToken(SqliteParser.K_INSERT, 0); }
public TerminalNode K_UPDATE() { return getToken(SqliteParser.K_UPDATE, 0); }
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_BEFORE() { return getToken(SqliteParser.K_BEFORE, 0); }
public TerminalNode K_AFTER() { return getToken(SqliteParser.K_AFTER, 0); }
public TerminalNode K_INSTEAD() { return getToken(SqliteParser.K_INSTEAD, 0); }
public List K_OF() { return getTokens(SqliteParser.K_OF); }
public TerminalNode K_OF(int i) {
return getToken(SqliteParser.K_OF, i);
}
public TerminalNode K_FOR() { return getToken(SqliteParser.K_FOR, 0); }
public TerminalNode K_EACH() { return getToken(SqliteParser.K_EACH, 0); }
public TerminalNode K_ROW() { return getToken(SqliteParser.K_ROW, 0); }
public TerminalNode K_WHEN() { return getToken(SqliteParser.K_WHEN, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode K_TEMP() { return getToken(SqliteParser.K_TEMP, 0); }
public TerminalNode K_TEMPORARY() { return getToken(SqliteParser.K_TEMPORARY, 0); }
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public List update_stmt() {
return getRuleContexts(Update_stmtContext.class);
}
public Update_stmtContext update_stmt(int i) {
return getRuleContext(Update_stmtContext.class,i);
}
public List insert_stmt() {
return getRuleContexts(Insert_stmtContext.class);
}
public Insert_stmtContext insert_stmt(int i) {
return getRuleContext(Insert_stmtContext.class,i);
}
public List delete_stmt() {
return getRuleContexts(Delete_stmtContext.class);
}
public Delete_stmtContext delete_stmt(int i) {
return getRuleContext(Delete_stmtContext.class,i);
}
public List select_stmt() {
return getRuleContexts(Select_stmtContext.class);
}
public Select_stmtContext select_stmt(int i) {
return getRuleContext(Select_stmtContext.class,i);
}
public Create_trigger_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_trigger_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCreate_trigger_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCreate_trigger_stmt(this);
}
}
public final Create_trigger_stmtContext create_trigger_stmt() throws RecognitionException {
Create_trigger_stmtContext _localctx = new Create_trigger_stmtContext(_ctx, getState());
enterRule(_localctx, 18, RULE_create_trigger_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(295);
match(K_CREATE);
setState(297);
_la = _input.LA(1);
if (_la==K_TEMP || _la==K_TEMPORARY) {
{
setState(296);
_la = _input.LA(1);
if ( !(_la==K_TEMP || _la==K_TEMPORARY) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(299);
match(K_TRIGGER);
setState(303);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(300);
match(K_IF);
setState(301);
match(K_NOT);
setState(302);
match(K_EXISTS);
}
}
setState(305);
trigger_name();
setState(310);
switch (_input.LA(1)) {
case K_BEFORE:
{
setState(306);
match(K_BEFORE);
}
break;
case K_AFTER:
{
setState(307);
match(K_AFTER);
}
break;
case K_INSTEAD:
{
setState(308);
match(K_INSTEAD);
setState(309);
match(K_OF);
}
break;
case K_DELETE:
case K_INSERT:
case K_UPDATE:
break;
default:
throw new NoViableAltException(this);
}
setState(326);
switch (_input.LA(1)) {
case K_DELETE:
{
setState(312);
match(K_DELETE);
}
break;
case K_INSERT:
{
setState(313);
match(K_INSERT);
}
break;
case K_UPDATE:
{
setState(314);
match(K_UPDATE);
setState(324);
_la = _input.LA(1);
if (_la==K_OF) {
{
setState(315);
match(K_OF);
setState(316);
column_name();
setState(321);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(317);
match(COMMA);
setState(318);
column_name();
}
}
setState(323);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(328);
match(K_ON);
setState(329);
table_name();
setState(333);
_la = _input.LA(1);
if (_la==K_FOR) {
{
setState(330);
match(K_FOR);
setState(331);
match(K_EACH);
setState(332);
match(K_ROW);
}
}
setState(337);
_la = _input.LA(1);
if (_la==K_WHEN) {
{
setState(335);
match(K_WHEN);
setState(336);
expr(0);
}
}
setState(339);
match(K_BEGIN);
setState(348);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(344);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
{
setState(340);
update_stmt();
}
break;
case 2:
{
setState(341);
insert_stmt();
}
break;
case 3:
{
setState(342);
delete_stmt();
}
break;
case 4:
{
setState(343);
select_stmt();
}
break;
}
setState(346);
match(SCOL);
}
}
setState(350);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( ((((_la - 72)) & ~0x3f) == 0 && ((1L << (_la - 72)) & ((1L << (K_DELETE - 72)) | (1L << (K_INSERT - 72)) | (1L << (K_REPLACE - 72)))) != 0) || ((((_la - 141)) & ~0x3f) == 0 && ((1L << (_la - 141)) & ((1L << (K_SELECT - 141)) | (1L << (K_UPDATE - 141)) | (1L << (K_VALUES - 141)) | (1L << (K_WITH - 141)))) != 0) );
setState(352);
match(K_END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Create_view_stmtContext extends ParserRuleContext {
public TerminalNode K_CREATE() { return getToken(SqliteParser.K_CREATE, 0); }
public TerminalNode K_VIEW() { return getToken(SqliteParser.K_VIEW, 0); }
public View_nameContext view_name() {
return getRuleContext(View_nameContext.class,0);
}
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_TEMP() { return getToken(SqliteParser.K_TEMP, 0); }
public TerminalNode K_TEMPORARY() { return getToken(SqliteParser.K_TEMPORARY, 0); }
public Create_view_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_create_view_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCreate_view_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCreate_view_stmt(this);
}
}
public final Create_view_stmtContext create_view_stmt() throws RecognitionException {
Create_view_stmtContext _localctx = new Create_view_stmtContext(_ctx, getState());
enterRule(_localctx, 20, RULE_create_view_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(354);
match(K_CREATE);
setState(356);
_la = _input.LA(1);
if (_la==K_TEMP || _la==K_TEMPORARY) {
{
setState(355);
_la = _input.LA(1);
if ( !(_la==K_TEMP || _la==K_TEMPORARY) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(358);
match(K_VIEW);
setState(362);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(359);
match(K_IF);
setState(360);
match(K_NOT);
setState(361);
match(K_EXISTS);
}
}
setState(364);
view_name();
setState(365);
match(K_AS);
setState(366);
select_stmt();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Delete_stmtContext extends ParserRuleContext {
public TerminalNode K_DELETE() { return getToken(SqliteParser.K_DELETE, 0); }
public TerminalNode K_FROM() { return getToken(SqliteParser.K_FROM, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Delete_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_delete_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDelete_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDelete_stmt(this);
}
}
public final Delete_stmtContext delete_stmt() throws RecognitionException {
Delete_stmtContext _localctx = new Delete_stmtContext(_ctx, getState());
enterRule(_localctx, 22, RULE_delete_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(369);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(368);
with_clause();
}
}
setState(371);
match(K_DELETE);
setState(372);
match(K_FROM);
setState(373);
table_name();
setState(376);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(374);
match(K_WHERE);
setState(375);
expr(0);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Delete_stmt_limitedContext extends ParserRuleContext {
public TerminalNode K_DELETE() { return getToken(SqliteParser.K_DELETE, 0); }
public TerminalNode K_FROM() { return getToken(SqliteParser.K_FROM, 0); }
public Qualified_table_nameContext qualified_table_name() {
return getRuleContext(Qualified_table_nameContext.class,0);
}
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode K_LIMIT() { return getToken(SqliteParser.K_LIMIT, 0); }
public TerminalNode K_ORDER() { return getToken(SqliteParser.K_ORDER, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public List ordering_term() {
return getRuleContexts(Ordering_termContext.class);
}
public Ordering_termContext ordering_term(int i) {
return getRuleContext(Ordering_termContext.class,i);
}
public TerminalNode K_OFFSET() { return getToken(SqliteParser.K_OFFSET, 0); }
public Delete_stmt_limitedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_delete_stmt_limited; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDelete_stmt_limited(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDelete_stmt_limited(this);
}
}
public final Delete_stmt_limitedContext delete_stmt_limited() throws RecognitionException {
Delete_stmt_limitedContext _localctx = new Delete_stmt_limitedContext(_ctx, getState());
enterRule(_localctx, 24, RULE_delete_stmt_limited);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(379);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(378);
with_clause();
}
}
setState(381);
match(K_DELETE);
setState(382);
match(K_FROM);
setState(383);
qualified_table_name();
setState(386);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(384);
match(K_WHERE);
setState(385);
expr(0);
}
}
setState(406);
_la = _input.LA(1);
if (_la==K_LIMIT || _la==K_ORDER) {
{
setState(398);
_la = _input.LA(1);
if (_la==K_ORDER) {
{
setState(388);
match(K_ORDER);
setState(389);
match(K_BY);
setState(390);
ordering_term();
setState(395);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(391);
match(COMMA);
setState(392);
ordering_term();
}
}
setState(397);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(400);
match(K_LIMIT);
setState(401);
expr(0);
setState(404);
_la = _input.LA(1);
if (_la==COMMA || _la==K_OFFSET) {
{
setState(402);
_la = _input.LA(1);
if ( !(_la==COMMA || _la==K_OFFSET) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(403);
expr(0);
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Drop_index_stmtContext extends ParserRuleContext {
public TerminalNode K_DROP() { return getToken(SqliteParser.K_DROP, 0); }
public TerminalNode K_INDEX() { return getToken(SqliteParser.K_INDEX, 0); }
public Index_nameContext index_name() {
return getRuleContext(Index_nameContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public Drop_index_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_drop_index_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDrop_index_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDrop_index_stmt(this);
}
}
public final Drop_index_stmtContext drop_index_stmt() throws RecognitionException {
Drop_index_stmtContext _localctx = new Drop_index_stmtContext(_ctx, getState());
enterRule(_localctx, 26, RULE_drop_index_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(408);
match(K_DROP);
setState(409);
match(K_INDEX);
setState(412);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(410);
match(K_IF);
setState(411);
match(K_EXISTS);
}
}
setState(414);
index_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Drop_table_stmtContext extends ParserRuleContext {
public TerminalNode K_DROP() { return getToken(SqliteParser.K_DROP, 0); }
public TerminalNode K_TABLE() { return getToken(SqliteParser.K_TABLE, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public Drop_table_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_drop_table_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDrop_table_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDrop_table_stmt(this);
}
}
public final Drop_table_stmtContext drop_table_stmt() throws RecognitionException {
Drop_table_stmtContext _localctx = new Drop_table_stmtContext(_ctx, getState());
enterRule(_localctx, 28, RULE_drop_table_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(416);
match(K_DROP);
setState(417);
match(K_TABLE);
setState(420);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(418);
match(K_IF);
setState(419);
match(K_EXISTS);
}
}
setState(422);
table_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Drop_trigger_stmtContext extends ParserRuleContext {
public TerminalNode K_DROP() { return getToken(SqliteParser.K_DROP, 0); }
public TerminalNode K_TRIGGER() { return getToken(SqliteParser.K_TRIGGER, 0); }
public Trigger_nameContext trigger_name() {
return getRuleContext(Trigger_nameContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public Drop_trigger_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_drop_trigger_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDrop_trigger_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDrop_trigger_stmt(this);
}
}
public final Drop_trigger_stmtContext drop_trigger_stmt() throws RecognitionException {
Drop_trigger_stmtContext _localctx = new Drop_trigger_stmtContext(_ctx, getState());
enterRule(_localctx, 30, RULE_drop_trigger_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(424);
match(K_DROP);
setState(425);
match(K_TRIGGER);
setState(428);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(426);
match(K_IF);
setState(427);
match(K_EXISTS);
}
}
setState(430);
trigger_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Drop_view_stmtContext extends ParserRuleContext {
public TerminalNode K_DROP() { return getToken(SqliteParser.K_DROP, 0); }
public TerminalNode K_VIEW() { return getToken(SqliteParser.K_VIEW, 0); }
public View_nameContext view_name() {
return getRuleContext(View_nameContext.class,0);
}
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public Drop_view_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_drop_view_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterDrop_view_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitDrop_view_stmt(this);
}
}
public final Drop_view_stmtContext drop_view_stmt() throws RecognitionException {
Drop_view_stmtContext _localctx = new Drop_view_stmtContext(_ctx, getState());
enterRule(_localctx, 32, RULE_drop_view_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(432);
match(K_DROP);
setState(433);
match(K_VIEW);
setState(436);
_la = _input.LA(1);
if (_la==K_IF) {
{
setState(434);
match(K_IF);
setState(435);
match(K_EXISTS);
}
}
setState(438);
view_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Insert_stmtContext extends ParserRuleContext {
public TerminalNode K_INTO() { return getToken(SqliteParser.K_INTO, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_INSERT() { return getToken(SqliteParser.K_INSERT, 0); }
public TerminalNode K_REPLACE() { return getToken(SqliteParser.K_REPLACE, 0); }
public TerminalNode K_OR() { return getToken(SqliteParser.K_OR, 0); }
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public TerminalNode K_VALUES() { return getToken(SqliteParser.K_VALUES, 0); }
public ValuesContext values() {
return getRuleContext(ValuesContext.class,0);
}
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public TerminalNode K_DEFAULT() { return getToken(SqliteParser.K_DEFAULT, 0); }
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public Insert_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_insert_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterInsert_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitInsert_stmt(this);
}
}
public final Insert_stmtContext insert_stmt() throws RecognitionException {
Insert_stmtContext _localctx = new Insert_stmtContext(_ctx, getState());
enterRule(_localctx, 34, RULE_insert_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(441);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(440);
with_clause();
}
}
setState(460);
switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) {
case 1:
{
setState(443);
match(K_INSERT);
}
break;
case 2:
{
setState(444);
match(K_REPLACE);
}
break;
case 3:
{
setState(445);
match(K_INSERT);
setState(446);
match(K_OR);
setState(447);
match(K_REPLACE);
}
break;
case 4:
{
setState(448);
match(K_INSERT);
setState(449);
match(K_OR);
setState(450);
match(K_ROLLBACK);
}
break;
case 5:
{
setState(451);
match(K_INSERT);
setState(452);
match(K_OR);
setState(453);
match(K_ABORT);
}
break;
case 6:
{
setState(454);
match(K_INSERT);
setState(455);
match(K_OR);
setState(456);
match(K_FAIL);
}
break;
case 7:
{
setState(457);
match(K_INSERT);
setState(458);
match(K_OR);
setState(459);
match(K_IGNORE);
}
break;
}
setState(462);
match(K_INTO);
setState(463);
table_name();
setState(475);
_la = _input.LA(1);
if (_la==OPEN_PAR) {
{
setState(464);
match(OPEN_PAR);
setState(465);
column_name();
setState(470);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(466);
match(COMMA);
setState(467);
column_name();
}
}
setState(472);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(473);
match(CLOSE_PAR);
}
}
setState(482);
switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
case 1:
{
setState(477);
match(K_VALUES);
setState(478);
values();
}
break;
case 2:
{
setState(479);
select_stmt();
}
break;
case 3:
{
setState(480);
match(K_DEFAULT);
setState(481);
match(K_VALUES);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Pragma_stmtContext extends ParserRuleContext {
public TerminalNode K_PRAGMA() { return getToken(SqliteParser.K_PRAGMA, 0); }
public Pragma_nameContext pragma_name() {
return getRuleContext(Pragma_nameContext.class,0);
}
public Pragma_valueContext pragma_value() {
return getRuleContext(Pragma_valueContext.class,0);
}
public Pragma_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pragma_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterPragma_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitPragma_stmt(this);
}
}
public final Pragma_stmtContext pragma_stmt() throws RecognitionException {
Pragma_stmtContext _localctx = new Pragma_stmtContext(_ctx, getState());
enterRule(_localctx, 36, RULE_pragma_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(484);
match(K_PRAGMA);
setState(485);
pragma_name();
setState(492);
switch (_input.LA(1)) {
case ASSIGN:
{
setState(486);
match(ASSIGN);
setState(487);
pragma_value();
}
break;
case OPEN_PAR:
{
setState(488);
match(OPEN_PAR);
setState(489);
pragma_value();
setState(490);
match(CLOSE_PAR);
}
break;
case SCOL:
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Reindex_stmtContext extends ParserRuleContext {
public TerminalNode K_REINDEX() { return getToken(SqliteParser.K_REINDEX, 0); }
public Collation_nameContext collation_name() {
return getRuleContext(Collation_nameContext.class,0);
}
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public Index_nameContext index_name() {
return getRuleContext(Index_nameContext.class,0);
}
public Reindex_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reindex_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterReindex_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitReindex_stmt(this);
}
}
public final Reindex_stmtContext reindex_stmt() throws RecognitionException {
Reindex_stmtContext _localctx = new Reindex_stmtContext(_ctx, getState());
enterRule(_localctx, 38, RULE_reindex_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(494);
match(K_REINDEX);
setState(500);
switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
case 1:
{
setState(495);
collation_name();
}
break;
case 2:
{
setState(498);
switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) {
case 1:
{
setState(496);
table_name();
}
break;
case 2:
{
setState(497);
index_name();
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Release_stmtContext extends ParserRuleContext {
public TerminalNode K_RELEASE() { return getToken(SqliteParser.K_RELEASE, 0); }
public Savepoint_nameContext savepoint_name() {
return getRuleContext(Savepoint_nameContext.class,0);
}
public TerminalNode K_SAVEPOINT() { return getToken(SqliteParser.K_SAVEPOINT, 0); }
public Release_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_release_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterRelease_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitRelease_stmt(this);
}
}
public final Release_stmtContext release_stmt() throws RecognitionException {
Release_stmtContext _localctx = new Release_stmtContext(_ctx, getState());
enterRule(_localctx, 40, RULE_release_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(502);
match(K_RELEASE);
setState(504);
_la = _input.LA(1);
if (_la==K_SAVEPOINT) {
{
setState(503);
match(K_SAVEPOINT);
}
}
setState(506);
savepoint_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Savepoint_stmtContext extends ParserRuleContext {
public TerminalNode K_SAVEPOINT() { return getToken(SqliteParser.K_SAVEPOINT, 0); }
public Savepoint_nameContext savepoint_name() {
return getRuleContext(Savepoint_nameContext.class,0);
}
public Savepoint_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_savepoint_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSavepoint_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSavepoint_stmt(this);
}
}
public final Savepoint_stmtContext savepoint_stmt() throws RecognitionException {
Savepoint_stmtContext _localctx = new Savepoint_stmtContext(_ctx, getState());
enterRule(_localctx, 42, RULE_savepoint_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(508);
match(K_SAVEPOINT);
setState(509);
savepoint_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Select_stmtContext extends ParserRuleContext {
public List select_or_values() {
return getRuleContexts(Select_or_valuesContext.class);
}
public Select_or_valuesContext select_or_values(int i) {
return getRuleContext(Select_or_valuesContext.class,i);
}
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public List compound_operator() {
return getRuleContexts(Compound_operatorContext.class);
}
public Compound_operatorContext compound_operator(int i) {
return getRuleContext(Compound_operatorContext.class,i);
}
public TerminalNode K_ORDER() { return getToken(SqliteParser.K_ORDER, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public List ordering_term() {
return getRuleContexts(Ordering_termContext.class);
}
public Ordering_termContext ordering_term(int i) {
return getRuleContext(Ordering_termContext.class,i);
}
public TerminalNode K_LIMIT() { return getToken(SqliteParser.K_LIMIT, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode K_OFFSET() { return getToken(SqliteParser.K_OFFSET, 0); }
public Select_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_select_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSelect_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSelect_stmt(this);
}
}
public final Select_stmtContext select_stmt() throws RecognitionException {
Select_stmtContext _localctx = new Select_stmtContext(_ctx, getState());
enterRule(_localctx, 44, RULE_select_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(512);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(511);
with_clause();
}
}
setState(514);
select_or_values();
setState(520);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==K_EXCEPT || _la==K_INTERSECT || _la==K_UNION) {
{
{
setState(515);
compound_operator();
setState(516);
select_or_values();
}
}
setState(522);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(533);
_la = _input.LA(1);
if (_la==K_ORDER) {
{
setState(523);
match(K_ORDER);
setState(524);
match(K_BY);
setState(525);
ordering_term();
setState(530);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(526);
match(COMMA);
setState(527);
ordering_term();
}
}
setState(532);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(541);
_la = _input.LA(1);
if (_la==K_LIMIT) {
{
setState(535);
match(K_LIMIT);
setState(536);
expr(0);
setState(539);
_la = _input.LA(1);
if (_la==COMMA || _la==K_OFFSET) {
{
setState(537);
_la = _input.LA(1);
if ( !(_la==COMMA || _la==K_OFFSET) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(538);
expr(0);
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Select_or_valuesContext extends ParserRuleContext {
public TerminalNode K_SELECT() { return getToken(SqliteParser.K_SELECT, 0); }
public List result_column() {
return getRuleContexts(Result_columnContext.class);
}
public Result_columnContext result_column(int i) {
return getRuleContext(Result_columnContext.class,i);
}
public TerminalNode K_FROM() { return getToken(SqliteParser.K_FROM, 0); }
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode K_GROUP() { return getToken(SqliteParser.K_GROUP, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public TerminalNode K_DISTINCT() { return getToken(SqliteParser.K_DISTINCT, 0); }
public TerminalNode K_ALL() { return getToken(SqliteParser.K_ALL, 0); }
public List table_or_subquery() {
return getRuleContexts(Table_or_subqueryContext.class);
}
public Table_or_subqueryContext table_or_subquery(int i) {
return getRuleContext(Table_or_subqueryContext.class,i);
}
public Join_clauseContext join_clause() {
return getRuleContext(Join_clauseContext.class,0);
}
public Having_stmtContext having_stmt() {
return getRuleContext(Having_stmtContext.class,0);
}
public TerminalNode K_VALUES() { return getToken(SqliteParser.K_VALUES, 0); }
public ValuesContext values() {
return getRuleContext(ValuesContext.class,0);
}
public Select_or_valuesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_select_or_values; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSelect_or_values(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSelect_or_values(this);
}
}
public final Select_or_valuesContext select_or_values() throws RecognitionException {
Select_or_valuesContext _localctx = new Select_or_valuesContext(_ctx, getState());
enterRule(_localctx, 46, RULE_select_or_values);
int _la;
try {
setState(590);
switch (_input.LA(1)) {
case K_SELECT:
enterOuterAlt(_localctx, 1);
{
setState(543);
match(K_SELECT);
setState(545);
_la = _input.LA(1);
if (_la==K_ALL || _la==K_DISTINCT) {
{
setState(544);
_la = _input.LA(1);
if ( !(_la==K_ALL || _la==K_DISTINCT) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(547);
result_column();
setState(552);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(548);
match(COMMA);
setState(549);
result_column();
}
}
setState(554);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(567);
_la = _input.LA(1);
if (_la==K_FROM) {
{
setState(555);
match(K_FROM);
setState(565);
switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) {
case 1:
{
setState(556);
table_or_subquery();
setState(561);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(557);
match(COMMA);
setState(558);
table_or_subquery();
}
}
setState(563);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case 2:
{
setState(564);
join_clause();
}
break;
}
}
}
setState(571);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(569);
match(K_WHERE);
setState(570);
expr(0);
}
}
setState(586);
_la = _input.LA(1);
if (_la==K_GROUP) {
{
setState(573);
match(K_GROUP);
setState(574);
match(K_BY);
setState(575);
expr(0);
setState(580);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(576);
match(COMMA);
setState(577);
expr(0);
}
}
setState(582);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(584);
_la = _input.LA(1);
if (_la==K_HAVING) {
{
setState(583);
having_stmt();
}
}
}
}
}
break;
case K_VALUES:
enterOuterAlt(_localctx, 2);
{
setState(588);
match(K_VALUES);
setState(589);
values();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Having_stmtContext extends ParserRuleContext {
public TerminalNode K_HAVING() { return getToken(SqliteParser.K_HAVING, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Having_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_having_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterHaving_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitHaving_stmt(this);
}
}
public final Having_stmtContext having_stmt() throws RecognitionException {
Having_stmtContext _localctx = new Having_stmtContext(_ctx, getState());
enterRule(_localctx, 48, RULE_having_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(592);
match(K_HAVING);
setState(593);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ValuesContext extends ParserRuleContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public ValuesContext values() {
return getRuleContext(ValuesContext.class,0);
}
public ValuesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_values; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterValues(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitValues(this);
}
}
public final ValuesContext values() throws RecognitionException {
ValuesContext _localctx = new ValuesContext(_ctx, getState());
enterRule(_localctx, 50, RULE_values);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(595);
match(OPEN_PAR);
setState(596);
expr(0);
setState(601);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(597);
match(COMMA);
setState(598);
expr(0);
}
}
setState(603);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(604);
match(CLOSE_PAR);
setState(607);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(605);
match(COMMA);
setState(606);
values();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Update_stmtContext extends ParserRuleContext {
public TerminalNode K_UPDATE() { return getToken(SqliteParser.K_UPDATE, 0); }
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_SET() { return getToken(SqliteParser.K_SET, 0); }
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public TerminalNode K_OR() { return getToken(SqliteParser.K_OR, 0); }
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_REPLACE() { return getToken(SqliteParser.K_REPLACE, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public Update_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_update_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterUpdate_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitUpdate_stmt(this);
}
}
public final Update_stmtContext update_stmt() throws RecognitionException {
Update_stmtContext _localctx = new Update_stmtContext(_ctx, getState());
enterRule(_localctx, 52, RULE_update_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(610);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(609);
with_clause();
}
}
setState(612);
match(K_UPDATE);
setState(623);
switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
case 1:
{
setState(613);
match(K_OR);
setState(614);
match(K_ROLLBACK);
}
break;
case 2:
{
setState(615);
match(K_OR);
setState(616);
match(K_ABORT);
}
break;
case 3:
{
setState(617);
match(K_OR);
setState(618);
match(K_REPLACE);
}
break;
case 4:
{
setState(619);
match(K_OR);
setState(620);
match(K_FAIL);
}
break;
case 5:
{
setState(621);
match(K_OR);
setState(622);
match(K_IGNORE);
}
break;
}
setState(625);
table_name();
setState(626);
match(K_SET);
setState(627);
column_name();
setState(628);
match(ASSIGN);
setState(629);
expr(0);
setState(637);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(630);
match(COMMA);
setState(631);
column_name();
setState(632);
match(ASSIGN);
setState(633);
expr(0);
}
}
setState(639);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(642);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(640);
match(K_WHERE);
setState(641);
expr(0);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Update_stmt_limitedContext extends ParserRuleContext {
public TerminalNode K_UPDATE() { return getToken(SqliteParser.K_UPDATE, 0); }
public Qualified_table_nameContext qualified_table_name() {
return getRuleContext(Qualified_table_nameContext.class,0);
}
public TerminalNode K_SET() { return getToken(SqliteParser.K_SET, 0); }
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public With_clauseContext with_clause() {
return getRuleContext(With_clauseContext.class,0);
}
public TerminalNode K_OR() { return getToken(SqliteParser.K_OR, 0); }
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_REPLACE() { return getToken(SqliteParser.K_REPLACE, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public TerminalNode K_LIMIT() { return getToken(SqliteParser.K_LIMIT, 0); }
public TerminalNode K_ORDER() { return getToken(SqliteParser.K_ORDER, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public List ordering_term() {
return getRuleContexts(Ordering_termContext.class);
}
public Ordering_termContext ordering_term(int i) {
return getRuleContext(Ordering_termContext.class,i);
}
public TerminalNode K_OFFSET() { return getToken(SqliteParser.K_OFFSET, 0); }
public Update_stmt_limitedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_update_stmt_limited; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterUpdate_stmt_limited(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitUpdate_stmt_limited(this);
}
}
public final Update_stmt_limitedContext update_stmt_limited() throws RecognitionException {
Update_stmt_limitedContext _localctx = new Update_stmt_limitedContext(_ctx, getState());
enterRule(_localctx, 54, RULE_update_stmt_limited);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(645);
_la = _input.LA(1);
if (_la==K_WITH) {
{
setState(644);
with_clause();
}
}
setState(647);
match(K_UPDATE);
setState(658);
switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) {
case 1:
{
setState(648);
match(K_OR);
setState(649);
match(K_ROLLBACK);
}
break;
case 2:
{
setState(650);
match(K_OR);
setState(651);
match(K_ABORT);
}
break;
case 3:
{
setState(652);
match(K_OR);
setState(653);
match(K_REPLACE);
}
break;
case 4:
{
setState(654);
match(K_OR);
setState(655);
match(K_FAIL);
}
break;
case 5:
{
setState(656);
match(K_OR);
setState(657);
match(K_IGNORE);
}
break;
}
setState(660);
qualified_table_name();
setState(661);
match(K_SET);
setState(662);
column_name();
setState(663);
match(ASSIGN);
setState(664);
expr(0);
setState(672);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(665);
match(COMMA);
setState(666);
column_name();
setState(667);
match(ASSIGN);
setState(668);
expr(0);
}
}
setState(674);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(677);
_la = _input.LA(1);
if (_la==K_WHERE) {
{
setState(675);
match(K_WHERE);
setState(676);
expr(0);
}
}
setState(697);
_la = _input.LA(1);
if (_la==K_LIMIT || _la==K_ORDER) {
{
setState(689);
_la = _input.LA(1);
if (_la==K_ORDER) {
{
setState(679);
match(K_ORDER);
setState(680);
match(K_BY);
setState(681);
ordering_term();
setState(686);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(682);
match(COMMA);
setState(683);
ordering_term();
}
}
setState(688);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(691);
match(K_LIMIT);
setState(692);
expr(0);
setState(695);
_la = _input.LA(1);
if (_la==COMMA || _la==K_OFFSET) {
{
setState(693);
_la = _input.LA(1);
if ( !(_la==COMMA || _la==K_OFFSET) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(694);
expr(0);
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Vacuum_stmtContext extends ParserRuleContext {
public TerminalNode K_VACUUM() { return getToken(SqliteParser.K_VACUUM, 0); }
public Vacuum_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_vacuum_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterVacuum_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitVacuum_stmt(this);
}
}
public final Vacuum_stmtContext vacuum_stmt() throws RecognitionException {
Vacuum_stmtContext _localctx = new Vacuum_stmtContext(_ctx, getState());
enterRule(_localctx, 56, RULE_vacuum_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(699);
match(K_VACUUM);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Column_defContext extends ParserRuleContext {
public Column_nameContext column_name() {
return getRuleContext(Column_nameContext.class,0);
}
public Type_nameContext type_name() {
return getRuleContext(Type_nameContext.class,0);
}
public List column_constraint() {
return getRuleContexts(Column_constraintContext.class);
}
public Column_constraintContext column_constraint(int i) {
return getRuleContext(Column_constraintContext.class,i);
}
public Column_defContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_column_def; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterColumn_def(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitColumn_def(this);
}
}
public final Column_defContext column_def() throws RecognitionException {
Column_defContext _localctx = new Column_defContext(_ctx, getState());
enterRule(_localctx, 58, RULE_column_def);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(701);
column_name();
setState(702);
type_name();
setState(706);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 57)) & ~0x3f) == 0 && ((1L << (_la - 57)) & ((1L << (K_CHECK - 57)) | (1L << (K_COLLATE - 57)) | (1L << (K_CONSTRAINT - 57)) | (1L << (K_DEFAULT - 57)) | (1L << (K_NOT - 57)) | (1L << (K_NULL - 57)))) != 0) || ((((_la - 126)) & ~0x3f) == 0 && ((1L << (_la - 126)) & ((1L << (K_PRIMARY_KEY - 126)) | (1L << (K_REFERENCES - 126)) | (1L << (K_UNIQUE - 126)))) != 0)) {
{
{
setState(703);
column_constraint();
}
}
setState(708);
_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;
}
public static class Type_nameContext extends ParserRuleContext {
public Sqlite_type_nameContext sqlite_type_name() {
return getRuleContext(Sqlite_type_nameContext.class,0);
}
public List signed_number() {
return getRuleContexts(Signed_numberContext.class);
}
public Signed_numberContext signed_number(int i) {
return getRuleContext(Signed_numberContext.class,i);
}
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Java_type_nameContext java_type_name() {
return getRuleContext(Java_type_nameContext.class,0);
}
public Type_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_type_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterType_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitType_name(this);
}
}
public final Type_nameContext type_name() throws RecognitionException {
Type_nameContext _localctx = new Type_nameContext(_ctx, getState());
enterRule(_localctx, 60, RULE_type_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(709);
sqlite_type_name();
setState(720);
switch ( getInterpreter().adaptivePredict(_input,83,_ctx) ) {
case 1:
{
setState(710);
match(OPEN_PAR);
setState(711);
signed_number();
setState(712);
match(CLOSE_PAR);
}
break;
case 2:
{
setState(714);
match(OPEN_PAR);
setState(715);
signed_number();
setState(716);
match(COMMA);
setState(717);
signed_number();
setState(718);
match(CLOSE_PAR);
}
break;
}
setState(724);
_la = _input.LA(1);
if (_la==K_AS) {
{
setState(722);
match(K_AS);
setState(723);
java_type_name();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Column_constraintContext extends ParserRuleContext {
public TerminalNode K_PRIMARY_KEY() { return getToken(SqliteParser.K_PRIMARY_KEY, 0); }
public Conflict_clauseContext conflict_clause() {
return getRuleContext(Conflict_clauseContext.class,0);
}
public TerminalNode K_NULL() { return getToken(SqliteParser.K_NULL, 0); }
public TerminalNode K_UNIQUE() { return getToken(SqliteParser.K_UNIQUE, 0); }
public TerminalNode K_CHECK() { return getToken(SqliteParser.K_CHECK, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode K_DEFAULT() { return getToken(SqliteParser.K_DEFAULT, 0); }
public TerminalNode K_COLLATE() { return getToken(SqliteParser.K_COLLATE, 0); }
public Collation_nameContext collation_name() {
return getRuleContext(Collation_nameContext.class,0);
}
public Foreign_key_clauseContext foreign_key_clause() {
return getRuleContext(Foreign_key_clauseContext.class,0);
}
public TerminalNode K_CONSTRAINT() { return getToken(SqliteParser.K_CONSTRAINT, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public Signed_numberContext signed_number() {
return getRuleContext(Signed_numberContext.class,0);
}
public Literal_valueContext literal_value() {
return getRuleContext(Literal_valueContext.class,0);
}
public TerminalNode K_AUTOINCREMENT() { return getToken(SqliteParser.K_AUTOINCREMENT, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_ASC() { return getToken(SqliteParser.K_ASC, 0); }
public TerminalNode K_DESC() { return getToken(SqliteParser.K_DESC, 0); }
public Column_constraintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_column_constraint; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterColumn_constraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitColumn_constraint(this);
}
}
public final Column_constraintContext column_constraint() throws RecognitionException {
Column_constraintContext _localctx = new Column_constraintContext(_ctx, getState());
enterRule(_localctx, 62, RULE_column_constraint);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(728);
_la = _input.LA(1);
if (_la==K_CONSTRAINT) {
{
setState(726);
match(K_CONSTRAINT);
setState(727);
name();
}
}
setState(762);
switch (_input.LA(1)) {
case K_PRIMARY_KEY:
{
setState(730);
match(K_PRIMARY_KEY);
setState(732);
_la = _input.LA(1);
if (_la==K_ASC || _la==K_DESC) {
{
setState(731);
_la = _input.LA(1);
if ( !(_la==K_ASC || _la==K_DESC) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(734);
conflict_clause();
setState(736);
_la = _input.LA(1);
if (_la==K_AUTOINCREMENT) {
{
setState(735);
match(K_AUTOINCREMENT);
}
}
}
break;
case K_NOT:
case K_NULL:
{
setState(739);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(738);
match(K_NOT);
}
}
setState(741);
match(K_NULL);
setState(742);
conflict_clause();
}
break;
case K_UNIQUE:
{
setState(743);
match(K_UNIQUE);
setState(744);
conflict_clause();
}
break;
case K_CHECK:
{
setState(745);
match(K_CHECK);
setState(746);
match(OPEN_PAR);
setState(747);
expr(0);
setState(748);
match(CLOSE_PAR);
}
break;
case K_DEFAULT:
{
setState(750);
match(K_DEFAULT);
setState(757);
switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) {
case 1:
{
setState(751);
signed_number();
}
break;
case 2:
{
setState(752);
literal_value();
}
break;
case 3:
{
setState(753);
match(OPEN_PAR);
setState(754);
expr(0);
setState(755);
match(CLOSE_PAR);
}
break;
}
}
break;
case K_COLLATE:
{
setState(759);
match(K_COLLATE);
setState(760);
collation_name();
}
break;
case K_REFERENCES:
{
setState(761);
foreign_key_clause();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Conflict_clauseContext extends ParserRuleContext {
public TerminalNode K_ON() { return getToken(SqliteParser.K_ON, 0); }
public TerminalNode K_CONFLICT() { return getToken(SqliteParser.K_CONFLICT, 0); }
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public TerminalNode K_REPLACE() { return getToken(SqliteParser.K_REPLACE, 0); }
public Conflict_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_conflict_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterConflict_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitConflict_clause(this);
}
}
public final Conflict_clauseContext conflict_clause() throws RecognitionException {
Conflict_clauseContext _localctx = new Conflict_clauseContext(_ctx, getState());
enterRule(_localctx, 64, RULE_conflict_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(767);
_la = _input.LA(1);
if (_la==K_ON) {
{
setState(764);
match(K_ON);
setState(765);
match(K_CONFLICT);
setState(766);
_la = _input.LA(1);
if ( !(_la==K_ABORT || ((((_la - 85)) & ~0x3f) == 0 && ((1L << (_la - 85)) & ((1L << (K_FAIL - 85)) | (1L << (K_IGNORE - 85)) | (1L << (K_REPLACE - 85)) | (1L << (K_ROLLBACK - 85)))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ExprContext extends ParserRuleContext {
public Unary_operatorContext unary_operator() {
return getRuleContext(Unary_operatorContext.class,0);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public Literal_valueContext literal_value() {
return getRuleContext(Literal_valueContext.class,0);
}
public TerminalNode BIND_PARAMETER() { return getToken(SqliteParser.BIND_PARAMETER, 0); }
public Column_nameContext column_name() {
return getRuleContext(Column_nameContext.class,0);
}
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public Function_nameContext function_name() {
return getRuleContext(Function_nameContext.class,0);
}
public TerminalNode STAR() { return getToken(SqliteParser.STAR, 0); }
public TerminalNode K_DISTINCT() { return getToken(SqliteParser.K_DISTINCT, 0); }
public TerminalNode OPEN_PAR() { return getToken(SqliteParser.OPEN_PAR, 0); }
public TerminalNode CLOSE_PAR() { return getToken(SqliteParser.CLOSE_PAR, 0); }
public TerminalNode K_CAST() { return getToken(SqliteParser.K_CAST, 0); }
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Type_nameContext type_name() {
return getRuleContext(Type_nameContext.class,0);
}
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_CASE() { return getToken(SqliteParser.K_CASE, 0); }
public TerminalNode K_END() { return getToken(SqliteParser.K_END, 0); }
public List K_WHEN() { return getTokens(SqliteParser.K_WHEN); }
public TerminalNode K_WHEN(int i) {
return getToken(SqliteParser.K_WHEN, i);
}
public List K_THEN() { return getTokens(SqliteParser.K_THEN); }
public TerminalNode K_THEN(int i) {
return getToken(SqliteParser.K_THEN, i);
}
public List return_expr() {
return getRuleContexts(Return_exprContext.class);
}
public Return_exprContext return_expr(int i) {
return getRuleContext(Return_exprContext.class,i);
}
public TerminalNode K_ELSE() { return getToken(SqliteParser.K_ELSE, 0); }
public Raise_functionContext raise_function() {
return getRuleContext(Raise_functionContext.class,0);
}
public TerminalNode K_AND() { return getToken(SqliteParser.K_AND, 0); }
public TerminalNode K_OR() { return getToken(SqliteParser.K_OR, 0); }
public TerminalNode K_IS() { return getToken(SqliteParser.K_IS, 0); }
public TerminalNode K_BETWEEN() { return getToken(SqliteParser.K_BETWEEN, 0); }
public TerminalNode K_COLLATE() { return getToken(SqliteParser.K_COLLATE, 0); }
public Collation_nameContext collation_name() {
return getRuleContext(Collation_nameContext.class,0);
}
public TerminalNode K_LIKE() { return getToken(SqliteParser.K_LIKE, 0); }
public TerminalNode K_GLOB() { return getToken(SqliteParser.K_GLOB, 0); }
public TerminalNode K_REGEXP() { return getToken(SqliteParser.K_REGEXP, 0); }
public TerminalNode K_MATCH() { return getToken(SqliteParser.K_MATCH, 0); }
public TerminalNode K_ESCAPE() { return getToken(SqliteParser.K_ESCAPE, 0); }
public TerminalNode K_ISNULL() { return getToken(SqliteParser.K_ISNULL, 0); }
public TerminalNode K_NOTNULL() { return getToken(SqliteParser.K_NOTNULL, 0); }
public TerminalNode K_NULL() { return getToken(SqliteParser.K_NULL, 0); }
public TerminalNode K_IN() { return getToken(SqliteParser.K_IN, 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 SqliteListener ) ((SqliteListener)listener).enterExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitExpr(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 = 66;
enterRecursionRule(_localctx, 66, RULE_expr, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(840);
switch ( getInterpreter().adaptivePredict(_input,101,_ctx) ) {
case 1:
{
setState(770);
unary_operator();
setState(771);
expr(21);
}
break;
case 2:
{
setState(773);
literal_value();
}
break;
case 3:
{
setState(774);
match(BIND_PARAMETER);
}
break;
case 4:
{
setState(778);
switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) {
case 1:
{
setState(775);
table_name();
setState(776);
match(DOT);
}
break;
}
setState(780);
column_name();
}
break;
case 5:
{
setState(781);
function_name();
setState(782);
match(OPEN_PAR);
setState(795);
switch (_input.LA(1)) {
case OPEN_PAR:
case PLUS:
case MINUS:
case TILDE:
case K_CASE:
case K_CAST:
case K_CURRENT_DATE:
case K_CURRENT_TIME:
case K_CURRENT_TIMESTAMP:
case K_DISTINCT:
case K_EXISTS:
case K_NOT:
case K_NULL:
case K_RAISE:
case IDENTIFIER:
case INTEGER_LITERAL:
case REAL_LITERAL:
case BIND_PARAMETER:
case STRING_LITERAL:
case BLOB_LITERAL:
{
setState(784);
_la = _input.LA(1);
if (_la==K_DISTINCT) {
{
setState(783);
match(K_DISTINCT);
}
}
setState(786);
expr(0);
setState(791);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(787);
match(COMMA);
setState(788);
expr(0);
}
}
setState(793);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case STAR:
{
setState(794);
match(STAR);
}
break;
case CLOSE_PAR:
break;
default:
throw new NoViableAltException(this);
}
setState(797);
match(CLOSE_PAR);
}
break;
case 6:
{
setState(799);
match(OPEN_PAR);
setState(800);
expr(0);
setState(801);
match(CLOSE_PAR);
}
break;
case 7:
{
setState(803);
match(K_CAST);
setState(804);
match(OPEN_PAR);
setState(805);
expr(0);
setState(806);
match(K_AS);
setState(807);
type_name();
setState(808);
match(CLOSE_PAR);
}
break;
case 8:
{
setState(814);
_la = _input.LA(1);
if (_la==K_EXISTS || _la==K_NOT) {
{
setState(811);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(810);
match(K_NOT);
}
}
setState(813);
match(K_EXISTS);
}
}
setState(816);
match(OPEN_PAR);
setState(817);
select_stmt();
setState(818);
match(CLOSE_PAR);
}
break;
case 9:
{
setState(820);
match(K_CASE);
setState(822);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPEN_PAR) | (1L << PLUS) | (1L << MINUS) | (1L << TILDE) | (1L << K_CASE) | (1L << K_CAST))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (K_CURRENT_DATE - 65)) | (1L << (K_CURRENT_TIME - 65)) | (1L << (K_CURRENT_TIMESTAMP - 65)) | (1L << (K_EXISTS - 65)) | (1L << (K_NOT - 65)) | (1L << (K_NULL - 65)) | (1L << (K_RAISE - 65)))) != 0) || ((((_la - 161)) & ~0x3f) == 0 && ((1L << (_la - 161)) & ((1L << (IDENTIFIER - 161)) | (1L << (INTEGER_LITERAL - 161)) | (1L << (REAL_LITERAL - 161)) | (1L << (BIND_PARAMETER - 161)) | (1L << (STRING_LITERAL - 161)) | (1L << (BLOB_LITERAL - 161)))) != 0)) {
{
setState(821);
expr(0);
}
}
setState(829);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(824);
match(K_WHEN);
setState(825);
expr(0);
setState(826);
match(K_THEN);
setState(827);
return_expr();
}
}
setState(831);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==K_WHEN );
setState(835);
_la = _input.LA(1);
if (_la==K_ELSE) {
{
setState(833);
match(K_ELSE);
setState(834);
expr(0);
}
}
setState(837);
match(K_END);
}
break;
case 10:
{
setState(839);
raise_function();
}
break;
}
_ctx.stop = _input.LT(-1);
setState(924);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,112,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(922);
switch ( getInterpreter().adaptivePredict(_input,111,_ctx) ) {
case 1:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(842);
if (!(precpred(_ctx, 20))) throw new FailedPredicateException(this, "precpred(_ctx, 20)");
setState(843);
match(PIPE2);
setState(844);
expr(21);
}
break;
case 2:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(845);
if (!(precpred(_ctx, 19))) throw new FailedPredicateException(this, "precpred(_ctx, 19)");
setState(846);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << STAR) | (1L << DIV) | (1L << MOD))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(847);
expr(20);
}
break;
case 3:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(848);
if (!(precpred(_ctx, 18))) throw new FailedPredicateException(this, "precpred(_ctx, 18)");
setState(849);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==MINUS) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(850);
expr(19);
}
break;
case 4:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(851);
if (!(precpred(_ctx, 17))) throw new FailedPredicateException(this, "precpred(_ctx, 17)");
setState(852);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LT2) | (1L << GT2) | (1L << AMP) | (1L << PIPE))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(853);
expr(18);
}
break;
case 5:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(854);
if (!(precpred(_ctx, 16))) throw new FailedPredicateException(this, "precpred(_ctx, 16)");
setState(855);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LT) | (1L << LT_EQ) | (1L << GT) | (1L << GT_EQ))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(856);
expr(17);
}
break;
case 6:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(857);
if (!(precpred(_ctx, 15))) throw new FailedPredicateException(this, "precpred(_ctx, 15)");
setState(858);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ASSIGN) | (1L << EQ) | (1L << NOT_EQ1) | (1L << NOT_EQ2))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(859);
expr(16);
}
break;
case 7:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(860);
if (!(precpred(_ctx, 14))) throw new FailedPredicateException(this, "precpred(_ctx, 14)");
setState(861);
match(K_AND);
setState(862);
expr(15);
}
break;
case 8:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(863);
if (!(precpred(_ctx, 13))) throw new FailedPredicateException(this, "precpred(_ctx, 13)");
setState(864);
match(K_OR);
setState(865);
expr(14);
}
break;
case 9:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(866);
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
setState(867);
match(K_IS);
setState(869);
switch ( getInterpreter().adaptivePredict(_input,102,_ctx) ) {
case 1:
{
setState(868);
match(K_NOT);
}
break;
}
setState(871);
expr(7);
}
break;
case 10:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(872);
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
setState(874);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(873);
match(K_NOT);
}
}
setState(876);
match(K_BETWEEN);
setState(877);
expr(0);
setState(878);
match(K_AND);
setState(879);
expr(6);
}
break;
case 11:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(881);
if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
setState(882);
match(K_COLLATE);
setState(883);
collation_name();
}
break;
case 12:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(884);
if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
setState(886);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(885);
match(K_NOT);
}
}
setState(888);
_la = _input.LA(1);
if ( !(((((_la - 90)) & ~0x3f) == 0 && ((1L << (_la - 90)) & ((1L << (K_GLOB - 90)) | (1L << (K_LIKE - 90)) | (1L << (K_MATCH - 90)) | (1L << (K_REGEXP - 90)))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(889);
expr(0);
setState(892);
switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
case 1:
{
setState(890);
match(K_ESCAPE);
setState(891);
expr(0);
}
break;
}
}
break;
case 13:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(894);
if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
setState(899);
switch (_input.LA(1)) {
case K_ISNULL:
{
setState(895);
match(K_ISNULL);
}
break;
case K_NOTNULL:
{
setState(896);
match(K_NOTNULL);
}
break;
case K_NOT:
{
setState(897);
match(K_NOT);
setState(898);
match(K_NULL);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 14:
{
_localctx = new ExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(901);
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
setState(903);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(902);
match(K_NOT);
}
}
setState(905);
match(K_IN);
setState(920);
switch (_input.LA(1)) {
case OPEN_PAR:
{
setState(906);
match(OPEN_PAR);
setState(916);
switch (_input.LA(1)) {
case K_SELECT:
case K_VALUES:
case K_WITH:
{
setState(907);
select_stmt();
}
break;
case OPEN_PAR:
case PLUS:
case MINUS:
case TILDE:
case K_CASE:
case K_CAST:
case K_CURRENT_DATE:
case K_CURRENT_TIME:
case K_CURRENT_TIMESTAMP:
case K_EXISTS:
case K_NOT:
case K_NULL:
case K_RAISE:
case IDENTIFIER:
case INTEGER_LITERAL:
case REAL_LITERAL:
case BIND_PARAMETER:
case STRING_LITERAL:
case BLOB_LITERAL:
{
setState(908);
expr(0);
setState(913);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(909);
match(COMMA);
setState(910);
expr(0);
}
}
setState(915);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case CLOSE_PAR:
break;
default:
throw new NoViableAltException(this);
}
setState(918);
match(CLOSE_PAR);
}
break;
case IDENTIFIER:
{
setState(919);
table_name();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
}
setState(926);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,112,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class Return_exprContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Return_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_return_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterReturn_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitReturn_expr(this);
}
}
public final Return_exprContext return_expr() throws RecognitionException {
Return_exprContext _localctx = new Return_exprContext(_ctx, getState());
enterRule(_localctx, 68, RULE_return_expr);
try {
enterOuterAlt(_localctx, 1);
{
setState(927);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Foreign_key_clauseContext extends ParserRuleContext {
public TerminalNode K_REFERENCES() { return getToken(SqliteParser.K_REFERENCES, 0); }
public Foreign_tableContext foreign_table() {
return getRuleContext(Foreign_tableContext.class,0);
}
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public TerminalNode K_DEFERRABLE() { return getToken(SqliteParser.K_DEFERRABLE, 0); }
public List K_ON() { return getTokens(SqliteParser.K_ON); }
public TerminalNode K_ON(int i) {
return getToken(SqliteParser.K_ON, i);
}
public List K_MATCH() { return getTokens(SqliteParser.K_MATCH); }
public TerminalNode K_MATCH(int i) {
return getToken(SqliteParser.K_MATCH, i);
}
public List name() {
return getRuleContexts(NameContext.class);
}
public NameContext name(int i) {
return getRuleContext(NameContext.class,i);
}
public List K_DELETE() { return getTokens(SqliteParser.K_DELETE); }
public TerminalNode K_DELETE(int i) {
return getToken(SqliteParser.K_DELETE, i);
}
public List K_UPDATE() { return getTokens(SqliteParser.K_UPDATE); }
public TerminalNode K_UPDATE(int i) {
return getToken(SqliteParser.K_UPDATE, i);
}
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_INITIALLY() { return getToken(SqliteParser.K_INITIALLY, 0); }
public TerminalNode K_DEFERRED() { return getToken(SqliteParser.K_DEFERRED, 0); }
public TerminalNode K_IMMEDIATE() { return getToken(SqliteParser.K_IMMEDIATE, 0); }
public List K_SET() { return getTokens(SqliteParser.K_SET); }
public TerminalNode K_SET(int i) {
return getToken(SqliteParser.K_SET, i);
}
public List K_NULL() { return getTokens(SqliteParser.K_NULL); }
public TerminalNode K_NULL(int i) {
return getToken(SqliteParser.K_NULL, i);
}
public List K_DEFAULT() { return getTokens(SqliteParser.K_DEFAULT); }
public TerminalNode K_DEFAULT(int i) {
return getToken(SqliteParser.K_DEFAULT, i);
}
public List K_CASCADE() { return getTokens(SqliteParser.K_CASCADE); }
public TerminalNode K_CASCADE(int i) {
return getToken(SqliteParser.K_CASCADE, i);
}
public List K_RESTRICT() { return getTokens(SqliteParser.K_RESTRICT); }
public TerminalNode K_RESTRICT(int i) {
return getToken(SqliteParser.K_RESTRICT, i);
}
public List K_NO() { return getTokens(SqliteParser.K_NO); }
public TerminalNode K_NO(int i) {
return getToken(SqliteParser.K_NO, i);
}
public List K_ACTION() { return getTokens(SqliteParser.K_ACTION); }
public TerminalNode K_ACTION(int i) {
return getToken(SqliteParser.K_ACTION, i);
}
public Foreign_key_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_foreign_key_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterForeign_key_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitForeign_key_clause(this);
}
}
public final Foreign_key_clauseContext foreign_key_clause() throws RecognitionException {
Foreign_key_clauseContext _localctx = new Foreign_key_clauseContext(_ctx, getState());
enterRule(_localctx, 70, RULE_foreign_key_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(929);
match(K_REFERENCES);
setState(930);
foreign_table();
setState(942);
_la = _input.LA(1);
if (_la==OPEN_PAR) {
{
setState(931);
match(OPEN_PAR);
setState(932);
column_name();
setState(937);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(933);
match(COMMA);
setState(934);
column_name();
}
}
setState(939);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(940);
match(CLOSE_PAR);
}
}
setState(962);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==K_MATCH || _la==K_ON) {
{
{
setState(958);
switch (_input.LA(1)) {
case K_ON:
{
setState(944);
match(K_ON);
setState(945);
_la = _input.LA(1);
if ( !(_la==K_DELETE || _la==K_UPDATE) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(954);
switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) {
case 1:
{
setState(946);
match(K_SET);
setState(947);
match(K_NULL);
}
break;
case 2:
{
setState(948);
match(K_SET);
setState(949);
match(K_DEFAULT);
}
break;
case 3:
{
setState(950);
match(K_CASCADE);
}
break;
case 4:
{
setState(951);
match(K_RESTRICT);
}
break;
case 5:
{
setState(952);
match(K_NO);
setState(953);
match(K_ACTION);
}
break;
}
}
break;
case K_MATCH:
{
setState(956);
match(K_MATCH);
setState(957);
name();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
setState(964);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(975);
switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) {
case 1:
{
setState(966);
_la = _input.LA(1);
if (_la==K_NOT) {
{
setState(965);
match(K_NOT);
}
}
setState(968);
match(K_DEFERRABLE);
setState(973);
switch ( getInterpreter().adaptivePredict(_input,119,_ctx) ) {
case 1:
{
setState(969);
match(K_INITIALLY);
setState(970);
match(K_DEFERRED);
}
break;
case 2:
{
setState(971);
match(K_INITIALLY);
setState(972);
match(K_IMMEDIATE);
}
break;
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Raise_functionContext extends ParserRuleContext {
public TerminalNode K_RAISE() { return getToken(SqliteParser.K_RAISE, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public Error_messageContext error_message() {
return getRuleContext(Error_messageContext.class,0);
}
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public Raise_functionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_raise_function; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterRaise_function(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitRaise_function(this);
}
}
public final Raise_functionContext raise_function() throws RecognitionException {
Raise_functionContext _localctx = new Raise_functionContext(_ctx, getState());
enterRule(_localctx, 72, RULE_raise_function);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(977);
match(K_RAISE);
setState(978);
match(OPEN_PAR);
setState(983);
switch (_input.LA(1)) {
case K_IGNORE:
{
setState(979);
match(K_IGNORE);
}
break;
case K_ABORT:
case K_FAIL:
case K_ROLLBACK:
{
setState(980);
_la = _input.LA(1);
if ( !(_la==K_ABORT || _la==K_FAIL || _la==K_ROLLBACK) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(981);
match(COMMA);
setState(982);
error_message();
}
break;
default:
throw new NoViableAltException(this);
}
setState(985);
match(CLOSE_PAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Indexed_columnContext extends ParserRuleContext {
public Column_nameContext column_name() {
return getRuleContext(Column_nameContext.class,0);
}
public TerminalNode K_COLLATE() { return getToken(SqliteParser.K_COLLATE, 0); }
public Collation_nameContext collation_name() {
return getRuleContext(Collation_nameContext.class,0);
}
public TerminalNode K_ASC() { return getToken(SqliteParser.K_ASC, 0); }
public TerminalNode K_DESC() { return getToken(SqliteParser.K_DESC, 0); }
public Indexed_columnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexed_column; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterIndexed_column(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitIndexed_column(this);
}
}
public final Indexed_columnContext indexed_column() throws RecognitionException {
Indexed_columnContext _localctx = new Indexed_columnContext(_ctx, getState());
enterRule(_localctx, 74, RULE_indexed_column);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(987);
column_name();
setState(990);
_la = _input.LA(1);
if (_la==K_COLLATE) {
{
setState(988);
match(K_COLLATE);
setState(989);
collation_name();
}
}
setState(993);
_la = _input.LA(1);
if (_la==K_ASC || _la==K_DESC) {
{
setState(992);
_la = _input.LA(1);
if ( !(_la==K_ASC || _la==K_DESC) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Table_constraintContext extends ParserRuleContext {
public List indexed_column() {
return getRuleContexts(Indexed_columnContext.class);
}
public Indexed_columnContext indexed_column(int i) {
return getRuleContext(Indexed_columnContext.class,i);
}
public Conflict_clauseContext conflict_clause() {
return getRuleContext(Conflict_clauseContext.class,0);
}
public TerminalNode K_CHECK() { return getToken(SqliteParser.K_CHECK, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode K_FOREIGN_KEY() { return getToken(SqliteParser.K_FOREIGN_KEY, 0); }
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public Foreign_key_clauseContext foreign_key_clause() {
return getRuleContext(Foreign_key_clauseContext.class,0);
}
public TerminalNode K_CONSTRAINT() { return getToken(SqliteParser.K_CONSTRAINT, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public TerminalNode K_PRIMARY_KEY() { return getToken(SqliteParser.K_PRIMARY_KEY, 0); }
public TerminalNode K_UNIQUE() { return getToken(SqliteParser.K_UNIQUE, 0); }
public Table_constraintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_constraint; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTable_constraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTable_constraint(this);
}
}
public final Table_constraintContext table_constraint() throws RecognitionException {
Table_constraintContext _localctx = new Table_constraintContext(_ctx, getState());
enterRule(_localctx, 76, RULE_table_constraint);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(997);
_la = _input.LA(1);
if (_la==K_CONSTRAINT) {
{
setState(995);
match(K_CONSTRAINT);
setState(996);
name();
}
}
setState(1030);
switch (_input.LA(1)) {
case K_PRIMARY_KEY:
case K_UNIQUE:
{
setState(999);
_la = _input.LA(1);
if ( !(_la==K_PRIMARY_KEY || _la==K_UNIQUE) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
setState(1000);
match(OPEN_PAR);
setState(1001);
indexed_column();
setState(1006);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1002);
match(COMMA);
setState(1003);
indexed_column();
}
}
setState(1008);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1009);
match(CLOSE_PAR);
setState(1010);
conflict_clause();
}
break;
case K_CHECK:
{
setState(1012);
match(K_CHECK);
setState(1013);
match(OPEN_PAR);
setState(1014);
expr(0);
setState(1015);
match(CLOSE_PAR);
}
break;
case K_FOREIGN_KEY:
{
setState(1017);
match(K_FOREIGN_KEY);
setState(1018);
match(OPEN_PAR);
setState(1019);
column_name();
setState(1024);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1020);
match(COMMA);
setState(1021);
column_name();
}
}
setState(1026);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1027);
match(CLOSE_PAR);
setState(1028);
foreign_key_clause();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class With_clauseContext extends ParserRuleContext {
public TerminalNode K_WITH() { return getToken(SqliteParser.K_WITH, 0); }
public List common_table_expression() {
return getRuleContexts(Common_table_expressionContext.class);
}
public Common_table_expressionContext common_table_expression(int i) {
return getRuleContext(Common_table_expressionContext.class,i);
}
public TerminalNode K_RECURSIVE() { return getToken(SqliteParser.K_RECURSIVE, 0); }
public With_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_with_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterWith_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitWith_clause(this);
}
}
public final With_clauseContext with_clause() throws RecognitionException {
With_clauseContext _localctx = new With_clauseContext(_ctx, getState());
enterRule(_localctx, 78, RULE_with_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1032);
match(K_WITH);
setState(1034);
_la = _input.LA(1);
if (_la==K_RECURSIVE) {
{
setState(1033);
match(K_RECURSIVE);
}
}
setState(1036);
common_table_expression();
setState(1041);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1037);
match(COMMA);
setState(1038);
common_table_expression();
}
}
setState(1043);
_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;
}
public static class Qualified_table_nameContext extends ParserRuleContext {
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_INDEXED() { return getToken(SqliteParser.K_INDEXED, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public Index_nameContext index_name() {
return getRuleContext(Index_nameContext.class,0);
}
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public Qualified_table_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_qualified_table_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterQualified_table_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitQualified_table_name(this);
}
}
public final Qualified_table_nameContext qualified_table_name() throws RecognitionException {
Qualified_table_nameContext _localctx = new Qualified_table_nameContext(_ctx, getState());
enterRule(_localctx, 80, RULE_qualified_table_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1044);
table_name();
setState(1050);
switch (_input.LA(1)) {
case K_INDEXED:
{
setState(1045);
match(K_INDEXED);
setState(1046);
match(K_BY);
setState(1047);
index_name();
}
break;
case K_NOT:
{
setState(1048);
match(K_NOT);
setState(1049);
match(K_INDEXED);
}
break;
case SCOL:
case K_LIMIT:
case K_ORDER:
case K_SET:
case K_WHERE:
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Ordering_termContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode K_COLLATE() { return getToken(SqliteParser.K_COLLATE, 0); }
public Collation_nameContext collation_name() {
return getRuleContext(Collation_nameContext.class,0);
}
public TerminalNode K_ASC() { return getToken(SqliteParser.K_ASC, 0); }
public TerminalNode K_DESC() { return getToken(SqliteParser.K_DESC, 0); }
public Ordering_termContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ordering_term; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterOrdering_term(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitOrdering_term(this);
}
}
public final Ordering_termContext ordering_term() throws RecognitionException {
Ordering_termContext _localctx = new Ordering_termContext(_ctx, getState());
enterRule(_localctx, 82, RULE_ordering_term);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1052);
expr(0);
setState(1055);
_la = _input.LA(1);
if (_la==K_COLLATE) {
{
setState(1053);
match(K_COLLATE);
setState(1054);
collation_name();
}
}
setState(1058);
_la = _input.LA(1);
if (_la==K_ASC || _la==K_DESC) {
{
setState(1057);
_la = _input.LA(1);
if ( !(_la==K_ASC || _la==K_DESC) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Pragma_valueContext extends ParserRuleContext {
public Signed_numberContext signed_number() {
return getRuleContext(Signed_numberContext.class,0);
}
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(SqliteParser.STRING_LITERAL, 0); }
public Pragma_valueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pragma_value; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterPragma_value(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitPragma_value(this);
}
}
public final Pragma_valueContext pragma_value() throws RecognitionException {
Pragma_valueContext _localctx = new Pragma_valueContext(_ctx, getState());
enterRule(_localctx, 84, RULE_pragma_value);
try {
setState(1063);
switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1060);
signed_number();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1061);
name();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1062);
match(STRING_LITERAL);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Common_table_expressionContext extends ParserRuleContext {
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public Common_table_expressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_common_table_expression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCommon_table_expression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCommon_table_expression(this);
}
}
public final Common_table_expressionContext common_table_expression() throws RecognitionException {
Common_table_expressionContext _localctx = new Common_table_expressionContext(_ctx, getState());
enterRule(_localctx, 86, RULE_common_table_expression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1065);
table_name();
setState(1077);
_la = _input.LA(1);
if (_la==OPEN_PAR) {
{
setState(1066);
match(OPEN_PAR);
setState(1067);
column_name();
setState(1072);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1068);
match(COMMA);
setState(1069);
column_name();
}
}
setState(1074);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1075);
match(CLOSE_PAR);
}
}
setState(1079);
match(K_AS);
setState(1080);
match(OPEN_PAR);
setState(1081);
select_stmt();
setState(1082);
match(CLOSE_PAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Result_columnContext extends ParserRuleContext {
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Column_aliasContext column_alias() {
return getRuleContext(Column_aliasContext.class,0);
}
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public Result_columnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_result_column; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterResult_column(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitResult_column(this);
}
}
public final Result_columnContext result_column() throws RecognitionException {
Result_columnContext _localctx = new Result_columnContext(_ctx, getState());
enterRule(_localctx, 88, RULE_result_column);
int _la;
try {
setState(1096);
switch ( getInterpreter().adaptivePredict(_input,138,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1084);
match(STAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1085);
table_name();
setState(1086);
match(DOT);
setState(1087);
match(STAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1089);
expr(0);
setState(1094);
_la = _input.LA(1);
if (_la==K_AS || _la==IDENTIFIER) {
{
setState(1091);
_la = _input.LA(1);
if (_la==K_AS) {
{
setState(1090);
match(K_AS);
}
}
setState(1093);
column_alias();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Table_or_subqueryContext extends ParserRuleContext {
public Table_nameContext table_name() {
return getRuleContext(Table_nameContext.class,0);
}
public Table_aliasContext table_alias() {
return getRuleContext(Table_aliasContext.class,0);
}
public TerminalNode K_INDEXED() { return getToken(SqliteParser.K_INDEXED, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public Index_nameContext index_name() {
return getRuleContext(Index_nameContext.class,0);
}
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public List table_or_subquery() {
return getRuleContexts(Table_or_subqueryContext.class);
}
public Table_or_subqueryContext table_or_subquery(int i) {
return getRuleContext(Table_or_subqueryContext.class,i);
}
public Join_clauseContext join_clause() {
return getRuleContext(Join_clauseContext.class,0);
}
public Select_stmtContext select_stmt() {
return getRuleContext(Select_stmtContext.class,0);
}
public Table_or_subqueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_or_subquery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTable_or_subquery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTable_or_subquery(this);
}
}
public final Table_or_subqueryContext table_or_subquery() throws RecognitionException {
Table_or_subqueryContext _localctx = new Table_or_subqueryContext(_ctx, getState());
enterRule(_localctx, 90, RULE_table_or_subquery);
int _la;
try {
setState(1135);
switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1098);
table_name();
setState(1103);
_la = _input.LA(1);
if (_la==K_AS || _la==IDENTIFIER) {
{
setState(1100);
_la = _input.LA(1);
if (_la==K_AS) {
{
setState(1099);
match(K_AS);
}
}
setState(1102);
table_alias();
}
}
setState(1110);
switch (_input.LA(1)) {
case K_INDEXED:
{
setState(1105);
match(K_INDEXED);
setState(1106);
match(K_BY);
setState(1107);
index_name();
}
break;
case K_NOT:
{
setState(1108);
match(K_NOT);
setState(1109);
match(K_INDEXED);
}
break;
case SCOL:
case CLOSE_PAR:
case COMMA:
case K_CROSS:
case K_EXCEPT:
case K_GROUP:
case K_INNER:
case K_INTERSECT:
case K_JOIN:
case K_LEFT:
case K_LIMIT:
case K_NATURAL:
case K_ON:
case K_ORDER:
case K_UNION:
case K_USING:
case K_WHERE:
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1112);
match(OPEN_PAR);
setState(1122);
switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) {
case 1:
{
setState(1113);
table_or_subquery();
setState(1118);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1114);
match(COMMA);
setState(1115);
table_or_subquery();
}
}
setState(1120);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case 2:
{
setState(1121);
join_clause();
}
break;
}
setState(1124);
match(CLOSE_PAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1126);
match(OPEN_PAR);
setState(1127);
select_stmt();
setState(1128);
match(CLOSE_PAR);
setState(1133);
_la = _input.LA(1);
if (_la==K_AS || _la==IDENTIFIER) {
{
setState(1130);
_la = _input.LA(1);
if (_la==K_AS) {
{
setState(1129);
match(K_AS);
}
}
setState(1132);
table_alias();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Join_clauseContext extends ParserRuleContext {
public List table_or_subquery() {
return getRuleContexts(Table_or_subqueryContext.class);
}
public Table_or_subqueryContext table_or_subquery(int i) {
return getRuleContext(Table_or_subqueryContext.class,i);
}
public List join_operator() {
return getRuleContexts(Join_operatorContext.class);
}
public Join_operatorContext join_operator(int i) {
return getRuleContext(Join_operatorContext.class,i);
}
public List join_constraint() {
return getRuleContexts(Join_constraintContext.class);
}
public Join_constraintContext join_constraint(int i) {
return getRuleContext(Join_constraintContext.class,i);
}
public Join_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_join_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJoin_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJoin_clause(this);
}
}
public final Join_clauseContext join_clause() throws RecognitionException {
Join_clauseContext _localctx = new Join_clauseContext(_ctx, getState());
enterRule(_localctx, 92, RULE_join_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1137);
table_or_subquery();
setState(1144);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (K_CROSS - 64)) | (1L << (K_INNER - 64)) | (1L << (K_JOIN - 64)) | (1L << (K_LEFT - 64)) | (1L << (K_NATURAL - 64)))) != 0)) {
{
{
setState(1138);
join_operator();
setState(1139);
table_or_subquery();
setState(1140);
join_constraint();
}
}
setState(1146);
_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;
}
public static class Join_operatorContext extends ParserRuleContext {
public TerminalNode K_JOIN() { return getToken(SqliteParser.K_JOIN, 0); }
public TerminalNode K_NATURAL() { return getToken(SqliteParser.K_NATURAL, 0); }
public TerminalNode K_LEFT() { return getToken(SqliteParser.K_LEFT, 0); }
public TerminalNode K_INNER() { return getToken(SqliteParser.K_INNER, 0); }
public TerminalNode K_CROSS() { return getToken(SqliteParser.K_CROSS, 0); }
public TerminalNode K_OUTER() { return getToken(SqliteParser.K_OUTER, 0); }
public Join_operatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_join_operator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJoin_operator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJoin_operator(this);
}
}
public final Join_operatorContext join_operator() throws RecognitionException {
Join_operatorContext _localctx = new Join_operatorContext(_ctx, getState());
enterRule(_localctx, 94, RULE_join_operator);
int _la;
try {
setState(1160);
switch (_input.LA(1)) {
case COMMA:
enterOuterAlt(_localctx, 1);
{
setState(1147);
match(COMMA);
}
break;
case K_CROSS:
case K_INNER:
case K_JOIN:
case K_LEFT:
case K_NATURAL:
enterOuterAlt(_localctx, 2);
{
setState(1149);
_la = _input.LA(1);
if (_la==K_NATURAL) {
{
setState(1148);
match(K_NATURAL);
}
}
setState(1157);
switch (_input.LA(1)) {
case K_LEFT:
{
setState(1151);
match(K_LEFT);
setState(1153);
_la = _input.LA(1);
if (_la==K_OUTER) {
{
setState(1152);
match(K_OUTER);
}
}
}
break;
case K_INNER:
{
setState(1155);
match(K_INNER);
}
break;
case K_CROSS:
{
setState(1156);
match(K_CROSS);
}
break;
case K_JOIN:
break;
default:
throw new NoViableAltException(this);
}
setState(1159);
match(K_JOIN);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Join_constraintContext extends ParserRuleContext {
public TerminalNode K_ON() { return getToken(SqliteParser.K_ON, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode K_USING() { return getToken(SqliteParser.K_USING, 0); }
public List column_name() {
return getRuleContexts(Column_nameContext.class);
}
public Column_nameContext column_name(int i) {
return getRuleContext(Column_nameContext.class,i);
}
public Join_constraintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_join_constraint; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJoin_constraint(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJoin_constraint(this);
}
}
public final Join_constraintContext join_constraint() throws RecognitionException {
Join_constraintContext _localctx = new Join_constraintContext(_ctx, getState());
enterRule(_localctx, 96, RULE_join_constraint);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1176);
switch (_input.LA(1)) {
case K_ON:
{
setState(1162);
match(K_ON);
setState(1163);
expr(0);
}
break;
case K_USING:
{
setState(1164);
match(K_USING);
setState(1165);
match(OPEN_PAR);
setState(1166);
column_name();
setState(1171);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1167);
match(COMMA);
setState(1168);
column_name();
}
}
setState(1173);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1174);
match(CLOSE_PAR);
}
break;
case SCOL:
case CLOSE_PAR:
case COMMA:
case K_CROSS:
case K_EXCEPT:
case K_GROUP:
case K_INNER:
case K_INTERSECT:
case K_JOIN:
case K_LEFT:
case K_LIMIT:
case K_NATURAL:
case K_ORDER:
case K_UNION:
case K_WHERE:
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Compound_operatorContext extends ParserRuleContext {
public TerminalNode K_UNION() { return getToken(SqliteParser.K_UNION, 0); }
public TerminalNode K_ALL() { return getToken(SqliteParser.K_ALL, 0); }
public TerminalNode K_INTERSECT() { return getToken(SqliteParser.K_INTERSECT, 0); }
public TerminalNode K_EXCEPT() { return getToken(SqliteParser.K_EXCEPT, 0); }
public Compound_operatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_compound_operator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCompound_operator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCompound_operator(this);
}
}
public final Compound_operatorContext compound_operator() throws RecognitionException {
Compound_operatorContext _localctx = new Compound_operatorContext(_ctx, getState());
enterRule(_localctx, 98, RULE_compound_operator);
try {
setState(1183);
switch ( getInterpreter().adaptivePredict(_input,154,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1178);
match(K_UNION);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1179);
match(K_UNION);
setState(1180);
match(K_ALL);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1181);
match(K_INTERSECT);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1182);
match(K_EXCEPT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Signed_numberContext extends ParserRuleContext {
public TerminalNode INTEGER_LITERAL() { return getToken(SqliteParser.INTEGER_LITERAL, 0); }
public TerminalNode REAL_LITERAL() { return getToken(SqliteParser.REAL_LITERAL, 0); }
public Signed_numberContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_signed_number; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSigned_number(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSigned_number(this);
}
}
public final Signed_numberContext signed_number() throws RecognitionException {
Signed_numberContext _localctx = new Signed_numberContext(_ctx, getState());
enterRule(_localctx, 100, RULE_signed_number);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1186);
_la = _input.LA(1);
if (_la==PLUS || _la==MINUS) {
{
setState(1185);
_la = _input.LA(1);
if ( !(_la==PLUS || _la==MINUS) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
setState(1188);
_la = _input.LA(1);
if ( !(_la==INTEGER_LITERAL || _la==REAL_LITERAL) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Literal_valueContext extends ParserRuleContext {
public TerminalNode INTEGER_LITERAL() { return getToken(SqliteParser.INTEGER_LITERAL, 0); }
public TerminalNode REAL_LITERAL() { return getToken(SqliteParser.REAL_LITERAL, 0); }
public TerminalNode STRING_LITERAL() { return getToken(SqliteParser.STRING_LITERAL, 0); }
public TerminalNode BLOB_LITERAL() { return getToken(SqliteParser.BLOB_LITERAL, 0); }
public TerminalNode K_NULL() { return getToken(SqliteParser.K_NULL, 0); }
public TerminalNode K_CURRENT_TIME() { return getToken(SqliteParser.K_CURRENT_TIME, 0); }
public TerminalNode K_CURRENT_DATE() { return getToken(SqliteParser.K_CURRENT_DATE, 0); }
public TerminalNode K_CURRENT_TIMESTAMP() { return getToken(SqliteParser.K_CURRENT_TIMESTAMP, 0); }
public Literal_valueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_literal_value; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterLiteral_value(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitLiteral_value(this);
}
}
public final Literal_valueContext literal_value() throws RecognitionException {
Literal_valueContext _localctx = new Literal_valueContext(_ctx, getState());
enterRule(_localctx, 102, RULE_literal_value);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1190);
_la = _input.LA(1);
if ( !(((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (K_CURRENT_DATE - 65)) | (1L << (K_CURRENT_TIME - 65)) | (1L << (K_CURRENT_TIMESTAMP - 65)) | (1L << (K_NULL - 65)))) != 0) || ((((_la - 162)) & ~0x3f) == 0 && ((1L << (_la - 162)) & ((1L << (INTEGER_LITERAL - 162)) | (1L << (REAL_LITERAL - 162)) | (1L << (STRING_LITERAL - 162)) | (1L << (BLOB_LITERAL - 162)))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Unary_operatorContext extends ParserRuleContext {
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public Unary_operatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unary_operator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterUnary_operator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitUnary_operator(this);
}
}
public final Unary_operatorContext unary_operator() throws RecognitionException {
Unary_operatorContext _localctx = new Unary_operatorContext(_ctx, getState());
enterRule(_localctx, 104, RULE_unary_operator);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1192);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PLUS) | (1L << MINUS) | (1L << TILDE))) != 0) || _la==K_NOT) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Error_messageContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL() { return getToken(SqliteParser.STRING_LITERAL, 0); }
public Error_messageContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_error_message; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterError_message(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitError_message(this);
}
}
public final Error_messageContext error_message() throws RecognitionException {
Error_messageContext _localctx = new Error_messageContext(_ctx, getState());
enterRule(_localctx, 106, RULE_error_message);
try {
enterOuterAlt(_localctx, 1);
{
setState(1194);
match(STRING_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Column_aliasContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public Column_aliasContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_column_alias; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterColumn_alias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitColumn_alias(this);
}
}
public final Column_aliasContext column_alias() throws RecognitionException {
Column_aliasContext _localctx = new Column_aliasContext(_ctx, getState());
enterRule(_localctx, 108, RULE_column_alias);
try {
enterOuterAlt(_localctx, 1);
{
setState(1196);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KeywordContext extends ParserRuleContext {
public TerminalNode K_ABORT() { return getToken(SqliteParser.K_ABORT, 0); }
public TerminalNode K_ACTION() { return getToken(SqliteParser.K_ACTION, 0); }
public TerminalNode K_ADD() { return getToken(SqliteParser.K_ADD, 0); }
public TerminalNode K_AFTER() { return getToken(SqliteParser.K_AFTER, 0); }
public TerminalNode K_ALL() { return getToken(SqliteParser.K_ALL, 0); }
public TerminalNode K_ALTER() { return getToken(SqliteParser.K_ALTER, 0); }
public TerminalNode K_ANALYZE() { return getToken(SqliteParser.K_ANALYZE, 0); }
public TerminalNode K_AND() { return getToken(SqliteParser.K_AND, 0); }
public TerminalNode K_AS() { return getToken(SqliteParser.K_AS, 0); }
public TerminalNode K_ASC() { return getToken(SqliteParser.K_ASC, 0); }
public TerminalNode K_ATTACH() { return getToken(SqliteParser.K_ATTACH, 0); }
public TerminalNode K_AUTOINCREMENT() { return getToken(SqliteParser.K_AUTOINCREMENT, 0); }
public TerminalNode K_BEFORE() { return getToken(SqliteParser.K_BEFORE, 0); }
public TerminalNode K_BEGIN() { return getToken(SqliteParser.K_BEGIN, 0); }
public TerminalNode K_BETWEEN() { return getToken(SqliteParser.K_BETWEEN, 0); }
public TerminalNode K_BY() { return getToken(SqliteParser.K_BY, 0); }
public TerminalNode K_CASCADE() { return getToken(SqliteParser.K_CASCADE, 0); }
public TerminalNode K_CASE() { return getToken(SqliteParser.K_CASE, 0); }
public TerminalNode K_CAST() { return getToken(SqliteParser.K_CAST, 0); }
public TerminalNode K_CHECK() { return getToken(SqliteParser.K_CHECK, 0); }
public TerminalNode K_COLLATE() { return getToken(SqliteParser.K_COLLATE, 0); }
public TerminalNode K_COLUMN() { return getToken(SqliteParser.K_COLUMN, 0); }
public TerminalNode K_COMMIT() { return getToken(SqliteParser.K_COMMIT, 0); }
public TerminalNode K_CONFLICT() { return getToken(SqliteParser.K_CONFLICT, 0); }
public TerminalNode K_CONSTRAINT() { return getToken(SqliteParser.K_CONSTRAINT, 0); }
public TerminalNode K_CREATE() { return getToken(SqliteParser.K_CREATE, 0); }
public TerminalNode K_CROSS() { return getToken(SqliteParser.K_CROSS, 0); }
public TerminalNode K_CURRENT_DATE() { return getToken(SqliteParser.K_CURRENT_DATE, 0); }
public TerminalNode K_CURRENT_TIME() { return getToken(SqliteParser.K_CURRENT_TIME, 0); }
public TerminalNode K_CURRENT_TIMESTAMP() { return getToken(SqliteParser.K_CURRENT_TIMESTAMP, 0); }
public TerminalNode K_DATABASE() { return getToken(SqliteParser.K_DATABASE, 0); }
public TerminalNode K_DEFAULT() { return getToken(SqliteParser.K_DEFAULT, 0); }
public TerminalNode K_DEFERRABLE() { return getToken(SqliteParser.K_DEFERRABLE, 0); }
public TerminalNode K_DEFERRED() { return getToken(SqliteParser.K_DEFERRED, 0); }
public TerminalNode K_DELETE() { return getToken(SqliteParser.K_DELETE, 0); }
public TerminalNode K_DESC() { return getToken(SqliteParser.K_DESC, 0); }
public TerminalNode K_DETACH() { return getToken(SqliteParser.K_DETACH, 0); }
public TerminalNode K_DISTINCT() { return getToken(SqliteParser.K_DISTINCT, 0); }
public TerminalNode K_DROP() { return getToken(SqliteParser.K_DROP, 0); }
public TerminalNode K_EACH() { return getToken(SqliteParser.K_EACH, 0); }
public TerminalNode K_ELSE() { return getToken(SqliteParser.K_ELSE, 0); }
public TerminalNode K_END() { return getToken(SqliteParser.K_END, 0); }
public TerminalNode K_ESCAPE() { return getToken(SqliteParser.K_ESCAPE, 0); }
public TerminalNode K_EXCEPT() { return getToken(SqliteParser.K_EXCEPT, 0); }
public TerminalNode K_EXCLUSIVE() { return getToken(SqliteParser.K_EXCLUSIVE, 0); }
public TerminalNode K_EXISTS() { return getToken(SqliteParser.K_EXISTS, 0); }
public TerminalNode K_EXPLAIN() { return getToken(SqliteParser.K_EXPLAIN, 0); }
public TerminalNode K_FAIL() { return getToken(SqliteParser.K_FAIL, 0); }
public TerminalNode K_FOR() { return getToken(SqliteParser.K_FOR, 0); }
public TerminalNode K_FOREIGN_KEY() { return getToken(SqliteParser.K_FOREIGN_KEY, 0); }
public TerminalNode K_FROM() { return getToken(SqliteParser.K_FROM, 0); }
public TerminalNode K_FULL() { return getToken(SqliteParser.K_FULL, 0); }
public TerminalNode K_GLOB() { return getToken(SqliteParser.K_GLOB, 0); }
public TerminalNode K_GROUP() { return getToken(SqliteParser.K_GROUP, 0); }
public TerminalNode K_HAVING() { return getToken(SqliteParser.K_HAVING, 0); }
public TerminalNode K_IF() { return getToken(SqliteParser.K_IF, 0); }
public TerminalNode K_IGNORE() { return getToken(SqliteParser.K_IGNORE, 0); }
public TerminalNode K_IMMEDIATE() { return getToken(SqliteParser.K_IMMEDIATE, 0); }
public TerminalNode K_IMPORT() { return getToken(SqliteParser.K_IMPORT, 0); }
public TerminalNode K_IN() { return getToken(SqliteParser.K_IN, 0); }
public TerminalNode K_INDEX() { return getToken(SqliteParser.K_INDEX, 0); }
public TerminalNode K_INDEXED() { return getToken(SqliteParser.K_INDEXED, 0); }
public TerminalNode K_INITIALLY() { return getToken(SqliteParser.K_INITIALLY, 0); }
public TerminalNode K_INNER() { return getToken(SqliteParser.K_INNER, 0); }
public TerminalNode K_INSERT() { return getToken(SqliteParser.K_INSERT, 0); }
public TerminalNode K_INSTEAD() { return getToken(SqliteParser.K_INSTEAD, 0); }
public TerminalNode K_INTERSECT() { return getToken(SqliteParser.K_INTERSECT, 0); }
public TerminalNode K_INTO() { return getToken(SqliteParser.K_INTO, 0); }
public TerminalNode K_IS() { return getToken(SqliteParser.K_IS, 0); }
public TerminalNode K_ISNULL() { return getToken(SqliteParser.K_ISNULL, 0); }
public TerminalNode K_JOIN() { return getToken(SqliteParser.K_JOIN, 0); }
public TerminalNode K_LEFT() { return getToken(SqliteParser.K_LEFT, 0); }
public TerminalNode K_LIKE() { return getToken(SqliteParser.K_LIKE, 0); }
public TerminalNode K_LIMIT() { return getToken(SqliteParser.K_LIMIT, 0); }
public TerminalNode K_MATCH() { return getToken(SqliteParser.K_MATCH, 0); }
public TerminalNode K_NATURAL() { return getToken(SqliteParser.K_NATURAL, 0); }
public TerminalNode K_NO() { return getToken(SqliteParser.K_NO, 0); }
public TerminalNode K_NOT() { return getToken(SqliteParser.K_NOT, 0); }
public TerminalNode K_NOTNULL() { return getToken(SqliteParser.K_NOTNULL, 0); }
public TerminalNode K_NULL() { return getToken(SqliteParser.K_NULL, 0); }
public TerminalNode K_OF() { return getToken(SqliteParser.K_OF, 0); }
public TerminalNode K_OFFSET() { return getToken(SqliteParser.K_OFFSET, 0); }
public TerminalNode K_ON() { return getToken(SqliteParser.K_ON, 0); }
public TerminalNode K_OR() { return getToken(SqliteParser.K_OR, 0); }
public TerminalNode K_ORDER() { return getToken(SqliteParser.K_ORDER, 0); }
public TerminalNode K_OUTER() { return getToken(SqliteParser.K_OUTER, 0); }
public TerminalNode K_PLAN() { return getToken(SqliteParser.K_PLAN, 0); }
public TerminalNode K_PRAGMA() { return getToken(SqliteParser.K_PRAGMA, 0); }
public TerminalNode K_PRIMARY_KEY() { return getToken(SqliteParser.K_PRIMARY_KEY, 0); }
public TerminalNode K_QUERY() { return getToken(SqliteParser.K_QUERY, 0); }
public TerminalNode K_RAISE() { return getToken(SqliteParser.K_RAISE, 0); }
public TerminalNode K_RECURSIVE() { return getToken(SqliteParser.K_RECURSIVE, 0); }
public TerminalNode K_REFERENCES() { return getToken(SqliteParser.K_REFERENCES, 0); }
public TerminalNode K_REGEXP() { return getToken(SqliteParser.K_REGEXP, 0); }
public TerminalNode K_REINDEX() { return getToken(SqliteParser.K_REINDEX, 0); }
public TerminalNode K_RELEASE() { return getToken(SqliteParser.K_RELEASE, 0); }
public TerminalNode K_RENAME() { return getToken(SqliteParser.K_RENAME, 0); }
public TerminalNode K_REPLACE() { return getToken(SqliteParser.K_REPLACE, 0); }
public TerminalNode K_RESTRICT() { return getToken(SqliteParser.K_RESTRICT, 0); }
public TerminalNode K_RIGHT() { return getToken(SqliteParser.K_RIGHT, 0); }
public TerminalNode K_ROLLBACK() { return getToken(SqliteParser.K_ROLLBACK, 0); }
public TerminalNode K_ROW() { return getToken(SqliteParser.K_ROW, 0); }
public TerminalNode K_SAVEPOINT() { return getToken(SqliteParser.K_SAVEPOINT, 0); }
public TerminalNode K_SELECT() { return getToken(SqliteParser.K_SELECT, 0); }
public TerminalNode K_SET() { return getToken(SqliteParser.K_SET, 0); }
public TerminalNode K_TABLE() { return getToken(SqliteParser.K_TABLE, 0); }
public TerminalNode K_TEMP() { return getToken(SqliteParser.K_TEMP, 0); }
public TerminalNode K_TEMPORARY() { return getToken(SqliteParser.K_TEMPORARY, 0); }
public TerminalNode K_THEN() { return getToken(SqliteParser.K_THEN, 0); }
public TerminalNode K_TO() { return getToken(SqliteParser.K_TO, 0); }
public TerminalNode K_TRANSACTION() { return getToken(SqliteParser.K_TRANSACTION, 0); }
public TerminalNode K_TRIGGER() { return getToken(SqliteParser.K_TRIGGER, 0); }
public TerminalNode K_UNION() { return getToken(SqliteParser.K_UNION, 0); }
public TerminalNode K_UNIQUE() { return getToken(SqliteParser.K_UNIQUE, 0); }
public TerminalNode K_UPDATE() { return getToken(SqliteParser.K_UPDATE, 0); }
public TerminalNode K_USING() { return getToken(SqliteParser.K_USING, 0); }
public TerminalNode K_VACUUM() { return getToken(SqliteParser.K_VACUUM, 0); }
public TerminalNode K_VALUES() { return getToken(SqliteParser.K_VALUES, 0); }
public TerminalNode K_VIEW() { return getToken(SqliteParser.K_VIEW, 0); }
public TerminalNode K_WHEN() { return getToken(SqliteParser.K_WHEN, 0); }
public TerminalNode K_WHERE() { return getToken(SqliteParser.K_WHERE, 0); }
public TerminalNode K_WITH() { return getToken(SqliteParser.K_WITH, 0); }
public TerminalNode K_WITHOUT() { return getToken(SqliteParser.K_WITHOUT, 0); }
public TerminalNode K_INTEGER() { return getToken(SqliteParser.K_INTEGER, 0); }
public TerminalNode K_REAL() { return getToken(SqliteParser.K_REAL, 0); }
public TerminalNode K_TEXT() { return getToken(SqliteParser.K_TEXT, 0); }
public TerminalNode K_BLOB() { return getToken(SqliteParser.K_BLOB, 0); }
public TerminalNode K_JAVA_BOOLEAN() { return getToken(SqliteParser.K_JAVA_BOOLEAN, 0); }
public TerminalNode K_JAVA_INTEGER() { return getToken(SqliteParser.K_JAVA_INTEGER, 0); }
public TerminalNode K_JAVA_LONG() { return getToken(SqliteParser.K_JAVA_LONG, 0); }
public TerminalNode K_JAVA_FLOAT() { return getToken(SqliteParser.K_JAVA_FLOAT, 0); }
public TerminalNode K_JAVA_DOUBLE() { return getToken(SqliteParser.K_JAVA_DOUBLE, 0); }
public TerminalNode K_JAVA_STRING() { return getToken(SqliteParser.K_JAVA_STRING, 0); }
public TerminalNode K_JAVA_BYTE_ARRAY() { return getToken(SqliteParser.K_JAVA_BYTE_ARRAY, 0); }
public KeywordContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_keyword; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterKeyword(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitKeyword(this);
}
}
public final KeywordContext keyword() throws RecognitionException {
KeywordContext _localctx = new KeywordContext(_ctx, getState());
enterRule(_localctx, 110, RULE_keyword);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1198);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << K_JAVA_BOOLEAN) | (1L << K_JAVA_INTEGER) | (1L << K_JAVA_LONG) | (1L << K_JAVA_FLOAT) | (1L << K_JAVA_DOUBLE) | (1L << K_JAVA_STRING) | (1L << K_JAVA_BYTE_ARRAY) | (1L << K_INTEGER) | (1L << K_REAL) | (1L << K_TEXT) | (1L << K_BLOB) | (1L << K_ABORT) | (1L << K_ACTION) | (1L << K_ADD) | (1L << K_AFTER) | (1L << K_ALL) | (1L << K_ALTER) | (1L << K_ANALYZE) | (1L << K_AND) | (1L << K_AS) | (1L << K_ASC) | (1L << K_ATTACH) | (1L << K_AUTOINCREMENT) | (1L << K_BEFORE) | (1L << K_BEGIN) | (1L << K_BETWEEN) | (1L << K_BY) | (1L << K_CASCADE) | (1L << K_CASE) | (1L << K_CAST) | (1L << K_CHECK) | (1L << K_COLLATE) | (1L << K_COLUMN) | (1L << K_COMMIT) | (1L << K_CONFLICT) | (1L << K_CONSTRAINT) | (1L << K_CREATE))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (K_CROSS - 64)) | (1L << (K_CURRENT_DATE - 64)) | (1L << (K_CURRENT_TIME - 64)) | (1L << (K_CURRENT_TIMESTAMP - 64)) | (1L << (K_DATABASE - 64)) | (1L << (K_DEFAULT - 64)) | (1L << (K_DEFERRABLE - 64)) | (1L << (K_DEFERRED - 64)) | (1L << (K_DELETE - 64)) | (1L << (K_DESC - 64)) | (1L << (K_DETACH - 64)) | (1L << (K_DISTINCT - 64)) | (1L << (K_DROP - 64)) | (1L << (K_EACH - 64)) | (1L << (K_ELSE - 64)) | (1L << (K_END - 64)) | (1L << (K_ESCAPE - 64)) | (1L << (K_EXCEPT - 64)) | (1L << (K_EXCLUSIVE - 64)) | (1L << (K_EXISTS - 64)) | (1L << (K_EXPLAIN - 64)) | (1L << (K_FAIL - 64)) | (1L << (K_FOR - 64)) | (1L << (K_FOREIGN_KEY - 64)) | (1L << (K_FROM - 64)) | (1L << (K_FULL - 64)) | (1L << (K_GLOB - 64)) | (1L << (K_GROUP - 64)) | (1L << (K_HAVING - 64)) | (1L << (K_IF - 64)) | (1L << (K_IGNORE - 64)) | (1L << (K_IMMEDIATE - 64)) | (1L << (K_IMPORT - 64)) | (1L << (K_IN - 64)) | (1L << (K_INDEX - 64)) | (1L << (K_INDEXED - 64)) | (1L << (K_INITIALLY - 64)) | (1L << (K_INNER - 64)) | (1L << (K_INSERT - 64)) | (1L << (K_INSTEAD - 64)) | (1L << (K_INTERSECT - 64)) | (1L << (K_INTO - 64)) | (1L << (K_IS - 64)) | (1L << (K_ISNULL - 64)) | (1L << (K_JOIN - 64)) | (1L << (K_LEFT - 64)) | (1L << (K_LIKE - 64)) | (1L << (K_LIMIT - 64)) | (1L << (K_MATCH - 64)) | (1L << (K_NATURAL - 64)) | (1L << (K_NO - 64)) | (1L << (K_NOT - 64)) | (1L << (K_NOTNULL - 64)) | (1L << (K_NULL - 64)) | (1L << (K_OF - 64)) | (1L << (K_OFFSET - 64)) | (1L << (K_ON - 64)) | (1L << (K_OR - 64)) | (1L << (K_ORDER - 64)) | (1L << (K_OUTER - 64)) | (1L << (K_PLAN - 64)) | (1L << (K_PRAGMA - 64)) | (1L << (K_PRIMARY_KEY - 64)) | (1L << (K_QUERY - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (K_RAISE - 128)) | (1L << (K_RECURSIVE - 128)) | (1L << (K_REFERENCES - 128)) | (1L << (K_REGEXP - 128)) | (1L << (K_REINDEX - 128)) | (1L << (K_RELEASE - 128)) | (1L << (K_RENAME - 128)) | (1L << (K_REPLACE - 128)) | (1L << (K_RESTRICT - 128)) | (1L << (K_RIGHT - 128)) | (1L << (K_ROLLBACK - 128)) | (1L << (K_ROW - 128)) | (1L << (K_SAVEPOINT - 128)) | (1L << (K_SELECT - 128)) | (1L << (K_SET - 128)) | (1L << (K_TABLE - 128)) | (1L << (K_TEMP - 128)) | (1L << (K_TEMPORARY - 128)) | (1L << (K_THEN - 128)) | (1L << (K_TO - 128)) | (1L << (K_TRANSACTION - 128)) | (1L << (K_TRIGGER - 128)) | (1L << (K_UNION - 128)) | (1L << (K_UNIQUE - 128)) | (1L << (K_UPDATE - 128)) | (1L << (K_USING - 128)) | (1L << (K_VACUUM - 128)) | (1L << (K_VALUES - 128)) | (1L << (K_VIEW - 128)) | (1L << (K_WHEN - 128)) | (1L << (K_WHERE - 128)) | (1L << (K_WITH - 128)) | (1L << (K_WITHOUT - 128)))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public NameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitName(this);
}
}
public final NameContext name() throws RecognitionException {
NameContext _localctx = new NameContext(_ctx, getState());
enterRule(_localctx, 112, RULE_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1200);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Function_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Function_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_function_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterFunction_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitFunction_name(this);
}
}
public final Function_nameContext function_name() throws RecognitionException {
Function_nameContext _localctx = new Function_nameContext(_ctx, getState());
enterRule(_localctx, 114, RULE_function_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1202);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Table_nameContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public Table_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTable_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTable_name(this);
}
}
public final Table_nameContext table_name() throws RecognitionException {
Table_nameContext _localctx = new Table_nameContext(_ctx, getState());
enterRule(_localctx, 116, RULE_table_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1204);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Table_or_index_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Table_or_index_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_or_index_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTable_or_index_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTable_or_index_name(this);
}
}
public final Table_or_index_nameContext table_or_index_name() throws RecognitionException {
Table_or_index_nameContext _localctx = new Table_or_index_nameContext(_ctx, getState());
enterRule(_localctx, 118, RULE_table_or_index_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1206);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class New_table_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public New_table_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_new_table_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterNew_table_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitNew_table_name(this);
}
}
public final New_table_nameContext new_table_name() throws RecognitionException {
New_table_nameContext _localctx = new New_table_nameContext(_ctx, getState());
enterRule(_localctx, 120, RULE_new_table_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1208);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Column_nameContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(SqliteParser.STRING_LITERAL, 0); }
public Column_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_column_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterColumn_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitColumn_name(this);
}
}
public final Column_nameContext column_name() throws RecognitionException {
Column_nameContext _localctx = new Column_nameContext(_ctx, getState());
enterRule(_localctx, 122, RULE_column_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1210);
_la = _input.LA(1);
if ( !(_la==IDENTIFIER || _la==STRING_LITERAL) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Sql_stmt_nameContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public Sql_stmt_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sql_stmt_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSql_stmt_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSql_stmt_name(this);
}
}
public final Sql_stmt_nameContext sql_stmt_name() throws RecognitionException {
Sql_stmt_nameContext _localctx = new Sql_stmt_nameContext(_ctx, getState());
enterRule(_localctx, 124, RULE_sql_stmt_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1212);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Collation_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Collation_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_collation_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCollation_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCollation_name(this);
}
}
public final Collation_nameContext collation_name() throws RecognitionException {
Collation_nameContext _localctx = new Collation_nameContext(_ctx, getState());
enterRule(_localctx, 126, RULE_collation_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1214);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Foreign_tableContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Foreign_tableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_foreign_table; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterForeign_table(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitForeign_table(this);
}
}
public final Foreign_tableContext foreign_table() throws RecognitionException {
Foreign_tableContext _localctx = new Foreign_tableContext(_ctx, getState());
enterRule(_localctx, 128, RULE_foreign_table);
try {
enterOuterAlt(_localctx, 1);
{
setState(1216);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Index_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Index_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_index_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterIndex_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitIndex_name(this);
}
}
public final Index_nameContext index_name() throws RecognitionException {
Index_nameContext _localctx = new Index_nameContext(_ctx, getState());
enterRule(_localctx, 130, RULE_index_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1218);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Trigger_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Trigger_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_trigger_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTrigger_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTrigger_name(this);
}
}
public final Trigger_nameContext trigger_name() throws RecognitionException {
Trigger_nameContext _localctx = new Trigger_nameContext(_ctx, getState());
enterRule(_localctx, 132, RULE_trigger_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1220);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class View_nameContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public View_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_view_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterView_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitView_name(this);
}
}
public final View_nameContext view_name() throws RecognitionException {
View_nameContext _localctx = new View_nameContext(_ctx, getState());
enterRule(_localctx, 134, RULE_view_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1222);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Pragma_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Pragma_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pragma_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterPragma_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitPragma_name(this);
}
}
public final Pragma_nameContext pragma_name() throws RecognitionException {
Pragma_nameContext _localctx = new Pragma_nameContext(_ctx, getState());
enterRule(_localctx, 136, RULE_pragma_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1224);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Savepoint_nameContext extends ParserRuleContext {
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Savepoint_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_savepoint_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSavepoint_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSavepoint_name(this);
}
}
public final Savepoint_nameContext savepoint_name() throws RecognitionException {
Savepoint_nameContext _localctx = new Savepoint_nameContext(_ctx, getState());
enterRule(_localctx, 138, RULE_savepoint_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(1226);
any_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Table_aliasContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public Table_aliasContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_alias; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterTable_alias(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitTable_alias(this);
}
}
public final Table_aliasContext table_alias() throws RecognitionException {
Table_aliasContext _localctx = new Table_aliasContext(_ctx, getState());
enterRule(_localctx, 140, RULE_table_alias);
try {
enterOuterAlt(_localctx, 1);
{
setState(1228);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Sqlite_type_nameContext extends ParserRuleContext {
public TerminalNode K_INTEGER() { return getToken(SqliteParser.K_INTEGER, 0); }
public TerminalNode K_REAL() { return getToken(SqliteParser.K_REAL, 0); }
public TerminalNode K_TEXT() { return getToken(SqliteParser.K_TEXT, 0); }
public TerminalNode K_BLOB() { return getToken(SqliteParser.K_BLOB, 0); }
public Sqlite_type_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sqlite_type_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterSqlite_type_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitSqlite_type_name(this);
}
}
public final Sqlite_type_nameContext sqlite_type_name() throws RecognitionException {
Sqlite_type_nameContext _localctx = new Sqlite_type_nameContext(_ctx, getState());
enterRule(_localctx, 142, RULE_sqlite_type_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1230);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << K_INTEGER) | (1L << K_REAL) | (1L << K_TEXT) | (1L << K_BLOB))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Java_type_nameContext extends ParserRuleContext {
public TerminalNode K_JAVA_BOOLEAN() { return getToken(SqliteParser.K_JAVA_BOOLEAN, 0); }
public TerminalNode K_JAVA_INTEGER() { return getToken(SqliteParser.K_JAVA_INTEGER, 0); }
public TerminalNode K_JAVA_LONG() { return getToken(SqliteParser.K_JAVA_LONG, 0); }
public TerminalNode K_JAVA_FLOAT() { return getToken(SqliteParser.K_JAVA_FLOAT, 0); }
public TerminalNode K_JAVA_DOUBLE() { return getToken(SqliteParser.K_JAVA_DOUBLE, 0); }
public TerminalNode K_JAVA_STRING() { return getToken(SqliteParser.K_JAVA_STRING, 0); }
public TerminalNode K_JAVA_BYTE_ARRAY() { return getToken(SqliteParser.K_JAVA_BYTE_ARRAY, 0); }
public Custom_typeContext custom_type() {
return getRuleContext(Custom_typeContext.class,0);
}
public Java_type_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_java_type_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJava_type_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJava_type_name(this);
}
}
public final Java_type_nameContext java_type_name() throws RecognitionException {
Java_type_nameContext _localctx = new Java_type_nameContext(_ctx, getState());
enterRule(_localctx, 144, RULE_java_type_name);
try {
setState(1240);
switch (_input.LA(1)) {
case K_JAVA_BOOLEAN:
enterOuterAlt(_localctx, 1);
{
setState(1232);
match(K_JAVA_BOOLEAN);
}
break;
case K_JAVA_INTEGER:
enterOuterAlt(_localctx, 2);
{
setState(1233);
match(K_JAVA_INTEGER);
}
break;
case K_JAVA_LONG:
enterOuterAlt(_localctx, 3);
{
setState(1234);
match(K_JAVA_LONG);
}
break;
case K_JAVA_FLOAT:
enterOuterAlt(_localctx, 4);
{
setState(1235);
match(K_JAVA_FLOAT);
}
break;
case K_JAVA_DOUBLE:
enterOuterAlt(_localctx, 5);
{
setState(1236);
match(K_JAVA_DOUBLE);
}
break;
case K_JAVA_STRING:
enterOuterAlt(_localctx, 6);
{
setState(1237);
match(K_JAVA_STRING);
}
break;
case K_JAVA_BYTE_ARRAY:
enterOuterAlt(_localctx, 7);
{
setState(1238);
match(K_JAVA_BYTE_ARRAY);
}
break;
case IDENTIFIER:
enterOuterAlt(_localctx, 8);
{
setState(1239);
custom_type();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Custom_typeContext extends ParserRuleContext {
public List java_type() {
return getRuleContexts(Java_typeContext.class);
}
public Java_typeContext java_type(int i) {
return getRuleContext(Java_typeContext.class,i);
}
public List java_type_name() {
return getRuleContexts(Java_type_nameContext.class);
}
public Java_type_nameContext java_type_name(int i) {
return getRuleContext(Java_type_nameContext.class,i);
}
public List java_type_name2() {
return getRuleContexts(Java_type_name2Context.class);
}
public Java_type_name2Context java_type_name2(int i) {
return getRuleContext(Java_type_name2Context.class,i);
}
public Custom_typeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_custom_type; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterCustom_type(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitCustom_type(this);
}
}
public final Custom_typeContext custom_type() throws RecognitionException {
Custom_typeContext _localctx = new Custom_typeContext(_ctx, getState());
enterRule(_localctx, 146, RULE_custom_type);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1242);
java_type();
setState(1275);
switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) {
case 1:
{
{
setState(1243);
match(LT);
setState(1244);
java_type_name();
setState(1249);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1245);
match(COMMA);
setState(1246);
java_type_name();
}
}
setState(1251);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1252);
match(GT);
}
}
break;
case 2:
{
{
setState(1254);
match(LT);
setState(1260);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,158,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1255);
java_type_name();
setState(1256);
match(COMMA);
}
}
}
setState(1262);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,158,_ctx);
}
setState(1263);
java_type();
setState(1264);
match(LT);
setState(1265);
java_type_name2();
setState(1270);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(1266);
match(COMMA);
setState(1267);
java_type_name2();
}
}
setState(1272);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(1273);
match(GT2);
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Java_type_name2Context extends ParserRuleContext {
public Java_type_nameContext java_type_name() {
return getRuleContext(Java_type_nameContext.class,0);
}
public Java_type_name2Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_java_type_name2; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJava_type_name2(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJava_type_name2(this);
}
}
public final Java_type_name2Context java_type_name2() throws RecognitionException {
Java_type_name2Context _localctx = new Java_type_name2Context(_ctx, getState());
enterRule(_localctx, 148, RULE_java_type_name2);
try {
enterOuterAlt(_localctx, 1);
{
setState(1277);
java_type_name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Java_typeContext extends ParserRuleContext {
public List IDENTIFIER() { return getTokens(SqliteParser.IDENTIFIER); }
public TerminalNode IDENTIFIER(int i) {
return getToken(SqliteParser.IDENTIFIER, i);
}
public Java_typeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_java_type; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterJava_type(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitJava_type(this);
}
}
public final Java_typeContext java_type() throws RecognitionException {
Java_typeContext _localctx = new Java_typeContext(_ctx, getState());
enterRule(_localctx, 150, RULE_java_type);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1283);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,161,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1279);
match(IDENTIFIER);
setState(1280);
match(DOT);
}
}
}
setState(1285);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,161,_ctx);
}
setState(1286);
match(IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Any_nameContext extends ParserRuleContext {
public TerminalNode IDENTIFIER() { return getToken(SqliteParser.IDENTIFIER, 0); }
public TerminalNode STRING_LITERAL() { return getToken(SqliteParser.STRING_LITERAL, 0); }
public Any_nameContext any_name() {
return getRuleContext(Any_nameContext.class,0);
}
public Any_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_any_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).enterAny_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof SqliteListener ) ((SqliteListener)listener).exitAny_name(this);
}
}
public final Any_nameContext any_name() throws RecognitionException {
Any_nameContext _localctx = new Any_nameContext(_ctx, getState());
enterRule(_localctx, 152, RULE_any_name);
try {
setState(1294);
switch (_input.LA(1)) {
case IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(1288);
match(IDENTIFIER);
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(1289);
match(STRING_LITERAL);
}
break;
case OPEN_PAR:
enterOuterAlt(_localctx, 3);
{
setState(1290);
match(OPEN_PAR);
setState(1291);
any_name();
setState(1292);
match(CLOSE_PAR);
}
break;
default:
throw new NoViableAltException(this);
}
}
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 33:
return expr_sempred((ExprContext)_localctx, predIndex);
}
return true;
}
private boolean expr_sempred(ExprContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return precpred(_ctx, 20);
case 1:
return precpred(_ctx, 19);
case 2:
return precpred(_ctx, 18);
case 3:
return precpred(_ctx, 17);
case 4:
return precpred(_ctx, 16);
case 5:
return precpred(_ctx, 15);
case 6:
return precpred(_ctx, 14);
case 7:
return precpred(_ctx, 13);
case 8:
return precpred(_ctx, 6);
case 9:
return precpred(_ctx, 5);
case 10:
return precpred(_ctx, 9);
case 11:
return precpred(_ctx, 8);
case 12:
return precpred(_ctx, 7);
case 13:
return precpred(_ctx, 4);
}
return true;
}
public static final String _serializedATN =
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3\u00ac\u0513\4\2\t"+
"\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
"\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
"\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
"\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\3\2\3\2\5\2\u009f\n\2\3\2\3\2\3\3\3"+
"\3\3\4\7\4\u00a6\n\4\f\4\16\4\u00a9\13\4\3\4\3\4\3\4\5\4\u00ae\n\4\3\4"+
"\3\4\3\4\7\4\u00b3\n\4\f\4\16\4\u00b6\13\4\3\5\3\5\3\5\3\5\3\6\3\6\3\6"+
"\3\6\3\6\5\6\u00c1\n\6\5\6\u00c3\n\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3"+
"\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6\u00d9\n\6\3\7\3\7\3"+
"\7\3\7\3\7\3\7\3\7\3\7\5\7\u00e3\n\7\3\7\5\7\u00e6\n\7\3\b\3\b\3\b\3\t"+
"\3\t\5\t\u00ed\n\t\3\t\3\t\3\t\3\t\5\t\u00f3\n\t\3\t\3\t\3\t\3\t\3\t\3"+
"\t\3\t\7\t\u00fc\n\t\f\t\16\t\u00ff\13\t\3\t\3\t\3\t\5\t\u0104\n\t\3\n"+
"\3\n\5\n\u0108\n\n\3\n\3\n\3\n\3\n\5\n\u010e\n\n\3\n\3\n\3\n\3\n\3\n\7"+
"\n\u0115\n\n\f\n\16\n\u0118\13\n\3\n\3\n\7\n\u011c\n\n\f\n\16\n\u011f"+
"\13\n\3\n\3\n\3\n\5\n\u0124\n\n\3\n\3\n\5\n\u0128\n\n\3\13\3\13\5\13\u012c"+
"\n\13\3\13\3\13\3\13\3\13\5\13\u0132\n\13\3\13\3\13\3\13\3\13\3\13\5\13"+
"\u0139\n\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\7\13\u0142\n\13\f\13\16"+
"\13\u0145\13\13\5\13\u0147\n\13\5\13\u0149\n\13\3\13\3\13\3\13\3\13\3"+
"\13\5\13\u0150\n\13\3\13\3\13\5\13\u0154\n\13\3\13\3\13\3\13\3\13\3\13"+
"\5\13\u015b\n\13\3\13\3\13\6\13\u015f\n\13\r\13\16\13\u0160\3\13\3\13"+
"\3\f\3\f\5\f\u0167\n\f\3\f\3\f\3\f\3\f\5\f\u016d\n\f\3\f\3\f\3\f\3\f\3"+
"\r\5\r\u0174\n\r\3\r\3\r\3\r\3\r\3\r\5\r\u017b\n\r\3\16\5\16\u017e\n\16"+
"\3\16\3\16\3\16\3\16\3\16\5\16\u0185\n\16\3\16\3\16\3\16\3\16\3\16\7\16"+
"\u018c\n\16\f\16\16\16\u018f\13\16\5\16\u0191\n\16\3\16\3\16\3\16\3\16"+
"\5\16\u0197\n\16\5\16\u0199\n\16\3\17\3\17\3\17\3\17\5\17\u019f\n\17\3"+
"\17\3\17\3\20\3\20\3\20\3\20\5\20\u01a7\n\20\3\20\3\20\3\21\3\21\3\21"+
"\3\21\5\21\u01af\n\21\3\21\3\21\3\22\3\22\3\22\3\22\5\22\u01b7\n\22\3"+
"\22\3\22\3\23\5\23\u01bc\n\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23"+
"\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\5\23\u01cf\n\23\3\23\3\23"+
"\3\23\3\23\3\23\3\23\7\23\u01d7\n\23\f\23\16\23\u01da\13\23\3\23\3\23"+
"\5\23\u01de\n\23\3\23\3\23\3\23\3\23\3\23\5\23\u01e5\n\23\3\24\3\24\3"+
"\24\3\24\3\24\3\24\3\24\3\24\5\24\u01ef\n\24\3\25\3\25\3\25\3\25\5\25"+
"\u01f5\n\25\5\25\u01f7\n\25\3\26\3\26\5\26\u01fb\n\26\3\26\3\26\3\27\3"+
"\27\3\27\3\30\5\30\u0203\n\30\3\30\3\30\3\30\3\30\7\30\u0209\n\30\f\30"+
"\16\30\u020c\13\30\3\30\3\30\3\30\3\30\3\30\7\30\u0213\n\30\f\30\16\30"+
"\u0216\13\30\5\30\u0218\n\30\3\30\3\30\3\30\3\30\5\30\u021e\n\30\5\30"+
"\u0220\n\30\3\31\3\31\5\31\u0224\n\31\3\31\3\31\3\31\7\31\u0229\n\31\f"+
"\31\16\31\u022c\13\31\3\31\3\31\3\31\3\31\7\31\u0232\n\31\f\31\16\31\u0235"+
"\13\31\3\31\5\31\u0238\n\31\5\31\u023a\n\31\3\31\3\31\5\31\u023e\n\31"+
"\3\31\3\31\3\31\3\31\3\31\7\31\u0245\n\31\f\31\16\31\u0248\13\31\3\31"+
"\5\31\u024b\n\31\5\31\u024d\n\31\3\31\3\31\5\31\u0251\n\31\3\32\3\32\3"+
"\32\3\33\3\33\3\33\3\33\7\33\u025a\n\33\f\33\16\33\u025d\13\33\3\33\3"+
"\33\3\33\5\33\u0262\n\33\3\34\5\34\u0265\n\34\3\34\3\34\3\34\3\34\3\34"+
"\3\34\3\34\3\34\3\34\3\34\3\34\5\34\u0272\n\34\3\34\3\34\3\34\3\34\3\34"+
"\3\34\3\34\3\34\3\34\3\34\7\34\u027e\n\34\f\34\16\34\u0281\13\34\3\34"+
"\3\34\5\34\u0285\n\34\3\35\5\35\u0288\n\35\3\35\3\35\3\35\3\35\3\35\3"+
"\35\3\35\3\35\3\35\3\35\3\35\5\35\u0295\n\35\3\35\3\35\3\35\3\35\3\35"+
"\3\35\3\35\3\35\3\35\3\35\7\35\u02a1\n\35\f\35\16\35\u02a4\13\35\3\35"+
"\3\35\5\35\u02a8\n\35\3\35\3\35\3\35\3\35\3\35\7\35\u02af\n\35\f\35\16"+
"\35\u02b2\13\35\5\35\u02b4\n\35\3\35\3\35\3\35\3\35\5\35\u02ba\n\35\5"+
"\35\u02bc\n\35\3\36\3\36\3\37\3\37\3\37\7\37\u02c3\n\37\f\37\16\37\u02c6"+
"\13\37\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \5 \u02d3\n \3 \3 \5 \u02d7\n "+
"\3!\3!\5!\u02db\n!\3!\3!\5!\u02df\n!\3!\3!\5!\u02e3\n!\3!\5!\u02e6\n!"+
"\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\5!\u02f8\n!\3!\3!\3!"+
"\5!\u02fd\n!\3\"\3\"\3\"\5\"\u0302\n\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\5#\u030d"+
"\n#\3#\3#\3#\3#\5#\u0313\n#\3#\3#\3#\7#\u0318\n#\f#\16#\u031b\13#\3#\5"+
"#\u031e\n#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\5#\u032e\n#\3#\5"+
"#\u0331\n#\3#\3#\3#\3#\3#\3#\5#\u0339\n#\3#\3#\3#\3#\3#\6#\u0340\n#\r"+
"#\16#\u0341\3#\3#\5#\u0346\n#\3#\3#\3#\5#\u034b\n#\3#\3#\3#\3#\3#\3#\3"+
"#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\5#\u0368"+
"\n#\3#\3#\3#\5#\u036d\n#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\5#\u0379\n#\3#"+
"\3#\3#\3#\5#\u037f\n#\3#\3#\3#\3#\3#\5#\u0386\n#\3#\3#\5#\u038a\n#\3#"+
"\3#\3#\3#\3#\3#\7#\u0392\n#\f#\16#\u0395\13#\5#\u0397\n#\3#\3#\5#\u039b"+
"\n#\7#\u039d\n#\f#\16#\u03a0\13#\3$\3$\3%\3%\3%\3%\3%\3%\7%\u03aa\n%\f"+
"%\16%\u03ad\13%\3%\3%\5%\u03b1\n%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\5%\u03bd"+
"\n%\3%\3%\5%\u03c1\n%\7%\u03c3\n%\f%\16%\u03c6\13%\3%\5%\u03c9\n%\3%\3"+
"%\3%\3%\3%\5%\u03d0\n%\5%\u03d2\n%\3&\3&\3&\3&\3&\3&\5&\u03da\n&\3&\3"+
"&\3\'\3\'\3\'\5\'\u03e1\n\'\3\'\5\'\u03e4\n\'\3(\3(\5(\u03e8\n(\3(\3("+
"\3(\3(\3(\7(\u03ef\n(\f(\16(\u03f2\13(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3"+
"(\3(\3(\7(\u0401\n(\f(\16(\u0404\13(\3(\3(\3(\5(\u0409\n(\3)\3)\5)\u040d"+
"\n)\3)\3)\3)\7)\u0412\n)\f)\16)\u0415\13)\3*\3*\3*\3*\3*\3*\5*\u041d\n"+
"*\3+\3+\3+\5+\u0422\n+\3+\5+\u0425\n+\3,\3,\3,\5,\u042a\n,\3-\3-\3-\3"+
"-\3-\7-\u0431\n-\f-\16-\u0434\13-\3-\3-\5-\u0438\n-\3-\3-\3-\3-\3-\3."+
"\3.\3.\3.\3.\3.\3.\5.\u0446\n.\3.\5.\u0449\n.\5.\u044b\n.\3/\3/\5/\u044f"+
"\n/\3/\5/\u0452\n/\3/\3/\3/\3/\3/\5/\u0459\n/\3/\3/\3/\3/\7/\u045f\n/"+
"\f/\16/\u0462\13/\3/\5/\u0465\n/\3/\3/\3/\3/\3/\3/\5/\u046d\n/\3/\5/\u0470"+
"\n/\5/\u0472\n/\3\60\3\60\3\60\3\60\3\60\7\60\u0479\n\60\f\60\16\60\u047c"+
"\13\60\3\61\3\61\5\61\u0480\n\61\3\61\3\61\5\61\u0484\n\61\3\61\3\61\5"+
"\61\u0488\n\61\3\61\5\61\u048b\n\61\3\62\3\62\3\62\3\62\3\62\3\62\3\62"+
"\7\62\u0494\n\62\f\62\16\62\u0497\13\62\3\62\3\62\5\62\u049b\n\62\3\63"+
"\3\63\3\63\3\63\3\63\5\63\u04a2\n\63\3\64\5\64\u04a5\n\64\3\64\3\64\3"+
"\65\3\65\3\66\3\66\3\67\3\67\38\38\39\39\3:\3:\3;\3;\3<\3<\3=\3=\3>\3"+
">\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3F\3F\3G\3G\3H\3H\3I\3I\3"+
"J\3J\3J\3J\3J\3J\3J\3J\5J\u04db\nJ\3K\3K\3K\3K\3K\7K\u04e2\nK\fK\16K\u04e5"+
"\13K\3K\3K\3K\3K\3K\3K\7K\u04ed\nK\fK\16K\u04f0\13K\3K\3K\3K\3K\3K\7K"+
"\u04f7\nK\fK\16K\u04fa\13K\3K\3K\5K\u04fe\nK\3L\3L\3M\3M\7M\u0504\nM\f"+
"M\16M\u0507\13M\3M\3M\3N\3N\3N\3N\3N\3N\5N\u0511\nN\3N\2\3DO\2\4\6\b\n"+
"\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\"+
"^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090"+
"\u0092\u0094\u0096\u0098\u009a\2\26\3\2\u0092\u0093\4\2\23\23yy\4\2,,"+
"MM\4\2\61\61KK\7\2((WW``\u0089\u0089\u008c\u008c\4\2\25\25\32\33\3\2\26"+
"\27\3\2\34\37\3\2 #\4\2\24\24$&\6\2\\\\pprr\u0085\u0085\4\2JJ\u009a\u009a"+
"\5\2((WW\u008c\u008c\4\2\u0080\u0080\u0099\u0099\3\2\u00a4\u00a5\6\2C"+
"Eww\u00a4\u00a5\u00a7\u00a8\4\2\26\30uu\4\2\4\16(\u00a2\4\2\u00a3\u00a3"+
"\u00a7\u00a7\3\2\13\16\u05c4\2\u009e\3\2\2\2\4\u00a2\3\2\2\2\6\u00a7\3"+
"\2\2\2\b\u00b7\3\2\2\2\n\u00bb\3\2\2\2\f\u00da\3\2\2\2\16\u00e7\3\2\2"+
"\2\20\u00ea\3\2\2\2\22\u0105\3\2\2\2\24\u0129\3\2\2\2\26\u0164\3\2\2\2"+
"\30\u0173\3\2\2\2\32\u017d\3\2\2\2\34\u019a\3\2\2\2\36\u01a2\3\2\2\2 "+
"\u01aa\3\2\2\2\"\u01b2\3\2\2\2$\u01bb\3\2\2\2&\u01e6\3\2\2\2(\u01f0\3"+
"\2\2\2*\u01f8\3\2\2\2,\u01fe\3\2\2\2.\u0202\3\2\2\2\60\u0250\3\2\2\2\62"+
"\u0252\3\2\2\2\64\u0255\3\2\2\2\66\u0264\3\2\2\28\u0287\3\2\2\2:\u02bd"+
"\3\2\2\2<\u02bf\3\2\2\2>\u02c7\3\2\2\2@\u02da\3\2\2\2B\u0301\3\2\2\2D"+
"\u034a\3\2\2\2F\u03a1\3\2\2\2H\u03a3\3\2\2\2J\u03d3\3\2\2\2L\u03dd\3\2"+
"\2\2N\u03e7\3\2\2\2P\u040a\3\2\2\2R\u0416\3\2\2\2T\u041e\3\2\2\2V\u0429"+
"\3\2\2\2X\u042b\3\2\2\2Z\u044a\3\2\2\2\\\u0471\3\2\2\2^\u0473\3\2\2\2"+
"`\u048a\3\2\2\2b\u049a\3\2\2\2d\u04a1\3\2\2\2f\u04a4\3\2\2\2h\u04a8\3"+
"\2\2\2j\u04aa\3\2\2\2l\u04ac\3\2\2\2n\u04ae\3\2\2\2p\u04b0\3\2\2\2r\u04b2"+
"\3\2\2\2t\u04b4\3\2\2\2v\u04b6\3\2\2\2x\u04b8\3\2\2\2z\u04ba\3\2\2\2|"+
"\u04bc\3\2\2\2~\u04be\3\2\2\2\u0080\u04c0\3\2\2\2\u0082\u04c2\3\2\2\2"+
"\u0084\u04c4\3\2\2\2\u0086\u04c6\3\2\2\2\u0088\u04c8\3\2\2\2\u008a\u04ca"+
"\3\2\2\2\u008c\u04cc\3\2\2\2\u008e\u04ce\3\2\2\2\u0090\u04d0\3\2\2\2\u0092"+
"\u04da\3\2\2\2\u0094\u04dc\3\2\2\2\u0096\u04ff\3\2\2\2\u0098\u0505\3\2"+
"\2\2\u009a\u0510\3\2\2\2\u009c\u009f\5\6\4\2\u009d\u009f\5\4\3\2\u009e"+
"\u009c\3\2\2\2\u009e\u009d\3\2\2\2\u009f\u00a0\3\2\2\2\u00a0\u00a1\7\2"+
"\2\3\u00a1\3\3\2\2\2\u00a2\u00a3\7\u00ac\2\2\u00a3\5\3\2\2\2\u00a4\u00a6"+
"\5\b\5\2\u00a5\u00a4\3\2\2\2\u00a6\u00a9\3\2\2\2\u00a7\u00a5\3\2\2\2\u00a7"+
"\u00a8\3\2\2\2\u00a8\u00ad\3\2\2\2\u00a9\u00a7\3\2\2\2\u00aa\u00ab\5\22"+
"\n\2\u00ab\u00ac\7\17\2\2\u00ac\u00ae\3\2\2\2\u00ad\u00aa\3\2\2\2\u00ad"+
"\u00ae\3\2\2\2\u00ae\u00b4\3\2\2\2\u00af\u00b0\5\n\6\2\u00b0\u00b1\7\17"+
"\2\2\u00b1\u00b3\3\2\2\2\u00b2\u00af\3\2\2\2\u00b3\u00b6\3\2\2\2\u00b4"+
"\u00b2\3\2\2\2\u00b4\u00b5\3\2\2\2\u00b5\7\3\2\2\2\u00b6\u00b4\3\2\2\2"+
"\u00b7\u00b8\7b\2\2\u00b8\u00b9\5\u0092J\2\u00b9\u00ba\7\17\2\2\u00ba"+
"\t\3\2\2\2\u00bb\u00bc\5~@\2\u00bc\u00c2\7\3\2\2\u00bd\u00c0\7V\2\2\u00be"+
"\u00bf\7\u0081\2\2\u00bf\u00c1\7~\2\2\u00c0\u00be\3\2\2\2\u00c0\u00c1"+
"\3\2\2\2\u00c1\u00c3\3\2\2\2\u00c2\u00bd\3\2\2\2\u00c2\u00c3\3\2\2\2\u00c3"+
"\u00d8\3\2\2\2\u00c4\u00d9\5\f\7\2\u00c5\u00d9\5\16\b\2\u00c6\u00d9\5"+
"\20\t\2\u00c7\u00d9\5\24\13\2\u00c8\u00d9\5\26\f\2\u00c9\u00d9\5\30\r"+
"\2\u00ca\u00d9\5\32\16\2\u00cb\u00d9\5\34\17\2\u00cc\u00d9\5\36\20\2\u00cd"+
"\u00d9\5 \21\2\u00ce\u00d9\5\"\22\2\u00cf\u00d9\5$\23\2\u00d0\u00d9\5"+
"&\24\2\u00d1\u00d9\5(\25\2\u00d2\u00d9\5*\26\2\u00d3\u00d9\5,\27\2\u00d4"+
"\u00d9\5.\30\2\u00d5\u00d9\5\66\34\2\u00d6\u00d9\58\35\2\u00d7\u00d9\5"+
":\36\2\u00d8\u00c4\3\2\2\2\u00d8\u00c5\3\2\2\2\u00d8\u00c6\3\2\2\2\u00d8"+
"\u00c7\3\2\2\2\u00d8\u00c8\3\2\2\2\u00d8\u00c9\3\2\2\2\u00d8\u00ca\3\2"+
"\2\2\u00d8\u00cb\3\2\2\2\u00d8\u00cc\3\2\2\2\u00d8\u00cd\3\2\2\2\u00d8"+
"\u00ce\3\2\2\2\u00d8\u00cf\3\2\2\2\u00d8\u00d0\3\2\2\2\u00d8\u00d1\3\2"+
"\2\2\u00d8\u00d2\3\2\2\2\u00d8\u00d3\3\2\2\2\u00d8\u00d4\3\2\2\2\u00d8"+
"\u00d5\3\2\2\2\u00d8\u00d6\3\2\2\2\u00d8\u00d7\3\2\2\2\u00d9\13\3\2\2"+
"\2\u00da\u00db\7-\2\2\u00db\u00dc\7\u0091\2\2\u00dc\u00e5\5v<\2\u00dd"+
"\u00de\7\u0088\2\2\u00de\u00df\7\u0095\2\2\u00df\u00e6\5z>\2\u00e0\u00e2"+
"\7*\2\2\u00e1\u00e3\7=\2\2\u00e2\u00e1\3\2\2\2\u00e2\u00e3\3\2\2\2\u00e3"+
"\u00e4\3\2\2\2\u00e4\u00e6\5<\37\2\u00e5\u00dd\3\2\2\2\u00e5\u00e0\3\2"+
"\2\2\u00e6\r\3\2\2\2\u00e7\u00e8\7.\2\2\u00e8\u00e9\5x=\2\u00e9\17\3\2"+
"\2\2\u00ea\u00ec\7A\2\2\u00eb\u00ed\7\u0099\2\2\u00ec\u00eb\3\2\2\2\u00ec"+
"\u00ed\3\2\2\2\u00ed\u00ee\3\2\2\2\u00ee\u00f2\7d\2\2\u00ef\u00f0\7_\2"+
"\2\u00f0\u00f1\7u\2\2\u00f1\u00f3\7U\2\2\u00f2\u00ef\3\2\2\2\u00f2\u00f3"+
"\3\2\2\2\u00f3\u00f4\3\2\2\2\u00f4\u00f5\5\u0084C\2\u00f5\u00f6\7z\2\2"+
"\u00f6\u00f7\5v<\2\u00f7\u00f8\7\21\2\2\u00f8\u00fd\5L\'\2\u00f9\u00fa"+
"\7\23\2\2\u00fa\u00fc\5L\'\2\u00fb\u00f9\3\2\2\2\u00fc\u00ff\3\2\2\2\u00fd"+
"\u00fb\3\2\2\2\u00fd\u00fe\3\2\2\2\u00fe\u0100\3\2\2\2\u00ff\u00fd\3\2"+
"\2\2\u0100\u0103\7\22\2\2\u0101\u0102\7\u00a0\2\2\u0102\u0104\5D#\2\u0103"+
"\u0101\3\2\2\2\u0103\u0104\3\2\2\2\u0104\21\3\2\2\2\u0105\u0107\7A\2\2"+
"\u0106\u0108\t\2\2\2\u0107\u0106\3\2\2\2\u0107\u0108\3\2\2\2\u0108\u0109"+
"\3\2\2\2\u0109\u010d\7\u0091\2\2\u010a\u010b\7_\2\2\u010b\u010c\7u\2\2"+
"\u010c\u010e\7U\2\2\u010d\u010a\3\2\2\2\u010d\u010e\3\2\2\2\u010e\u010f"+
"\3\2\2\2\u010f\u0127\5v<\2\u0110\u0111\7\21\2\2\u0111\u0116\5<\37\2\u0112"+
"\u0113\7\23\2\2\u0113\u0115\5<\37\2\u0114\u0112\3\2\2\2\u0115\u0118\3"+
"\2\2\2\u0116\u0114\3\2\2\2\u0116\u0117\3\2\2\2\u0117\u011d\3\2\2\2\u0118"+
"\u0116\3\2\2\2\u0119\u011a\7\23\2\2\u011a\u011c\5N(\2\u011b\u0119\3\2"+
"\2\2\u011c\u011f\3\2\2\2\u011d\u011b\3\2\2\2\u011d\u011e\3\2\2\2\u011e"+
"\u0120\3\2\2\2\u011f\u011d\3\2\2\2\u0120\u0123\7\22\2\2\u0121\u0122\7"+
"\u00a2\2\2\u0122\u0124\7\u00a3\2\2\u0123\u0121\3\2\2\2\u0123\u0124\3\2"+
"\2\2\u0124\u0128\3\2\2\2\u0125\u0126\7\60\2\2\u0126\u0128\5.\30\2\u0127"+
"\u0110\3\2\2\2\u0127\u0125\3\2\2\2\u0128\23\3\2\2\2\u0129\u012b\7A\2\2"+
"\u012a\u012c\t\2\2\2\u012b\u012a\3\2\2\2\u012b\u012c\3\2\2\2\u012c\u012d"+
"\3\2\2\2\u012d\u0131\7\u0097\2\2\u012e\u012f\7_\2\2\u012f\u0130\7u\2\2"+
"\u0130\u0132\7U\2\2\u0131\u012e\3\2\2\2\u0131\u0132\3\2\2\2\u0132\u0133"+
"\3\2\2\2\u0133\u0138\5\u0086D\2\u0134\u0139\7\64\2\2\u0135\u0139\7+\2"+
"\2\u0136\u0137\7i\2\2\u0137\u0139\7x\2\2\u0138\u0134\3\2\2\2\u0138\u0135"+
"\3\2\2\2\u0138\u0136\3\2\2\2\u0138\u0139\3\2\2\2\u0139\u0148\3\2\2\2\u013a"+
"\u0149\7J\2\2\u013b\u0149\7h\2\2\u013c\u0146\7\u009a\2\2\u013d\u013e\7"+
"x\2\2\u013e\u0143\5|?\2\u013f\u0140\7\23\2\2\u0140\u0142\5|?\2\u0141\u013f"+
"\3\2\2\2\u0142\u0145\3\2\2\2\u0143\u0141\3\2\2\2\u0143\u0144\3\2\2\2\u0144"+
"\u0147\3\2\2\2\u0145\u0143\3\2\2\2\u0146\u013d\3\2\2\2\u0146\u0147\3\2"+
"\2\2\u0147\u0149\3\2\2\2\u0148\u013a\3\2\2\2\u0148\u013b\3\2\2\2\u0148"+
"\u013c\3\2\2\2\u0149\u014a\3\2\2\2\u014a\u014b\7z\2\2\u014b\u014f\5v<"+
"\2\u014c\u014d\7X\2\2\u014d\u014e\7O\2\2\u014e\u0150\7\u008d\2\2\u014f"+
"\u014c\3\2\2\2\u014f\u0150\3\2\2\2\u0150\u0153\3\2\2\2\u0151\u0152\7\u009f"+
"\2\2\u0152\u0154\5D#\2\u0153\u0151\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0155"+
"\3\2\2\2\u0155\u015e\7\65\2\2\u0156\u015b\5\66\34\2\u0157\u015b\5$\23"+
"\2\u0158\u015b\5\30\r\2\u0159\u015b\5.\30\2\u015a\u0156\3\2\2\2\u015a"+
"\u0157\3\2\2\2\u015a\u0158\3\2\2\2\u015a\u0159\3\2\2\2\u015b\u015c\3\2"+
"\2\2\u015c\u015d\7\17\2\2\u015d\u015f\3\2\2\2\u015e\u015a\3\2\2\2\u015f"+
"\u0160\3\2\2\2\u0160\u015e\3\2\2\2\u0160\u0161\3\2\2\2\u0161\u0162\3\2"+
"\2\2\u0162\u0163\7Q\2\2\u0163\25\3\2\2\2\u0164\u0166\7A\2\2\u0165\u0167"+
"\t\2\2\2\u0166\u0165\3\2\2\2\u0166\u0167\3\2\2\2\u0167\u0168\3\2\2\2\u0168"+
"\u016c\7\u009e\2\2\u0169\u016a\7_\2\2\u016a\u016b\7u\2\2\u016b\u016d\7"+
"U\2\2\u016c\u0169\3\2\2\2\u016c\u016d\3\2\2\2\u016d\u016e\3\2\2\2\u016e"+
"\u016f\5\u0088E\2\u016f\u0170\7\60\2\2\u0170\u0171\5.\30\2\u0171\27\3"+
"\2\2\2\u0172\u0174\5P)\2\u0173\u0172\3\2\2\2\u0173\u0174\3\2\2\2\u0174"+
"\u0175\3\2\2\2\u0175\u0176\7J\2\2\u0176\u0177\7Z\2\2\u0177\u017a\5v<\2"+
"\u0178\u0179\7\u00a0\2\2\u0179\u017b\5D#\2\u017a\u0178\3\2\2\2\u017a\u017b"+
"\3\2\2\2\u017b\31\3\2\2\2\u017c\u017e\5P)\2\u017d\u017c\3\2\2\2\u017d"+
"\u017e\3\2\2\2\u017e\u017f\3\2\2\2\u017f\u0180\7J\2\2\u0180\u0181\7Z\2"+
"\2\u0181\u0184\5R*\2\u0182\u0183\7\u00a0\2\2\u0183\u0185\5D#\2\u0184\u0182"+
"\3\2\2\2\u0184\u0185\3\2\2\2\u0185\u0198\3\2\2\2\u0186\u0187\7|\2\2\u0187"+
"\u0188\7\67\2\2\u0188\u018d\5T+\2\u0189\u018a\7\23\2\2\u018a\u018c\5T"+
"+\2\u018b\u0189\3\2\2\2\u018c\u018f\3\2\2\2\u018d\u018b\3\2\2\2\u018d"+
"\u018e\3\2\2\2\u018e\u0191\3\2\2\2\u018f\u018d\3\2\2\2\u0190\u0186\3\2"+
"\2\2\u0190\u0191\3\2\2\2\u0191\u0192\3\2\2\2\u0192\u0193\7q\2\2\u0193"+
"\u0196\5D#\2\u0194\u0195\t\3\2\2\u0195\u0197\5D#\2\u0196\u0194\3\2\2\2"+
"\u0196\u0197\3\2\2\2\u0197\u0199\3\2\2\2\u0198\u0190\3\2\2\2\u0198\u0199"+
"\3\2\2\2\u0199\33\3\2\2\2\u019a\u019b\7N\2\2\u019b\u019e\7d\2\2\u019c"+
"\u019d\7_\2\2\u019d\u019f\7U\2\2\u019e\u019c\3\2\2\2\u019e\u019f\3\2\2"+
"\2\u019f\u01a0\3\2\2\2\u01a0\u01a1\5\u0084C\2\u01a1\35\3\2\2\2\u01a2\u01a3"+
"\7N\2\2\u01a3\u01a6\7\u0091\2\2\u01a4\u01a5\7_\2\2\u01a5\u01a7\7U\2\2"+
"\u01a6\u01a4\3\2\2\2\u01a6\u01a7\3\2\2\2\u01a7\u01a8\3\2\2\2\u01a8\u01a9"+
"\5v<\2\u01a9\37\3\2\2\2\u01aa\u01ab\7N\2\2\u01ab\u01ae\7\u0097\2\2\u01ac"+
"\u01ad\7_\2\2\u01ad\u01af\7U\2\2\u01ae\u01ac\3\2\2\2\u01ae\u01af\3\2\2"+
"\2\u01af\u01b0\3\2\2\2\u01b0\u01b1\5\u0086D\2\u01b1!\3\2\2\2\u01b2\u01b3"+
"\7N\2\2\u01b3\u01b6\7\u009e\2\2\u01b4\u01b5\7_\2\2\u01b5\u01b7\7U\2\2"+
"\u01b6\u01b4\3\2\2\2\u01b6\u01b7\3\2\2\2\u01b7\u01b8\3\2\2\2\u01b8\u01b9"+
"\5\u0088E\2\u01b9#\3\2\2\2\u01ba\u01bc\5P)\2\u01bb\u01ba\3\2\2\2\u01bb"+
"\u01bc\3\2\2\2\u01bc\u01ce\3\2\2\2\u01bd\u01cf\7h\2\2\u01be\u01cf\7\u0089"+
"\2\2\u01bf\u01c0\7h\2\2\u01c0\u01c1\7{\2\2\u01c1\u01cf\7\u0089\2\2\u01c2"+
"\u01c3\7h\2\2\u01c3\u01c4\7{\2\2\u01c4\u01cf\7\u008c\2\2\u01c5\u01c6\7"+
"h\2\2\u01c6\u01c7\7{\2\2\u01c7\u01cf\7(\2\2\u01c8\u01c9\7h\2\2\u01c9\u01ca"+
"\7{\2\2\u01ca\u01cf\7W\2\2\u01cb\u01cc\7h\2\2\u01cc\u01cd\7{\2\2\u01cd"+
"\u01cf\7`\2\2\u01ce\u01bd\3\2\2\2\u01ce\u01be\3\2\2\2\u01ce\u01bf\3\2"+
"\2\2\u01ce\u01c2\3\2\2\2\u01ce\u01c5\3\2\2\2\u01ce\u01c8\3\2\2\2\u01ce"+
"\u01cb\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01d1\7k\2\2\u01d1\u01dd\5v<"+
"\2\u01d2\u01d3\7\21\2\2\u01d3\u01d8\5|?\2\u01d4\u01d5\7\23\2\2\u01d5\u01d7"+
"\5|?\2\u01d6\u01d4\3\2\2\2\u01d7\u01da\3\2\2\2\u01d8\u01d6\3\2\2\2\u01d8"+
"\u01d9\3\2\2\2\u01d9\u01db\3\2\2\2\u01da\u01d8\3\2\2\2\u01db\u01dc\7\22"+
"\2\2\u01dc\u01de\3\2\2\2\u01dd\u01d2\3\2\2\2\u01dd\u01de\3\2\2\2\u01de"+
"\u01e4\3\2\2\2\u01df\u01e0\7\u009d\2\2\u01e0\u01e5\5\64\33\2\u01e1\u01e5"+
"\5.\30\2\u01e2\u01e3\7G\2\2\u01e3\u01e5\7\u009d\2\2\u01e4\u01df\3\2\2"+
"\2\u01e4\u01e1\3\2\2\2\u01e4\u01e2\3\2\2\2\u01e5%\3\2\2\2\u01e6\u01e7"+
"\7\177\2\2\u01e7\u01ee\5\u008aF\2\u01e8\u01e9\7\24\2\2\u01e9\u01ef\5V"+
",\2\u01ea\u01eb\7\21\2\2\u01eb\u01ec\5V,\2\u01ec\u01ed\7\22\2\2\u01ed"+
"\u01ef\3\2\2\2\u01ee\u01e8\3\2\2\2\u01ee\u01ea\3\2\2\2\u01ee\u01ef\3\2"+
"\2\2\u01ef\'\3\2\2\2\u01f0\u01f6\7\u0086\2\2\u01f1\u01f7\5\u0080A\2\u01f2"+
"\u01f5\5v<\2\u01f3\u01f5\5\u0084C\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3"+
"\2\2\2\u01f5\u01f7\3\2\2\2\u01f6\u01f1\3\2\2\2\u01f6\u01f4\3\2\2\2\u01f6"+
"\u01f7\3\2\2\2\u01f7)\3\2\2\2\u01f8\u01fa\7\u0087\2\2\u01f9\u01fb\7\u008e"+
"\2\2\u01fa\u01f9\3\2\2\2\u01fa\u01fb\3\2\2\2\u01fb\u01fc\3\2\2\2\u01fc"+
"\u01fd\5\u008cG\2\u01fd+\3\2\2\2\u01fe\u01ff\7\u008e\2\2\u01ff\u0200\5"+
"\u008cG\2\u0200-\3\2\2\2\u0201\u0203\5P)\2\u0202\u0201\3\2\2\2\u0202\u0203"+
"\3\2\2\2\u0203\u0204\3\2\2\2\u0204\u020a\5\60\31\2\u0205\u0206\5d\63\2"+
"\u0206\u0207\5\60\31\2\u0207\u0209\3\2\2\2\u0208\u0205\3\2\2\2\u0209\u020c"+
"\3\2\2\2\u020a\u0208\3\2\2\2\u020a\u020b\3\2\2\2\u020b\u0217\3\2\2\2\u020c"+
"\u020a\3\2\2\2\u020d\u020e\7|\2\2\u020e\u020f\7\67\2\2\u020f\u0214\5T"+
"+\2\u0210\u0211\7\23\2\2\u0211\u0213\5T+\2\u0212\u0210\3\2\2\2\u0213\u0216"+
"\3\2\2\2\u0214\u0212\3\2\2\2\u0214\u0215\3\2\2\2\u0215\u0218\3\2\2\2\u0216"+
"\u0214\3\2\2\2\u0217\u020d\3\2\2\2\u0217\u0218\3\2\2\2\u0218\u021f\3\2"+
"\2\2\u0219\u021a\7q\2\2\u021a\u021d\5D#\2\u021b\u021c\t\3\2\2\u021c\u021e"+
"\5D#\2\u021d\u021b\3\2\2\2\u021d\u021e\3\2\2\2\u021e\u0220\3\2\2\2\u021f"+
"\u0219\3\2\2\2\u021f\u0220\3\2\2\2\u0220/\3\2\2\2\u0221\u0223\7\u008f"+
"\2\2\u0222\u0224\t\4\2\2\u0223\u0222\3\2\2\2\u0223\u0224\3\2\2\2\u0224"+
"\u0225\3\2\2\2\u0225\u022a\5Z.\2\u0226\u0227\7\23\2\2\u0227\u0229\5Z."+
"\2\u0228\u0226\3\2\2\2\u0229\u022c\3\2\2\2\u022a\u0228\3\2\2\2\u022a\u022b"+
"\3\2\2\2\u022b\u0239\3\2\2\2\u022c\u022a\3\2\2\2\u022d\u0237\7Z\2\2\u022e"+
"\u0233\5\\/\2\u022f\u0230\7\23\2\2\u0230\u0232\5\\/\2\u0231\u022f\3\2"+
"\2\2\u0232\u0235\3\2\2\2\u0233\u0231\3\2\2\2\u0233\u0234\3\2\2\2\u0234"+
"\u0238\3\2\2\2\u0235\u0233\3\2\2\2\u0236\u0238\5^\60\2\u0237\u022e\3\2"+
"\2\2\u0237\u0236\3\2\2\2\u0238\u023a\3\2\2\2\u0239\u022d\3\2\2\2\u0239"+
"\u023a\3\2\2\2\u023a\u023d\3\2\2\2\u023b\u023c\7\u00a0\2\2\u023c\u023e"+
"\5D#\2\u023d\u023b\3\2\2\2\u023d\u023e\3\2\2\2\u023e\u024c\3\2\2\2\u023f"+
"\u0240\7]\2\2\u0240\u0241\7\67\2\2\u0241\u0246\5D#\2\u0242\u0243\7\23"+
"\2\2\u0243\u0245\5D#\2\u0244\u0242\3\2\2\2\u0245\u0248\3\2\2\2\u0246\u0244"+
"\3\2\2\2\u0246\u0247\3\2\2\2\u0247\u024a\3\2\2\2\u0248\u0246\3\2\2\2\u0249"+
"\u024b\5\62\32\2\u024a\u0249\3\2\2\2\u024a\u024b\3\2\2\2\u024b\u024d\3"+
"\2\2\2\u024c\u023f\3\2\2\2\u024c\u024d\3\2\2\2\u024d\u0251\3\2\2\2\u024e"+
"\u024f\7\u009d\2\2\u024f\u0251\5\64\33\2\u0250\u0221\3\2\2\2\u0250\u024e"+
"\3\2\2\2\u0251\61\3\2\2\2\u0252\u0253\7^\2\2\u0253\u0254\5D#\2\u0254\63"+
"\3\2\2\2\u0255\u0256\7\21\2\2\u0256\u025b\5D#\2\u0257\u0258\7\23\2\2\u0258"+
"\u025a\5D#\2\u0259\u0257\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2"+
"\2\u025b\u025c\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u0261"+
"\7\22\2\2\u025f\u0260\7\23\2\2\u0260\u0262\5\64\33\2\u0261\u025f\3\2\2"+
"\2\u0261\u0262\3\2\2\2\u0262\65\3\2\2\2\u0263\u0265\5P)\2\u0264\u0263"+
"\3\2\2\2\u0264\u0265\3\2\2\2\u0265\u0266\3\2\2\2\u0266\u0271\7\u009a\2"+
"\2\u0267\u0268\7{\2\2\u0268\u0272\7\u008c\2\2\u0269\u026a\7{\2\2\u026a"+
"\u0272\7(\2\2\u026b\u026c\7{\2\2\u026c\u0272\7\u0089\2\2\u026d\u026e\7"+
"{\2\2\u026e\u0272\7W\2\2\u026f\u0270\7{\2\2\u0270\u0272\7`\2\2\u0271\u0267"+
"\3\2\2\2\u0271\u0269\3\2\2\2\u0271\u026b\3\2\2\2\u0271\u026d\3\2\2\2\u0271"+
"\u026f\3\2\2\2\u0271\u0272\3\2\2\2\u0272\u0273\3\2\2\2\u0273\u0274\5v"+
"<\2\u0274\u0275\7\u0090\2\2\u0275\u0276\5|?\2\u0276\u0277\7\24\2\2\u0277"+
"\u027f\5D#\2\u0278\u0279\7\23\2\2\u0279\u027a\5|?\2\u027a\u027b\7\24\2"+
"\2\u027b\u027c\5D#\2\u027c\u027e\3\2\2\2\u027d\u0278\3\2\2\2\u027e\u0281"+
"\3\2\2\2\u027f\u027d\3\2\2\2\u027f\u0280\3\2\2\2\u0280\u0284\3\2\2\2\u0281"+
"\u027f\3\2\2\2\u0282\u0283\7\u00a0\2\2\u0283\u0285\5D#\2\u0284\u0282\3"+
"\2\2\2\u0284\u0285\3\2\2\2\u0285\67\3\2\2\2\u0286\u0288\5P)\2\u0287\u0286"+
"\3\2\2\2\u0287\u0288\3\2\2\2\u0288\u0289\3\2\2\2\u0289\u0294\7\u009a\2"+
"\2\u028a\u028b\7{\2\2\u028b\u0295\7\u008c\2\2\u028c\u028d\7{\2\2\u028d"+
"\u0295\7(\2\2\u028e\u028f\7{\2\2\u028f\u0295\7\u0089\2\2\u0290\u0291\7"+
"{\2\2\u0291\u0295\7W\2\2\u0292\u0293\7{\2\2\u0293\u0295\7`\2\2\u0294\u028a"+
"\3\2\2\2\u0294\u028c\3\2\2\2\u0294\u028e\3\2\2\2\u0294\u0290\3\2\2\2\u0294"+
"\u0292\3\2\2\2\u0294\u0295\3\2\2\2\u0295\u0296\3\2\2\2\u0296\u0297\5R"+
"*\2\u0297\u0298\7\u0090\2\2\u0298\u0299\5|?\2\u0299\u029a\7\24\2\2\u029a"+
"\u02a2\5D#\2\u029b\u029c\7\23\2\2\u029c\u029d\5|?\2\u029d\u029e\7\24\2"+
"\2\u029e\u029f\5D#\2\u029f\u02a1\3\2\2\2\u02a0\u029b\3\2\2\2\u02a1\u02a4"+
"\3\2\2\2\u02a2\u02a0\3\2\2\2\u02a2\u02a3\3\2\2\2\u02a3\u02a7\3\2\2\2\u02a4"+
"\u02a2\3\2\2\2\u02a5\u02a6\7\u00a0\2\2\u02a6\u02a8\5D#\2\u02a7\u02a5\3"+
"\2\2\2\u02a7\u02a8\3\2\2\2\u02a8\u02bb\3\2\2\2\u02a9\u02aa\7|\2\2\u02aa"+
"\u02ab\7\67\2\2\u02ab\u02b0\5T+\2\u02ac\u02ad\7\23\2\2\u02ad\u02af\5T"+
"+\2\u02ae\u02ac\3\2\2\2\u02af\u02b2\3\2\2\2\u02b0\u02ae\3\2\2\2\u02b0"+
"\u02b1\3\2\2\2\u02b1\u02b4\3\2\2\2\u02b2\u02b0\3\2\2\2\u02b3\u02a9\3\2"+
"\2\2\u02b3\u02b4\3\2\2\2\u02b4\u02b5\3\2\2\2\u02b5\u02b6\7q\2\2\u02b6"+
"\u02b9\5D#\2\u02b7\u02b8\t\3\2\2\u02b8\u02ba\5D#\2\u02b9\u02b7\3\2\2\2"+
"\u02b9\u02ba\3\2\2\2\u02ba\u02bc\3\2\2\2\u02bb\u02b3\3\2\2\2\u02bb\u02bc"+
"\3\2\2\2\u02bc9\3\2\2\2\u02bd\u02be\7\u009c\2\2\u02be;\3\2\2\2\u02bf\u02c0"+
"\5|?\2\u02c0\u02c4\5> \2\u02c1\u02c3\5@!\2\u02c2\u02c1\3\2\2\2\u02c3\u02c6"+
"\3\2\2\2\u02c4\u02c2\3\2\2\2\u02c4\u02c5\3\2\2\2\u02c5=\3\2\2\2\u02c6"+
"\u02c4\3\2\2\2\u02c7\u02d2\5\u0090I\2\u02c8\u02c9\7\21\2\2\u02c9\u02ca"+
"\5f\64\2\u02ca\u02cb\7\22\2\2\u02cb\u02d3\3\2\2\2\u02cc\u02cd\7\21\2\2"+
"\u02cd\u02ce\5f\64\2\u02ce\u02cf\7\23\2\2\u02cf\u02d0\5f\64\2\u02d0\u02d1"+
"\7\22\2\2\u02d1\u02d3\3\2\2\2\u02d2\u02c8\3\2\2\2\u02d2\u02cc\3\2\2\2"+
"\u02d2\u02d3\3\2\2\2\u02d3\u02d6\3\2\2\2\u02d4\u02d5\7\60\2\2\u02d5\u02d7"+
"\5\u0092J\2\u02d6\u02d4\3\2\2\2\u02d6\u02d7\3\2\2\2\u02d7?\3\2\2\2\u02d8"+
"\u02d9\7@\2\2\u02d9\u02db\5r:\2\u02da\u02d8\3\2\2\2\u02da\u02db\3\2\2"+
"\2\u02db\u02fc\3\2\2\2\u02dc\u02de\7\u0080\2\2\u02dd\u02df\t\5\2\2\u02de"+
"\u02dd\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\3\2\2\2\u02e0\u02e2\5B"+
"\"\2\u02e1\u02e3\7\63\2\2\u02e2\u02e1\3\2\2\2\u02e2\u02e3\3\2\2\2\u02e3"+
"\u02fd\3\2\2\2\u02e4\u02e6\7u\2\2\u02e5\u02e4\3\2\2\2\u02e5\u02e6\3\2"+
"\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e8\7w\2\2\u02e8\u02fd\5B\"\2\u02e9\u02ea"+
"\7\u0099\2\2\u02ea\u02fd\5B\"\2\u02eb\u02ec\7;\2\2\u02ec\u02ed\7\21\2"+
"\2\u02ed\u02ee\5D#\2\u02ee\u02ef\7\22\2\2\u02ef\u02fd\3\2\2\2\u02f0\u02f7"+
"\7G\2\2\u02f1\u02f8\5f\64\2\u02f2\u02f8\5h\65\2\u02f3\u02f4\7\21\2\2\u02f4"+
"\u02f5\5D#\2\u02f5\u02f6\7\22\2\2\u02f6\u02f8\3\2\2\2\u02f7\u02f1\3\2"+
"\2\2\u02f7\u02f2\3\2\2\2\u02f7\u02f3\3\2\2\2\u02f8\u02fd\3\2\2\2\u02f9"+
"\u02fa\7<\2\2\u02fa\u02fd\5\u0080A\2\u02fb\u02fd\5H%\2\u02fc\u02dc\3\2"+
"\2\2\u02fc\u02e5\3\2\2\2\u02fc\u02e9\3\2\2\2\u02fc\u02eb\3\2\2\2\u02fc"+
"\u02f0\3\2\2\2\u02fc\u02f9\3\2\2\2\u02fc\u02fb\3\2\2\2\u02fdA\3\2\2\2"+
"\u02fe\u02ff\7z\2\2\u02ff\u0300\7?\2\2\u0300\u0302\t\6\2\2\u0301\u02fe"+
"\3\2\2\2\u0301\u0302\3\2\2\2\u0302C\3\2\2\2\u0303\u0304\b#\1\2\u0304\u0305"+
"\5j\66\2\u0305\u0306\5D#\27\u0306\u034b\3\2\2\2\u0307\u034b\5h\65\2\u0308"+
"\u034b\7\u00a6\2\2\u0309\u030a\5v<\2\u030a\u030b\7\20\2\2\u030b\u030d"+
"\3\2\2\2\u030c\u0309\3\2\2\2\u030c\u030d\3\2\2\2\u030d\u030e\3\2\2\2\u030e"+
"\u034b\5|?\2\u030f\u0310\5t;\2\u0310\u031d\7\21\2\2\u0311\u0313\7M\2\2"+
"\u0312\u0311\3\2\2\2\u0312\u0313\3\2\2\2\u0313\u0314\3\2\2\2\u0314\u0319"+
"\5D#\2\u0315\u0316\7\23\2\2\u0316\u0318\5D#\2\u0317\u0315\3\2\2\2\u0318"+
"\u031b\3\2\2\2\u0319\u0317\3\2\2\2\u0319\u031a\3\2\2\2\u031a\u031e\3\2"+
"\2\2\u031b\u0319\3\2\2\2\u031c\u031e\7\25\2\2\u031d\u0312\3\2\2\2\u031d"+
"\u031c\3\2\2\2\u031d\u031e\3\2\2\2\u031e\u031f\3\2\2\2\u031f\u0320\7\22"+
"\2\2\u0320\u034b\3\2\2\2\u0321\u0322\7\21\2\2\u0322\u0323\5D#\2\u0323"+
"\u0324\7\22\2\2\u0324\u034b\3\2\2\2\u0325\u0326\7:\2\2\u0326\u0327\7\21"+
"\2\2\u0327\u0328\5D#\2\u0328\u0329\7\60\2\2\u0329\u032a\5> \2\u032a\u032b"+
"\7\22\2\2\u032b\u034b\3\2\2\2\u032c\u032e\7u\2\2\u032d\u032c\3\2\2\2\u032d"+
"\u032e\3\2\2\2\u032e\u032f\3\2\2\2\u032f\u0331\7U\2\2\u0330\u032d\3\2"+
"\2\2\u0330\u0331\3\2\2\2\u0331\u0332\3\2\2\2\u0332\u0333\7\21\2\2\u0333"+
"\u0334\5.\30\2\u0334\u0335\7\22\2\2\u0335\u034b\3\2\2\2\u0336\u0338\7"+
"9\2\2\u0337\u0339\5D#\2\u0338\u0337\3\2\2\2\u0338\u0339\3\2\2\2\u0339"+
"\u033f\3\2\2\2\u033a\u033b\7\u009f\2\2\u033b\u033c\5D#\2\u033c\u033d\7"+
"\u0094\2\2\u033d\u033e\5F$\2\u033e\u0340\3\2\2\2\u033f\u033a\3\2\2\2\u0340"+
"\u0341\3\2\2\2\u0341\u033f\3\2\2\2\u0341\u0342\3\2\2\2\u0342\u0345\3\2"+
"\2\2\u0343\u0344\7P\2\2\u0344\u0346\5D#\2\u0345\u0343\3\2\2\2\u0345\u0346"+
"\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348\7Q\2\2\u0348\u034b\3\2\2\2\u0349"+
"\u034b\5J&\2\u034a\u0303\3\2\2\2\u034a\u0307\3\2\2\2\u034a\u0308\3\2\2"+
"\2\u034a\u030c\3\2\2\2\u034a\u030f\3\2\2\2\u034a\u0321\3\2\2\2\u034a\u0325"+
"\3\2\2\2\u034a\u0330\3\2\2\2\u034a\u0336\3\2\2\2\u034a\u0349\3\2\2\2\u034b"+
"\u039e\3\2\2\2\u034c\u034d\f\26\2\2\u034d\u034e\7\31\2\2\u034e\u039d\5"+
"D#\27\u034f\u0350\f\25\2\2\u0350\u0351\t\7\2\2\u0351\u039d\5D#\26\u0352"+
"\u0353\f\24\2\2\u0353\u0354\t\b\2\2\u0354\u039d\5D#\25\u0355\u0356\f\23"+
"\2\2\u0356\u0357\t\t\2\2\u0357\u039d\5D#\24\u0358\u0359\f\22\2\2\u0359"+
"\u035a\t\n\2\2\u035a\u039d\5D#\23\u035b\u035c\f\21\2\2\u035c\u035d\t\13"+
"\2\2\u035d\u039d\5D#\22\u035e\u035f\f\20\2\2\u035f\u0360\7/\2\2\u0360"+
"\u039d\5D#\21\u0361\u0362\f\17\2\2\u0362\u0363\7{\2\2\u0363\u039d\5D#"+
"\20\u0364\u0365\f\b\2\2\u0365\u0367\7l\2\2\u0366\u0368\7u\2\2\u0367\u0366"+
"\3\2\2\2\u0367\u0368\3\2\2\2\u0368\u0369\3\2\2\2\u0369\u039d\5D#\t\u036a"+
"\u036c\f\7\2\2\u036b\u036d\7u\2\2\u036c\u036b\3\2\2\2\u036c\u036d\3\2"+
"\2\2\u036d\u036e\3\2\2\2\u036e\u036f\7\66\2\2\u036f\u0370\5D#\2\u0370"+
"\u0371\7/\2\2\u0371\u0372\5D#\b\u0372\u039d\3\2\2\2\u0373\u0374\f\13\2"+
"\2\u0374\u0375\7<\2\2\u0375\u039d\5\u0080A\2\u0376\u0378\f\n\2\2\u0377"+
"\u0379\7u\2\2\u0378\u0377\3\2\2\2\u0378\u0379\3\2\2\2\u0379\u037a\3\2"+
"\2\2\u037a\u037b\t\f\2\2\u037b\u037e\5D#\2\u037c\u037d\7R\2\2\u037d\u037f"+
"\5D#\2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f\u039d\3\2\2\2\u0380"+
"\u0385\f\t\2\2\u0381\u0386\7m\2\2\u0382\u0386\7v\2\2\u0383\u0384\7u\2"+
"\2\u0384\u0386\7w\2\2\u0385\u0381\3\2\2\2\u0385\u0382\3\2\2\2\u0385\u0383"+
"\3\2\2\2\u0386\u039d\3\2\2\2\u0387\u0389\f\6\2\2\u0388\u038a\7u\2\2\u0389"+
"\u0388\3\2\2\2\u0389\u038a\3\2\2\2\u038a\u038b\3\2\2\2\u038b\u039a\7c"+
"\2\2\u038c\u0396\7\21\2\2\u038d\u0397\5.\30\2\u038e\u0393\5D#\2\u038f"+
"\u0390\7\23\2\2\u0390\u0392\5D#\2\u0391\u038f\3\2\2\2\u0392\u0395\3\2"+
"\2\2\u0393\u0391\3\2\2\2\u0393\u0394\3\2\2\2\u0394\u0397\3\2\2\2\u0395"+
"\u0393\3\2\2\2\u0396\u038d\3\2\2\2\u0396\u038e\3\2\2\2\u0396\u0397\3\2"+
"\2\2\u0397\u0398\3\2\2\2\u0398\u039b\7\22\2\2\u0399\u039b\5v<\2\u039a"+
"\u038c\3\2\2\2\u039a\u0399\3\2\2\2\u039b\u039d\3\2\2\2\u039c\u034c\3\2"+
"\2\2\u039c\u034f\3\2\2\2\u039c\u0352\3\2\2\2\u039c\u0355\3\2\2\2\u039c"+
"\u0358\3\2\2\2\u039c\u035b\3\2\2\2\u039c\u035e\3\2\2\2\u039c\u0361\3\2"+
"\2\2\u039c\u0364\3\2\2\2\u039c\u036a\3\2\2\2\u039c\u0373\3\2\2\2\u039c"+
"\u0376\3\2\2\2\u039c\u0380\3\2\2\2\u039c\u0387\3\2\2\2\u039d\u03a0\3\2"+
"\2\2\u039e\u039c\3\2\2\2\u039e\u039f\3\2\2\2\u039fE\3\2\2\2\u03a0\u039e"+
"\3\2\2\2\u03a1\u03a2\5D#\2\u03a2G\3\2\2\2\u03a3\u03a4\7\u0084\2\2\u03a4"+
"\u03b0\5\u0082B\2\u03a5\u03a6\7\21\2\2\u03a6\u03ab\5|?\2\u03a7\u03a8\7"+
"\23\2\2\u03a8\u03aa\5|?\2\u03a9\u03a7\3\2\2\2\u03aa\u03ad\3\2\2\2\u03ab"+
"\u03a9\3\2\2\2\u03ab\u03ac\3\2\2\2\u03ac\u03ae\3\2\2\2\u03ad\u03ab\3\2"+
"\2\2\u03ae\u03af\7\22\2\2\u03af\u03b1\3\2\2\2\u03b0\u03a5\3\2\2\2\u03b0"+
"\u03b1\3\2\2\2\u03b1\u03c4\3\2\2\2\u03b2\u03b3\7z\2\2\u03b3\u03bc\t\r"+
"\2\2\u03b4\u03b5\7\u0090\2\2\u03b5\u03bd\7w\2\2\u03b6\u03b7\7\u0090\2"+
"\2\u03b7\u03bd\7G\2\2\u03b8\u03bd\78\2\2\u03b9\u03bd\7\u008a\2\2\u03ba"+
"\u03bb\7t\2\2\u03bb\u03bd\7)\2\2\u03bc\u03b4\3\2\2\2\u03bc\u03b6\3\2\2"+
"\2\u03bc\u03b8\3\2\2\2\u03bc\u03b9\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bd\u03c1"+
"\3\2\2\2\u03be\u03bf\7r\2\2\u03bf\u03c1\5r:\2\u03c0\u03b2\3\2\2\2\u03c0"+
"\u03be\3\2\2\2\u03c1\u03c3\3\2\2\2\u03c2\u03c0\3\2\2\2\u03c3\u03c6\3\2"+
"\2\2\u03c4\u03c2\3\2\2\2\u03c4\u03c5\3\2\2\2\u03c5\u03d1\3\2\2\2\u03c6"+
"\u03c4\3\2\2\2\u03c7\u03c9\7u\2\2\u03c8\u03c7\3\2\2\2\u03c8\u03c9\3\2"+
"\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cf\7H\2\2\u03cb\u03cc\7f\2\2\u03cc\u03d0"+
"\7I\2\2\u03cd\u03ce\7f\2\2\u03ce\u03d0\7a\2\2\u03cf\u03cb\3\2\2\2\u03cf"+
"\u03cd\3\2\2\2\u03cf\u03d0\3\2\2\2\u03d0\u03d2\3\2\2\2\u03d1\u03c8\3\2"+
"\2\2\u03d1\u03d2\3\2\2\2\u03d2I\3\2\2\2\u03d3\u03d4\7\u0082\2\2\u03d4"+
"\u03d9\7\21\2\2\u03d5\u03da\7`\2\2\u03d6\u03d7\t\16\2\2\u03d7\u03d8\7"+
"\23\2\2\u03d8\u03da\5l\67\2\u03d9\u03d5\3\2\2\2\u03d9\u03d6\3\2\2\2\u03da"+
"\u03db\3\2\2\2\u03db\u03dc\7\22\2\2\u03dcK\3\2\2\2\u03dd\u03e0\5|?\2\u03de"+
"\u03df\7<\2\2\u03df\u03e1\5\u0080A\2\u03e0\u03de\3\2\2\2\u03e0\u03e1\3"+
"\2\2\2\u03e1\u03e3\3\2\2\2\u03e2\u03e4\t\5\2\2\u03e3\u03e2\3\2\2\2\u03e3"+
"\u03e4\3\2\2\2\u03e4M\3\2\2\2\u03e5\u03e6\7@\2\2\u03e6\u03e8\5r:\2\u03e7"+
"\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u0408\3\2\2\2\u03e9\u03ea\t\17"+
"\2\2\u03ea\u03eb\7\21\2\2\u03eb\u03f0\5L\'\2\u03ec\u03ed\7\23\2\2\u03ed"+
"\u03ef\5L\'\2\u03ee\u03ec\3\2\2\2\u03ef\u03f2\3\2\2\2\u03f0\u03ee\3\2"+
"\2\2\u03f0\u03f1\3\2\2\2\u03f1\u03f3\3\2\2\2\u03f2\u03f0\3\2\2\2\u03f3"+
"\u03f4\7\22\2\2\u03f4\u03f5\5B\"\2\u03f5\u0409\3\2\2\2\u03f6\u03f7\7;"+
"\2\2\u03f7\u03f8\7\21\2\2\u03f8\u03f9\5D#\2\u03f9\u03fa\7\22\2\2\u03fa"+
"\u0409\3\2\2\2\u03fb\u03fc\7Y\2\2\u03fc\u03fd\7\21\2\2\u03fd\u0402\5|"+
"?\2\u03fe\u03ff\7\23\2\2\u03ff\u0401\5|?\2\u0400\u03fe\3\2\2\2\u0401\u0404"+
"\3\2\2\2\u0402\u0400\3\2\2\2\u0402\u0403\3\2\2\2\u0403\u0405\3\2\2\2\u0404"+
"\u0402\3\2\2\2\u0405\u0406\7\22\2\2\u0406\u0407\5H%\2\u0407\u0409\3\2"+
"\2\2\u0408\u03e9\3\2\2\2\u0408\u03f6\3\2\2\2\u0408\u03fb\3\2\2\2\u0409"+
"O\3\2\2\2\u040a\u040c\7\u00a1\2\2\u040b\u040d\7\u0083\2\2\u040c\u040b"+
"\3\2\2\2\u040c\u040d\3\2\2\2\u040d\u040e\3\2\2\2\u040e\u0413\5X-\2\u040f"+
"\u0410\7\23\2\2\u0410\u0412\5X-\2\u0411\u040f\3\2\2\2\u0412\u0415\3\2"+
"\2\2\u0413\u0411\3\2\2\2\u0413\u0414\3\2\2\2\u0414Q\3\2\2\2\u0415\u0413"+
"\3\2\2\2\u0416\u041c\5v<\2\u0417\u0418\7e\2\2\u0418\u0419\7\67\2\2\u0419"+
"\u041d\5\u0084C\2\u041a\u041b\7u\2\2\u041b\u041d\7e\2\2\u041c\u0417\3"+
"\2\2\2\u041c\u041a\3\2\2\2\u041c\u041d\3\2\2\2\u041dS\3\2\2\2\u041e\u0421"+
"\5D#\2\u041f\u0420\7<\2\2\u0420\u0422\5\u0080A\2\u0421\u041f\3\2\2\2\u0421"+
"\u0422\3\2\2\2\u0422\u0424\3\2\2\2\u0423\u0425\t\5\2\2\u0424\u0423\3\2"+
"\2\2\u0424\u0425\3\2\2\2\u0425U\3\2\2\2\u0426\u042a\5f\64\2\u0427\u042a"+
"\5r:\2\u0428\u042a\7\u00a7\2\2\u0429\u0426\3\2\2\2\u0429\u0427\3\2\2\2"+
"\u0429\u0428\3\2\2\2\u042aW\3\2\2\2\u042b\u0437\5v<\2\u042c\u042d\7\21"+
"\2\2\u042d\u0432\5|?\2\u042e\u042f\7\23\2\2\u042f\u0431\5|?\2\u0430\u042e"+
"\3\2\2\2\u0431\u0434\3\2\2\2\u0432\u0430\3\2\2\2\u0432\u0433\3\2\2\2\u0433"+
"\u0435\3\2\2\2\u0434\u0432\3\2\2\2\u0435\u0436\7\22\2\2\u0436\u0438\3"+
"\2\2\2\u0437\u042c\3\2\2\2\u0437\u0438\3\2\2\2\u0438\u0439\3\2\2\2\u0439"+
"\u043a\7\60\2\2\u043a\u043b\7\21\2\2\u043b\u043c\5.\30\2\u043c\u043d\7"+
"\22\2\2\u043dY\3\2\2\2\u043e\u044b\7\25\2\2\u043f\u0440\5v<\2\u0440\u0441"+
"\7\20\2\2\u0441\u0442\7\25\2\2\u0442\u044b\3\2\2\2\u0443\u0448\5D#\2\u0444"+
"\u0446\7\60\2\2\u0445\u0444\3\2\2\2\u0445\u0446\3\2\2\2\u0446\u0447\3"+
"\2\2\2\u0447\u0449\5n8\2\u0448\u0445\3\2\2\2\u0448\u0449\3\2\2\2\u0449"+
"\u044b\3\2\2\2\u044a\u043e\3\2\2\2\u044a\u043f\3\2\2\2\u044a\u0443\3\2"+
"\2\2\u044b[\3\2\2\2\u044c\u0451\5v<\2\u044d\u044f\7\60\2\2\u044e\u044d"+
"\3\2\2\2\u044e\u044f\3\2\2\2\u044f\u0450\3\2\2\2\u0450\u0452\5\u008eH"+
"\2\u0451\u044e\3\2\2\2\u0451\u0452\3\2\2\2\u0452\u0458\3\2\2\2\u0453\u0454"+
"\7e\2\2\u0454\u0455\7\67\2\2\u0455\u0459\5\u0084C\2\u0456\u0457\7u\2\2"+
"\u0457\u0459\7e\2\2\u0458\u0453\3\2\2\2\u0458\u0456\3\2\2\2\u0458\u0459"+
"\3\2\2\2\u0459\u0472\3\2\2\2\u045a\u0464\7\21\2\2\u045b\u0460\5\\/\2\u045c"+
"\u045d\7\23\2\2\u045d\u045f\5\\/\2\u045e\u045c\3\2\2\2\u045f\u0462\3\2"+
"\2\2\u0460\u045e\3\2\2\2\u0460\u0461\3\2\2\2\u0461\u0465\3\2\2\2\u0462"+
"\u0460\3\2\2\2\u0463\u0465\5^\60\2\u0464\u045b\3\2\2\2\u0464\u0463\3\2"+
"\2\2\u0465\u0466\3\2\2\2\u0466\u0467\7\22\2\2\u0467\u0472\3\2\2\2\u0468"+
"\u0469\7\21\2\2\u0469\u046a\5.\30\2\u046a\u046f\7\22\2\2\u046b\u046d\7"+
"\60\2\2\u046c\u046b\3\2\2\2\u046c\u046d\3\2\2\2\u046d\u046e\3\2\2\2\u046e"+
"\u0470\5\u008eH\2\u046f\u046c\3\2\2\2\u046f\u0470\3\2\2\2\u0470\u0472"+
"\3\2\2\2\u0471\u044c\3\2\2\2\u0471\u045a\3\2\2\2\u0471\u0468\3\2\2\2\u0472"+
"]\3\2\2\2\u0473\u047a\5\\/\2\u0474\u0475\5`\61\2\u0475\u0476\5\\/\2\u0476"+
"\u0477\5b\62\2\u0477\u0479\3\2\2\2\u0478\u0474\3\2\2\2\u0479\u047c\3\2"+
"\2\2\u047a\u0478\3\2\2\2\u047a\u047b\3\2\2\2\u047b_\3\2\2\2\u047c\u047a"+
"\3\2\2\2\u047d\u048b\7\23\2\2\u047e\u0480\7s\2\2\u047f\u047e\3\2\2\2\u047f"+
"\u0480\3\2\2\2\u0480\u0487\3\2\2\2\u0481\u0483\7o\2\2\u0482\u0484\7}\2"+
"\2\u0483\u0482\3\2\2\2\u0483\u0484\3\2\2\2\u0484\u0488\3\2\2\2\u0485\u0488"+
"\7g\2\2\u0486\u0488\7B\2\2\u0487\u0481\3\2\2\2\u0487\u0485\3\2\2\2\u0487"+
"\u0486\3\2\2\2\u0487\u0488\3\2\2\2\u0488\u0489\3\2\2\2\u0489\u048b\7n"+
"\2\2\u048a\u047d\3\2\2\2\u048a\u047f\3\2\2\2\u048ba\3\2\2\2\u048c\u048d"+
"\7z\2\2\u048d\u049b\5D#\2\u048e\u048f\7\u009b\2\2\u048f\u0490\7\21\2\2"+
"\u0490\u0495\5|?\2\u0491\u0492\7\23\2\2\u0492\u0494\5|?\2\u0493\u0491"+
"\3\2\2\2\u0494\u0497\3\2\2\2\u0495\u0493\3\2\2\2\u0495\u0496\3\2\2\2\u0496"+
"\u0498\3\2\2\2\u0497\u0495\3\2\2\2\u0498\u0499\7\22\2\2\u0499\u049b\3"+
"\2\2\2\u049a\u048c\3\2\2\2\u049a\u048e\3\2\2\2\u049a\u049b\3\2\2\2\u049b"+
"c\3\2\2\2\u049c\u04a2\7\u0098\2\2\u049d\u049e\7\u0098\2\2\u049e\u04a2"+
"\7,\2\2\u049f\u04a2\7j\2\2\u04a0\u04a2\7S\2\2\u04a1\u049c\3\2\2\2\u04a1"+
"\u049d\3\2\2\2\u04a1\u049f\3\2\2\2\u04a1\u04a0\3\2\2\2\u04a2e\3\2\2\2"+
"\u04a3\u04a5\t\b\2\2\u04a4\u04a3\3\2\2\2\u04a4\u04a5\3\2\2\2\u04a5\u04a6"+
"\3\2\2\2\u04a6\u04a7\t\20\2\2\u04a7g\3\2\2\2\u04a8\u04a9\t\21\2\2\u04a9"+
"i\3\2\2\2\u04aa\u04ab\t\22\2\2\u04abk\3\2\2\2\u04ac\u04ad\7\u00a7\2\2"+
"\u04adm\3\2\2\2\u04ae\u04af\7\u00a3\2\2\u04afo\3\2\2\2\u04b0\u04b1\t\23"+
"\2\2\u04b1q\3\2\2\2\u04b2\u04b3\5\u009aN\2\u04b3s\3\2\2\2\u04b4\u04b5"+
"\5\u009aN\2\u04b5u\3\2\2\2\u04b6\u04b7\7\u00a3\2\2\u04b7w\3\2\2\2\u04b8"+
"\u04b9\5\u009aN\2\u04b9y\3\2\2\2\u04ba\u04bb\5\u009aN\2\u04bb{\3\2\2\2"+
"\u04bc\u04bd\t\24\2\2\u04bd}\3\2\2\2\u04be\u04bf\7\u00a3\2\2\u04bf\177"+
"\3\2\2\2\u04c0\u04c1\5\u009aN\2\u04c1\u0081\3\2\2\2\u04c2\u04c3\5\u009a"+
"N\2\u04c3\u0083\3\2\2\2\u04c4\u04c5\5\u009aN\2\u04c5\u0085\3\2\2\2\u04c6"+
"\u04c7\5\u009aN\2\u04c7\u0087\3\2\2\2\u04c8\u04c9\7\u00a3\2\2\u04c9\u0089"+
"\3\2\2\2\u04ca\u04cb\5\u009aN\2\u04cb\u008b\3\2\2\2\u04cc\u04cd\5\u009a"+
"N\2\u04cd\u008d\3\2\2\2\u04ce\u04cf\7\u00a3\2\2\u04cf\u008f\3\2\2\2\u04d0"+
"\u04d1\t\25\2\2\u04d1\u0091\3\2\2\2\u04d2\u04db\7\4\2\2\u04d3\u04db\7"+
"\5\2\2\u04d4\u04db\7\6\2\2\u04d5\u04db\7\7\2\2\u04d6\u04db\7\b\2\2\u04d7"+
"\u04db\7\t\2\2\u04d8\u04db\7\n\2\2\u04d9\u04db\5\u0094K\2\u04da\u04d2"+
"\3\2\2\2\u04da\u04d3\3\2\2\2\u04da\u04d4\3\2\2\2\u04da\u04d5\3\2\2\2\u04da"+
"\u04d6\3\2\2\2\u04da\u04d7\3\2\2\2\u04da\u04d8\3\2\2\2\u04da\u04d9\3\2"+
"\2\2\u04db\u0093\3\2\2\2\u04dc\u04fd\5\u0098M\2\u04dd\u04de\7 \2\2\u04de"+
"\u04e3\5\u0092J\2\u04df\u04e0\7\23\2\2\u04e0\u04e2\5\u0092J\2\u04e1\u04df"+
"\3\2\2\2\u04e2\u04e5\3\2\2\2\u04e3\u04e1\3\2\2\2\u04e3\u04e4\3\2\2\2\u04e4"+
"\u04e6\3\2\2\2\u04e5\u04e3\3\2\2\2\u04e6\u04e7\7\"\2\2\u04e7\u04fe\3\2"+
"\2\2\u04e8\u04ee\7 \2\2\u04e9\u04ea\5\u0092J\2\u04ea\u04eb\7\23\2\2\u04eb"+
"\u04ed\3\2\2\2\u04ec\u04e9\3\2\2\2\u04ed\u04f0\3\2\2\2\u04ee\u04ec\3\2"+
"\2\2\u04ee\u04ef\3\2\2\2\u04ef\u04f1\3\2\2\2\u04f0\u04ee\3\2\2\2\u04f1"+
"\u04f2\5\u0098M\2\u04f2\u04f3\7 \2\2\u04f3\u04f8\5\u0096L\2\u04f4\u04f5"+
"\7\23\2\2\u04f5\u04f7\5\u0096L\2\u04f6\u04f4\3\2\2\2\u04f7\u04fa\3\2\2"+
"\2\u04f8\u04f6\3\2\2\2\u04f8\u04f9\3\2\2\2\u04f9\u04fb\3\2\2\2\u04fa\u04f8"+
"\3\2\2\2\u04fb\u04fc\7\35\2\2\u04fc\u04fe\3\2\2\2\u04fd\u04dd\3\2\2\2"+
"\u04fd\u04e8\3\2\2\2\u04fd\u04fe\3\2\2\2\u04fe\u0095\3\2\2\2\u04ff\u0500"+
"\5\u0092J\2\u0500\u0097\3\2\2\2\u0501\u0502\7\u00a3\2\2\u0502\u0504\7"+
"\20\2\2\u0503\u0501\3\2\2\2\u0504\u0507\3\2\2\2\u0505\u0503\3\2\2\2\u0505"+
"\u0506\3\2\2\2\u0506\u0508\3\2\2\2\u0507\u0505\3\2\2\2\u0508\u0509\7\u00a3"+
"\2\2\u0509\u0099\3\2\2\2\u050a\u0511\7\u00a3\2\2\u050b\u0511\7\u00a7\2"+
"\2\u050c\u050d\7\21\2\2\u050d\u050e\5\u009aN\2\u050e\u050f\7\22\2\2\u050f"+
"\u0511\3\2\2\2\u0510\u050a\3\2\2\2\u0510\u050b\3\2\2\2\u0510\u050c\3\2"+
"\2\2\u0511\u009b\3\2\2\2\u00a5\u009e\u00a7\u00ad\u00b4\u00c0\u00c2\u00d8"+
"\u00e2\u00e5\u00ec\u00f2\u00fd\u0103\u0107\u010d\u0116\u011d\u0123\u0127"+
"\u012b\u0131\u0138\u0143\u0146\u0148\u014f\u0153\u015a\u0160\u0166\u016c"+
"\u0173\u017a\u017d\u0184\u018d\u0190\u0196\u0198\u019e\u01a6\u01ae\u01b6"+
"\u01bb\u01ce\u01d8\u01dd\u01e4\u01ee\u01f4\u01f6\u01fa\u0202\u020a\u0214"+
"\u0217\u021d\u021f\u0223\u022a\u0233\u0237\u0239\u023d\u0246\u024a\u024c"+
"\u0250\u025b\u0261\u0264\u0271\u027f\u0284\u0287\u0294\u02a2\u02a7\u02b0"+
"\u02b3\u02b9\u02bb\u02c4\u02d2\u02d6\u02da\u02de\u02e2\u02e5\u02f7\u02fc"+
"\u0301\u030c\u0312\u0319\u031d\u032d\u0330\u0338\u0341\u0345\u034a\u0367"+
"\u036c\u0378\u037e\u0385\u0389\u0393\u0396\u039a\u039c\u039e\u03ab\u03b0"+
"\u03bc\u03c0\u03c4\u03c8\u03cf\u03d1\u03d9\u03e0\u03e3\u03e7\u03f0\u0402"+
"\u0408\u040c\u0413\u041c\u0421\u0424\u0429\u0432\u0437\u0445\u0448\u044a"+
"\u044e\u0451\u0458\u0460\u0464\u046c\u046f\u0471\u047a\u047f\u0483\u0487"+
"\u048a\u0495\u049a\u04a1\u04a4\u04da\u04e3\u04ee\u04f8\u04fd\u0505\u0510";
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);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy