updated sqlite parser

This commit is contained in:
Peinthor Rene
2013-05-03 21:11:21 +02:00
parent 32ba32bbae
commit 0861f51897
5 changed files with 361 additions and 246 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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