-/* Generated by re2c 0.11.0 on Tue Jun 5 18:56:17 2007 */
+/* Generated by re2c 0.11.0 on Mon Oct 29 18:37:31 2007 */
#line 1 "ext/pdo/pdo_sql_parser.re"
/*
+----------------------------------------------------------------------+
#line 54 "ext/pdo/pdo_sql_parser.re"
- {
- static unsigned char yybm[] = {
- 160, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 52, 162, 162, 162, 162, 196,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 244, 162, 162, 162, 162, 244,
- 162, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 162, 162, 162, 162, 170,
- 162, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162,
- };
-
-#line 90 "ext/pdo/pdo_sql_parser.c"
- {
- YYCTYPE yych;
-
- if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 2) {
- goto yy8;
- }
- if(yych <= 0x00) goto yy11;
- if(yych <= '&') goto yy2;
- if(yych <= '\'') goto yy4;
- if(yych <= '>') goto yy5;
- goto yy6;
+
+#line 55 "ext/pdo/pdo_sql_parser.c"
+{
+ YYCTYPE yych;
+
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case 0x00: goto yy11;
+ case '"': goto yy2;
+ case '\'': goto yy4;
+ case ':': goto yy5;
+ case '?': goto yy6;
+ default: goto yy8;
+ }
yy2:
- yych = *++YYCURSOR;
- if(yybm[0+yych] & 64) {
- goto yy28;
- }
- if(yych == '"') goto yy26;
- goto yy30;
+ yych = *++YYCURSOR;
+ switch(yych) {
+ case '"': goto yy26;
+ case '\'':
+ case ':':
+ case '?': goto yy28;
+ default: goto yy30;
+ }
yy3:
#line 62 "ext/pdo/pdo_sql_parser.re"
- { SKIP_ONE(PDO_PARSER_TEXT); }
-#line 114 "ext/pdo/pdo_sql_parser.c"
+ { SKIP_ONE(PDO_PARSER_TEXT); }
+#line 81 "ext/pdo/pdo_sql_parser.c"
yy4:
- yych = *++YYCURSOR;
- if(yybm[0+yych] & 16) {
- goto yy19;
- }
- if(yych == '\'') goto yy21;
- goto yy23;
+ yych = *++YYCURSOR;
+ switch(yych) {
+ case '"':
+ case ':':
+ case '?': goto yy19;
+ case '\'': goto yy21;
+ default: goto yy23;
+ }
yy5:
- yych = *++YYCURSOR;
- if(yybm[0+yych] & 4) {
- 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;
- }
- }
+ yych = *++YYCURSOR;
+ switch(yych) {
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy13;
+ case '-':
+ 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 yy3;
+ }
yy6:
- ++YYCURSOR;
- if(yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy13;
- }
+ ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy13;
+ default: goto yy7;
+ }
+yy7:
#line 61 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_BIND_POS); }
-#line 149 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_BIND_POS); }
+#line 176 "ext/pdo/pdo_sql_parser.c"
yy8:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 2) {
- goto yy8;
- }
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case 0x00:
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy10;
+ default: goto yy8;
+ }
+yy10:
#line 63 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 159 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 192 "ext/pdo/pdo_sql_parser.c"
yy11:
- ++YYCURSOR;
+ ++YYCURSOR;
#line 64 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_EOI); }
-#line 164 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_EOI); }
+#line 197 "ext/pdo/pdo_sql_parser.c"
yy13:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 4) {
- goto yy13;
- }
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy13;
+ default: goto yy15;
+ }
+yy15:
#line 59 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 174 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 212 "ext/pdo/pdo_sql_parser.c"
yy16:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 8) {
- goto yy16;
- }
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '-':
+ 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:
#line 60 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_BIND); }
-#line 184 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_BIND); }
+#line 287 "ext/pdo/pdo_sql_parser.c"
yy19:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 16) {
- goto yy19;
- }
- if(yych != '\'') goto yy23;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '"':
+ case ':':
+ case '?': goto yy19;
+ case '\'': goto yy21;
+ default: goto yy23;
+ }
yy21:
- ++YYCURSOR;
- if(yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy13;
- }
+ ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy13;
+ default: goto yy22;
+ }
yy22:
#line 58 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 200 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 310 "ext/pdo/pdo_sql_parser.c"
yy23:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 32) {
- goto yy23;
- }
- yych = *++YYCURSOR;
- goto yy22;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '\'': goto yy25;
+ default: goto yy23;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ goto yy22;
yy26:
- ++YYCURSOR;
- if(yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy13;
- }
+ ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
+ case '"':
+ case '\'':
+ case ':':
+ case '?': goto yy13;
+ default: goto yy27;
+ }
yy27:
#line 57 "ext/pdo/pdo_sql_parser.re"
- { RET(PDO_PARSER_TEXT); }
-#line 218 "ext/pdo/pdo_sql_parser.c"
+ { RET(PDO_PARSER_TEXT); }
+#line 334 "ext/pdo/pdo_sql_parser.c"
yy28:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 64) {
- goto yy28;
- }
- if(yych == '"') goto yy26;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '"': goto yy26;
+ case '\'':
+ case ':':
+ case '?': goto yy28;
+ default: goto yy30;
+ }
yy30:
- ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if(yybm[0+yych] & 128) {
- goto yy30;
- }
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy27;
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch(yych) {
+ case '"': goto yy32;
+ default: goto yy30;
}
+yy32:
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy27;
}
#line 65 "ext/pdo/pdo_sql_parser.re"