summaryrefslogtreecommitdiff
path: root/ext/pdo/pdo_sql_parser.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-02-02 00:03:33 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-02-02 00:03:33 +0000
commita8c006235cd48c06768cb835ba8b4313713a6f81 (patch)
tree3a533e6c07cc00c2787eea283dadc03d5231a5a9 /ext/pdo/pdo_sql_parser.c
parent79dfb302b1b206bcac24f143561c6dbe969fcc9e (diff)
downloadphp-git-a8c006235cd48c06768cb835ba8b4313713a6f81.tar.gz
Better generated parser
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r--ext/pdo/pdo_sql_parser.c338
1 files changed, 116 insertions, 222 deletions
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c
index 00f0fea0c3..c2b508cd97 100644
--- a/ext/pdo/pdo_sql_parser.c
+++ b/ext/pdo/pdo_sql_parser.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.11.0 on Wed Jan 31 18:53:45 2007 */
+/* Generated by re2c 0.11.0 on Thu Feb 1 19:01:11 2007 */
#line 1 "ext/pdo/pdo_sql_parser.re"
/*
+----------------------------------------------------------------------+
@@ -49,248 +49,142 @@ static int scan(Scanner *s)
#line 54 "ext/pdo/pdo_sql_parser.re"
-
-#line 54 "ext/pdo/pdo_sql_parser.c"
-{
- YYCTYPE yych;
-
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch(yych) {
- case 0x00: goto yy11;
- case '"': goto yy2;
- case '\'': goto yy4;
- case ':': goto yy5;
- case '?': goto yy6;
- default: goto yy8;
- }
+ {
+ static unsigned char yybm[] = {
+ 192, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 64, 200, 200, 200, 200, 128,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 208, 200, 200, 200, 200, 208,
+ 200, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 200, 200, 200, 200, 232,
+ 200, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200,
+ };
+
+#line 89 "ext/pdo/pdo_sql_parser.c"
+ {
+ YYCTYPE yych;
+
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ 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:
- yych = *++YYCURSOR;
- goto yy24;
+ yych = *++YYCURSOR;
+ goto yy24;
yy3:
#line 62 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 74 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 109 "ext/pdo/pdo_sql_parser.c"
yy4:
- yych = *++YYCURSOR;
- goto yy20;
+ yych = *++YYCURSOR;
+ goto yy20;
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 yy16;
- case ':':
- case '?': goto yy13;
- default: goto yy3;
- }
+ yych = *++YYCURSOR;
+ if(yybm[0+yych] & 32) {
+ goto yy16;
+ }
+ if(yych == ':') goto yy13;
+ if(yych == '?') goto yy13;
+ goto yy3;
yy6:
- ++YYCURSOR;
- switch((yych = *YYCURSOR)) {
- case ':':
- case '?': goto yy13;
- default: goto yy7;
- }
-yy7:
+ ++YYCURSOR;
+ if(yybm[0+(yych = *YYCURSOR)] & 16) {
+ goto yy13;
+ }
#line 61 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_BIND_POS); }
-#line 158 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_BIND_POS); }
+#line 128 "ext/pdo/pdo_sql_parser.c"
yy8:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch(yych) {
- case 0x00:
- case '"':
- case '\'':
- case ':':
- case '?': goto yy10;
- default: goto yy8;
- }
-yy10:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 8) {
+ goto yy8;
+ }
#line 63 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 174 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 138 "ext/pdo/pdo_sql_parser.c"
yy11:
- ++YYCURSOR;
+ ++YYCURSOR;
#line 64 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_EOI); }
-#line 179 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_EOI); }
+#line 143 "ext/pdo/pdo_sql_parser.c"
yy13:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch(yych) {
- case ':':
- case '?': goto yy13;
- default: goto yy15;
- }
-yy15:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 16) {
+ goto yy13;
+ }
#line 59 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 192 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 153 "ext/pdo/pdo_sql_parser.c"
yy16:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- 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 yy16;
- default: goto yy18;
- }
-yy18:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 32) {
+ goto yy16;
+ }
#line 60 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_BIND); }
-#line 266 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_BIND); }
+#line 163 "ext/pdo/pdo_sql_parser.c"
yy19:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
yy20:
- switch(yych) {
- case '\'': goto yy21;
- default: goto yy19;
- }
-yy21:
- ++YYCURSOR;
+ if(yybm[0+yych] & 64) {
+ goto yy19;
+ }
+ ++YYCURSOR;
#line 58 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 280 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 175 "ext/pdo/pdo_sql_parser.c"
yy23:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
yy24:
- switch(yych) {
- case '"': goto yy25;
- default: goto yy23;
- }
-yy25:
- ++YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy23;
+ }
+ ++YYCURSOR;
#line 57 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 294 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 187 "ext/pdo/pdo_sql_parser.c"
+ }
}
#line 65 "ext/pdo/pdo_sql_parser.re"