|
|
|
@ -1,4 +1,4 @@ |
|
|
|
/* Generated by re2c 0.9.8 on Tue Jul 12 10:05:35 2005 */ |
|
|
|
/* Generated by re2c 0.9.3 on Mon Jul 18 10:44:40 2005 */ |
|
|
|
#line 1 "pdo_sql_parser.re" |
|
|
|
/* |
|
|
|
+----------------------------------------------------------------------+ |
|
|
|
@ -49,172 +49,259 @@ static int scan(Scanner *s) |
|
|
|
#line 55 "pdo_sql_parser.re" |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
static unsigned char yybm[] = { |
|
|
|
0, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 0, 168, 168, 168, 168, 192, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
184, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 160, 168, 168, 168, 168, 160, |
|
|
|
168, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 168, 8, 168, 168, 184, |
|
|
|
168, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 184, 184, 184, 184, 184, |
|
|
|
184, 184, 184, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
168, 168, 168, 168, 168, 168, 168, 168, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 89 "<stdout>" |
|
|
|
|
|
|
|
#line 7 "<stdout>" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
unsigned int yyaccept; |
|
|
|
static unsigned char yybm[] = { |
|
|
|
0, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 2, 161, 161, 161, 161, 202, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
165, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 242, 161, 161, 161, 161, 242, |
|
|
|
161, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 161, 1, 161, 161, 165, |
|
|
|
161, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 165, 165, 165, 165, 165, |
|
|
|
165, 165, 165, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
161, 161, 161, 161, 161, 161, 161, 161, |
|
|
|
}; |
|
|
|
goto yy0; |
|
|
|
++YYCURSOR; |
|
|
|
yy1: ++YYCURSOR; |
|
|
|
yy0: |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 8) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
if(yych <= 0x00) goto yy11; |
|
|
|
if(yybm[0+yych] & 1) goto yy8; |
|
|
|
if(yych <= '\000') goto yy11; |
|
|
|
if(yych <= '&') goto yy2; |
|
|
|
if(yych <= '\'') goto yy4; |
|
|
|
if(yych <= '>') goto yy5; |
|
|
|
goto yy6; |
|
|
|
yy2: yyaccept = 0; |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if(yych >= 0x01) goto yy24; |
|
|
|
goto yy3; |
|
|
|
if(yybm[0+yych] & 64) goto yy32; |
|
|
|
if(yych <= '\000') goto yy3; |
|
|
|
if(yych == '"') goto yy30; |
|
|
|
goto yy35; |
|
|
|
yy3: |
|
|
|
#line 62 "pdo_sql_parser.re" |
|
|
|
#line 63 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_TEXT); } |
|
|
|
#line 113 "<stdout>" |
|
|
|
#line 65 "<stdout>" |
|
|
|
yy4: yyaccept = 0; |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if(yych <= 0x00) goto yy3; |
|
|
|
if(yych == '"') goto yy3; |
|
|
|
goto yy17; |
|
|
|
if(yybm[0+yych] & 8) goto yy19; |
|
|
|
if(yych <= '9'){ |
|
|
|
if(yych <= '\000') goto yy3; |
|
|
|
if(yych == '"') goto yy13; |
|
|
|
goto yy25; |
|
|
|
} else { |
|
|
|
if(yych <= ':') goto yy22; |
|
|
|
if(yych == '?') goto yy22; |
|
|
|
goto yy25; |
|
|
|
} |
|
|
|
yy5: yych = *++YYCURSOR; |
|
|
|
if(yybm[0+yych] & 16) { |
|
|
|
goto yy13; |
|
|
|
if(yybm[0+yych] & 2) goto yy13; |
|
|
|
if(yych <= 'Z'){ |
|
|
|
if(yych <= '/') goto yy3; |
|
|
|
if(yych <= ':') goto yy16; |
|
|
|
if(yych <= '@') goto yy3; |
|
|
|
goto yy16; |
|
|
|
} else { |
|
|
|
if(yych <= '_'){ |
|
|
|
if(yych <= '^') goto yy3; |
|
|
|
goto yy16; |
|
|
|
} else { |
|
|
|
if(yych <= '`') goto yy3; |
|
|
|
if(yych <= 'z') goto yy16; |
|
|
|
goto yy3; |
|
|
|
} |
|
|
|
} |
|
|
|
goto yy3; |
|
|
|
yy6: ++YYCURSOR; |
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 2) yych = *YYCURSOR; |
|
|
|
goto yy13; |
|
|
|
goto yy7; |
|
|
|
yy7: |
|
|
|
#line 61 "pdo_sql_parser.re" |
|
|
|
#line 62 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_BIND_POS); } |
|
|
|
#line 129 "<stdout>" |
|
|
|
#line 101 "<stdout>" |
|
|
|
yy8: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy9; |
|
|
|
yy9: if(yybm[0+yych] & 8) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
yy9: if(yybm[0+yych] & 1) goto yy8; |
|
|
|
goto yy10; |
|
|
|
yy10: |
|
|
|
#line 63 "pdo_sql_parser.re" |
|
|
|
#line 64 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_TEXT); } |
|
|
|
#line 141 "<stdout>" |
|
|
|
#line 112 "<stdout>" |
|
|
|
yy11: ++YYCURSOR; |
|
|
|
goto yy12; |
|
|
|
yy12: |
|
|
|
#line 64 "pdo_sql_parser.re" |
|
|
|
#line 65 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_EOI); } |
|
|
|
#line 147 "<stdout>" |
|
|
|
#line 118 "<stdout>" |
|
|
|
yy13: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy14; |
|
|
|
yy14: if(yybm[0+yych] & 16) { |
|
|
|
goto yy13; |
|
|
|
} |
|
|
|
yy14: if(yybm[0+yych] & 2) goto yy13; |
|
|
|
goto yy15; |
|
|
|
yy15: |
|
|
|
#line 60 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_BIND); } |
|
|
|
#line 159 "<stdout>" |
|
|
|
{ RET(PDO_PARSER_TEXT); } |
|
|
|
#line 129 "<stdout>" |
|
|
|
yy16: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy17; |
|
|
|
yy17: if(yybm[0+yych] & 32) { |
|
|
|
goto yy16; |
|
|
|
} |
|
|
|
if(yych <= '&') goto yy18; |
|
|
|
if(yych <= '\'') goto yy19; |
|
|
|
goto yy22; |
|
|
|
yy18: YYCURSOR = YYMARKER; |
|
|
|
switch(yyaccept){ |
|
|
|
case 1: goto yy21; |
|
|
|
case 0: goto yy3; |
|
|
|
} |
|
|
|
yy17: if(yybm[0+yych] & 4) goto yy16; |
|
|
|
goto yy18; |
|
|
|
yy18: |
|
|
|
#line 61 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_BIND); } |
|
|
|
#line 140 "<stdout>" |
|
|
|
yy19: yyaccept = 1; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy20; |
|
|
|
yy20: if(yybm[0+yych] & 32) { |
|
|
|
goto yy16; |
|
|
|
yy20: if(yybm[0+yych] & 8) goto yy19; |
|
|
|
if(yych <= ':'){ |
|
|
|
if(yych <= '!'){ |
|
|
|
if(yych >= '\001') goto yy24; |
|
|
|
goto yy21; |
|
|
|
} else { |
|
|
|
if(yych <= '"') goto yy13; |
|
|
|
if(yych <= '9') goto yy24; |
|
|
|
goto yy22; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if(yych <= '?'){ |
|
|
|
if(yych <= '>') goto yy24; |
|
|
|
goto yy22; |
|
|
|
} else { |
|
|
|
if(yych == '\\') goto yy27; |
|
|
|
goto yy24; |
|
|
|
} |
|
|
|
} |
|
|
|
if(yych <= '&') goto yy21; |
|
|
|
if(yych <= '\'') goto yy19; |
|
|
|
goto yy22; |
|
|
|
yy21: |
|
|
|
#line 59 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_TEXT); } |
|
|
|
#line 189 "<stdout>" |
|
|
|
yy22: ++YYCURSOR; |
|
|
|
#line 168 "<stdout>" |
|
|
|
yy22: yyaccept = 2; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych == '\'') goto yy16; |
|
|
|
goto yy18; |
|
|
|
yy23: ++YYCURSOR; |
|
|
|
goto yy23; |
|
|
|
yy23: if(yybm[0+yych] & 8) goto yy19; |
|
|
|
if(yych <= ':'){ |
|
|
|
if(yych <= '!'){ |
|
|
|
if(yych <= '\000') goto yy15; |
|
|
|
goto yy24; |
|
|
|
} else { |
|
|
|
if(yych <= '"') goto yy13; |
|
|
|
if(yych >= ':') goto yy22; |
|
|
|
goto yy24; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if(yych <= '?'){ |
|
|
|
if(yych >= '?') goto yy22; |
|
|
|
goto yy24; |
|
|
|
} else { |
|
|
|
if(yych == '\\') goto yy27; |
|
|
|
goto yy24; |
|
|
|
} |
|
|
|
} |
|
|
|
yy24: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy24; |
|
|
|
yy24: if(yybm[0+yych] & 128) { |
|
|
|
goto yy23; |
|
|
|
} |
|
|
|
if(yych <= 0x00) goto yy18; |
|
|
|
if(yych <= '[') goto yy26; |
|
|
|
goto yy25; |
|
|
|
yy25: ++YYCURSOR; |
|
|
|
yy25: if(yybm[0+yych] & 32) goto yy24; |
|
|
|
if(yych <= '&') goto yy26; |
|
|
|
if(yych <= '\'') goto yy28; |
|
|
|
goto yy27; |
|
|
|
yy26: YYCURSOR = YYMARKER; |
|
|
|
switch(yyaccept){ |
|
|
|
case 1: goto yy21; |
|
|
|
case 2: goto yy15; |
|
|
|
case 0: goto yy3; |
|
|
|
} |
|
|
|
yy27: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych == '"') goto yy23; |
|
|
|
goto yy18; |
|
|
|
yy26: ++YYCURSOR; |
|
|
|
if(yych == '\'') goto yy24; |
|
|
|
goto yy26; |
|
|
|
yy28: yyaccept = 1; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy29; |
|
|
|
yy29: if(yybm[0+yych] & 32) goto yy24; |
|
|
|
if(yych <= '&') goto yy21; |
|
|
|
if(yych <= '\'') goto yy28; |
|
|
|
goto yy27; |
|
|
|
yy27: |
|
|
|
yy30: ++YYCURSOR; |
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 2) yych = *YYCURSOR; |
|
|
|
goto yy13; |
|
|
|
goto yy31; |
|
|
|
yy31: |
|
|
|
#line 58 "pdo_sql_parser.re" |
|
|
|
{ RET(PDO_PARSER_TEXT); } |
|
|
|
#line 215 "<stdout>" |
|
|
|
} |
|
|
|
#line 229 "<stdout>" |
|
|
|
yy32: yyaccept = 2; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy33; |
|
|
|
yy33: if(yybm[0+yych] & 64) goto yy32; |
|
|
|
if(yych <= '"'){ |
|
|
|
if(yych <= '\000') goto yy15; |
|
|
|
if(yych >= '"') goto yy30; |
|
|
|
goto yy34; |
|
|
|
} else { |
|
|
|
if(yych == '\\') goto yy36; |
|
|
|
goto yy34; |
|
|
|
} |
|
|
|
yy34: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy35; |
|
|
|
yy35: if(yybm[0+yych] & 128) goto yy34; |
|
|
|
if(yych <= '\000') goto yy26; |
|
|
|
if(yych <= '[') goto yy37; |
|
|
|
goto yy36; |
|
|
|
yy36: ++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych == '"') goto yy34; |
|
|
|
goto yy26; |
|
|
|
yy37: ++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy31; |
|
|
|
} |
|
|
|
#line 65 "pdo_sql_parser.re" |
|
|
|
#line 66 "pdo_sql_parser.re" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|