mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 02:50:46 -06:00
3470 lines
91 KiB
C++
3470 lines
91 KiB
C++
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "Sqlite3Parser.cpp"$ */
|
|
#include "Sqlite3Parser.hpp"
|
|
#include <antlr/NoViableAltException.hpp>
|
|
#include <antlr/SemanticException.hpp>
|
|
#include <antlr/ASTFactory.hpp>
|
|
Sqlite3Parser::Sqlite3Parser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k)
|
|
: ANTLR_USE_NAMESPACE(antlr)LLkParser(tokenBuf,k)
|
|
{
|
|
}
|
|
|
|
Sqlite3Parser::Sqlite3Parser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf)
|
|
: ANTLR_USE_NAMESPACE(antlr)LLkParser(tokenBuf,2)
|
|
{
|
|
}
|
|
|
|
Sqlite3Parser::Sqlite3Parser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k)
|
|
: ANTLR_USE_NAMESPACE(antlr)LLkParser(lexer,k)
|
|
{
|
|
}
|
|
|
|
Sqlite3Parser::Sqlite3Parser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer)
|
|
: ANTLR_USE_NAMESPACE(antlr)LLkParser(lexer,2)
|
|
{
|
|
}
|
|
|
|
Sqlite3Parser::Sqlite3Parser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state)
|
|
: ANTLR_USE_NAMESPACE(antlr)LLkParser(state,2)
|
|
{
|
|
}
|
|
|
|
void Sqlite3Parser::id() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST id_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
switch ( LA(1)) {
|
|
case ID:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp1_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp1_AST);
|
|
}
|
|
match(ID);
|
|
id_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case QUOTEDID:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp2_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp2_AST);
|
|
}
|
|
match(QUOTEDID);
|
|
id_AST = currentAST.root;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_0);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = id_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::databasename() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST databasename_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
id();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
databasename_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_1);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = databasename_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::tablename() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tablename_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
id();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
tablename_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_2);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = tablename_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::columnname() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST columnname_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
id();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
columnname_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_3);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = columnname_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::identifier() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST identifier_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
if (((LA(1) >= DOT && LA(1) <= QUOTEDID)) && ((LA(2) >= DOT && LA(2) <= QUOTEDID))) {
|
|
{
|
|
switch ( LA(1)) {
|
|
case ID:
|
|
case QUOTEDID:
|
|
{
|
|
databasename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case DOT:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp3_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp3_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp3_AST);
|
|
}
|
|
match(DOT);
|
|
}
|
|
else if ((LA(1) == ID || LA(1) == QUOTEDID) && (LA(2) == ANTLR_USE_NAMESPACE(antlr)Token::EOF_TYPE)) {
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
|
|
}
|
|
tablename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
identifier_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_4);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = identifier_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::collationname() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST collationname_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp4_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp4_AST);
|
|
}
|
|
match(ID);
|
|
collationname_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_5);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = collationname_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::signednumber() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST signednumber_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
switch ( LA(1)) {
|
|
case PLUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp5_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp5_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp5_AST);
|
|
}
|
|
match(PLUS);
|
|
break;
|
|
}
|
|
case MINUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp6_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp6_AST);
|
|
}
|
|
match(MINUS);
|
|
break;
|
|
}
|
|
case NUMERIC:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp7_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp7_AST);
|
|
}
|
|
match(NUMERIC);
|
|
signednumber_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_6);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = signednumber_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::statementlist() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST statementlist_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
switch ( LA(1)) {
|
|
case CREATE:
|
|
{
|
|
statement();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case ANTLR_USE_NAMESPACE(antlr)Token::EOF_TYPE:
|
|
case SEMI:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == SEMI)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp8_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp8_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp8_AST);
|
|
}
|
|
match(SEMI);
|
|
statement();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop80;
|
|
}
|
|
|
|
}
|
|
_loop80:;
|
|
} // ( ... )*
|
|
statementlist_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_4);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = statementlist_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::statement() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST statement_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
createtable();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
statement_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_7);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = statement_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::createtable() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST createtable_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp9_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp9_AST);
|
|
}
|
|
match(CREATE);
|
|
{
|
|
switch ( LA(1)) {
|
|
case TEMP:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp10_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp10_AST);
|
|
}
|
|
match(TEMP);
|
|
break;
|
|
}
|
|
case TEMPORARY:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp11_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp11_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp11_AST);
|
|
}
|
|
match(TEMPORARY);
|
|
break;
|
|
}
|
|
case TABLE:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp12_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp12_AST);
|
|
}
|
|
match(TABLE);
|
|
{
|
|
switch ( LA(1)) {
|
|
case IF_T:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp13_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp13_AST);
|
|
}
|
|
match(IF_T);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp14_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp14_AST);
|
|
}
|
|
match(NOT);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp15_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp15_AST);
|
|
}
|
|
match(EXISTS);
|
|
break;
|
|
}
|
|
case ID:
|
|
case QUOTEDID:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
tablename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case LPAREN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp16_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp16_AST);
|
|
}
|
|
match(LPAREN);
|
|
columndef();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA) && (LA(2) == ID || LA(2) == QUOTEDID)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp17_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp17_AST);
|
|
}
|
|
match(COMMA);
|
|
columndef();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop88;
|
|
}
|
|
|
|
}
|
|
_loop88:;
|
|
} // ( ... )*
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp18_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp18_AST);
|
|
}
|
|
match(COMMA);
|
|
tableconstraint();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop90;
|
|
}
|
|
|
|
}
|
|
_loop90:;
|
|
} // ( ... )*
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp19_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp19_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case AS:
|
|
{
|
|
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(AS);
|
|
selectstmt();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
if ( inputState->guessing==0 ) {
|
|
createtable_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
|
createtable_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(astFactory->make((new ANTLR_USE_NAMESPACE(antlr)ASTArray(2))->add(astFactory->create(CREATETABLE,"CREATETABLE"))->add(createtable_AST)));
|
|
currentAST.root = createtable_AST;
|
|
if ( createtable_AST!=ANTLR_USE_NAMESPACE(antlr)nullAST &&
|
|
createtable_AST->getFirstChild() != ANTLR_USE_NAMESPACE(antlr)nullAST )
|
|
currentAST.child = createtable_AST->getFirstChild();
|
|
else
|
|
currentAST.child = createtable_AST;
|
|
currentAST.advanceChildToEnd();
|
|
}
|
|
createtable_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_7);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = createtable_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::create_statements() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST create_statements_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
createtable();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
create_statements_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_4);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = create_statements_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::columndef() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST columndef_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case ID:
|
|
case QUOTEDID:
|
|
{
|
|
type_name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((_tokenSet_8.member(LA(1)))) {
|
|
columnconstraint();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop94;
|
|
}
|
|
|
|
}
|
|
_loop94:;
|
|
} // ( ... )*
|
|
if ( inputState->guessing==0 ) {
|
|
columndef_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
|
columndef_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(astFactory->make((new ANTLR_USE_NAMESPACE(antlr)ASTArray(2))->add(astFactory->create(COLUMNDEF,"COLUMNDEF"))->add(columndef_AST)));
|
|
currentAST.root = columndef_AST;
|
|
if ( columndef_AST!=ANTLR_USE_NAMESPACE(antlr)nullAST &&
|
|
columndef_AST->getFirstChild() != ANTLR_USE_NAMESPACE(antlr)nullAST )
|
|
currentAST.child = columndef_AST->getFirstChild();
|
|
else
|
|
currentAST.child = columndef_AST;
|
|
currentAST.advanceChildToEnd();
|
|
}
|
|
columndef_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_9);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = columndef_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::tableconstraint() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tableconstraint_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
switch ( LA(1)) {
|
|
case CONSTRAINT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp21_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp21_AST);
|
|
}
|
|
match(CONSTRAINT);
|
|
name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case PRIMARY:
|
|
case UNIQUE:
|
|
case FOREIGN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case PRIMARY:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp22_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp22_AST);
|
|
}
|
|
match(PRIMARY);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp23_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp23_AST);
|
|
}
|
|
match(KEY);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp24_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp24_AST);
|
|
}
|
|
match(LPAREN);
|
|
indexedcolumn();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp25_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp25_AST);
|
|
}
|
|
match(COMMA);
|
|
indexedcolumn();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop113;
|
|
}
|
|
|
|
}
|
|
_loop113:;
|
|
} // ( ... )*
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp26_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp26_AST);
|
|
}
|
|
match(RPAREN);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ON:
|
|
{
|
|
conflictclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case UNIQUE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp27_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp27_AST);
|
|
}
|
|
match(UNIQUE);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp28_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp28_AST);
|
|
}
|
|
match(LPAREN);
|
|
indexedcolumn();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp29_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp29_AST);
|
|
}
|
|
match(COMMA);
|
|
indexedcolumn();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop116;
|
|
}
|
|
|
|
}
|
|
_loop116:;
|
|
} // ( ... )*
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp30_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp30_AST);
|
|
}
|
|
match(RPAREN);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ON:
|
|
{
|
|
conflictclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp31_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp31_AST);
|
|
}
|
|
match(CHECK);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp32_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp32_AST);
|
|
}
|
|
match(LPAREN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp33_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp33_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case FOREIGN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp34_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp34_AST);
|
|
}
|
|
match(FOREIGN);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp35_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp35_AST);
|
|
}
|
|
match(KEY);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp36_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp36_AST);
|
|
}
|
|
match(LPAREN);
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp37_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp37_AST);
|
|
}
|
|
match(COMMA);
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop119;
|
|
}
|
|
|
|
}
|
|
_loop119:;
|
|
} // ( ... )*
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp38_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp38_AST);
|
|
}
|
|
match(RPAREN);
|
|
foreignkeyclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
if ( inputState->guessing==0 ) {
|
|
tableconstraint_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
|
tableconstraint_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(astFactory->make((new ANTLR_USE_NAMESPACE(antlr)ASTArray(2))->add(astFactory->create(TABLECONSTRAINT,"TABLECONSTRAINT"))->add(tableconstraint_AST)));
|
|
currentAST.root = tableconstraint_AST;
|
|
if ( tableconstraint_AST!=ANTLR_USE_NAMESPACE(antlr)nullAST &&
|
|
tableconstraint_AST->getFirstChild() != ANTLR_USE_NAMESPACE(antlr)nullAST )
|
|
currentAST.child = tableconstraint_AST->getFirstChild();
|
|
else
|
|
currentAST.child = tableconstraint_AST;
|
|
currentAST.advanceChildToEnd();
|
|
}
|
|
tableconstraint_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_9);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = tableconstraint_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::selectstmt() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST selectstmt_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp39_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp39_AST);
|
|
}
|
|
match(SELECT);
|
|
selectstmt_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_10);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = selectstmt_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::type_name() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST type_name_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{ // ( ... )+
|
|
int _cnt98=0;
|
|
for (;;) {
|
|
if ((LA(1) == ID || LA(1) == QUOTEDID)) {
|
|
name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
if ( _cnt98>=1 ) { goto _loop98; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
|
}
|
|
|
|
_cnt98++;
|
|
}
|
|
_loop98:;
|
|
} // ( ... )+
|
|
{
|
|
switch ( LA(1)) {
|
|
case LPAREN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp40_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp40_AST);
|
|
}
|
|
match(LPAREN);
|
|
signednumber();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case COMMA:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp41_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp41_AST);
|
|
}
|
|
match(COMMA);
|
|
signednumber();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case RPAREN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp42_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp42_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
if ( inputState->guessing==0 ) {
|
|
type_name_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
|
type_name_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(astFactory->make((new ANTLR_USE_NAMESPACE(antlr)ASTArray(2))->add(astFactory->create(TYPE_NAME,"TYPE_NAME"))->add(type_name_AST)));
|
|
currentAST.root = type_name_AST;
|
|
if ( type_name_AST!=ANTLR_USE_NAMESPACE(antlr)nullAST &&
|
|
type_name_AST->getFirstChild() != ANTLR_USE_NAMESPACE(antlr)nullAST )
|
|
currentAST.child = type_name_AST->getFirstChild();
|
|
else
|
|
currentAST.child = type_name_AST;
|
|
currentAST.advanceChildToEnd();
|
|
}
|
|
type_name_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_6);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = type_name_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::columnconstraint() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST columnconstraint_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
switch ( LA(1)) {
|
|
case CONSTRAINT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp43_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp43_AST);
|
|
}
|
|
match(CONSTRAINT);
|
|
name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case PRIMARY:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp44_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp44_AST);
|
|
}
|
|
match(PRIMARY);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp45_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp45_AST);
|
|
}
|
|
match(KEY);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ASC:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp46_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp46_AST);
|
|
}
|
|
match(ASC);
|
|
break;
|
|
}
|
|
case DESC:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp47_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp47_AST);
|
|
}
|
|
match(DESC);
|
|
break;
|
|
}
|
|
case AUTOINCREMENT:
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case AUTOINCREMENT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp48_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp48_AST);
|
|
}
|
|
match(AUTOINCREMENT);
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case NOT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp49_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp49_AST);
|
|
}
|
|
match(NOT);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp50_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp50_AST);
|
|
}
|
|
match(NULL_T);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ON:
|
|
{
|
|
conflictclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case UNIQUE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp51_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp51_AST);
|
|
}
|
|
match(UNIQUE);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ON:
|
|
{
|
|
conflictclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp52_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp52_AST);
|
|
}
|
|
match(CHECK);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp53_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp53_AST);
|
|
}
|
|
match(LPAREN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp54_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp54_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case DEFAULT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp55_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp55_AST);
|
|
}
|
|
match(DEFAULT);
|
|
{
|
|
switch ( LA(1)) {
|
|
case NUMERIC:
|
|
case PLUS:
|
|
case MINUS:
|
|
{
|
|
signednumber();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case STRINGLITERAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp56_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp56_AST);
|
|
}
|
|
match(STRINGLITERAL);
|
|
break;
|
|
}
|
|
case LPAREN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp57_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp57_AST);
|
|
}
|
|
match(LPAREN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp58_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp58_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case COLLATE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp59_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp59_AST);
|
|
}
|
|
match(COLLATE);
|
|
collationname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case REFERENCES:
|
|
{
|
|
foreignkeyclause();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
if ( inputState->guessing==0 ) {
|
|
columnconstraint_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
|
columnconstraint_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(astFactory->make((new ANTLR_USE_NAMESPACE(antlr)ASTArray(2))->add(astFactory->create(COLUMNCONSTRAINT,"COLUMNCONSTRAINT"))->add(columnconstraint_AST)));
|
|
currentAST.root = columnconstraint_AST;
|
|
if ( columnconstraint_AST!=ANTLR_USE_NAMESPACE(antlr)nullAST &&
|
|
columnconstraint_AST->getFirstChild() != ANTLR_USE_NAMESPACE(antlr)nullAST )
|
|
currentAST.child = columnconstraint_AST->getFirstChild();
|
|
else
|
|
currentAST.child = columnconstraint_AST;
|
|
currentAST.advanceChildToEnd();
|
|
}
|
|
columnconstraint_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_6);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = columnconstraint_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::name() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST name_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
switch ( LA(1)) {
|
|
case ID:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp60_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp60_AST);
|
|
}
|
|
match(ID);
|
|
name_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case QUOTEDID:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp61_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp61_AST);
|
|
}
|
|
match(QUOTEDID);
|
|
name_AST = currentAST.root;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_11);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = name_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::conflictclause() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST conflictclause_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp62_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp62_AST);
|
|
}
|
|
match(ON);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp63_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp63_AST);
|
|
}
|
|
match(CONFLICT);
|
|
{
|
|
switch ( LA(1)) {
|
|
case ROLLBACK:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp64_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp64_AST);
|
|
}
|
|
match(ROLLBACK);
|
|
break;
|
|
}
|
|
case ABORT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp65_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp65_AST);
|
|
}
|
|
match(ABORT);
|
|
break;
|
|
}
|
|
case FAIL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp66_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp66_AST);
|
|
}
|
|
match(FAIL);
|
|
break;
|
|
}
|
|
case IGNORE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp67_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp67_AST);
|
|
}
|
|
match(IGNORE);
|
|
break;
|
|
}
|
|
case REPLACE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp68_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp68_AST);
|
|
}
|
|
match(REPLACE);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
conflictclause_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_6);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = conflictclause_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::expr() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST expr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
bool synPredMatched144 = false;
|
|
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2))))) {
|
|
int _m144 = mark();
|
|
synPredMatched144 = true;
|
|
inputState->guessing++;
|
|
try {
|
|
{
|
|
subexpr();
|
|
{
|
|
switch ( LA(1)) {
|
|
case GLOB:
|
|
case LIKE:
|
|
case IS:
|
|
case MATCH:
|
|
case REGEXP:
|
|
case PLUS:
|
|
case MINUS:
|
|
case STAR:
|
|
case AMPERSAND:
|
|
case BITOR:
|
|
case OROP:
|
|
case EQUAL:
|
|
case EQUAL2:
|
|
case GREATER:
|
|
case GREATEREQUAL:
|
|
case LOWER:
|
|
case LOWEREQUAL:
|
|
case UNEQUAL:
|
|
case UNEQUAL2:
|
|
case BITWISELEFT:
|
|
case BITWISERIGHT:
|
|
case SLASH:
|
|
case PERCENT:
|
|
case IN:
|
|
{
|
|
binaryoperator();
|
|
break;
|
|
}
|
|
case AND:
|
|
{
|
|
match(AND);
|
|
break;
|
|
}
|
|
case OR:
|
|
{
|
|
match(OR);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
|
synPredMatched144 = false;
|
|
}
|
|
rewind(_m144);
|
|
inputState->guessing--;
|
|
}
|
|
if ( synPredMatched144 ) {
|
|
subexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((_tokenSet_14.member(LA(1)))) {
|
|
{
|
|
switch ( LA(1)) {
|
|
case GLOB:
|
|
case LIKE:
|
|
case IS:
|
|
case MATCH:
|
|
case REGEXP:
|
|
case PLUS:
|
|
case MINUS:
|
|
case STAR:
|
|
case AMPERSAND:
|
|
case BITOR:
|
|
case OROP:
|
|
case EQUAL:
|
|
case EQUAL2:
|
|
case GREATER:
|
|
case GREATEREQUAL:
|
|
case LOWER:
|
|
case LOWEREQUAL:
|
|
case UNEQUAL:
|
|
case UNEQUAL2:
|
|
case BITWISELEFT:
|
|
case BITWISERIGHT:
|
|
case SLASH:
|
|
case PERCENT:
|
|
case IN:
|
|
{
|
|
binaryoperator();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case AND:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp69_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp69_AST);
|
|
}
|
|
match(AND);
|
|
break;
|
|
}
|
|
case OR:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp70_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp70_AST);
|
|
}
|
|
match(OR);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
subexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop147;
|
|
}
|
|
|
|
}
|
|
_loop147:;
|
|
} // ( ... )*
|
|
expr_AST = currentAST.root;
|
|
}
|
|
else if ((_tokenSet_12.member(LA(1))) && (_tokenSet_15.member(LA(2)))) {
|
|
subexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
expr_AST = currentAST.root;
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_16);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = expr_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::foreignkeyclause() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST foreignkeyclause_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp71_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp71_AST);
|
|
}
|
|
match(REFERENCES);
|
|
tablename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case LPAREN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp72_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp72_AST);
|
|
}
|
|
match(LPAREN);
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp73_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp73_AST);
|
|
}
|
|
match(COMMA);
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop126;
|
|
}
|
|
|
|
}
|
|
_loop126:;
|
|
} // ( ... )*
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp74_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp74_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case MATCH:
|
|
case ON:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
case DEFERRABLE:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
switch ( LA(1)) {
|
|
case ON:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp75_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp75_AST);
|
|
}
|
|
match(ON);
|
|
{
|
|
switch ( LA(1)) {
|
|
case DELETE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp76_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp76_AST);
|
|
}
|
|
match(DELETE);
|
|
break;
|
|
}
|
|
case UPDATE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp77_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp77_AST);
|
|
}
|
|
match(UPDATE);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case SET:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp78_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp78_AST);
|
|
}
|
|
match(SET);
|
|
{
|
|
switch ( LA(1)) {
|
|
case NULL_T:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp79_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp79_AST);
|
|
}
|
|
match(NULL_T);
|
|
break;
|
|
}
|
|
case DEFAULT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp80_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp80_AST);
|
|
}
|
|
match(DEFAULT);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case CASCADE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp81_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp81_AST);
|
|
}
|
|
match(CASCADE);
|
|
break;
|
|
}
|
|
case RESTRICT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp82_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp82_AST);
|
|
}
|
|
match(RESTRICT);
|
|
break;
|
|
}
|
|
case NO:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp83_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp83_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp83_AST);
|
|
}
|
|
match(NO);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp84_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp84_AST);
|
|
}
|
|
match(ACTION);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case MATCH:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp85_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp85_AST);
|
|
}
|
|
match(MATCH);
|
|
name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
goto _loop131;
|
|
}
|
|
}
|
|
}
|
|
_loop131:;
|
|
} // ( ... )*
|
|
{
|
|
bool synPredMatched134 = false;
|
|
if (((LA(1) == NOT) && (LA(2) == DEFERRABLE))) {
|
|
int _m134 = mark();
|
|
synPredMatched134 = true;
|
|
inputState->guessing++;
|
|
try {
|
|
{
|
|
match(NOT);
|
|
match(DEFERRABLE);
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
|
synPredMatched134 = false;
|
|
}
|
|
rewind(_m134);
|
|
inputState->guessing--;
|
|
}
|
|
if ( synPredMatched134 ) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp86_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp86_AST);
|
|
}
|
|
match(NOT);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp87_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp87_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp87_AST);
|
|
}
|
|
match(DEFERRABLE);
|
|
{
|
|
switch ( LA(1)) {
|
|
case INITIALLY:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp88_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp88_AST);
|
|
}
|
|
match(INITIALLY);
|
|
{
|
|
switch ( LA(1)) {
|
|
case DEFERRED:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp89_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp89_AST);
|
|
}
|
|
match(DEFERRED);
|
|
break;
|
|
}
|
|
case IMMEDIATE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp90_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp90_AST);
|
|
}
|
|
match(IMMEDIATE);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case CHECK:
|
|
case COLLATE:
|
|
case CONSTRAINT:
|
|
case DEFAULT:
|
|
case NOT:
|
|
case PRIMARY:
|
|
case REFERENCES:
|
|
case UNIQUE:
|
|
case RPAREN:
|
|
case COMMA:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if ((LA(1) == DEFERRABLE)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp91_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp91_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp91_AST);
|
|
}
|
|
match(DEFERRABLE);
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp92_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp92_AST);
|
|
}
|
|
match(INITIALLY);
|
|
{
|
|
switch ( LA(1)) {
|
|
case DEFERRED:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp93_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp93_AST);
|
|
}
|
|
match(DEFERRED);
|
|
break;
|
|
}
|
|
case IMMEDIATE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp94_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp94_AST);
|
|
}
|
|
match(IMMEDIATE);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_17.member(LA(2)))) {
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
|
|
}
|
|
foreignkeyclause_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_6);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = foreignkeyclause_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::indexedcolumn() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST indexedcolumn_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
id();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
indexedcolumn_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_9);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = indexedcolumn_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::functionname() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST functionname_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
id();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
functionname_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_18);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = functionname_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::subexpr() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST subexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
{
|
|
switch ( LA(1)) {
|
|
case MINUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp95_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp95_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp95_AST);
|
|
}
|
|
match(MINUS);
|
|
break;
|
|
}
|
|
case PLUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp96_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp96_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp96_AST);
|
|
}
|
|
match(PLUS);
|
|
break;
|
|
}
|
|
case TILDE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp97_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp97_AST);
|
|
}
|
|
match(TILDE);
|
|
break;
|
|
}
|
|
case NOT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp98_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp98_AST);
|
|
}
|
|
match(NOT);
|
|
break;
|
|
}
|
|
case CASE_T:
|
|
case CURRENT_TIME:
|
|
case CURRENT_DATE:
|
|
case CURRENT_TIMESTAMP:
|
|
case NULL_T:
|
|
case EXISTS:
|
|
case ID:
|
|
case QUOTEDID:
|
|
case NUMERIC:
|
|
case STRINGLITERAL:
|
|
case LPAREN:
|
|
case CAST:
|
|
case RAISE:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case CURRENT_TIME:
|
|
case CURRENT_DATE:
|
|
case CURRENT_TIMESTAMP:
|
|
case NULL_T:
|
|
case NUMERIC:
|
|
case STRINGLITERAL:
|
|
{
|
|
literalvalue();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case CAST:
|
|
{
|
|
castexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case EXISTS:
|
|
case LPAREN:
|
|
{
|
|
{
|
|
switch ( LA(1)) {
|
|
case EXISTS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp99_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp99_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp99_AST);
|
|
}
|
|
match(EXISTS);
|
|
break;
|
|
}
|
|
case LPAREN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp100_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp100_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp100_AST);
|
|
}
|
|
match(LPAREN);
|
|
{
|
|
switch ( LA(1)) {
|
|
case CASE_T:
|
|
case CURRENT_TIME:
|
|
case CURRENT_DATE:
|
|
case CURRENT_TIMESTAMP:
|
|
case NOT:
|
|
case NULL_T:
|
|
case EXISTS:
|
|
case ID:
|
|
case QUOTEDID:
|
|
case NUMERIC:
|
|
case STRINGLITERAL:
|
|
case LPAREN:
|
|
case PLUS:
|
|
case MINUS:
|
|
case TILDE:
|
|
case CAST:
|
|
case RAISE:
|
|
{
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case SELECT:
|
|
{
|
|
selectstmt();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp101_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp101_AST);
|
|
}
|
|
match(RPAREN);
|
|
break;
|
|
}
|
|
case CASE_T:
|
|
{
|
|
caseexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case RAISE:
|
|
{
|
|
raisefunction();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
if ((LA(1) == ID || LA(1) == QUOTEDID) && (_tokenSet_19.member(LA(2)))) {
|
|
{
|
|
if ((LA(1) == ID || LA(1) == QUOTEDID) && ((LA(2) >= DOT && LA(2) <= QUOTEDID))) {
|
|
{
|
|
if ((LA(1) == ID || LA(1) == QUOTEDID) && (LA(2) == DOT)) {
|
|
databasename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp102_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp102_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp102_AST);
|
|
}
|
|
match(DOT);
|
|
}
|
|
else if ((LA(1) == ID || LA(1) == QUOTEDID) && (LA(2) == ID || LA(2) == QUOTEDID)) {
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
|
|
}
|
|
tablename();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else if ((LA(1) == ID || LA(1) == QUOTEDID) && (_tokenSet_20.member(LA(2)))) {
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
|
|
}
|
|
columnname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else if ((LA(1) == ID || LA(1) == QUOTEDID) && (LA(2) == LPAREN)) {
|
|
functionname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp103_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp103_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp103_AST);
|
|
}
|
|
match(LPAREN);
|
|
{
|
|
switch ( LA(1)) {
|
|
case CASE_T:
|
|
case CURRENT_TIME:
|
|
case CURRENT_DATE:
|
|
case CURRENT_TIMESTAMP:
|
|
case NOT:
|
|
case NULL_T:
|
|
case EXISTS:
|
|
case ID:
|
|
case QUOTEDID:
|
|
case NUMERIC:
|
|
case STRINGLITERAL:
|
|
case LPAREN:
|
|
case PLUS:
|
|
case MINUS:
|
|
case TILDE:
|
|
case CAST:
|
|
case RAISE:
|
|
{
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
{ // ( ... )*
|
|
for (;;) {
|
|
if ((LA(1) == COMMA)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp104_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp104_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp104_AST);
|
|
}
|
|
match(COMMA);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
goto _loop155;
|
|
}
|
|
|
|
}
|
|
_loop155:;
|
|
} // ( ... )*
|
|
break;
|
|
}
|
|
case RPAREN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp105_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp105_AST);
|
|
}
|
|
match(RPAREN);
|
|
}
|
|
else {
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{
|
|
switch ( LA(1)) {
|
|
case COLLATE:
|
|
{
|
|
suffixexpr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case AS:
|
|
case AND:
|
|
case OR:
|
|
case END:
|
|
case GLOB:
|
|
case LIKE:
|
|
case IS:
|
|
case MATCH:
|
|
case REGEXP:
|
|
case THEN:
|
|
case WHEN:
|
|
case RPAREN:
|
|
case COMMA:
|
|
case PLUS:
|
|
case MINUS:
|
|
case STAR:
|
|
case AMPERSAND:
|
|
case BITOR:
|
|
case OROP:
|
|
case EQUAL:
|
|
case EQUAL2:
|
|
case GREATER:
|
|
case GREATEREQUAL:
|
|
case LOWER:
|
|
case LOWEREQUAL:
|
|
case UNEQUAL:
|
|
case UNEQUAL2:
|
|
case BITWISELEFT:
|
|
case BITWISERIGHT:
|
|
case ELSE:
|
|
case SLASH:
|
|
case PERCENT:
|
|
case IN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
subexpr_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_21);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = subexpr_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::binaryoperator() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST binaryoperator_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
switch ( LA(1)) {
|
|
case OROP:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp106_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp106_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp106_AST);
|
|
}
|
|
match(OROP);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case STAR:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp107_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp107_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp107_AST);
|
|
}
|
|
match(STAR);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case SLASH:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp108_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp108_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp108_AST);
|
|
}
|
|
match(SLASH);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case PERCENT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp109_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp109_AST);
|
|
}
|
|
match(PERCENT);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case PLUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp110_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp110_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp110_AST);
|
|
}
|
|
match(PLUS);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case MINUS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp111_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp111_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp111_AST);
|
|
}
|
|
match(MINUS);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case BITWISELEFT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp112_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp112_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp112_AST);
|
|
}
|
|
match(BITWISELEFT);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case BITWISERIGHT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp113_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp113_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp113_AST);
|
|
}
|
|
match(BITWISERIGHT);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case AMPERSAND:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp114_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp114_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp114_AST);
|
|
}
|
|
match(AMPERSAND);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case BITOR:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp115_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp115_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp115_AST);
|
|
}
|
|
match(BITOR);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case LOWER:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp116_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp116_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp116_AST);
|
|
}
|
|
match(LOWER);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case LOWEREQUAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp117_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp117_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp117_AST);
|
|
}
|
|
match(LOWEREQUAL);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case GREATER:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp118_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp118_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp118_AST);
|
|
}
|
|
match(GREATER);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case GREATEREQUAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp119_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp119_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp119_AST);
|
|
}
|
|
match(GREATEREQUAL);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case EQUAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp120_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp120_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp120_AST);
|
|
}
|
|
match(EQUAL);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case EQUAL2:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp121_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp121_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp121_AST);
|
|
}
|
|
match(EQUAL2);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case UNEQUAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp122_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp122_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp122_AST);
|
|
}
|
|
match(UNEQUAL);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case UNEQUAL2:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp123_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp123_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp123_AST);
|
|
}
|
|
match(UNEQUAL2);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case IS:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp124_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp124_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp124_AST);
|
|
}
|
|
match(IS);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case IN:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp125_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp125_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp125_AST);
|
|
}
|
|
match(IN);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case LIKE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp126_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp126_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp126_AST);
|
|
}
|
|
match(LIKE);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case GLOB:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp127_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp127_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp127_AST);
|
|
}
|
|
match(GLOB);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case MATCH:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp128_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp128_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp128_AST);
|
|
}
|
|
match(MATCH);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case REGEXP:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp129_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp129_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp129_AST);
|
|
}
|
|
match(REGEXP);
|
|
binaryoperator_AST = currentAST.root;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_12);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = binaryoperator_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::literalvalue() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST literalvalue_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
switch ( LA(1)) {
|
|
case NUMERIC:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp130_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp130_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp130_AST);
|
|
}
|
|
match(NUMERIC);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case STRINGLITERAL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp131_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp131_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp131_AST);
|
|
}
|
|
match(STRINGLITERAL);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case NULL_T:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp132_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp132_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp132_AST);
|
|
}
|
|
match(NULL_T);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case CURRENT_TIME:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp133_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp133_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp133_AST);
|
|
}
|
|
match(CURRENT_TIME);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case CURRENT_DATE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp134_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp134_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp134_AST);
|
|
}
|
|
match(CURRENT_DATE);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
case CURRENT_TIMESTAMP:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp135_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp135_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp135_AST);
|
|
}
|
|
match(CURRENT_TIMESTAMP);
|
|
literalvalue_AST = currentAST.root;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_20);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = literalvalue_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::castexpr() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST castexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp136_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp136_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp136_AST);
|
|
}
|
|
match(CAST);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp137_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp137_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp137_AST);
|
|
}
|
|
match(LPAREN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp138_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp138_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp138_AST);
|
|
}
|
|
match(AS);
|
|
type_name();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp139_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp139_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp139_AST);
|
|
}
|
|
match(RPAREN);
|
|
castexpr_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_20);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = castexpr_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::caseexpr() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST caseexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp140_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp140_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp140_AST);
|
|
}
|
|
match(CASE_T);
|
|
{
|
|
switch ( LA(1)) {
|
|
case CASE_T:
|
|
case CURRENT_TIME:
|
|
case CURRENT_DATE:
|
|
case CURRENT_TIMESTAMP:
|
|
case NOT:
|
|
case NULL_T:
|
|
case EXISTS:
|
|
case ID:
|
|
case QUOTEDID:
|
|
case NUMERIC:
|
|
case STRINGLITERAL:
|
|
case LPAREN:
|
|
case PLUS:
|
|
case MINUS:
|
|
case TILDE:
|
|
case CAST:
|
|
case RAISE:
|
|
{
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case WHEN:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
{ // ( ... )+
|
|
int _cnt163=0;
|
|
for (;;) {
|
|
if ((LA(1) == WHEN)) {
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp141_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp141_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp141_AST);
|
|
}
|
|
match(WHEN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp142_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp142_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp142_AST);
|
|
}
|
|
match(THEN);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
}
|
|
else {
|
|
if ( _cnt163>=1 ) { goto _loop163; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
|
}
|
|
|
|
_cnt163++;
|
|
}
|
|
_loop163:;
|
|
} // ( ... )+
|
|
{
|
|
switch ( LA(1)) {
|
|
case ELSE:
|
|
{
|
|
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);
|
|
expr();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
break;
|
|
}
|
|
case END:
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp144_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp144_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp144_AST);
|
|
}
|
|
match(END);
|
|
caseexpr_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_20);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = caseexpr_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::raisefunction() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST raisefunction_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp145_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp145_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp145_AST);
|
|
}
|
|
match(RAISE);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp146_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp146_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp146_AST);
|
|
}
|
|
match(LPAREN);
|
|
{
|
|
switch ( LA(1)) {
|
|
case IGNORE:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp147_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp147_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp147_AST);
|
|
}
|
|
match(IGNORE);
|
|
break;
|
|
}
|
|
case ROLLBACK:
|
|
case ABORT:
|
|
case FAIL:
|
|
{
|
|
{
|
|
switch ( LA(1)) {
|
|
case ROLLBACK:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp148_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp148_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp148_AST);
|
|
}
|
|
match(ROLLBACK);
|
|
break;
|
|
}
|
|
case ABORT:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp149_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp149_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp149_AST);
|
|
}
|
|
match(ABORT);
|
|
break;
|
|
}
|
|
case FAIL:
|
|
{
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp150_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp150_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp150_AST);
|
|
}
|
|
match(FAIL);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp151_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp151_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp151_AST);
|
|
}
|
|
match(COMMA);
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp152_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp152_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp152_AST);
|
|
}
|
|
match(STRINGLITERAL);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
|
}
|
|
}
|
|
}
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp153_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp153_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp153_AST);
|
|
}
|
|
match(RPAREN);
|
|
raisefunction_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_20);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = raisefunction_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::suffixexpr() {
|
|
returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST;
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST suffixexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
|
|
try { // for error handling
|
|
ANTLR_USE_NAMESPACE(antlr)RefAST tmp154_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
|
if ( inputState->guessing == 0 ) {
|
|
tmp154_AST = astFactory->create(LT(1));
|
|
astFactory->addASTChild(currentAST, tmp154_AST);
|
|
}
|
|
match(COLLATE);
|
|
collationname();
|
|
if (inputState->guessing==0) {
|
|
astFactory->addASTChild( currentAST, returnAST );
|
|
}
|
|
suffixexpr_AST = currentAST.root;
|
|
}
|
|
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
|
if( inputState->guessing == 0 ) {
|
|
reportError(ex);
|
|
recover(ex,_tokenSet_21);
|
|
} else {
|
|
throw;
|
|
}
|
|
}
|
|
returnAST = suffixexpr_AST;
|
|
}
|
|
|
|
void Sqlite3Parser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory )
|
|
{
|
|
factory.setMaxNodeType(100);
|
|
}
|
|
const char* Sqlite3Parser::tokenNames[] = {
|
|
"<0>",
|
|
"EOF",
|
|
"<2>",
|
|
"NULL_TREE_LOOKAHEAD",
|
|
"\"AUTOINCREMENT\"",
|
|
"\"AS\"",
|
|
"\"ASC\"",
|
|
"\"AND\"",
|
|
"\"OR\"",
|
|
"\"CASE\"",
|
|
"\"CHECK\"",
|
|
"\"CREATE\"",
|
|
"\"COLLATE\"",
|
|
"\"CONFLICT\"",
|
|
"\"CONSTRAINT\"",
|
|
"\"CURRENT_TIME\"",
|
|
"\"CURRENT_DATE\"",
|
|
"\"CURRENT_TIMESTAMP\"",
|
|
"\"DEFAULT\"",
|
|
"\"DESC\"",
|
|
"\"ELSE\"",
|
|
"\"END\"",
|
|
"\"ESCAPE\"",
|
|
"\"GLOB\"",
|
|
"\"KEY\"",
|
|
"\"LIKE\"",
|
|
"\"TABLE\"",
|
|
"\"IF\"",
|
|
"\"IS\"",
|
|
"\"NOT\"",
|
|
"\"NULL\"",
|
|
"\"MATCH\"",
|
|
"\"EXISTS\"",
|
|
"\"ON\"",
|
|
"\"PRIMARY\"",
|
|
"\"REFERENCES\"",
|
|
"\"REGEXP\"",
|
|
"\"TEMPORARY\"",
|
|
"\"TEMP\"",
|
|
"\"THEN\"",
|
|
"\"UNIQUE\"",
|
|
"\"WHEN\"",
|
|
"TYPE_NAME",
|
|
"COLUMNDEF",
|
|
"COLUMNCONSTRAINT",
|
|
"TABLECONSTRAINT",
|
|
"CREATETABLE",
|
|
"DIGIT",
|
|
"DOT",
|
|
"ID",
|
|
"QUOTEDID",
|
|
"NUMERIC",
|
|
"NL",
|
|
"COMMENT",
|
|
"WS",
|
|
"STRINGLITERAL",
|
|
"LPAREN",
|
|
"RPAREN",
|
|
"COMMA",
|
|
"SEMI",
|
|
"PLUS",
|
|
"MINUS",
|
|
"STAR",
|
|
"TILDE",
|
|
"AMPERSAND",
|
|
"BITOR",
|
|
"OROP",
|
|
"EQUAL",
|
|
"EQUAL2",
|
|
"GREATER",
|
|
"GREATEREQUAL",
|
|
"LOWER",
|
|
"LOWEREQUAL",
|
|
"UNEQUAL",
|
|
"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
|
|
// 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 };
|
|
// 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_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 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 ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_5(_tokenSet_5_data_,8);
|
|
const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 537154560UL, 100663564UL, 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 };
|
|
// 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 };
|
|
// "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 };
|
|
// 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 };
|
|
// 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_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 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 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 };
|
|
// "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 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 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 ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_17(_tokenSet_17_data_,8);
|
|
const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 0UL, 16777216UL, 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"
|
|
// "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
|
|
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"
|
|
// "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 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 ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_21(_tokenSet_21_data_,8);
|
|
|
|
|