示例#1
0
static int scan(Scanner *s)
{
	char *cursor = s->cur;

	s->tok = cursor;
	#line 55 "ext/pdo/pdo_sql_parser.re"


	
#line 55 "ext/pdo/pdo_sql_parser.c"
{
	YYCTYPE yych;
	unsigned int yyaccept = 0;

	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:	goto yy2;
	case '"':	goto yy3;
	case '\'':	goto yy5;
	case '-':	goto yy11;
	case '/':	goto yy9;
	case ':':	goto yy6;
	case '?':	goto yy7;
	default:	goto yy12;
	}
yy2:
	YYCURSOR = YYMARKER;
	switch (yyaccept) {
	case 0: 	goto yy4;
	case 1: 	goto yy10;
	}
yy3:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	if (yych >= 0x01) goto yy43;
yy4:
#line 63 "ext/pdo/pdo_sql_parser.re"
	{ SKIP_ONE(PDO_PARSER_TEXT); }
#line 85 "ext/pdo/pdo_sql_parser.c"
yy5:
	yyaccept = 0;
	yych = *(YYMARKER = ++YYCURSOR);
	if (yych <= 0x00) goto yy4;
	goto yy38;
yy6:
	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 yy32;
	case ':':	goto yy35;
	default:	goto yy4;
	}
yy7:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '?':	goto yy29;
	default:	goto yy8;
	}
yy8:
#line 62 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_BIND_POS); }
#line 169 "ext/pdo/pdo_sql_parser.c"
yy9:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case '*':	goto yy19;
	default:	goto yy13;
	}
yy10:
#line 65 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 179 "ext/pdo/pdo_sql_parser.c"
yy11:
	yych = *++YYCURSOR;
	switch (yych) {
	case '-':	goto yy14;
	default:	goto yy13;
	}
yy12:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy13:
	switch (yych) {
	case 0x00:
	case '"':
	case '\'':
	case ':':
	case '?':	goto yy10;
	default:	goto yy12;
	}
yy14:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:
	case '"':
	case '\'':
	case ':':
	case '?':	goto yy17;
	case '\n':
	case '\r':	goto yy12;
	default:	goto yy14;
	}
yy16:
#line 64 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 216 "ext/pdo/pdo_sql_parser.c"
yy17:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '\n':
	case '\r':	goto yy16;
	default:	goto yy17;
	}
yy19:
	yyaccept = 1;
	YYMARKER = ++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:
	case '"':
	case '\'':
	case ':':
	case '?':	goto yy21;
	case '*':	goto yy23;
	default:	goto yy19;
	}
yy21:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '*':	goto yy26;
	default:	goto yy21;
	}
yy23:
	yyaccept = 1;
	YYMARKER = ++YYCURSOR;
	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
	yych = *YYCURSOR;
	switch (yych) {
	case 0x00:
	case '"':
	case '\'':
	case ':':
	case '?':	goto yy21;
	case '*':	goto yy23;
	case '/':	goto yy25;
	default:	goto yy19;
	}
yy25:
	yych = *++YYCURSOR;
	switch (yych) {
	case 0x00:
	case '"':
	case '\'':
	case ':':
	case '?':	goto yy16;
	default:	goto yy12;
	}
yy26:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '*':	goto yy26;
	case '/':	goto yy28;
	default:	goto yy21;
	}
yy28:
	yych = *++YYCURSOR;
	goto yy16;
yy29:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case '?':	goto yy29;
	default:	goto yy31;
	}
yy31:
#line 60 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 296 "ext/pdo/pdo_sql_parser.c"
yy32:
	++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 yy32;
	default:	goto yy34;
	}
yy34:
#line 61 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_BIND); }
#line 370 "ext/pdo/pdo_sql_parser.c"
yy35:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	switch (yych) {
	case ':':	goto yy35;
	default:	goto yy31;
	}
yy37:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy38:
	switch (yych) {
	case 0x00:	goto yy2;
	case '\'':	goto yy40;
	case '\\':	goto yy39;
	default:	goto yy37;
	}
yy39:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	if (yych <= 0x00) goto yy2;
	goto yy37;
yy40:
	++YYCURSOR;
#line 59 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 400 "ext/pdo/pdo_sql_parser.c"
yy42:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy43:
	switch (yych) {
	case 0x00:	goto yy2;
	case '"':	goto yy45;
	case '\\':	goto yy44;
	default:	goto yy42;
	}
yy44:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	if (yych <= 0x00) goto yy2;
	goto yy42;
yy45:
	++YYCURSOR;
#line 58 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 422 "ext/pdo/pdo_sql_parser.c"
}
#line 66 "ext/pdo/pdo_sql_parser.re"

}
示例#2
0
static int scan(Scanner *s) 
{
	char *cursor = s->cur;

	s->tok = cursor;
	#line 55 "ext/pdo/pdo_sql_parser.re"


	
#line 55 "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;
	}
yy2:
	yych = *(YYMARKER = ++YYCURSOR);
	if (yych >= 0x01) goto yy26;
yy3:
#line 63 "ext/pdo/pdo_sql_parser.re"
	{ SKIP_ONE(PDO_PARSER_TEXT); }
#line 75 "ext/pdo/pdo_sql_parser.c"
yy4:
	yych = *(YYMARKER = ++YYCURSOR);
	if (yych <= 0x00) goto yy3;
	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;
	}
yy6:
	++YYCURSOR;
	switch ((yych = *YYCURSOR)) {
	case ':':
	case '?':	goto yy13;
	default:	goto yy7;
	}
yy7:
#line 62 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_BIND_POS); }
#line 160 "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:
#line 64 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 176 "ext/pdo/pdo_sql_parser.c"
yy11:
	++YYCURSOR;
#line 65 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_EOI); }
#line 181 "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:
#line 60 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 194 "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:
#line 61 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_BIND); }
#line 268 "ext/pdo/pdo_sql_parser.c"
yy19:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy20:
	switch (yych) {
	case 0x00:	goto yy21;
	case '\'':	goto yy23;
	case '\\':	goto yy22;
	default:	goto yy19;
	}
yy21:
	YYCURSOR = YYMARKER;
	goto yy3;
yy22:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	if (yych <= 0x00) goto yy21;
	goto yy19;
yy23:
	++YYCURSOR;
#line 59 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 293 "ext/pdo/pdo_sql_parser.c"
yy25:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
yy26:
	switch (yych) {
	case 0x00:	goto yy21;
	case '"':	goto yy28;
	case '\\':	goto yy27;
	default:	goto yy25;
	}
yy27:
	++YYCURSOR;
	if (YYLIMIT <= YYCURSOR) YYFILL(1);
	yych = *YYCURSOR;
	if (yych <= 0x00) goto yy21;
	goto yy25;
yy28:
	++YYCURSOR;
#line 58 "ext/pdo/pdo_sql_parser.re"
	{ RET(PDO_PARSER_TEXT); }
#line 315 "ext/pdo/pdo_sql_parser.c"
}
#line 66 "ext/pdo/pdo_sql_parser.re"
	
}