|
|
|
@ -1,4 +1,4 @@ |
|
|
|
/* Generated by re2c 0.12.1 on Wed Oct 10 12:28:46 2007 */ |
|
|
|
/* Generated by re2c 0.13.5 on Wed Jul 2 12:48:53 2008 */ |
|
|
|
#line 1 "ext/standard/url_scanner_ex.re" |
|
|
|
/* |
|
|
|
+----------------------------------------------------------------------+ |
|
|
|
@ -109,7 +109,10 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st |
|
|
|
q = (p = url->c) + url->len; |
|
|
|
|
|
|
|
scan: |
|
|
|
|
|
|
|
#line 114 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
@ -145,42 +148,37 @@ scan: |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 149 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
if(yych <= '9') goto yy6; |
|
|
|
if(yych >= ';') goto yy4; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
if (yych <= '9') goto yy6; |
|
|
|
if (yych >= ';') goto yy4; |
|
|
|
++YYCURSOR; |
|
|
|
#line 116 "ext/standard/url_scanner_ex.re" |
|
|
|
{ smart_str_append(dest, url); return; } |
|
|
|
#line 163 "ext/standard/url_scanner_ex.c" |
|
|
|
{ smart_str_append(dest, url); return; } |
|
|
|
#line 162 "ext/standard/url_scanner_ex.c" |
|
|
|
yy4: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 117 "ext/standard/url_scanner_ex.re" |
|
|
|
{ sep = separator; goto scan; } |
|
|
|
#line 168 "ext/standard/url_scanner_ex.c" |
|
|
|
{ sep = separator; goto scan; } |
|
|
|
#line 167 "ext/standard/url_scanner_ex.c" |
|
|
|
yy6: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 118 "ext/standard/url_scanner_ex.re" |
|
|
|
{ bash = p - 1; goto done; } |
|
|
|
#line 173 "ext/standard/url_scanner_ex.c" |
|
|
|
{ bash = p - 1; goto done; } |
|
|
|
#line 172 "ext/standard/url_scanner_ex.c" |
|
|
|
yy8: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
#line 119 "ext/standard/url_scanner_ex.re" |
|
|
|
{ goto scan; } |
|
|
|
#line 183 "ext/standard/url_scanner_ex.c" |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy8; |
|
|
|
} |
|
|
|
#line 119 "ext/standard/url_scanner_ex.re" |
|
|
|
{ goto scan; } |
|
|
|
#line 182 "ext/standard/url_scanner_ex.c" |
|
|
|
} |
|
|
|
#line 120 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
@ -361,7 +359,10 @@ state_plain_begin: |
|
|
|
|
|
|
|
state_plain: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 364 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
@ -396,37 +397,35 @@ state_plain: |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
128, 128, 128, 128, 128, 128, 128, 128, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 401 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
++YYCURSOR; |
|
|
|
#line 299 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } |
|
|
|
#line 412 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } |
|
|
|
#line 409 "ext/standard/url_scanner_ex.c" |
|
|
|
yy15: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
#line 300 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_plain; } |
|
|
|
#line 422 "ext/standard/url_scanner_ex.c" |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
#line 300 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_plain; } |
|
|
|
#line 419 "ext/standard/url_scanner_ex.c" |
|
|
|
} |
|
|
|
#line 301 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
|
|
|
|
state_tag: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 427 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
@ -461,42 +460,37 @@ state_tag: |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 466 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych <= '@') { |
|
|
|
if(yych != ':') goto yy22; |
|
|
|
} else { |
|
|
|
if(yych <= 'Z') goto yy20; |
|
|
|
if(yych <= '`') goto yy22; |
|
|
|
if(yych >= '{') goto yy22; |
|
|
|
} |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych <= '@') { |
|
|
|
if (yych != ':') goto yy22; |
|
|
|
} else { |
|
|
|
if (yych <= 'Z') goto yy20; |
|
|
|
if (yych <= '`') goto yy22; |
|
|
|
if (yych >= '{') goto yy22; |
|
|
|
} |
|
|
|
yy20: |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy25; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy25; |
|
|
|
yy21: |
|
|
|
#line 306 "ext/standard/url_scanner_ex.re" |
|
|
|
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } |
|
|
|
#line 485 "ext/standard/url_scanner_ex.c" |
|
|
|
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } |
|
|
|
#line 480 "ext/standard/url_scanner_ex.c" |
|
|
|
yy22: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 307 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 490 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 485 "ext/standard/url_scanner_ex.c" |
|
|
|
yy24: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy25: |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy24; |
|
|
|
} |
|
|
|
goto yy21; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy24; |
|
|
|
} |
|
|
|
goto yy21; |
|
|
|
} |
|
|
|
#line 308 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
@ -506,7 +500,10 @@ state_next_arg_begin: |
|
|
|
|
|
|
|
state_next_arg: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 505 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 128, 128, 128, 0, 128, 0, 0, |
|
|
|
@ -541,71 +538,69 @@ state_next_arg: |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 546 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych <= ' ') { |
|
|
|
if(yych <= 0x0C) { |
|
|
|
if(yych <= 0x08) goto yy34; |
|
|
|
if(yych <= 0x0B) goto yy30; |
|
|
|
goto yy34; |
|
|
|
} else { |
|
|
|
if(yych <= 0x0D) goto yy30; |
|
|
|
if(yych <= 0x1F) goto yy34; |
|
|
|
goto yy30; |
|
|
|
} |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych <= ' ') { |
|
|
|
if (yych <= '\f') { |
|
|
|
if (yych <= 0x08) goto yy34; |
|
|
|
if (yych <= '\v') goto yy30; |
|
|
|
goto yy34; |
|
|
|
} else { |
|
|
|
if(yych <= '@') { |
|
|
|
if(yych != '>') goto yy34; |
|
|
|
} else { |
|
|
|
if(yych <= 'Z') goto yy32; |
|
|
|
if(yych <= '`') goto yy34; |
|
|
|
if(yych <= 'z') goto yy32; |
|
|
|
goto yy34; |
|
|
|
} |
|
|
|
if (yych <= '\r') goto yy30; |
|
|
|
if (yych <= 0x1F) goto yy34; |
|
|
|
goto yy30; |
|
|
|
} |
|
|
|
++YYCURSOR; |
|
|
|
} else { |
|
|
|
if (yych <= '@') { |
|
|
|
if (yych != '>') goto yy34; |
|
|
|
} else { |
|
|
|
if (yych <= 'Z') goto yy32; |
|
|
|
if (yych <= '`') goto yy34; |
|
|
|
if (yych <= 'z') goto yy32; |
|
|
|
goto yy34; |
|
|
|
} |
|
|
|
} |
|
|
|
++YYCURSOR; |
|
|
|
#line 316 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 574 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 567 "ext/standard/url_scanner_ex.c" |
|
|
|
yy30: |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy37; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy37; |
|
|
|
yy31: |
|
|
|
#line 317 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_next_arg; } |
|
|
|
#line 582 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); goto state_next_arg; } |
|
|
|
#line 575 "ext/standard/url_scanner_ex.c" |
|
|
|
yy32: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 318 "ext/standard/url_scanner_ex.re" |
|
|
|
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; } |
|
|
|
#line 587 "ext/standard/url_scanner_ex.c" |
|
|
|
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; } |
|
|
|
#line 580 "ext/standard/url_scanner_ex.c" |
|
|
|
yy34: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 319 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 592 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; } |
|
|
|
#line 585 "ext/standard/url_scanner_ex.c" |
|
|
|
yy36: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy37: |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy36; |
|
|
|
} |
|
|
|
goto yy31; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy36; |
|
|
|
} |
|
|
|
goto yy31; |
|
|
|
} |
|
|
|
#line 320 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
|
|
|
|
state_arg: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 602 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
@ -640,46 +635,44 @@ state_arg: |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 645 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych <= '@') goto yy42; |
|
|
|
if(yych <= 'Z') goto yy40; |
|
|
|
if(yych <= '`') goto yy42; |
|
|
|
if(yych >= '{') goto yy42; |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych <= '@') goto yy42; |
|
|
|
if (yych <= 'Z') goto yy40; |
|
|
|
if (yych <= '`') goto yy42; |
|
|
|
if (yych >= '{') goto yy42; |
|
|
|
yy40: |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy45; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy45; |
|
|
|
yy41: |
|
|
|
#line 325 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } |
|
|
|
#line 661 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } |
|
|
|
#line 652 "ext/standard/url_scanner_ex.c" |
|
|
|
yy42: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 326 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } |
|
|
|
#line 666 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } |
|
|
|
#line 657 "ext/standard/url_scanner_ex.c" |
|
|
|
yy44: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy45: |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy44; |
|
|
|
} |
|
|
|
goto yy41; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy44; |
|
|
|
} |
|
|
|
goto yy41; |
|
|
|
} |
|
|
|
#line 327 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
|
|
|
|
state_before_val: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 674 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
@ -714,52 +707,47 @@ state_before_val: |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 719 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych == ' ') goto yy48; |
|
|
|
if(yych == '=') goto yy50; |
|
|
|
goto yy52; |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych == ' ') goto yy48; |
|
|
|
if (yych == '=') goto yy50; |
|
|
|
goto yy52; |
|
|
|
yy48: |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if(yych == ' ') goto yy55; |
|
|
|
if(yych == '=') goto yy53; |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if (yych == ' ') goto yy55; |
|
|
|
if (yych == '=') goto yy53; |
|
|
|
yy49: |
|
|
|
#line 333 "ext/standard/url_scanner_ex.re" |
|
|
|
{ --YYCURSOR; goto state_next_arg_begin; } |
|
|
|
#line 734 "ext/standard/url_scanner_ex.c" |
|
|
|
{ --YYCURSOR; goto state_next_arg_begin; } |
|
|
|
#line 723 "ext/standard/url_scanner_ex.c" |
|
|
|
yy50: |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy54; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy54; |
|
|
|
yy51: |
|
|
|
#line 332 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } |
|
|
|
#line 742 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } |
|
|
|
#line 731 "ext/standard/url_scanner_ex.c" |
|
|
|
yy52: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy49; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy49; |
|
|
|
yy53: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy54: |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy53; |
|
|
|
} |
|
|
|
goto yy51; |
|
|
|
yy55: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych == ' ') goto yy55; |
|
|
|
if(yych == '=') goto yy53; |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy49; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy53; |
|
|
|
} |
|
|
|
goto yy51; |
|
|
|
yy55: |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych == ' ') goto yy55; |
|
|
|
if (yych == '=') goto yy53; |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy49; |
|
|
|
} |
|
|
|
#line 334 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
@ -767,7 +755,10 @@ yy55: |
|
|
|
|
|
|
|
state_val: |
|
|
|
start = YYCURSOR; |
|
|
|
|
|
|
|
#line 760 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
static const unsigned char yybm[] = { |
|
|
|
248, 248, 248, 248, 248, 248, 248, 248, |
|
|
|
248, 160, 160, 248, 248, 160, 248, 248, |
|
|
|
@ -802,119 +793,114 @@ state_val: |
|
|
|
248, 248, 248, 248, 248, 248, 248, 248, |
|
|
|
248, 248, 248, 248, 248, 248, 248, 248, |
|
|
|
}; |
|
|
|
|
|
|
|
#line 807 "ext/standard/url_scanner_ex.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych <= ' ') { |
|
|
|
if(yych <= 0x0C) { |
|
|
|
if(yych <= 0x08) goto yy63; |
|
|
|
if(yych <= 0x0A) goto yy64; |
|
|
|
goto yy63; |
|
|
|
} else { |
|
|
|
if(yych <= 0x0D) goto yy64; |
|
|
|
if(yych <= 0x1F) goto yy63; |
|
|
|
goto yy64; |
|
|
|
} |
|
|
|
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych <= ' ') { |
|
|
|
if (yych <= '\f') { |
|
|
|
if (yych <= 0x08) goto yy63; |
|
|
|
if (yych <= '\n') goto yy64; |
|
|
|
goto yy63; |
|
|
|
} else { |
|
|
|
if (yych <= '\r') goto yy64; |
|
|
|
if (yych <= 0x1F) goto yy63; |
|
|
|
goto yy64; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (yych <= '&') { |
|
|
|
if (yych != '"') goto yy63; |
|
|
|
} else { |
|
|
|
if(yych <= '&') { |
|
|
|
if(yych != '"') goto yy63; |
|
|
|
} else { |
|
|
|
if(yych <= '\'') goto yy62; |
|
|
|
if(yych == '>') goto yy64; |
|
|
|
goto yy63; |
|
|
|
} |
|
|
|
if (yych <= '\'') goto yy62; |
|
|
|
if (yych == '>') goto yy64; |
|
|
|
goto yy63; |
|
|
|
} |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
goto yy77; |
|
|
|
} |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
goto yy77; |
|
|
|
yy61: |
|
|
|
#line 342 "ext/standard/url_scanner_ex.re" |
|
|
|
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } |
|
|
|
#line 836 "ext/standard/url_scanner_ex.c" |
|
|
|
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } |
|
|
|
#line 823 "ext/standard/url_scanner_ex.c" |
|
|
|
yy62: |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
goto yy69; |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
goto yy69; |
|
|
|
yy63: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy67; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy67; |
|
|
|
yy64: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 343 "ext/standard/url_scanner_ex.re" |
|
|
|
{ passthru(STD_ARGS); goto state_next_arg_begin; } |
|
|
|
#line 847 "ext/standard/url_scanner_ex.c" |
|
|
|
{ passthru(STD_ARGS); goto state_next_arg_begin; } |
|
|
|
#line 834 "ext/standard/url_scanner_ex.c" |
|
|
|
yy66: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy67: |
|
|
|
if(yybm[0+yych] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
goto yy61; |
|
|
|
if (yybm[0+yych] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
goto yy61; |
|
|
|
yy68: |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy69: |
|
|
|
if(yybm[0+yych] & 16) { |
|
|
|
goto yy68; |
|
|
|
} |
|
|
|
if(yych <= '&') goto yy72; |
|
|
|
if(yych >= '(') goto yy61; |
|
|
|
++YYCURSOR; |
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
if (yybm[0+yych] & 16) { |
|
|
|
goto yy68; |
|
|
|
} |
|
|
|
if (yych <= '&') goto yy72; |
|
|
|
if (yych >= '(') goto yy61; |
|
|
|
++YYCURSOR; |
|
|
|
if (yybm[0+(yych = *YYCURSOR)] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
yy71: |
|
|
|
#line 341 "ext/standard/url_scanner_ex.re" |
|
|
|
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } |
|
|
|
#line 874 "ext/standard/url_scanner_ex.c" |
|
|
|
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } |
|
|
|
#line 861 "ext/standard/url_scanner_ex.c" |
|
|
|
yy72: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 32) { |
|
|
|
goto yy72; |
|
|
|
} |
|
|
|
if(yych <= '=') goto yy75; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 32) { |
|
|
|
goto yy72; |
|
|
|
} |
|
|
|
if (yych <= '=') goto yy75; |
|
|
|
yy74: |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy61; |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy61; |
|
|
|
yy75: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy71; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy71; |
|
|
|
yy76: |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
YYMARKER = ++YYCURSOR; |
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); |
|
|
|
yych = *YYCURSOR; |
|
|
|
yy77: |
|
|
|
if(yybm[0+yych] & 64) { |
|
|
|
goto yy76; |
|
|
|
} |
|
|
|
if(yych <= '!') goto yy80; |
|
|
|
if(yych >= '#') goto yy61; |
|
|
|
++YYCURSOR; |
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
if (yybm[0+yych] & 64) { |
|
|
|
goto yy76; |
|
|
|
} |
|
|
|
if (yych <= '!') goto yy80; |
|
|
|
if (yych >= '#') goto yy61; |
|
|
|
++YYCURSOR; |
|
|
|
if (yybm[0+(yych = *YYCURSOR)] & 8) { |
|
|
|
goto yy66; |
|
|
|
} |
|
|
|
yy79: |
|
|
|
#line 340 "ext/standard/url_scanner_ex.re" |
|
|
|
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } |
|
|
|
#line 906 "ext/standard/url_scanner_ex.c" |
|
|
|
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } |
|
|
|
#line 893 "ext/standard/url_scanner_ex.c" |
|
|
|
yy80: |
|
|
|
++YYCURSOR; |
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yybm[0+yych] & 128) { |
|
|
|
goto yy80; |
|
|
|
} |
|
|
|
if(yych >= '>') goto yy74; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy79; |
|
|
|
++YYCURSOR; |
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yybm[0+yych] & 128) { |
|
|
|
goto yy80; |
|
|
|
} |
|
|
|
if (yych >= '>') goto yy74; |
|
|
|
++YYCURSOR; |
|
|
|
yych = *YYCURSOR; |
|
|
|
goto yy79; |
|
|
|
} |
|
|
|
#line 344 "ext/standard/url_scanner_ex.re" |
|
|
|
|
|
|
|
|