summaryrefslogtreecommitdiff
path: root/ext/pdo/pdo_sql_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r--ext/pdo/pdo_sql_parser.c283
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"
}