diff --git a/src/grammar/Sqlite3Lexer.cpp b/src/grammar/Sqlite3Lexer.cpp index cf0c5a9c..4cc14519 100644 --- a/src/grammar/Sqlite3Lexer.cpp +++ b/src/grammar/Sqlite3Lexer.cpp @@ -28,44 +28,62 @@ Sqlite3Lexer::Sqlite3Lexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState void Sqlite3Lexer::initLiterals() { - literals["DEFAULT"] = 18; - literals["IF"] = 27; - literals["CURRENT_DATE"] = 16; - literals["LIKE"] = 25; - literals["AS"] = 5; - literals["TEMPORARY"] = 37; - literals["UNIQUE"] = 40; - literals["CHECK"] = 10; - literals["COLLATE"] = 12; - literals["NOT"] = 29; - literals["ELSE"] = 20; - literals["REFERENCES"] = 35; - literals["THEN"] = 39; - literals["CREATE"] = 11; - literals["EXISTS"] = 32; - literals["CASE"] = 9; - literals["REGEXP"] = 36; - literals["ON"] = 33; - literals["CURRENT_TIME"] = 15; - literals["GLOB"] = 23; - literals["CURRENT_TIMESTAMP"] = 17; - literals["AND"] = 7; - literals["ASC"] = 6; - literals["ESCAPE"] = 22; - literals["DESC"] = 19; - literals["TABLE"] = 26; - literals["TEMP"] = 38; - literals["END"] = 21; - literals["KEY"] = 24; - literals["WHEN"] = 41; - literals["CONSTRAINT"] = 14; - literals["MATCH"] = 31; - literals["OR"] = 8; - literals["AUTOINCREMENT"] = 4; - literals["IS"] = 28; - literals["NULL"] = 30; - literals["CONFLICT"] = 13; - literals["PRIMARY"] = 34; + literals["CONSTRAINT"] = 18; + literals["CREATE"] = 15; + literals["CASE"] = 12; + literals["END"] = 28; + literals["CASCADE"] = 11; + literals["TEMPORARY"] = 54; + literals["DEFERRABLE"] = 23; + literals["IMMEDIATE"] = 39; + literals["AUTOINCREMENT"] = 6; + literals["EXISTS"] = 44; + literals["THEN"] = 56; + literals["AND"] = 9; + literals["CURRENT_DATE"] = 20; + literals["NOT"] = 41; + literals["KEY"] = 33; + literals["COLLATE"] = 16; + literals["NULL"] = 42; + literals["TEMP"] = 55; + literals["INITIALLY"] = 38; + literals["RESTRICT"] = 51; + literals["LIKE"] = 34; + literals["WHEN"] = 59; + literals["FOREIGN"] = 31; + literals["SET"] = 53; + literals["IS"] = 40; + literals["OR"] = 10; + literals["PRIMARY"] = 46; + literals["DEFERRED"] = 24; + literals["UPDATE"] = 58; + literals["IF"] = 36; + literals["UNIQUE"] = 57; + literals["AS"] = 7; + literals["TABLE"] = 35; + literals["DEFAULT"] = 22; + literals["ACTION"] = 5; + literals["DELETE"] = 25; + literals["GLOB"] = 32; + literals["IGNORE"] = 37; + literals["CURRENT_TIMESTAMP"] = 21; + literals["CONFLICT"] = 17; + literals["REPLACE"] = 50; + literals["ASC"] = 8; + literals["FAIL"] = 30; + literals["REGEXP"] = 49; + literals["REFERENCES"] = 48; + literals["ON"] = 45; + literals["DESC"] = 26; + literals["CAST"] = 13; + literals["ESCAPE"] = 29; + literals["ELSE"] = 27; + literals["MATCH"] = 43; + literals["RAISE"] = 47; + literals["ABORT"] = 4; + literals["CHECK"] = 14; + literals["ROLLBACK"] = 52; + literals["CURRENT_TIME"] = 19; } ANTLR_USE_NAMESPACE(antlr)RefToken Sqlite3Lexer::nextToken() @@ -1120,34 +1138,33 @@ const unsigned long Sqlite3Lexer::_tokenSet_0_data_[] = { 4294967295UL, 42949672 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > // ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ -// a b c d +// a b c const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_0(_tokenSet_0_data_,8); const unsigned long Sqlite3Lexer::_tokenSet_1_data_[] = { 4294967295UL, 4294967295UL, 3758096383UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > // ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ^ _ ` -// a b c d +// a b c const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_1(_tokenSet_1_data_,8); const unsigned long Sqlite3Lexer::_tokenSet_2_data_[] = { 4294967295UL, 4294967291UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? // @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` -// a b c d +// a b c const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_2(_tokenSet_2_data_,8); const unsigned long Sqlite3Lexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! // \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B // C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c -// d const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_3(_tokenSet_3_data_,8); const unsigned long Sqlite3Lexer::_tokenSet_4_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? // @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` -// a b c d +// a b c const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_4(_tokenSet_4_data_,8); diff --git a/src/grammar/Sqlite3Parser.cpp b/src/grammar/Sqlite3Parser.cpp index 930cbc57..bf2edebf 100644 --- a/src/grammar/Sqlite3Parser.cpp +++ b/src/grammar/Sqlite3Parser.cpp @@ -691,9 +691,9 @@ void Sqlite3Parser::tableconstraint() { break; } case CHECK: + case FOREIGN: case PRIMARY: case UNIQUE: - case FOREIGN: { break; } @@ -1818,6 +1818,7 @@ void Sqlite3Parser::foreignkeyclause() { case COLLATE: case CONSTRAINT: case DEFAULT: + case DEFERRABLE: case NOT: case MATCH: case ON: @@ -1826,7 +1827,6 @@ void Sqlite3Parser::foreignkeyclause() { case UNIQUE: case RPAREN: case COMMA: - case DEFERRABLE: { break; } @@ -2231,18 +2231,18 @@ void Sqlite3Parser::subexpr() { break; } case CASE_T: + case CAST: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: case NULL_T: case EXISTS: + case RAISE: case ID: case QUOTEDID: case NUMERIC: case STRINGLITERAL: case LPAREN: - case CAST: - case RAISE: { break; } @@ -2309,12 +2309,14 @@ void Sqlite3Parser::subexpr() { { switch ( LA(1)) { case CASE_T: + case CAST: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: case NOT: case NULL_T: case EXISTS: + case RAISE: case ID: case QUOTEDID: case NUMERIC: @@ -2323,8 +2325,6 @@ void Sqlite3Parser::subexpr() { case PLUS: case MINUS: case TILDE: - case CAST: - case RAISE: { expr(); if (inputState->guessing==0) { @@ -2425,12 +2425,14 @@ void Sqlite3Parser::subexpr() { { switch ( LA(1)) { case CASE_T: + case CAST: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: case NOT: case NULL_T: case EXISTS: + case RAISE: case ID: case QUOTEDID: case NUMERIC: @@ -2439,8 +2441,6 @@ void Sqlite3Parser::subexpr() { case PLUS: case MINUS: case TILDE: - case CAST: - case RAISE: { expr(); if (inputState->guessing==0) { @@ -2504,6 +2504,7 @@ void Sqlite3Parser::subexpr() { case AS: case AND: case OR: + case ELSE_T: case END: case GLOB: case LIKE: @@ -2530,7 +2531,6 @@ void Sqlite3Parser::subexpr() { case UNEQUAL2: case BITWISELEFT: case BITWISERIGHT: - case ELSE: case SLASH: case PERCENT: case IN: @@ -3000,12 +3000,14 @@ void Sqlite3Parser::caseexpr() { { switch ( LA(1)) { case CASE_T: + case CAST: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: case NOT: case NULL_T: case EXISTS: + case RAISE: case ID: case QUOTEDID: case NUMERIC: @@ -3014,8 +3016,6 @@ void Sqlite3Parser::caseexpr() { case PLUS: case MINUS: case TILDE: - case CAST: - case RAISE: { expr(); if (inputState->guessing==0) { @@ -3068,14 +3068,14 @@ void Sqlite3Parser::caseexpr() { } // ( ... )+ { switch ( LA(1)) { - case ELSE: + case ELSE_T: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp143_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp143_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp143_AST); } - match(ELSE); + match(ELSE_T); expr(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); @@ -3141,9 +3141,9 @@ void Sqlite3Parser::raisefunction() { match(IGNORE); break; } - case ROLLBACK: case ABORT: case FAIL: + case ROLLBACK: { { switch ( LA(1)) { @@ -3253,19 +3253,23 @@ void Sqlite3Parser::suffixexpr() { void Sqlite3Parser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(100); + factory.setMaxNodeType(99); } const char* Sqlite3Parser::tokenNames[] = { "<0>", "EOF", "<2>", "NULL_TREE_LOOKAHEAD", + "\"ABORT\"", + "\"ACTION\"", "\"AUTOINCREMENT\"", "\"AS\"", "\"ASC\"", "\"AND\"", "\"OR\"", + "\"CASCADE\"", "\"CASE\"", + "\"CAST\"", "\"CHECK\"", "\"CREATE\"", "\"COLLATE\"", @@ -3275,15 +3279,23 @@ const char* Sqlite3Parser::tokenNames[] = { "\"CURRENT_DATE\"", "\"CURRENT_TIMESTAMP\"", "\"DEFAULT\"", + "\"DEFERRABLE\"", + "\"DEFERRED\"", + "\"DELETE\"", "\"DESC\"", "\"ELSE\"", "\"END\"", "\"ESCAPE\"", + "\"FAIL\"", + "\"FOREIGN\"", "\"GLOB\"", "\"KEY\"", "\"LIKE\"", "\"TABLE\"", "\"IF\"", + "\"IGNORE\"", + "\"INITIALLY\"", + "\"IMMEDIATE\"", "\"IS\"", "\"NOT\"", "\"NULL\"", @@ -3291,12 +3303,18 @@ const char* Sqlite3Parser::tokenNames[] = { "\"EXISTS\"", "\"ON\"", "\"PRIMARY\"", + "\"RAISE\"", "\"REFERENCES\"", "\"REGEXP\"", + "\"REPLACE\"", + "\"RESTRICT\"", + "\"ROLLBACK\"", + "\"SET\"", "\"TEMPORARY\"", "\"TEMP\"", "\"THEN\"", "\"UNIQUE\"", + "\"UPDATE\"", "\"WHEN\"", "TYPE_NAME", "COLUMNDEF", @@ -3333,137 +3351,120 @@ const char* Sqlite3Parser::tokenNames[] = { "UNEQUAL2", "BITWISELEFT", "BITWISERIGHT", - "FOREIGN", - "ROLLBACK", - "ABORT", - "FAIL", - "IGNORE", - "REPLACE", - "DELETE", - "UPDATE", - "SET", - "CASCADE", - "RESTRICT", "NO", - "ACTION", - "DEFERRABLE", - "INITIALLY", - "DEFERRED", - "IMMEDIATE", "SELECT", - "CAST", - "ELSE", - "RAISE", "SLASH", "PERCENT", "IN", 0 }; -const unsigned long Sqlite3Parser::_tokenSet_0_data_[] = { 2997114274UL, 1996948382UL, 67117055UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "END" "GLOB" -// "LIKE" "IS" "NOT" "MATCH" "ON" "PRIMARY" "REFERENCES" "REGEXP" "THEN" -// "UNIQUE" "WHEN" DOT ID QUOTEDID LPAREN RPAREN COMMA PLUS MINUS STAR -// AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL -// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT DEFERRABLE ELSE SLASH PERCENT +const unsigned long Sqlite3Parser::_tokenSet_0_data_[] = { 415581826UL, 184773381UL, 2147343388UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "DEFERRABLE" +// "ELSE" "END" "GLOB" "LIKE" "IS" "NOT" "MATCH" "ON" "PRIMARY" "REFERENCES" +// "REGEXP" "THEN" "UNIQUE" "WHEN" DOT ID QUOTEDID LPAREN RPAREN COMMA +// PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL +// LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT // IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_0(_tokenSet_0_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_1_data_[] = { 0UL, 65536UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_1_data_[] = { 0UL, 0UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // DOT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_1(_tokenSet_1_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_2_data_[] = { 2684638242UL, 117833998UL, 67108864UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "AS" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "MATCH" "ON" -// "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID LPAREN RPAREN COMMA DEFERRABLE +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_1(_tokenSet_1_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_2_data_[] = { 12927106UL, 33647104UL, 7192UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "AS" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "DEFERRABLE" "NOT" +// "MATCH" "ON" "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID LPAREN RPAREN +// COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_2(_tokenSet_2_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 2997114272UL, 1980105628UL, 8191UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "END" "GLOB" -// "LIKE" "IS" "NOT" "MATCH" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE" -// "WHEN" ID QUOTEDID RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP -// EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 -// BITWISELEFT BITWISERIGHT ELSE SLASH PERCENT IN +const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 407193216UL, 184765189UL, 2147342360UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "ELSE" "END" +// "GLOB" "LIKE" "IS" "NOT" "MATCH" "PRIMARY" "REFERENCES" "REGEXP" "THEN" +// "UNIQUE" "WHEN" ID QUOTEDID RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR +// OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 +// BITWISELEFT BITWISERIGHT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_3(_tokenSet_3_data_,8); const unsigned long Sqlite3Parser::_tokenSet_4_data_[] = { 2UL, 0UL, 0UL, 0UL }; // EOF const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_4(_tokenSet_4_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_5_data_[] = { 2997114272UL, 1979712412UL, 8191UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "END" "GLOB" -// "LIKE" "IS" "NOT" "MATCH" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE" -// "WHEN" RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 -// GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT -// ELSE SLASH PERCENT IN +const unsigned long Sqlite3Parser::_tokenSet_5_data_[] = { 407193216UL, 184765189UL, 2147342336UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "ELSE" "END" +// "GLOB" "LIKE" "IS" "NOT" "MATCH" "PRIMARY" "REFERENCES" "REGEXP" "THEN" +// "UNIQUE" "WHEN" RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL +// EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT +// BITWISERIGHT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_5(_tokenSet_5_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 537154560UL, 100663564UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 4538368UL, 33636864UL, 6144UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "PRIMARY" "REFERENCES" // "UNIQUE" RPAREN COMMA -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_6(_tokenSet_6_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 2UL, 134217728UL, 0UL, 0UL }; +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_6(_tokenSet_6_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 2UL, 0UL, 8192UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF SEMI -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_7(_tokenSet_7_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 537154560UL, 268UL, 0UL, 0UL }; +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_7(_tokenSet_7_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 4538368UL, 33636864UL, 0UL, 0UL }; // "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "PRIMARY" "REFERENCES" // "UNIQUE" const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_8(_tokenSet_8_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_9_data_[] = { 0UL, 100663296UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_9_data_[] = { 0UL, 0UL, 6144UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // RPAREN COMMA -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_9(_tokenSet_9_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_10_data_[] = { 2UL, 167772160UL, 0UL, 0UL }; +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_9(_tokenSet_9_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_10_data_[] = { 2UL, 0UL, 10240UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF RPAREN SEMI -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_10(_tokenSet_10_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 2684638208UL, 117833998UL, 67117056UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "MATCH" "ON" "PRIMARY" -// "REFERENCES" "UNIQUE" ID QUOTEDID LPAREN RPAREN COMMA FOREIGN DEFERRABLE +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_10(_tokenSet_10_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 2160410624UL, 33647104UL, 7192UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "DEFERRABLE" "FOREIGN" "NOT" +// "MATCH" "ON" "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID LPAREN RPAREN +// COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_11(_tokenSet_11_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_12_data_[] = { 1610842624UL, 2978873345UL, 2147483648UL, 2UL, 0UL, 0UL, 0UL, 0UL }; -// "CASE" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "NOT" "NULL" -// "EXISTS" ID QUOTEDID NUMERIC STRINGLITERAL LPAREN PLUS MINUS TILDE CAST -// RAISE +const unsigned long Sqlite3Parser::_tokenSet_12_data_[] = { 3682304UL, 38400UL, 181816UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// "CASE" "CAST" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "NOT" +// "NULL" "EXISTS" "RAISE" ID QUOTEDID NUMERIC STRINGLITERAL LPAREN PLUS +// MINUS TILDE const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_12(_tokenSet_12_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_13_data_[] = { 4070806432UL, 4153344657UL, 3221233663UL, 31UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "CASE" "COLLATE" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "END" "GLOB" "LIKE" "IS" "NOT" "NULL" "MATCH" "EXISTS" "REGEXP" "THEN" -// "WHEN" DOT ID QUOTEDID NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS -// MINUS STAR TILDE AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL -// LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SELECT CAST -// ELSE RAISE SLASH PERCENT IN +const unsigned long Sqlite3Parser::_tokenSet_13_data_[] = { 406402688UL, 151166725UL, 2147475004UL, 15UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "CASE" "CAST" "COLLATE" "CURRENT_TIME" "CURRENT_DATE" +// "CURRENT_TIMESTAMP" "ELSE" "END" "GLOB" "LIKE" "IS" "NOT" "NULL" "MATCH" +// "EXISTS" "RAISE" "REGEXP" "THEN" "WHEN" DOT ID QUOTEDID NUMERIC STRINGLITERAL +// LPAREN RPAREN COMMA PLUS MINUS STAR TILDE AMPERSAND BITOR OROP EQUAL +// EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT +// BITWISERIGHT SELECT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_13(_tokenSet_13_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 2457862528UL, 1879048208UL, 8191UL, 28UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 1536UL, 133381UL, 2147336192UL, 14UL, 0UL, 0UL, 0UL, 0UL }; // "AND" "OR" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" PLUS MINUS STAR AMPERSAND // BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL // UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_14(_tokenSet_14_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_15_data_[] = { 1612943904UL, 3079602817UL, 3221225472UL, 3UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "CASE" "COLLATE" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "END" "NOT" "NULL" "EXISTS" "THEN" "WHEN" DOT ID QUOTEDID NUMERIC STRINGLITERAL -// LPAREN RPAREN COMMA PLUS MINUS TILDE SELECT CAST ELSE RAISE +const unsigned long Sqlite3Parser::_tokenSet_15_data_[] = { 406401152UL, 151033344UL, 187964UL, 1UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "CASE" "CAST" "COLLATE" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" +// "ELSE" "END" "NOT" "NULL" "EXISTS" "RAISE" "THEN" "WHEN" DOT ID QUOTEDID +// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS TILDE SELECT const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_15(_tokenSet_15_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 2097184UL, 100663936UL, 0UL, 1UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "END" "THEN" "WHEN" RPAREN COMMA ELSE +const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 402653312UL, 150994944UL, 6144UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "ELSE" "END" "THEN" "WHEN" RPAREN COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_16(_tokenSet_16_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 1627673602UL, 1066270990UL, 8192UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "KEY" "NOT" "NULL" "ON" -// "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID NUMERIC STRINGLITERAL LPAREN -// RPAREN COMMA SEMI PLUS MINUS FOREIGN +const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 2152022018UL, 33646082UL, 65080UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "KEY" "NOT" "NULL" +// "ON" "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID NUMERIC STRINGLITERAL +// LPAREN RPAREN COMMA SEMI PLUS MINUS const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_17(_tokenSet_17_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 0UL, 16777216UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 0UL, 0UL, 1024UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // LPAREN -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_18(_tokenSet_18_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_19_data_[] = { 2459963808UL, 1980170896UL, 8191UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "COLLATE" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_18(_tokenSet_18_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_19_data_[] = { 402720384UL, 151128325UL, 2147342364UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "COLLATE" "ELSE" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" // "THEN" "WHEN" DOT ID QUOTEDID RPAREN COMMA PLUS MINUS STAR AMPERSAND // BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL -// UNEQUAL2 BITWISELEFT BITWISERIGHT ELSE SLASH PERCENT IN +// UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_19(_tokenSet_19_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 2459963808UL, 1979712144UL, 8191UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "COLLATE" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" +const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 402720384UL, 151128325UL, 2147342336UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "COLLATE" "ELSE" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" // "THEN" "WHEN" RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL // EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT -// BITWISERIGHT ELSE SLASH PERCENT IN +// BITWISERIGHT SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_20(_tokenSet_20_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 2459959712UL, 1979712144UL, 8191UL, 29UL, 0UL, 0UL, 0UL, 0UL }; -// "AS" "AND" "OR" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" "THEN" "WHEN" -// RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER -// GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT -// ELSE SLASH PERCENT IN +const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 402654848UL, 151128325UL, 2147342336UL, 14UL, 0UL, 0UL, 0UL, 0UL }; +// "AS" "AND" "OR" "ELSE" "END" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" "THEN" +// "WHEN" RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 +// GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT +// SLASH PERCENT IN const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_21(_tokenSet_21_data_,8); diff --git a/src/grammar/Sqlite3Parser.hpp b/src/grammar/Sqlite3Parser.hpp index 4ad1f32c..66676c2f 100644 --- a/src/grammar/Sqlite3Parser.hpp +++ b/src/grammar/Sqlite3Parser.hpp @@ -74,10 +74,10 @@ protected: private: static const char* tokenNames[]; #ifndef NO_STATIC_CONSTS - static const int NUM_TOKENS = 101; + static const int NUM_TOKENS = 100; #else enum { - NUM_TOKENS = 101 + NUM_TOKENS = 100 }; #endif diff --git a/src/grammar/sqlite3TokenTypes.hpp b/src/grammar/sqlite3TokenTypes.hpp index fda837be..8697de2e 100644 --- a/src/grammar/sqlite3TokenTypes.hpp +++ b/src/grammar/sqlite3TokenTypes.hpp @@ -12,103 +12,102 @@ struct CUSTOM_API sqlite3TokenTypes { #endif enum { EOF_ = 1, - AUTOINCREMENT = 4, - AS = 5, - ASC = 6, - AND = 7, - OR = 8, - CASE_T = 9, - CHECK = 10, - CREATE = 11, - COLLATE = 12, - CONFLICT = 13, - CONSTRAINT = 14, - CURRENT_TIME = 15, - CURRENT_DATE = 16, - CURRENT_TIMESTAMP = 17, - DEFAULT = 18, - DESC = 19, - ELSE_T = 20, - END = 21, - ESCAPE = 22, - GLOB = 23, - KEY = 24, - LIKE = 25, - TABLE = 26, - IF_T = 27, - IS = 28, - NOT = 29, - NULL_T = 30, - MATCH = 31, - EXISTS = 32, - ON = 33, - PRIMARY = 34, - REFERENCES = 35, - REGEXP = 36, - TEMPORARY = 37, - TEMP = 38, - THEN = 39, - UNIQUE = 40, - WHEN = 41, - TYPE_NAME = 42, - COLUMNDEF = 43, - COLUMNCONSTRAINT = 44, - TABLECONSTRAINT = 45, - CREATETABLE = 46, - DIGIT = 47, - DOT = 48, - ID = 49, - QUOTEDID = 50, - NUMERIC = 51, - NL = 52, - COMMENT = 53, - WS = 54, - STRINGLITERAL = 55, - LPAREN = 56, - RPAREN = 57, - COMMA = 58, - SEMI = 59, - PLUS = 60, - MINUS = 61, - STAR = 62, - TILDE = 63, - AMPERSAND = 64, - BITOR = 65, - OROP = 66, - EQUAL = 67, - EQUAL2 = 68, - GREATER = 69, - GREATEREQUAL = 70, - LOWER = 71, - LOWEREQUAL = 72, - UNEQUAL = 73, - UNEQUAL2 = 74, - BITWISELEFT = 75, - BITWISERIGHT = 76, - FOREIGN = 77, - ROLLBACK = 78, - ABORT = 79, - FAIL = 80, - IGNORE = 81, - REPLACE = 82, - DELETE = 83, - UPDATE = 84, - SET = 85, - CASCADE = 86, - RESTRICT = 87, - NO = 88, - ACTION = 89, - DEFERRABLE = 90, - INITIALLY = 91, - DEFERRED = 92, - IMMEDIATE = 93, - SELECT = 94, - CAST = 95, - ELSE = 96, - RAISE = 97, - SLASH = 98, - PERCENT = 99, - IN = 100, + ABORT = 4, + ACTION = 5, + AUTOINCREMENT = 6, + AS = 7, + ASC = 8, + AND = 9, + OR = 10, + CASCADE = 11, + CASE_T = 12, + CAST = 13, + CHECK = 14, + CREATE = 15, + COLLATE = 16, + CONFLICT = 17, + CONSTRAINT = 18, + CURRENT_TIME = 19, + CURRENT_DATE = 20, + CURRENT_TIMESTAMP = 21, + DEFAULT = 22, + DEFERRABLE = 23, + DEFERRED = 24, + DELETE = 25, + DESC = 26, + ELSE_T = 27, + END = 28, + ESCAPE = 29, + FAIL = 30, + FOREIGN = 31, + GLOB = 32, + KEY = 33, + LIKE = 34, + TABLE = 35, + IF_T = 36, + IGNORE = 37, + INITIALLY = 38, + IMMEDIATE = 39, + IS = 40, + NOT = 41, + NULL_T = 42, + MATCH = 43, + EXISTS = 44, + ON = 45, + PRIMARY = 46, + RAISE = 47, + REFERENCES = 48, + REGEXP = 49, + REPLACE = 50, + RESTRICT = 51, + ROLLBACK = 52, + SET = 53, + TEMPORARY = 54, + TEMP = 55, + THEN = 56, + UNIQUE = 57, + UPDATE = 58, + WHEN = 59, + TYPE_NAME = 60, + COLUMNDEF = 61, + COLUMNCONSTRAINT = 62, + TABLECONSTRAINT = 63, + CREATETABLE = 64, + DIGIT = 65, + DOT = 66, + ID = 67, + QUOTEDID = 68, + NUMERIC = 69, + NL = 70, + COMMENT = 71, + WS = 72, + STRINGLITERAL = 73, + LPAREN = 74, + RPAREN = 75, + COMMA = 76, + SEMI = 77, + PLUS = 78, + MINUS = 79, + STAR = 80, + TILDE = 81, + AMPERSAND = 82, + BITOR = 83, + OROP = 84, + EQUAL = 85, + EQUAL2 = 86, + GREATER = 87, + GREATEREQUAL = 88, + LOWER = 89, + LOWEREQUAL = 90, + UNEQUAL = 91, + UNEQUAL2 = 92, + BITWISELEFT = 93, + BITWISERIGHT = 94, + NO = 95, + SELECT = 96, + SLASH = 97, + PERCENT = 98, + IN = 99, NULL_TREE_LOOKAHEAD = 3 }; #ifdef __cplusplus diff --git a/src/grammar/sqlite3TokenTypes.txt b/src/grammar/sqlite3TokenTypes.txt new file mode 100644 index 00000000..bdc67095 --- /dev/null +++ b/src/grammar/sqlite3TokenTypes.txt @@ -0,0 +1,98 @@ +// $ANTLR 2.7.7 (20121001): sqlite3.g -> sqlite3TokenTypes.txt$ +sqlite3 // output token vocab name +ABORT="ABORT"=4 +ACTION="ACTION"=5 +AUTOINCREMENT="AUTOINCREMENT"=6 +AS="AS"=7 +ASC="ASC"=8 +AND="AND"=9 +OR="OR"=10 +CASCADE="CASCADE"=11 +CASE_T="CASE"=12 +CAST="CAST"=13 +CHECK="CHECK"=14 +CREATE="CREATE"=15 +COLLATE="COLLATE"=16 +CONFLICT="CONFLICT"=17 +CONSTRAINT="CONSTRAINT"=18 +CURRENT_TIME="CURRENT_TIME"=19 +CURRENT_DATE="CURRENT_DATE"=20 +CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"=21 +DEFAULT="DEFAULT"=22 +DEFERRABLE="DEFERRABLE"=23 +DEFERRED="DEFERRED"=24 +DELETE="DELETE"=25 +DESC="DESC"=26 +ELSE_T="ELSE"=27 +END="END"=28 +ESCAPE="ESCAPE"=29 +FAIL="FAIL"=30 +FOREIGN="FOREIGN"=31 +GLOB="GLOB"=32 +KEY="KEY"=33 +LIKE="LIKE"=34 +TABLE="TABLE"=35 +IF_T="IF"=36 +IGNORE="IGNORE"=37 +INITIALLY="INITIALLY"=38 +IMMEDIATE="IMMEDIATE"=39 +IS="IS"=40 +NOT="NOT"=41 +NULL_T="NULL"=42 +MATCH="MATCH"=43 +EXISTS="EXISTS"=44 +ON="ON"=45 +PRIMARY="PRIMARY"=46 +RAISE="RAISE"=47 +REFERENCES="REFERENCES"=48 +REGEXP="REGEXP"=49 +REPLACE="REPLACE"=50 +RESTRICT="RESTRICT"=51 +ROLLBACK="ROLLBACK"=52 +SET="SET"=53 +TEMPORARY="TEMPORARY"=54 +TEMP="TEMP"=55 +THEN="THEN"=56 +UNIQUE="UNIQUE"=57 +UPDATE="UPDATE"=58 +WHEN="WHEN"=59 +TYPE_NAME=60 +COLUMNDEF=61 +COLUMNCONSTRAINT=62 +TABLECONSTRAINT=63 +CREATETABLE=64 +DIGIT=65 +DOT=66 +ID=67 +QUOTEDID=68 +NUMERIC=69 +NL=70 +COMMENT=71 +WS=72 +STRINGLITERAL=73 +LPAREN=74 +RPAREN=75 +COMMA=76 +SEMI=77 +PLUS=78 +MINUS=79 +STAR=80 +TILDE=81 +AMPERSAND=82 +BITOR=83 +OROP=84 +EQUAL=85 +EQUAL2=86 +GREATER=87 +GREATEREQUAL=88 +LOWER=89 +LOWEREQUAL=90 +UNEQUAL=91 +UNEQUAL2=92 +BITWISELEFT=93 +BITWISERIGHT=94 +NO=95 +SELECT=96 +SLASH=97 +PERCENT=98 +IN=99