mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 02:50:46 -06:00
Grammar: Allow multiple table keys which are not separated by commas
Fix table definitions like this... CREATE TABLE [player_tech_branches] ( [from_id] INTEGER NOT NULL REFERENCES [techs](id), [to_id] INTEGER NOT NULL REFERENCES [techs](id), UNIQUE ([from_id], [to_id]) PRIMARY KEY ([from_id], [to_id]) ) ...where there are multiple keys which are not separated by commas. This partially fixed EoD's database in issue #63.
This commit is contained in:
@@ -597,24 +597,44 @@ void Sqlite3Parser::createtable() {
|
||||
} // ( ... )*
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((LA(1) == COMMA)) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
tmp20_AST = astFactory->create(LT(1));
|
||||
astFactory->addASTChild(currentAST, tmp20_AST);
|
||||
if ((_tokenSet_11.member(LA(1)))) {
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case COMMA:
|
||||
{
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
tmp20_AST = astFactory->create(LT(1));
|
||||
astFactory->addASTChild(currentAST, tmp20_AST);
|
||||
}
|
||||
match(COMMA);
|
||||
break;
|
||||
}
|
||||
case CHECK:
|
||||
case CONSTRAINT:
|
||||
case FOREIGN:
|
||||
case PRIMARY:
|
||||
case UNIQUE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
}
|
||||
}
|
||||
}
|
||||
match(COMMA);
|
||||
tableconstraint();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop94;
|
||||
goto _loop95;
|
||||
}
|
||||
|
||||
}
|
||||
_loop94:;
|
||||
_loop95:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -1020,7 +1040,7 @@ void Sqlite3Parser::keywordastablename() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_11);
|
||||
recover(ex,_tokenSet_12);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -1128,6 +1148,7 @@ void Sqlite3Parser::columndef() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -1146,18 +1167,18 @@ void Sqlite3Parser::columndef() {
|
||||
}
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_12.member(LA(1)))) {
|
||||
if ((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2)))) {
|
||||
columnconstraint();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop102;
|
||||
goto _loop103;
|
||||
}
|
||||
|
||||
}
|
||||
_loop102:;
|
||||
_loop103:;
|
||||
} // ( ... )*
|
||||
if ( inputState->guessing==0 ) {
|
||||
columndef_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
||||
@@ -1175,7 +1196,7 @@ void Sqlite3Parser::columndef() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_13);
|
||||
recover(ex,_tokenSet_15);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -1259,11 +1280,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop122;
|
||||
goto _loop123;
|
||||
}
|
||||
|
||||
}
|
||||
_loop122:;
|
||||
_loop123:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -1281,6 +1302,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CHECK:
|
||||
case CONSTRAINT:
|
||||
case FOREIGN:
|
||||
case PRIMARY:
|
||||
case UNIQUE:
|
||||
case RPAREN:
|
||||
case COMMA:
|
||||
{
|
||||
@@ -1327,11 +1353,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop125;
|
||||
goto _loop126;
|
||||
}
|
||||
|
||||
}
|
||||
_loop125:;
|
||||
_loop126:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -1349,6 +1375,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CHECK:
|
||||
case CONSTRAINT:
|
||||
case FOREIGN:
|
||||
case PRIMARY:
|
||||
case UNIQUE:
|
||||
case RPAREN:
|
||||
case COMMA:
|
||||
{
|
||||
@@ -1427,11 +1458,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop128;
|
||||
goto _loop129;
|
||||
}
|
||||
|
||||
}
|
||||
_loop128:;
|
||||
_loop129:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -1467,7 +1498,7 @@ void Sqlite3Parser::tableconstraint() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_13);
|
||||
recover(ex,_tokenSet_15);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -1492,7 +1523,7 @@ void Sqlite3Parser::selectstmt() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_14);
|
||||
recover(ex,_tokenSet_16);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -2040,7 +2071,7 @@ void Sqlite3Parser::keywordascolumnname() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_15);
|
||||
recover(ex,_tokenSet_17);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -2055,7 +2086,7 @@ void Sqlite3Parser::type_name() {
|
||||
|
||||
try { // for error handling
|
||||
{ // ( ... )+
|
||||
int _cnt106=0;
|
||||
int _cnt107=0;
|
||||
for (;;) {
|
||||
if ((_tokenSet_5.member(LA(1)))) {
|
||||
name();
|
||||
@@ -2064,12 +2095,12 @@ void Sqlite3Parser::type_name() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( _cnt106>=1 ) { goto _loop106; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt107>=1 ) { goto _loop107; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
|
||||
_cnt106++;
|
||||
_cnt107++;
|
||||
}
|
||||
_loop106:;
|
||||
_loop107:;
|
||||
} // ( ... )+
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@@ -2123,6 +2154,7 @@ void Sqlite3Parser::type_name() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -2245,6 +2277,7 @@ void Sqlite3Parser::columnconstraint() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -2277,6 +2310,7 @@ void Sqlite3Parser::columnconstraint() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -2340,6 +2374,7 @@ void Sqlite3Parser::columnconstraint() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -2380,6 +2415,7 @@ void Sqlite3Parser::columnconstraint() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -2475,13 +2511,13 @@ void Sqlite3Parser::columnconstraint() {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
if ((LA(1) == NUMERIC || LA(1) == PLUS || LA(1) == MINUS) && (_tokenSet_16.member(LA(2)))) {
|
||||
if ((LA(1) == NUMERIC || LA(1) == PLUS || LA(1) == MINUS) && (_tokenSet_18.member(LA(2)))) {
|
||||
signednumber();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_17.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
|
||||
else if ((_tokenSet_19.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
|
||||
literalvalue();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
@@ -2606,7 +2642,7 @@ void Sqlite3Parser::name() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_18);
|
||||
recover(ex,_tokenSet_20);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -2715,7 +2751,7 @@ void Sqlite3Parser::expr() {
|
||||
}
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_19.member(LA(1))) && (_tokenSet_20.member(LA(2)))) {
|
||||
if ((_tokenSet_21.member(LA(1))) && (_tokenSet_22.member(LA(2)))) {
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case GLOB:
|
||||
@@ -2780,18 +2816,18 @@ void Sqlite3Parser::expr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop153;
|
||||
goto _loop154;
|
||||
}
|
||||
|
||||
}
|
||||
_loop153:;
|
||||
_loop154:;
|
||||
} // ( ... )*
|
||||
expr_AST = currentAST.root;
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_21);
|
||||
recover(ex,_tokenSet_23);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -2870,7 +2906,7 @@ void Sqlite3Parser::literalvalue() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_22);
|
||||
recover(ex,_tokenSet_24);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -2923,11 +2959,11 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop135;
|
||||
goto _loop136;
|
||||
}
|
||||
|
||||
}
|
||||
_loop135:;
|
||||
_loop136:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp164_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -2942,6 +2978,7 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case DEFERRABLE:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case MATCH:
|
||||
@@ -3109,17 +3146,17 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop140;
|
||||
goto _loop141;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop140:;
|
||||
_loop141:;
|
||||
} // ( ... )*
|
||||
{
|
||||
bool synPredMatched143 = false;
|
||||
bool synPredMatched144 = false;
|
||||
if (((LA(1) == NOT) && (LA(2) == DEFERRABLE))) {
|
||||
int _m143 = mark();
|
||||
synPredMatched143 = true;
|
||||
int _m144 = mark();
|
||||
synPredMatched144 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
@@ -3128,12 +3165,12 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched143 = false;
|
||||
synPredMatched144 = false;
|
||||
}
|
||||
rewind(_m143);
|
||||
rewind(_m144);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched143 ) {
|
||||
if ( synPredMatched144 ) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp177_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
tmp177_AST = astFactory->create(LT(1));
|
||||
@@ -3190,6 +3227,7 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
case COLLATE:
|
||||
case CONSTRAINT:
|
||||
case DEFAULT:
|
||||
case FOREIGN:
|
||||
case NOT:
|
||||
case NULL_T:
|
||||
case PRIMARY:
|
||||
@@ -3251,7 +3289,7 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_8.member(LA(1))) && (_tokenSet_23.member(LA(2)))) {
|
||||
else if ((_tokenSet_8.member(LA(1))) && (_tokenSet_25.member(LA(2)))) {
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
@@ -3286,7 +3324,7 @@ void Sqlite3Parser::indexedcolumn() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_13);
|
||||
recover(ex,_tokenSet_26);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -3309,7 +3347,7 @@ void Sqlite3Parser::functionname() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_24);
|
||||
recover(ex,_tokenSet_27);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -3507,7 +3545,7 @@ void Sqlite3Parser::subexpr() {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
if ((_tokenSet_5.member(LA(1))) && (_tokenSet_25.member(LA(2)))) {
|
||||
if ((_tokenSet_5.member(LA(1))) && (_tokenSet_28.member(LA(2)))) {
|
||||
{
|
||||
if ((_tokenSet_5.member(LA(1))) && (_tokenSet_4.member(LA(2)))) {
|
||||
{
|
||||
@@ -3535,7 +3573,7 @@ void Sqlite3Parser::subexpr() {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_26.member(LA(2)))) {
|
||||
else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_29.member(LA(2)))) {
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
@@ -3598,11 +3636,11 @@ void Sqlite3Parser::subexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop161;
|
||||
goto _loop162;
|
||||
}
|
||||
|
||||
}
|
||||
_loop161:;
|
||||
_loop162:;
|
||||
} // ( ... )*
|
||||
break;
|
||||
}
|
||||
@@ -3629,13 +3667,13 @@ void Sqlite3Parser::subexpr() {
|
||||
}
|
||||
}
|
||||
{
|
||||
if ((_tokenSet_27.member(LA(1))) && (_tokenSet_28.member(LA(2)))) {
|
||||
if ((_tokenSet_30.member(LA(1))) && (_tokenSet_31.member(LA(2)))) {
|
||||
suffixexpr();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_29.member(LA(2)))) {
|
||||
else if ((_tokenSet_23.member(LA(1))) && (_tokenSet_32.member(LA(2)))) {
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
@@ -3647,7 +3685,7 @@ void Sqlite3Parser::subexpr() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_21);
|
||||
recover(ex,_tokenSet_23);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -3892,7 +3930,7 @@ void Sqlite3Parser::binaryoperator() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_20);
|
||||
recover(ex,_tokenSet_22);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -3943,7 +3981,7 @@ void Sqlite3Parser::castexpr() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_26);
|
||||
recover(ex,_tokenSet_29);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -4001,7 +4039,7 @@ void Sqlite3Parser::caseexpr() {
|
||||
}
|
||||
}
|
||||
{ // ( ... )+
|
||||
int _cnt169=0;
|
||||
int _cnt170=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == WHEN)) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp221_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
@@ -4026,12 +4064,12 @@ void Sqlite3Parser::caseexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( _cnt169>=1 ) { goto _loop169; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt170>=1 ) { goto _loop170; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
|
||||
_cnt169++;
|
||||
_cnt170++;
|
||||
}
|
||||
_loop169:;
|
||||
_loop170:;
|
||||
} // ( ... )+
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@@ -4070,7 +4108,7 @@ void Sqlite3Parser::caseexpr() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_26);
|
||||
recover(ex,_tokenSet_29);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -4181,7 +4219,7 @@ void Sqlite3Parser::raisefunction() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_26);
|
||||
recover(ex,_tokenSet_29);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -4262,7 +4300,7 @@ void Sqlite3Parser::suffixexpr() {
|
||||
}
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_30.member(LA(1)))) {
|
||||
if ((_tokenSet_33.member(LA(1)))) {
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case GLOB:
|
||||
@@ -4317,11 +4355,11 @@ void Sqlite3Parser::suffixexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop180;
|
||||
goto _loop181;
|
||||
}
|
||||
|
||||
}
|
||||
_loop180:;
|
||||
_loop181:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp238_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -4401,11 +4439,11 @@ void Sqlite3Parser::suffixexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop184;
|
||||
goto _loop185;
|
||||
}
|
||||
|
||||
}
|
||||
_loop184:;
|
||||
_loop185:;
|
||||
} // ( ... )*
|
||||
break;
|
||||
}
|
||||
@@ -4460,7 +4498,7 @@ void Sqlite3Parser::suffixexpr() {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
{
|
||||
if ((LA(1) == ESCAPE) && (_tokenSet_20.member(LA(2)))) {
|
||||
if ((LA(1) == ESCAPE) && (_tokenSet_22.member(LA(2)))) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp243_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
tmp243_AST = astFactory->create(LT(1));
|
||||
@@ -4472,7 +4510,7 @@ void Sqlite3Parser::suffixexpr() {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_29.member(LA(2)))) {
|
||||
else if ((_tokenSet_23.member(LA(1))) && (_tokenSet_32.member(LA(2)))) {
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
@@ -4499,7 +4537,7 @@ void Sqlite3Parser::suffixexpr() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_21);
|
||||
recover(ex,_tokenSet_23);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -4567,7 +4605,7 @@ void Sqlite3Parser::like_operator() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_20);
|
||||
recover(ex,_tokenSet_22);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@@ -4586,7 +4624,7 @@ void Sqlite3Parser::between_subexpr() {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
}
|
||||
{ // ( ... )+
|
||||
int _cnt174=0;
|
||||
int _cnt175=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == AND)) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp248_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
@@ -4601,12 +4639,12 @@ void Sqlite3Parser::between_subexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( _cnt174>=1 ) { goto _loop174; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt175>=1 ) { goto _loop175; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
|
||||
_cnt174++;
|
||||
_cnt175++;
|
||||
}
|
||||
_loop174:;
|
||||
_loop175:;
|
||||
} // ( ... )+
|
||||
between_subexpr_AST = currentAST.root;
|
||||
}
|
||||
@@ -4736,32 +4774,32 @@ const char* Sqlite3Parser::tokenNames[] = {
|
||||
0
|
||||
};
|
||||
|
||||
const unsigned long Sqlite3Parser::_tokenSet_0_data_[] = { 1904905858UL, 1614211210UL, 4223417345UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_0_data_[] = { 1904905858UL, 1614211211UL, 4223417345UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT"
|
||||
// "DEFERRABLE" "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL"
|
||||
// "MATCH" "ON" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN"
|
||||
// DOT ID QUOTEDID QUOTEDLITERAL STRINGLITERAL LPAREN RPAREN COMMA PLUS
|
||||
// MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER
|
||||
// LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
// "DEFERRABLE" "ELSE" "END" "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IN" "IS"
|
||||
// "NOT" "NULL" "MATCH" "ON" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE"
|
||||
// "WHEN" DOT ID QUOTEDID QUOTEDLITERAL STRINGLITERAL LPAREN RPAREN COMMA
|
||||
// PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL
|
||||
// LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_0(_tokenSet_0_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_1_data_[] = { 0UL, 0UL, 1024UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// DOT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_1(_tokenSet_1_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_2_data_[] = { 1904903810UL, 1614211082UL, 4223416321UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_2_data_[] = { 1904903810UL, 1614211083UL, 4223416321UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "DEFERRABLE"
|
||||
// "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IS" "NOT" "NULL" "MATCH" "ON" "PRIMARY"
|
||||
// "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID QUOTEDLITERAL
|
||||
// STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP
|
||||
// EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2
|
||||
// BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
// "ELSE" "END" "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IS" "NOT" "NULL" "MATCH"
|
||||
// "ON" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID
|
||||
// QUOTEDLITERAL STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS STAR AMPERSAND
|
||||
// BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL
|
||||
// UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_2(_tokenSet_2_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 1888128642UL, 1614080138UL, 4222892033UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 1888128642UL, 1614080139UL, 4222892033UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT"
|
||||
// "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL" "MATCH" "PRIMARY"
|
||||
// "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID QUOTEDLITERAL
|
||||
// STRINGLITERAL RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL
|
||||
// EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT
|
||||
// BITWISERIGHT SLASH PERCENT
|
||||
// "ELSE" "END" "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL"
|
||||
// "MATCH" "PRIMARY" "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID
|
||||
// QUOTEDLITERAL STRINGLITERAL RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR
|
||||
// OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2
|
||||
// BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_3(_tokenSet_3_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_4_data_[] = { 0UL, 0UL, 277504UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// DOT ID QUOTEDID QUOTEDLITERAL STRINGLITERAL
|
||||
@@ -4772,16 +4810,16 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_5(_tokenSet_5_da
|
||||
const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 2UL, 0UL, 0UL, 0UL };
|
||||
// EOF
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_6(_tokenSet_6_data_,4);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 1888126594UL, 1614080010UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 1888126594UL, 1614080011UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "ELSE"
|
||||
// "END" "ESCAPE" "GLOB" "LIKE" "IS" "NOT" "NULL" "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
|
||||
// "END" "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IS" "NOT" "NULL" "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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_7(_tokenSet_7_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 9076736UL, 1075077120UL, 3145728UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "NULL" "PRIMARY" "REFERENCES"
|
||||
// "UNIQUE" RPAREN COMMA
|
||||
const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 9076736UL, 1075077121UL, 3145728UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "NOT" "NULL" "PRIMARY"
|
||||
// "REFERENCES" "UNIQUE" RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_8(_tokenSet_8_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_9_data_[] = { 2UL, 0UL, 4194304UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF SEMI
|
||||
@@ -4795,59 +4833,69 @@ const unsigned long Sqlite3Parser::_tokenSet_10_data_[] = { 4294408176UL, 318740
|
||||
// "REPLACE" "RESTRICT" "ROLLBACK" "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE"
|
||||
// "WHEN" ID QUOTEDID QUOTEDLITERAL STRINGLITERAL
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_10(_tokenSet_10_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 128UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "AS" LPAREN
|
||||
const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 557056UL, 1074003969UL, 2097152UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "CONSTRAINT" "FOREIGN" "PRIMARY" "UNIQUE" COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_11(_tokenSet_11_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_12_data_[] = { 9076736UL, 1075077120UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_12_data_[] = { 128UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "AS" LPAREN
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_12(_tokenSet_12_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_13_data_[] = { 9076736UL, 1075077120UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "NULL" "PRIMARY" "REFERENCES"
|
||||
// "UNIQUE"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_12(_tokenSet_12_data_,4);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_13_data_[] = { 0UL, 0UL, 3145728UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_13(_tokenSet_13_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 2UL, 0UL, 5242880UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF RPAREN SEMI
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_13(_tokenSet_13_data_,4);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 16416768UL, 1075208197UL, 29128704UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP"
|
||||
// "DEFAULT" "FOREIGN" "KEY" "NOT" "NULL" "ON" "PRIMARY" "REFERENCES" "UNIQUE"
|
||||
// ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN RPAREN COMMA
|
||||
// PLUS MINUS
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_14(_tokenSet_14_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_15_data_[] = { 9076736UL, 1075077120UL, 3422208UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "NULL" "PRIMARY" "REFERENCES"
|
||||
// "UNIQUE" ID QUOTEDID QUOTEDLITERAL STRINGLITERAL RPAREN COMMA
|
||||
const unsigned long Sqlite3Parser::_tokenSet_15_data_[] = { 557056UL, 1074003969UL, 3145728UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "CONSTRAINT" "FOREIGN" "PRIMARY" "UNIQUE" RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_15(_tokenSet_15_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 9076736UL, 1075077120UL, 3162112UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "NULL" "PRIMARY" "REFERENCES"
|
||||
// "UNIQUE" NUMERIC RPAREN COMMA
|
||||
const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 2UL, 0UL, 5242880UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF RPAREN SEMI
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_16(_tokenSet_16_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 7340032UL, 16384UL, 16384UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "NULL" NUMERIC
|
||||
const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 9076736UL, 1075077121UL, 3422208UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "NOT" "NULL" "PRIMARY"
|
||||
// "REFERENCES" "UNIQUE" ID QUOTEDID QUOTEDLITERAL STRINGLITERAL RPAREN
|
||||
// COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_17(_tokenSet_17_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 25853952UL, 1075240961UL, 3946496UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 9076736UL, 1075077121UL, 3162112UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "NOT" "NULL" "PRIMARY"
|
||||
// "REFERENCES" "UNIQUE" NUMERIC RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_18(_tokenSet_18_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_19_data_[] = { 7340032UL, 16384UL, 16384UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "NULL" NUMERIC
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_19(_tokenSet_19_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 25853952UL, 1075240961UL, 3946496UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "DEFERRABLE" "FOREIGN" "NOT"
|
||||
// "NULL" "MATCH" "ON" "PRIMARY" "REFERENCES" "UNIQUE" ID QUOTEDID QUOTEDLITERAL
|
||||
// STRINGLITERAL LPAREN RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_18(_tokenSet_18_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_19_data_[] = { 1536UL, 2131978UL, 4219469824UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_20(_tokenSet_20_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 1536UL, 2131978UL, 4219469824UL, 1791UL, 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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_19(_tokenSet_19_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 7364608UL, 614400UL, 93091840UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_21(_tokenSet_21_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_22_data_[] = { 7364608UL, 614400UL, 93091840UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "CASE" "CAST" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "NOT"
|
||||
// "NULL" "EXISTS" "RAISE" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL
|
||||
// LPAREN PLUS MINUS TILDE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_20(_tokenSet_20_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 1879049858UL, 539002890UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_22(_tokenSet_22_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_23_data_[] = { 1879049858UL, 539002890UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "ELSE" "END" "ESCAPE" "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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_21(_tokenSet_21_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_22_data_[] = { 1888128642UL, 1614080138UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_23(_tokenSet_23_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_24_data_[] = { 1888128642UL, 1614080139UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT"
|
||||
// "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL" "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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_22(_tokenSet_22_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_23_data_[] = { 4294965234UL, 4261408127UL, 33323011UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "ELSE" "END" "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL"
|
||||
// "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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_24(_tokenSet_24_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_25_data_[] = { 4294965234UL, 4261408127UL, 33323011UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE"
|
||||
// "CASE" "CAST" "CHECK" "CREATE" "COLLATE" "CONFLICT" "CONSTRAINT" "CURRENT_TIME"
|
||||
// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED"
|
||||
@@ -4857,44 +4905,47 @@ const unsigned long Sqlite3Parser::_tokenSet_23_data_[] = { 4294965234UL, 426140
|
||||
// "RESTRICT" "ROLLBACK" "SET" "TEMPORARY" "TEMP" "THEN" "UNIQUE" "UPDATE"
|
||||
// "WHEN" "WITHOUT" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN
|
||||
// RPAREN COMMA SEMI PLUS MINUS
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_23(_tokenSet_23_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_24_data_[] = { 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_25(_tokenSet_25_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_26_data_[] = { 0UL, 0UL, 3145728UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// RPAREN COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_26(_tokenSet_26_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_27_data_[] = { 0UL, 0UL, 524288UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// LPAREN
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_24(_tokenSet_24_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_25_data_[] = { 1879182978UL, 539011210UL, 4222893057UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_27(_tokenSet_27_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_28_data_[] = { 1879182978UL, 539011210UL, 4222893057UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "COLLATE" "ELSE" "END" "ESCAPE" "GLOB"
|
||||
// "LIKE" "IN" "IS" "NOT" "MATCH" "REGEXP" "THEN" "WHEN" DOT ID QUOTEDID
|
||||
// QUOTEDLITERAL STRINGLITERAL RPAREN COMMA PLUS MINUS STAR AMPERSAND BITOR
|
||||
// OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2
|
||||
// BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_25(_tokenSet_25_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_26_data_[] = { 1879182978UL, 539011210UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_28(_tokenSet_28_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_29_data_[] = { 1879182978UL, 539011210UL, 4222615553UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "COLLATE" "ELSE" "END" "ESCAPE" "GLOB"
|
||||
// "LIKE" "IN" "IS" "NOT" "MATCH" "REGEXP" "THEN" "WHEN" RPAREN COMMA PLUS
|
||||
// MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER
|
||||
// LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_26(_tokenSet_26_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_27_data_[] = { 133120UL, 2138250UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_29(_tokenSet_29_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_30_data_[] = { 133120UL, 2138250UL, 0UL, 0UL };
|
||||
// "BETWEEN" "COLLATE" "GLOB" "LIKE" "IN" "NOT" "MATCH" "REGEXP"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_27(_tokenSet_27_data_,4);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_28_data_[] = { 7366656UL, 2744458UL, 93091840UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_30(_tokenSet_30_data_,4);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_31_data_[] = { 7366656UL, 2744458UL, 93091840UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "BETWEEN" "CASE" "CAST" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP"
|
||||
// "GLOB" "LIKE" "IN" "NOT" "NULL" "MATCH" "EXISTS" "RAISE" "REGEXP" ID
|
||||
// QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN PLUS MINUS TILDE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_28(_tokenSet_28_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_29_data_[] = { 1895493250UL, 1614669962UL, 4290541569UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_31(_tokenSet_31_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_32_data_[] = { 1895493250UL, 1614669963UL, 4290541569UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// EOF "AS" "AND" "OR" "BETWEEN" "CASE" "CAST" "CHECK" "COLLATE" "CONSTRAINT"
|
||||
// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "ELSE" "END"
|
||||
// "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL" "MATCH" "EXISTS" "PRIMARY"
|
||||
// "RAISE" "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID QUOTEDLITERAL
|
||||
// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS STAR TILDE AMPERSAND
|
||||
// BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL
|
||||
// UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_29(_tokenSet_29_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_30_data_[] = { 1024UL, 2131978UL, 4219469824UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "ESCAPE" "FOREIGN" "GLOB" "LIKE" "IN" "IS" "NOT" "NULL" "MATCH" "EXISTS"
|
||||
// "PRIMARY" "RAISE" "REFERENCES" "REGEXP" "THEN" "UNIQUE" "WHEN" ID QUOTEDID
|
||||
// QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS STAR
|
||||
// TILDE AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL
|
||||
// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_32(_tokenSet_32_data_,8);
|
||||
const unsigned long Sqlite3Parser::_tokenSet_33_data_[] = { 1024UL, 2131978UL, 4219469824UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "OR" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" PLUS MINUS STAR AMPERSAND BITOR
|
||||
// OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2
|
||||
// BITWISELEFT BITWISERIGHT SLASH PERCENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_30(_tokenSet_30_data_,8);
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_33(_tokenSet_33_data_,8);
|
||||
|
||||
|
||||
|
||||
@@ -147,6 +147,12 @@ private:
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_29;
|
||||
static const unsigned long _tokenSet_30_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_30;
|
||||
static const unsigned long _tokenSet_31_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_31;
|
||||
static const unsigned long _tokenSet_32_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_32;
|
||||
static const unsigned long _tokenSet_33_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_33;
|
||||
};
|
||||
|
||||
#endif /*INC_Sqlite3Parser_hpp_*/
|
||||
|
||||
@@ -258,7 +258,7 @@ keywordastablename
|
||||
createtable
|
||||
:
|
||||
CREATE (TEMP|TEMPORARY)? TABLE (IF_T NOT EXISTS)? (tablename | keywordastablename)
|
||||
( LPAREN columndef (COMMA columndef)* (COMMA tableconstraint)* RPAREN (WITHOUT ROWID)?
|
||||
( LPAREN columndef (COMMA columndef)* ((COMMA)? tableconstraint)* RPAREN (WITHOUT ROWID)?
|
||||
| AS selectstmt
|
||||
)
|
||||
{#createtable = #([CREATETABLE, "CREATETABLE"], #createtable);}
|
||||
|
||||
@@ -323,7 +323,8 @@ Table CreateTableWalker::table()
|
||||
}
|
||||
|
||||
s = s->getNextSibling(); //COMMA or RPAREN
|
||||
s = s->getNextSibling();
|
||||
if(s->getType() == sqlite3TokenTypes::COMMA || s->getType() == sqlite3TokenTypes::RPAREN)
|
||||
s = s->getNextSibling();
|
||||
} else {
|
||||
// It is
|
||||
|
||||
|
||||
Reference in New Issue
Block a user