|
|
|
@ -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" |
|
|
|
|
|
|
|
|