grammar: fix crash and autoincrement in primary key table_constraints

This commit is contained in:
Peinthor Rene
2014-08-17 12:55:22 +02:00
parent abe622ebf4
commit 9fdc71be2c
3 changed files with 261 additions and 229 deletions

View File

@@ -1,4 +1,4 @@
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "Sqlite3Parser.cpp"$ */
/* $ANTLR 2.7.7 (20140222): "sqlite3.g" -> "Sqlite3Parser.cpp"$ */
#include "Sqlite3Parser.hpp"
#include <antlr/NoViableAltException.hpp>
#include <antlr/SemanticException.hpp>
@@ -2816,11 +2816,11 @@ void Sqlite3Parser::expr() {
}
}
else {
goto _loop154;
goto _loop155;
}
}
_loop154:;
_loop155:;
} // ( ... )*
expr_AST = currentAST.root;
}
@@ -2959,11 +2959,11 @@ void Sqlite3Parser::foreignkeyclause() {
}
}
else {
goto _loop136;
goto _loop137;
}
}
_loop136:;
_loop137:;
} // ( ... )*
ANTLR_USE_NAMESPACE(antlr)RefAST tmp164_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
@@ -3146,17 +3146,17 @@ void Sqlite3Parser::foreignkeyclause() {
}
default:
{
goto _loop141;
goto _loop142;
}
}
}
_loop141:;
_loop142:;
} // ( ... )*
{
bool synPredMatched144 = false;
bool synPredMatched145 = false;
if (((LA(1) == NOT) && (LA(2) == DEFERRABLE))) {
int _m144 = mark();
synPredMatched144 = true;
int _m145 = mark();
synPredMatched145 = true;
inputState->guessing++;
try {
{
@@ -3165,12 +3165,12 @@ void Sqlite3Parser::foreignkeyclause() {
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched144 = false;
synPredMatched145 = false;
}
rewind(_m144);
rewind(_m145);
inputState->guessing--;
}
if ( synPredMatched144 ) {
if ( synPredMatched145 ) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp177_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp177_AST = astFactory->create(LT(1));
@@ -3319,6 +3319,29 @@ void Sqlite3Parser::indexedcolumn() {
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
{
switch ( LA(1)) {
case AUTOINCREMENT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp186_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp186_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp186_AST);
}
match(AUTOINCREMENT);
break;
}
case RPAREN:
case COMMA:
{
break;
}
default:
{
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
}
}
}
indexedcolumn_AST = currentAST.root;
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@@ -3365,40 +3388,40 @@ void Sqlite3Parser::subexpr() {
switch ( LA(1)) {
case MINUS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp186_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp187_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp186_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp186_AST);
tmp187_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp187_AST);
}
match(MINUS);
break;
}
case PLUS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp187_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp188_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp187_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp187_AST);
tmp188_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp188_AST);
}
match(PLUS);
break;
}
case TILDE:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp188_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp189_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp188_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp188_AST);
tmp189_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp189_AST);
}
match(TILDE);
break;
}
case NOT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp189_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp190_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp189_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp189_AST);
tmp190_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp190_AST);
}
match(NOT);
break;
@@ -3455,10 +3478,10 @@ void Sqlite3Parser::subexpr() {
switch ( LA(1)) {
case EXISTS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp190_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp191_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp190_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp190_AST);
tmp191_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp191_AST);
}
match(EXISTS);
break;
@@ -3473,10 +3496,10 @@ void Sqlite3Parser::subexpr() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp191_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp192_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp191_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp191_AST);
tmp192_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp192_AST);
}
match(LPAREN);
{
@@ -3520,10 +3543,10 @@ void Sqlite3Parser::subexpr() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp192_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp193_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp192_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp192_AST);
tmp193_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp193_AST);
}
match(RPAREN);
break;
@@ -3554,10 +3577,10 @@ void Sqlite3Parser::subexpr() {
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp193_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp194_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp193_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp193_AST);
tmp194_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp194_AST);
}
match(DOT);
}
@@ -3590,10 +3613,10 @@ void Sqlite3Parser::subexpr() {
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp194_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp195_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp194_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp194_AST);
tmp195_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp195_AST);
}
match(LPAREN);
{
@@ -3624,10 +3647,10 @@ void Sqlite3Parser::subexpr() {
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp195_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp196_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp195_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp195_AST);
tmp196_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp196_AST);
}
match(COMMA);
expr();
@@ -3636,11 +3659,11 @@ void Sqlite3Parser::subexpr() {
}
}
else {
goto _loop162;
goto _loop163;
}
}
_loop162:;
_loop163:;
} // ( ... )*
break;
}
@@ -3654,10 +3677,10 @@ void Sqlite3Parser::subexpr() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp196_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp197_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp196_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp196_AST);
tmp197_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp197_AST);
}
match(RPAREN);
}
@@ -3702,10 +3725,10 @@ void Sqlite3Parser::binaryoperator() {
switch ( LA(1)) {
case OROP:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp197_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp198_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp197_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp197_AST);
tmp198_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp198_AST);
}
match(OROP);
binaryoperator_AST = currentAST.root;
@@ -3713,10 +3736,10 @@ void Sqlite3Parser::binaryoperator() {
}
case STAR:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp198_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp199_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp198_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp198_AST);
tmp199_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp199_AST);
}
match(STAR);
binaryoperator_AST = currentAST.root;
@@ -3724,10 +3747,10 @@ void Sqlite3Parser::binaryoperator() {
}
case SLASH:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp199_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp200_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp199_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp199_AST);
tmp200_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp200_AST);
}
match(SLASH);
binaryoperator_AST = currentAST.root;
@@ -3735,10 +3758,10 @@ void Sqlite3Parser::binaryoperator() {
}
case PERCENT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp200_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp201_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp200_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp200_AST);
tmp201_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp201_AST);
}
match(PERCENT);
binaryoperator_AST = currentAST.root;
@@ -3746,10 +3769,10 @@ void Sqlite3Parser::binaryoperator() {
}
case PLUS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp201_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp202_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp201_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp201_AST);
tmp202_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp202_AST);
}
match(PLUS);
binaryoperator_AST = currentAST.root;
@@ -3757,10 +3780,10 @@ void Sqlite3Parser::binaryoperator() {
}
case MINUS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp202_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp203_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp202_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp202_AST);
tmp203_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp203_AST);
}
match(MINUS);
binaryoperator_AST = currentAST.root;
@@ -3768,10 +3791,10 @@ void Sqlite3Parser::binaryoperator() {
}
case BITWISELEFT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp203_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp204_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp203_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp203_AST);
tmp204_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp204_AST);
}
match(BITWISELEFT);
binaryoperator_AST = currentAST.root;
@@ -3779,10 +3802,10 @@ void Sqlite3Parser::binaryoperator() {
}
case BITWISERIGHT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp204_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp205_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp204_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp204_AST);
tmp205_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp205_AST);
}
match(BITWISERIGHT);
binaryoperator_AST = currentAST.root;
@@ -3790,10 +3813,10 @@ void Sqlite3Parser::binaryoperator() {
}
case AMPERSAND:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp205_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp206_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp205_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp205_AST);
tmp206_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp206_AST);
}
match(AMPERSAND);
binaryoperator_AST = currentAST.root;
@@ -3801,10 +3824,10 @@ void Sqlite3Parser::binaryoperator() {
}
case BITOR:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp206_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp207_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp206_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp206_AST);
tmp207_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp207_AST);
}
match(BITOR);
binaryoperator_AST = currentAST.root;
@@ -3812,10 +3835,10 @@ void Sqlite3Parser::binaryoperator() {
}
case LOWER:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp207_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp208_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp207_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp207_AST);
tmp208_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp208_AST);
}
match(LOWER);
binaryoperator_AST = currentAST.root;
@@ -3823,10 +3846,10 @@ void Sqlite3Parser::binaryoperator() {
}
case LOWEREQUAL:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp208_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp209_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp208_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp208_AST);
tmp209_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp209_AST);
}
match(LOWEREQUAL);
binaryoperator_AST = currentAST.root;
@@ -3834,10 +3857,10 @@ void Sqlite3Parser::binaryoperator() {
}
case GREATER:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp209_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp210_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp209_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp209_AST);
tmp210_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp210_AST);
}
match(GREATER);
binaryoperator_AST = currentAST.root;
@@ -3845,10 +3868,10 @@ void Sqlite3Parser::binaryoperator() {
}
case GREATEREQUAL:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp210_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp211_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp210_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp210_AST);
tmp211_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp211_AST);
}
match(GREATEREQUAL);
binaryoperator_AST = currentAST.root;
@@ -3856,10 +3879,10 @@ void Sqlite3Parser::binaryoperator() {
}
case EQUAL:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp211_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp212_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp211_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp211_AST);
tmp212_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp212_AST);
}
match(EQUAL);
binaryoperator_AST = currentAST.root;
@@ -3867,10 +3890,10 @@ void Sqlite3Parser::binaryoperator() {
}
case EQUAL2:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp212_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp213_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp212_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp212_AST);
tmp213_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp213_AST);
}
match(EQUAL2);
binaryoperator_AST = currentAST.root;
@@ -3878,10 +3901,10 @@ void Sqlite3Parser::binaryoperator() {
}
case UNEQUAL:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp213_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp214_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp213_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp213_AST);
tmp214_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp214_AST);
}
match(UNEQUAL);
binaryoperator_AST = currentAST.root;
@@ -3889,10 +3912,10 @@ void Sqlite3Parser::binaryoperator() {
}
case UNEQUAL2:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp214_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp215_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp214_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp214_AST);
tmp215_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp215_AST);
}
match(UNEQUAL2);
binaryoperator_AST = currentAST.root;
@@ -3900,10 +3923,10 @@ void Sqlite3Parser::binaryoperator() {
}
case IS:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp215_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp216_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp215_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp215_AST);
tmp216_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp216_AST);
}
match(IS);
binaryoperator_AST = currentAST.root;
@@ -3944,29 +3967,19 @@ void Sqlite3Parser::castexpr() {
ANTLR_USE_NAMESPACE(antlr)RefAST castexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
try { // for error handling
ANTLR_USE_NAMESPACE(antlr)RefAST tmp216_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp216_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp216_AST);
}
match(CAST);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp217_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp217_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp217_AST);
}
match(LPAREN);
expr();
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
match(CAST);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp218_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp218_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp218_AST);
}
match(AS);
type_name();
match(LPAREN);
expr();
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
@@ -3975,6 +3988,16 @@ void Sqlite3Parser::castexpr() {
tmp219_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp219_AST);
}
match(AS);
type_name();
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp220_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp220_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp220_AST);
}
match(RPAREN);
castexpr_AST = currentAST.root;
}
@@ -3995,10 +4018,10 @@ void Sqlite3Parser::caseexpr() {
ANTLR_USE_NAMESPACE(antlr)RefAST caseexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
try { // for error handling
ANTLR_USE_NAMESPACE(antlr)RefAST tmp220_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp221_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp220_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp220_AST);
tmp221_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp221_AST);
}
match(CASE_T);
{
@@ -4039,23 +4062,23 @@ void Sqlite3Parser::caseexpr() {
}
}
{ // ( ... )+
int _cnt170=0;
int _cnt171=0;
for (;;) {
if ((LA(1) == WHEN)) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp221_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp222_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp221_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp221_AST);
tmp222_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp222_AST);
}
match(WHEN);
expr();
if (inputState->guessing==0) {
astFactory->addASTChild( currentAST, returnAST );
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp222_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp223_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp222_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp222_AST);
tmp223_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp223_AST);
}
match(THEN);
expr();
@@ -4064,21 +4087,21 @@ void Sqlite3Parser::caseexpr() {
}
}
else {
if ( _cnt170>=1 ) { goto _loop170; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
if ( _cnt171>=1 ) { goto _loop171; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
}
_cnt170++;
_cnt171++;
}
_loop170:;
_loop171:;
} // ( ... )+
{
switch ( LA(1)) {
case ELSE_T:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp223_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp224_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp223_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp223_AST);
tmp224_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp224_AST);
}
match(ELSE_T);
expr();
@@ -4097,10 +4120,10 @@ void Sqlite3Parser::caseexpr() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp224_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp225_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp224_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp224_AST);
tmp225_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp225_AST);
}
match(END);
caseexpr_AST = currentAST.root;
@@ -4122,26 +4145,26 @@ void Sqlite3Parser::raisefunction() {
ANTLR_USE_NAMESPACE(antlr)RefAST raisefunction_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
try { // for error handling
ANTLR_USE_NAMESPACE(antlr)RefAST tmp225_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp225_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp225_AST);
}
match(RAISE);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp226_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp226_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp226_AST);
}
match(RAISE);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp227_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp227_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp227_AST);
}
match(LPAREN);
{
switch ( LA(1)) {
case IGNORE:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp227_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp228_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp227_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp227_AST);
tmp228_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp228_AST);
}
match(IGNORE);
break;
@@ -4154,30 +4177,30 @@ void Sqlite3Parser::raisefunction() {
switch ( LA(1)) {
case ROLLBACK:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp228_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp229_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp228_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp228_AST);
tmp229_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp229_AST);
}
match(ROLLBACK);
break;
}
case ABORT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp229_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp230_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp229_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp229_AST);
tmp230_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp230_AST);
}
match(ABORT);
break;
}
case FAIL:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp230_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp231_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp230_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp230_AST);
tmp231_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp231_AST);
}
match(FAIL);
break;
@@ -4188,17 +4211,17 @@ void Sqlite3Parser::raisefunction() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp231_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp231_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp231_AST);
}
match(COMMA);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp232_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp232_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp232_AST);
}
match(COMMA);
ANTLR_USE_NAMESPACE(antlr)RefAST tmp233_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp233_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp233_AST);
}
match(STRINGLITERAL);
break;
}
@@ -4208,10 +4231,10 @@ void Sqlite3Parser::raisefunction() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp233_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp234_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp233_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp233_AST);
tmp234_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp234_AST);
}
match(RPAREN);
raisefunction_AST = currentAST.root;
@@ -4236,10 +4259,10 @@ void Sqlite3Parser::suffixexpr() {
switch ( LA(1)) {
case COLLATE:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp234_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp235_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp234_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp234_AST);
tmp235_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp235_AST);
}
match(COLLATE);
collationname();
@@ -4261,10 +4284,10 @@ void Sqlite3Parser::suffixexpr() {
switch ( LA(1)) {
case NOT:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp235_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp236_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp235_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp235_AST);
tmp236_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp236_AST);
}
match(NOT);
break;
@@ -4288,10 +4311,10 @@ void Sqlite3Parser::suffixexpr() {
switch ( LA(1)) {
case BETWEEN:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp236_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp237_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp236_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp236_AST);
tmp237_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp237_AST);
}
match(BETWEEN);
subexpr();
@@ -4335,10 +4358,10 @@ void Sqlite3Parser::suffixexpr() {
}
case OR:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp237_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp238_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp237_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp237_AST);
tmp238_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp238_AST);
}
match(OR);
break;
@@ -4355,16 +4378,16 @@ void Sqlite3Parser::suffixexpr() {
}
}
else {
goto _loop181;
goto _loop182;
}
}
_loop181:;
_loop182:;
} // ( ... )*
ANTLR_USE_NAMESPACE(antlr)RefAST tmp238_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp239_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp238_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp238_AST);
tmp239_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp239_AST);
}
match(AND);
expr();
@@ -4375,20 +4398,20 @@ void Sqlite3Parser::suffixexpr() {
}
case IN:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp239_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp240_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp239_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp239_AST);
tmp240_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp240_AST);
}
match(IN);
{
switch ( LA(1)) {
case LPAREN:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp240_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp241_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp240_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp240_AST);
tmp241_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp241_AST);
}
match(LPAREN);
{
@@ -4427,10 +4450,10 @@ void Sqlite3Parser::suffixexpr() {
{ // ( ... )*
for (;;) {
if ((LA(1) == COMMA)) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp241_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp242_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp241_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp241_AST);
tmp242_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp242_AST);
}
match(COMMA);
expr();
@@ -4439,11 +4462,11 @@ void Sqlite3Parser::suffixexpr() {
}
}
else {
goto _loop185;
goto _loop186;
}
}
_loop185:;
_loop186:;
} // ( ... )*
break;
}
@@ -4457,10 +4480,10 @@ void Sqlite3Parser::suffixexpr() {
}
}
}
ANTLR_USE_NAMESPACE(antlr)RefAST tmp242_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp243_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp242_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp242_AST);
tmp243_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp243_AST);
}
match(RPAREN);
break;
@@ -4499,10 +4522,10 @@ void Sqlite3Parser::suffixexpr() {
}
{
if ((LA(1) == ESCAPE) && (_tokenSet_22.member(LA(2)))) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp243_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp244_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp243_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp243_AST);
tmp244_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp244_AST);
}
match(ESCAPE);
subexpr();
@@ -4554,10 +4577,10 @@ void Sqlite3Parser::like_operator() {
switch ( LA(1)) {
case LIKE:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp244_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp245_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp244_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp244_AST);
tmp245_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp245_AST);
}
match(LIKE);
like_operator_AST = currentAST.root;
@@ -4565,10 +4588,10 @@ void Sqlite3Parser::like_operator() {
}
case GLOB:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp245_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp246_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp245_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp245_AST);
tmp246_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp246_AST);
}
match(GLOB);
like_operator_AST = currentAST.root;
@@ -4576,10 +4599,10 @@ void Sqlite3Parser::like_operator() {
}
case REGEXP:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp246_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp247_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp246_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp246_AST);
tmp247_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp247_AST);
}
match(REGEXP);
like_operator_AST = currentAST.root;
@@ -4587,10 +4610,10 @@ void Sqlite3Parser::like_operator() {
}
case MATCH:
{
ANTLR_USE_NAMESPACE(antlr)RefAST tmp247_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp248_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp247_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp247_AST);
tmp248_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp248_AST);
}
match(MATCH);
like_operator_AST = currentAST.root;
@@ -4624,13 +4647,13 @@ void Sqlite3Parser::between_subexpr() {
astFactory->addASTChild( currentAST, returnAST );
}
{ // ( ... )+
int _cnt175=0;
int _cnt176=0;
for (;;) {
if ((LA(1) == AND)) {
ANTLR_USE_NAMESPACE(antlr)RefAST tmp248_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
ANTLR_USE_NAMESPACE(antlr)RefAST tmp249_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
if ( inputState->guessing == 0 ) {
tmp248_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp248_AST);
tmp249_AST = astFactory->create(LT(1));
astFactory->addASTChild(currentAST, tmp249_AST);
}
match(AND);
subexpr();
@@ -4639,12 +4662,12 @@ void Sqlite3Parser::between_subexpr() {
}
}
else {
if ( _cnt175>=1 ) { goto _loop175; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
if ( _cnt176>=1 ) { goto _loop176; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
}
_cnt175++;
_cnt176++;
}
_loop175:;
_loop176:;
} // ( ... )+
between_subexpr_AST = currentAST.root;
}
@@ -4774,13 +4797,14 @@ const char* Sqlite3Parser::tokenNames[] = {
0
};
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" "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 unsigned long Sqlite3Parser::_tokenSet_0_data_[] = { 1904905922UL, 1614211211UL, 4223417345UL, 1791UL, 0UL, 0UL, 0UL, 0UL };
// EOF "AUTOINCREMENT" "AS" "AND" "OR" "BETWEEN" "CHECK" "COLLATE" "CONSTRAINT"
// "DEFAULT" "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

View File

@@ -359,11 +359,12 @@ tableconstraint
)
{#tableconstraint = #([TABLECONSTRAINT, "TABLECONSTRAINT"], #tableconstraint);}
;
indexedcolumn
: id
:
id (AUTOINCREMENT)?
;
conflictclause
:
ON CONFLICT

View File

@@ -318,10 +318,17 @@ Table CreateTableWalker::table()
int fieldindex = tab.findField(col);
if(fieldindex != -1)
tab.fields().at(fieldindex)->setPrimaryKey(true);
do
tc = tc->getNextSibling();
if(tc != antlr::nullAST && tc->getType() == sqlite3TokenTypes::AUTOINCREMENT)
{
tab.fields().at(fieldindex)->setAutoIncrement(true);
tc = tc->getNextSibling();
}
while(tc != antlr::nullAST && tc->getType() == sqlite3TokenTypes::COMMA)
{
tc = tc->getNextSibling(); // skip ident and comma
} while(tc->getType() == sqlite3TokenTypes::COMMA);
}
} while(tc != antlr::nullAST && tc->getType() != sqlite3TokenTypes::RPAREN);
}
break;