diff options
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r-- | ext/pdo/pdo_sql_parser.c | 283 |
1 files changed, 98 insertions, 185 deletions
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c index 635f9dbdb8..1fb21fb7f5 100644 --- a/ext/pdo/pdo_sql_parser.c +++ b/ext/pdo/pdo_sql_parser.c @@ -1,5 +1,5 @@ -/* Generated by re2c 0.9.3 on Mon Jul 11 23:09:09 2005 */ -#line 1 "../pdo/pdo_sql_parser.re" +/* Generated by re2c 0.9.8 on Tue Jul 12 10:05:35 2005 */ +#line 1 "pdo_sql_parser.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -46,210 +46,126 @@ static int scan(Scanner *s) char *cursor = s->cur; s->tok = cursor; - #line 55 "../pdo/pdo_sql_parser.re" - - - -#line 7 "<stdout>" + #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>" { YYCTYPE yych; unsigned int yyaccept; goto yy0; -yy1: ++YYCURSOR; + ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy11; - case '"': goto yy2; - case '\'': goto yy4; - case ':': goto yy5; - case '?': goto yy6; - default: goto yy8; + if(yybm[0+yych] & 8) { + goto yy8; } + if(yych <= 0x00) goto yy11; + if(yych <= '&') goto yy2; + if(yych <= '\'') goto yy4; + if(yych <= '>') goto yy5; + goto yy6; yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych >= '\001') goto yy24; + if(yych >= 0x01) goto yy24; goto yy3; yy3: -#line 62 "../pdo/pdo_sql_parser.re" +#line 62 "pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 31 "<stdout>" +#line 113 "<stdout>" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\000': case '"': goto yy3; - default: goto yy17; - } + if(yych <= 0x00) goto yy3; + if(yych == '"') goto yy3; + goto yy17; yy5: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy13; - default: goto yy3; + if(yybm[0+yych] & 16) { + goto yy13; } + goto yy3; yy6: ++YYCURSOR; goto yy7; yy7: -#line 61 "../pdo/pdo_sql_parser.re" +#line 61 "pdo_sql_parser.re" { RET(PDO_PARSER_BIND_POS); } -#line 107 "<stdout>" +#line 129 "<stdout>" yy8: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy9; -yy9: switch(yych){ - case '\000': case '"': case '\'': case ':': case '?': goto yy10; - default: goto yy8; +yy9: if(yybm[0+yych] & 8) { + goto yy8; } + goto yy10; yy10: -#line 63 "../pdo/pdo_sql_parser.re" +#line 63 "pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 120 "<stdout>" +#line 141 "<stdout>" yy11: ++YYCURSOR; goto yy12; yy12: -#line 64 "../pdo/pdo_sql_parser.re" +#line 64 "pdo_sql_parser.re" { RET(PDO_PARSER_EOI); } -#line 126 "<stdout>" +#line 147 "<stdout>" yy13: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy14; -yy14: switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy13; - default: goto yy15; +yy14: if(yybm[0+yych] & 16) { + goto yy13; } + goto yy15; yy15: -#line 60 "../pdo/pdo_sql_parser.re" +#line 60 "pdo_sql_parser.re" { RET(PDO_PARSER_BIND); } -#line 198 "<stdout>" +#line 159 "<stdout>" yy16: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy17; -yy17: switch(yych){ - case '\000': case '"': goto yy18; - case '\'': goto yy19; - case '\\': goto yy22; - default: goto yy16; +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; @@ -260,48 +176,45 @@ yy19: yyaccept = 1; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy20; -yy20: switch(yych){ - case '\000': case '"': goto yy21; - case '\'': goto yy19; - case '\\': goto yy22; - default: goto yy16; +yy20: if(yybm[0+yych] & 32) { + goto yy16; } + if(yych <= '&') goto yy21; + if(yych <= '\'') goto yy19; + goto yy22; yy21: -#line 59 "../pdo/pdo_sql_parser.re" +#line 59 "pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 229 "<stdout>" +#line 189 "<stdout>" yy22: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\'': goto yy16; - default: goto yy18; - } + if(yych == '\'') goto yy16; + goto yy18; yy23: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: switch(yych){ - case '\000': goto yy18; - case '"': goto yy26; - case '\\': goto yy25; - default: goto yy23; +yy24: if(yybm[0+yych] & 128) { + goto yy23; } + if(yych <= 0x00) goto yy18; + if(yych <= '[') goto yy26; + goto yy25; yy25: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '"': goto yy23; - default: goto yy18; - } + if(yych == '"') goto yy23; + goto yy18; yy26: ++YYCURSOR; goto yy27; yy27: -#line 58 "../pdo/pdo_sql_parser.re" +#line 58 "pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 262 "<stdout>" +#line 215 "<stdout>" +} } -#line 65 "../pdo/pdo_sql_parser.re" +#line 65 "pdo_sql_parser.re" } |