diff options
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
| -rw-r--r-- | ext/pdo/pdo_sql_parser.c | 338 | 
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" | 
