diff options
author | Johannes Schlüter <johannes@php.net> | 2012-04-19 12:47:09 +0200 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2012-04-19 12:47:09 +0200 |
commit | c06ec6bde43a114af3bd84e986827839de1b1e4b (patch) | |
tree | d6f43f6f3b9ce32406247dfef5f9e605fe8a3a6e /ext/pdo/pdo_sql_parser.c | |
parent | 1b78aef426a8f413ddd70854eb3fd5fbc95ef675 (diff) | |
download | php-git-c06ec6bde43a114af3bd84e986827839de1b1e4b.tar.gz |
Commit generated file
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r-- | ext/pdo/pdo_sql_parser.c | 240 |
1 files changed, 118 insertions, 122 deletions
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c index ed8af84527..0267d15454 100644 --- a/ext/pdo/pdo_sql_parser.c +++ b/ext/pdo/pdo_sql_parser.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Wed Apr 18 22:30:06 2012 */ +/* Generated by re2c 0.13.5 on Thu Apr 19 12:42:11 2012 */ #line 1 "ext/pdo/pdo_sql_parser.re" /* +----------------------------------------------------------------------+ @@ -34,12 +34,12 @@ #define YYCTYPE unsigned char #define YYCURSOR cursor -#define YYLIMIT cursor +#define YYLIMIT s->end #define YYMARKER s->ptr -#define YYFILL(n) +#define YYFILL(n) { RET(PDO_PARSER_EOI); } typedef struct Scanner { - char *ptr, *cur, *tok; + char *ptr, *cur, *tok, *end; } Scanner; static int scan(Scanner *s) @@ -47,7 +47,7 @@ static int scan(Scanner *s) char *cursor = s->cur; s->tok = cursor; - #line 56 "ext/pdo/pdo_sql_parser.re" + #line 55 "ext/pdo/pdo_sql_parser.re" @@ -59,29 +59,35 @@ static int scan(Scanner *s) if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { - case 0x00: goto yy13; - case '"': goto yy2; - case '\'': goto yy4; - case '-': goto yy10; - case '/': goto yy8; - case ':': goto yy5; - case '?': goto yy6; - default: goto yy11; + case 0x00: goto yy2; + case '"': goto yy3; + case '\'': goto yy5; + case '-': goto yy11; + case '/': goto yy9; + case ':': goto yy6; + case '?': goto yy7; + default: goto yy12; } yy2: + YYCURSOR = YYMARKER; + switch (yyaccept) { + case 0: goto yy4; + case 1: goto yy10; + } +yy3: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych >= 0x01) goto yy43; -yy3: -#line 64 "ext/pdo/pdo_sql_parser.re" - { SKIP_ONE(PDO_PARSER_TEXT); } -#line 79 "ext/pdo/pdo_sql_parser.c" + if (yych >= 0x01) goto yy41; yy4: +#line 63 "ext/pdo/pdo_sql_parser.re" + { SKIP_ONE(PDO_PARSER_TEXT); } +#line 85 "ext/pdo/pdo_sql_parser.c" +yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x00) goto yy3; - goto yy37; -yy5: + if (yych <= 0x00) goto yy4; + goto yy36; +yy6: yych = *++YYCURSOR; switch (yych) { case '0': @@ -146,57 +152,52 @@ yy5: case 'w': case 'x': case 'y': - case 'z': goto yy33; + case 'z': goto yy32; case ':': - case '?': goto yy30; - default: goto yy3; + case '?': goto yy29; + default: goto yy4; } -yy6: +yy7: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ':': - case '?': goto yy30; - default: goto yy7; + case '?': goto yy29; + default: goto yy8; } -yy7: -#line 63 "ext/pdo/pdo_sql_parser.re" - { RET(PDO_PARSER_BIND_POS); } -#line 165 "ext/pdo/pdo_sql_parser.c" yy8: +#line 62 "ext/pdo/pdo_sql_parser.re" + { RET(PDO_PARSER_BIND_POS); } +#line 171 "ext/pdo/pdo_sql_parser.c" +yy9: ++YYCURSOR; switch ((yych = *YYCURSOR)) { - case '*': goto yy20; - default: goto yy12; + case '*': goto yy19; + default: goto yy13; } -yy9: -#line 66 "ext/pdo/pdo_sql_parser.re" - { RET(PDO_PARSER_TEXT); } -#line 175 "ext/pdo/pdo_sql_parser.c" yy10: +#line 65 "ext/pdo/pdo_sql_parser.re" + { RET(PDO_PARSER_TEXT); } +#line 181 "ext/pdo/pdo_sql_parser.c" +yy11: yych = *++YYCURSOR; switch (yych) { - case '-': goto yy15; - default: goto yy12; + case '-': goto yy14; + default: goto yy13; } -yy11: +yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy12: +yy13: switch (yych) { case 0x00: case '"': case '\'': case ':': - case '?': goto yy9; - default: goto yy11; + case '?': goto yy10; + default: goto yy12; } -yy13: - ++YYCURSOR; -#line 67 "ext/pdo/pdo_sql_parser.re" - { RET(PDO_PARSER_EOI); } -#line 199 "ext/pdo/pdo_sql_parser.c" -yy15: +yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -205,25 +206,25 @@ yy15: case '"': case '\'': case ':': - case '?': goto yy18; + case '?': goto yy17; case '\n': - case '\r': goto yy11; - default: goto yy15; + case '\r': goto yy12; + default: goto yy14; } -yy17: -#line 65 "ext/pdo/pdo_sql_parser.re" +yy16: +#line 64 "ext/pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 217 "ext/pdo/pdo_sql_parser.c" -yy18: +#line 218 "ext/pdo/pdo_sql_parser.c" +yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': - case '\r': goto yy17; - default: goto yy18; + case '\r': goto yy16; + default: goto yy17; } -yy20: +yy19: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -233,19 +234,19 @@ yy20: case '"': case '\'': case ':': - case '?': goto yy22; - case '*': goto yy24; - default: goto yy20; + case '?': goto yy21; + case '*': goto yy23; + default: goto yy19; } -yy22: +yy21: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { - case '*': goto yy27; - default: goto yy22; + case '*': goto yy26; + default: goto yy21; } -yy24: +yy23: yyaccept = 1; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -255,47 +256,47 @@ yy24: case '"': case '\'': case ':': - case '?': goto yy22; - case '*': goto yy24; - case '/': goto yy26; - default: goto yy20; + case '?': goto yy21; + case '*': goto yy23; + case '/': goto yy25; + default: goto yy19; } -yy26: +yy25: yych = *++YYCURSOR; switch (yych) { case 0x00: case '"': case '\'': case ':': - case '?': goto yy17; - default: goto yy11; + case '?': goto yy16; + default: goto yy12; } -yy27: +yy26: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { - case '*': goto yy27; - case '/': goto yy29; - default: goto yy22; + case '*': goto yy26; + case '/': goto yy28; + default: goto yy21; } -yy29: +yy28: yych = *++YYCURSOR; - goto yy17; -yy30: + goto yy16; +yy29: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case ':': - case '?': goto yy30; - default: goto yy32; + case '?': goto yy29; + default: goto yy31; } -yy32: -#line 61 "ext/pdo/pdo_sql_parser.re" +yy31: +#line 60 "ext/pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 298 "ext/pdo/pdo_sql_parser.c" -yy33: +#line 299 "ext/pdo/pdo_sql_parser.c" +yy32: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -362,65 +363,59 @@ yy33: case 'w': case 'x': case 'y': - case 'z': goto yy33; - default: goto yy35; + case 'z': goto yy32; + default: goto yy34; } -yy35: -#line 62 "ext/pdo/pdo_sql_parser.re" +yy34: +#line 61 "ext/pdo/pdo_sql_parser.re" { RET(PDO_PARSER_BIND); } -#line 372 "ext/pdo/pdo_sql_parser.c" -yy36: +#line 373 "ext/pdo/pdo_sql_parser.c" +yy35: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy37: +yy36: switch (yych) { - case 0x00: goto yy38; - case '\'': goto yy40; - case '\\': goto yy39; - default: goto yy36; - } -yy38: - YYCURSOR = YYMARKER; - switch (yyaccept) { - case 0: goto yy3; - case 1: goto yy9; + case 0x00: goto yy2; + case '\'': goto yy38; + case '\\': goto yy37; + default: goto yy35; } -yy39: +yy37: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= 0x00) goto yy38; - goto yy36; -yy40: + if (yych <= 0x00) goto yy2; + goto yy35; +yy38: ++YYCURSOR; -#line 60 "ext/pdo/pdo_sql_parser.re" +#line 59 "ext/pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 400 "ext/pdo/pdo_sql_parser.c" -yy42: +#line 395 "ext/pdo/pdo_sql_parser.c" +yy40: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy43: +yy41: switch (yych) { - case 0x00: goto yy38; - case '"': goto yy45; - case '\\': goto yy44; - default: goto yy42; + case 0x00: goto yy2; + case '"': goto yy43; + case '\\': goto yy42; + default: goto yy40; } -yy44: +yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= 0x00) goto yy38; - goto yy42; -yy45: + if (yych <= 0x00) goto yy2; + goto yy40; +yy43: ++YYCURSOR; -#line 59 "ext/pdo/pdo_sql_parser.re" +#line 58 "ext/pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 422 "ext/pdo/pdo_sql_parser.c" +#line 417 "ext/pdo/pdo_sql_parser.c" } -#line 68 "ext/pdo/pdo_sql_parser.re" +#line 66 "ext/pdo/pdo_sql_parser.re" } @@ -450,6 +445,7 @@ PDO_API int pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, ptr = *outquery; s.cur = inquery; + s.end = inquery + inquery_len + 1; /* phase 1: look for args */ while((t = scan(&s)) != PDO_PARSER_EOI) { |