mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-19 10:20:17 -06:00
Grammar: Support table names in single quotes
Don't fail when parsing a CREATE statement like this: CREATE TABLE 'test' (id INT);
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "Sqlite3Lexer.cpp"$ */
|
||||
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "Sqlite3Lexer.cpp"$ */
|
||||
#include "Sqlite3Lexer.hpp"
|
||||
#include <antlr/CharBuffer.hpp>
|
||||
#include <antlr/TokenStreamException.hpp>
|
||||
@@ -127,14 +127,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken Sqlite3Lexer::nextToken()
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x22 /* '\"' */ :
|
||||
case 0x5b /* '[' */ :
|
||||
case 0x60 /* '`' */ :
|
||||
{
|
||||
mQUOTEDID(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x2e /* '.' */ :
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
@@ -167,12 +159,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken Sqlite3Lexer::nextToken()
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x27 /* '\'' */ :
|
||||
{
|
||||
mSTRINGLITERAL(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x28 /* '(' */ :
|
||||
{
|
||||
mLPAREN(true);
|
||||
@@ -222,10 +208,18 @@ ANTLR_USE_NAMESPACE(antlr)RefToken Sqlite3Lexer::nextToken()
|
||||
break;
|
||||
}
|
||||
default:
|
||||
if ((LA(1) == 0x2d /* '-' */ || LA(1) == 0x2f /* '/' */ ) && (LA(2) == 0x2a /* '*' */ || LA(2) == 0x2d /* '-' */ )) {
|
||||
if ((_tokenSet_0.member(LA(1))) && ((LA(2) >= 0x0 /* '\0' */ && LA(2) <= 0x7f))) {
|
||||
mQUOTEDID(true);
|
||||
theRetToken=_returnToken;
|
||||
}
|
||||
else if ((LA(1) == 0x2d /* '-' */ || LA(1) == 0x2f /* '/' */ ) && (LA(2) == 0x2a /* '*' */ || LA(2) == 0x2d /* '-' */ )) {
|
||||
mCOMMENT(true);
|
||||
theRetToken=_returnToken;
|
||||
}
|
||||
else if ((LA(1) == 0x27 /* '\'' */ ) && ((LA(2) >= 0x0 /* '\0' */ && LA(2) <= 0x7f))) {
|
||||
mSTRINGLITERAL(true);
|
||||
theRetToken=_returnToken;
|
||||
}
|
||||
else if ((LA(1) == 0x7c /* '|' */ ) && (LA(2) == 0x7c /* '|' */ )) {
|
||||
mOROP(true);
|
||||
theRetToken=_returnToken;
|
||||
@@ -458,9 +452,9 @@ void Sqlite3Lexer::mQUOTEDID(bool _createToken) {
|
||||
match('`' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_0.member(LA(1)))) {
|
||||
if ((_tokenSet_1.member(LA(1)))) {
|
||||
{
|
||||
match(_tokenSet_0);
|
||||
match(_tokenSet_1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -478,9 +472,9 @@ void Sqlite3Lexer::mQUOTEDID(bool _createToken) {
|
||||
match('[' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_1.member(LA(1)))) {
|
||||
if ((_tokenSet_2.member(LA(1)))) {
|
||||
{
|
||||
match(_tokenSet_1);
|
||||
match(_tokenSet_2);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -498,9 +492,9 @@ void Sqlite3Lexer::mQUOTEDID(bool _createToken) {
|
||||
match('\"' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_2.member(LA(1)))) {
|
||||
if ((_tokenSet_3.member(LA(1)))) {
|
||||
{
|
||||
match(_tokenSet_2);
|
||||
match(_tokenSet_3);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -513,6 +507,26 @@ void Sqlite3Lexer::mQUOTEDID(bool _createToken) {
|
||||
match('\"' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x27 /* '\'' */ :
|
||||
{
|
||||
match('\'' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_4.member(LA(1)))) {
|
||||
{
|
||||
match(_tokenSet_4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop19;
|
||||
}
|
||||
|
||||
}
|
||||
_loop19:;
|
||||
} // ( ... )*
|
||||
match('\'' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
@@ -545,18 +559,18 @@ void Sqlite3Lexer::mNUMERIC(bool _createToken) {
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt20=0;
|
||||
int _cnt23=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt20>=1 ) { goto _loop20; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
if ( _cnt23>=1 ) { goto _loop23; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt20++;
|
||||
_cnt23++;
|
||||
}
|
||||
_loop20:;
|
||||
_loop23:;
|
||||
} // ( ... )+
|
||||
{
|
||||
if ((LA(1) == 0x2e /* '.' */ )) {
|
||||
@@ -567,11 +581,11 @@ void Sqlite3Lexer::mNUMERIC(bool _createToken) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
goto _loop23;
|
||||
goto _loop26;
|
||||
}
|
||||
|
||||
}
|
||||
_loop23:;
|
||||
_loop26:;
|
||||
} // ( ... )*
|
||||
}
|
||||
else {
|
||||
@@ -585,18 +599,18 @@ void Sqlite3Lexer::mNUMERIC(bool _createToken) {
|
||||
match('.' /* charlit */ );
|
||||
_ttype=DOT;
|
||||
{ // ( ... )+
|
||||
int _cnt25=0;
|
||||
int _cnt28=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt25>=1 ) { goto _loop25; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
if ( _cnt28>=1 ) { goto _loop28; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt25++;
|
||||
_cnt28++;
|
||||
}
|
||||
_loop25:;
|
||||
_loop28:;
|
||||
} // ( ... )+
|
||||
break;
|
||||
}
|
||||
@@ -641,18 +655,18 @@ void Sqlite3Lexer::mNUMERIC(bool _createToken) {
|
||||
}
|
||||
}
|
||||
{ // ( ... )+
|
||||
int _cnt29=0;
|
||||
int _cnt32=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt29>=1 ) { goto _loop29; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
if ( _cnt32>=1 ) { goto _loop32; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt29++;
|
||||
_cnt32++;
|
||||
}
|
||||
_loop29:;
|
||||
_loop32:;
|
||||
} // ( ... )+
|
||||
}
|
||||
else {
|
||||
@@ -739,17 +753,17 @@ void Sqlite3Lexer::mCOMMENT(bool _createToken) {
|
||||
match("--");
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_3.member(LA(1)))) {
|
||||
if ((_tokenSet_5.member(LA(1)))) {
|
||||
{
|
||||
match(_tokenSet_3);
|
||||
match(_tokenSet_5);
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop36;
|
||||
goto _loop39;
|
||||
}
|
||||
|
||||
}
|
||||
_loop36:;
|
||||
_loop39:;
|
||||
} // ( ... )*
|
||||
mNL(false);
|
||||
newline();
|
||||
@@ -761,10 +775,10 @@ void Sqlite3Lexer::mCOMMENT(bool _createToken) {
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
// nongreedy exit test
|
||||
if ((LA(1) == 0x2a /* '*' */ ) && (LA(2) == 0x2f /* '/' */ )) goto _loop39;
|
||||
if ((_tokenSet_3.member(LA(1))) && ((LA(2) >= 0x0 /* '\0' */ && LA(2) <= 0x7f))) {
|
||||
if ((LA(1) == 0x2a /* '*' */ ) && (LA(2) == 0x2f /* '/' */ )) goto _loop42;
|
||||
if ((_tokenSet_5.member(LA(1))) && ((LA(2) >= 0x0 /* '\0' */ && LA(2) <= 0x7f))) {
|
||||
{
|
||||
match(_tokenSet_3);
|
||||
match(_tokenSet_5);
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == 0xa /* '\n' */ || LA(1) == 0xd /* '\r' */ )) {
|
||||
@@ -772,11 +786,11 @@ void Sqlite3Lexer::mCOMMENT(bool _createToken) {
|
||||
newline();
|
||||
}
|
||||
else {
|
||||
goto _loop39;
|
||||
goto _loop42;
|
||||
}
|
||||
|
||||
}
|
||||
_loop39:;
|
||||
_loop42:;
|
||||
} // ( ... )*
|
||||
match("*/");
|
||||
break;
|
||||
@@ -853,11 +867,11 @@ void Sqlite3Lexer::mSTRINGLITERAL(bool _createToken) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop45;
|
||||
goto _loop48;
|
||||
}
|
||||
|
||||
}
|
||||
_loop45:;
|
||||
_loop48:;
|
||||
} // ( ... )*
|
||||
match('\'' /* charlit */ );
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
@@ -1135,32 +1149,29 @@ void Sqlite3Lexer::mBITWISERIGHT(bool _createToken) {
|
||||
}
|
||||
|
||||
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_0_data_[] = { 4294967295UL, 4294967295UL, 4294967295UL, 4294967294UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_0_data_[] = { 0UL, 132UL, 134217728UL, 1UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// \" \' [ `
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_0(_tokenSet_0_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_1_data_[] = { 4294967295UL, 4294967295UL, 4294967295UL, 4294967294UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10
|
||||
// 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e
|
||||
// 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >
|
||||
// ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _
|
||||
// a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_0(_tokenSet_0_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_1_data_[] = { 4294967295UL, 4294967295UL, 3758096383UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_1(_tokenSet_1_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_2_data_[] = { 4294967295UL, 4294967295UL, 3758096383UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10
|
||||
// 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e
|
||||
// 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >
|
||||
// ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ^ _ `
|
||||
// a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_1(_tokenSet_1_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_2_data_[] = { 4294967295UL, 4294967291UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_2(_tokenSet_2_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_3_data_[] = { 4294967295UL, 4294967291UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10
|
||||
// 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e
|
||||
// 0x1f ! # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
|
||||
// @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ `
|
||||
// a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_2(_tokenSet_2_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12
|
||||
// 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f !
|
||||
// \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B
|
||||
// C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_3(_tokenSet_3_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_4_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10
|
||||
@@ -1169,4 +1180,10 @@ const unsigned long Sqlite3Lexer::_tokenSet_4_data_[] = { 4294967295UL, 42949671
|
||||
// @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ `
|
||||
// a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_4(_tokenSet_4_data_,8);
|
||||
const unsigned long Sqlite3Lexer::_tokenSet_5_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12
|
||||
// 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f !
|
||||
// \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B
|
||||
// C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_5(_tokenSet_5_data_,8);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define INC_Sqlite3Lexer_hpp_
|
||||
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "Sqlite3Lexer.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "Sqlite3Lexer.hpp"$ */
|
||||
#include <antlr/CommonToken.hpp>
|
||||
#include <antlr/InputBuffer.hpp>
|
||||
#include <antlr/BitSet.hpp>
|
||||
@@ -64,6 +64,8 @@ private:
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
|
||||
static const unsigned long _tokenSet_4_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
|
||||
static const unsigned long _tokenSet_5_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
|
||||
};
|
||||
|
||||
#endif /*INC_Sqlite3Lexer_hpp_*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "Sqlite3Parser.cpp"$ */
|
||||
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "Sqlite3Parser.cpp"$ */
|
||||
#include "Sqlite3Parser.hpp"
|
||||
#include <antlr/NoViableAltException.hpp>
|
||||
#include <antlr/SemanticException.hpp>
|
||||
@@ -327,11 +327,11 @@ void Sqlite3Parser::statementlist() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop80;
|
||||
goto _loop83;
|
||||
}
|
||||
|
||||
}
|
||||
_loop80:;
|
||||
_loop83:;
|
||||
} // ( ... )*
|
||||
statementlist_AST = currentAST.root;
|
||||
}
|
||||
@@ -487,11 +487,11 @@ void Sqlite3Parser::createtable() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop88;
|
||||
goto _loop91;
|
||||
}
|
||||
|
||||
}
|
||||
_loop88:;
|
||||
_loop91:;
|
||||
} // ( ... )*
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
@@ -508,11 +508,11 @@ void Sqlite3Parser::createtable() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop90;
|
||||
goto _loop93;
|
||||
}
|
||||
|
||||
}
|
||||
_loop90:;
|
||||
_loop93:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -638,11 +638,11 @@ void Sqlite3Parser::columndef() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop94;
|
||||
goto _loop97;
|
||||
}
|
||||
|
||||
}
|
||||
_loop94:;
|
||||
_loop97:;
|
||||
} // ( ... )*
|
||||
if ( inputState->guessing==0 ) {
|
||||
columndef_AST = ANTLR_USE_NAMESPACE(antlr)RefAST(currentAST.root);
|
||||
@@ -744,11 +744,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop113;
|
||||
goto _loop116;
|
||||
}
|
||||
|
||||
}
|
||||
_loop113:;
|
||||
_loop116:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -812,11 +812,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop116;
|
||||
goto _loop119;
|
||||
}
|
||||
|
||||
}
|
||||
_loop116:;
|
||||
_loop119:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -912,11 +912,11 @@ void Sqlite3Parser::tableconstraint() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop119;
|
||||
goto _loop122;
|
||||
}
|
||||
|
||||
}
|
||||
_loop119:;
|
||||
_loop122:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -992,7 +992,7 @@ void Sqlite3Parser::type_name() {
|
||||
|
||||
try { // for error handling
|
||||
{ // ( ... )+
|
||||
int _cnt98=0;
|
||||
int _cnt101=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == ID || LA(1) == QUOTEDID)) {
|
||||
name();
|
||||
@@ -1001,12 +1001,12 @@ void Sqlite3Parser::type_name() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( _cnt98>=1 ) { goto _loop98; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt101>=1 ) { goto _loop101; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
|
||||
_cnt98++;
|
||||
_cnt101++;
|
||||
}
|
||||
_loop98:;
|
||||
_loop101:;
|
||||
} // ( ... )+
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@@ -1589,10 +1589,10 @@ void Sqlite3Parser::expr() {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST expr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
|
||||
try { // for error handling
|
||||
bool synPredMatched144 = false;
|
||||
bool synPredMatched147 = false;
|
||||
if (((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2))))) {
|
||||
int _m144 = mark();
|
||||
synPredMatched144 = true;
|
||||
int _m147 = mark();
|
||||
synPredMatched147 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
@@ -1646,12 +1646,12 @@ void Sqlite3Parser::expr() {
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched144 = false;
|
||||
synPredMatched147 = false;
|
||||
}
|
||||
rewind(_m144);
|
||||
rewind(_m147);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched144 ) {
|
||||
if ( synPredMatched147 ) {
|
||||
subexpr();
|
||||
if (inputState->guessing==0) {
|
||||
astFactory->addASTChild( currentAST, returnAST );
|
||||
@@ -1724,11 +1724,11 @@ void Sqlite3Parser::expr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop147;
|
||||
goto _loop150;
|
||||
}
|
||||
|
||||
}
|
||||
_loop147:;
|
||||
_loop150:;
|
||||
} // ( ... )*
|
||||
expr_AST = currentAST.root;
|
||||
}
|
||||
@@ -1800,11 +1800,11 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop126;
|
||||
goto _loop129;
|
||||
}
|
||||
|
||||
}
|
||||
_loop126:;
|
||||
_loop129:;
|
||||
} // ( ... )*
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
@@ -1975,17 +1975,17 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop131;
|
||||
goto _loop134;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop131:;
|
||||
_loop134:;
|
||||
} // ( ... )*
|
||||
{
|
||||
bool synPredMatched134 = false;
|
||||
bool synPredMatched137 = false;
|
||||
if (((LA(1) == NOT) && (LA(2) == DEFERRABLE))) {
|
||||
int _m134 = mark();
|
||||
synPredMatched134 = true;
|
||||
int _m137 = mark();
|
||||
synPredMatched137 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
@@ -1994,12 +1994,12 @@ void Sqlite3Parser::foreignkeyclause() {
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched134 = false;
|
||||
synPredMatched137 = false;
|
||||
}
|
||||
rewind(_m134);
|
||||
rewind(_m137);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched134 ) {
|
||||
if ( synPredMatched137 ) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
if ( inputState->guessing == 0 ) {
|
||||
tmp86_AST = astFactory->create(LT(1));
|
||||
@@ -2461,11 +2461,11 @@ void Sqlite3Parser::subexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop155;
|
||||
goto _loop158;
|
||||
}
|
||||
|
||||
}
|
||||
_loop155:;
|
||||
_loop158:;
|
||||
} // ( ... )*
|
||||
break;
|
||||
}
|
||||
@@ -3034,7 +3034,7 @@ void Sqlite3Parser::caseexpr() {
|
||||
}
|
||||
}
|
||||
{ // ( ... )+
|
||||
int _cnt163=0;
|
||||
int _cnt166=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == WHEN)) {
|
||||
ANTLR_USE_NAMESPACE(antlr)RefAST tmp141_AST = ANTLR_USE_NAMESPACE(antlr)nullAST;
|
||||
@@ -3059,12 +3059,12 @@ void Sqlite3Parser::caseexpr() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( _cnt163>=1 ) { goto _loop163; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt166>=1 ) { goto _loop166; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
|
||||
_cnt163++;
|
||||
_cnt166++;
|
||||
}
|
||||
_loop163:;
|
||||
_loop166:;
|
||||
} // ( ... )+
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define INC_Sqlite3Parser_hpp_
|
||||
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "Sqlite3Parser.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "Sqlite3Parser.hpp"$ */
|
||||
#include <antlr/TokenStream.hpp>
|
||||
#include <antlr/TokenBuffer.hpp>
|
||||
#include "sqlite3TokenTypes.hpp"
|
||||
|
||||
@@ -92,6 +92,7 @@ QUOTEDID
|
||||
: '`' ( ~('`') )* '`'
|
||||
| '[' ( ~(']') )* ']'
|
||||
| '"' ( ~('"') )* '"'
|
||||
| '\'' ( ~('\'') )* '\''
|
||||
;
|
||||
|
||||
NUMERIC
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef INC_sqlite3TokenTypes_hpp_
|
||||
#define INC_sqlite3TokenTypes_hpp_
|
||||
|
||||
/* $ANTLR 2.7.7 (20121001): "sqlite3.g" -> "sqlite3TokenTypes.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20130425): "sqlite3.g" -> "sqlite3TokenTypes.hpp"$ */
|
||||
|
||||
#ifndef CUSTOM_API
|
||||
# define CUSTOM_API
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// $ANTLR 2.7.7 (20121001): sqlite3.g -> sqlite3TokenTypes.txt$
|
||||
// $ANTLR 2.7.7 (20130425): sqlite3.g -> sqlite3TokenTypes.txt$
|
||||
sqlite3 // output token vocab name
|
||||
ABORT="ABORT"=4
|
||||
ACTION="ACTION"=5
|
||||
|
||||
Reference in New Issue
Block a user