diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-16 17:28:05 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-16 17:28:05 +0100 |
| commit | 976225ef23c88e519f840e714d30308c6eff463c (patch) | |
| tree | 77778025f1fb9047e99ae431b8684963e4b16d52 | |
| parent | a381b61f03ea5f22a513cf0f0d5dd4840dd81aa3 (diff) | |
| parent | cf3ef363232af040b9ec63ecd23b603f7acf3751 (diff) | |
| download | php-git-976225ef23c88e519f840e714d30308c6eff463c.tar.gz | |
Merge branch 'PHP-7.0' into PHP-7.1
| -rw-r--r-- | ext/standard/url_scanner_ex.c | 321 |
1 files changed, 127 insertions, 194 deletions
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index 2433d34e30..4eb989bea3 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.16 */ #line 1 "ext/standard/url_scanner_ex.re" /* +----------------------------------------------------------------------+ @@ -550,26 +550,27 @@ state_plain: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy4; + goto yy2; } - ++YYCURSOR; -#line 519 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } -#line 563 "ext/standard/url_scanner_ex.c" -yy4: + goto yy5; +yy2: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy4; + goto yy2; } #line 520 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain; } -#line 573 "ext/standard/url_scanner_ex.c" +#line 569 "ext/standard/url_scanner_ex.c" +yy5: + ++YYCURSOR; +#line 519 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } +#line 574 "ext/standard/url_scanner_ex.c" } #line 521 "ext/standard/url_scanner_ex.re" @@ -577,7 +578,7 @@ yy4: state_tag: start = YYCURSOR; -#line 581 "ext/standard/url_scanner_ex.c" +#line 582 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -614,37 +615,25 @@ state_tag: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= '@') { - if (yych != ':') goto yy11; - } else { - if (yych <= 'Z') goto yy9; - if (yych <= '`') goto yy11; - if (yych >= '{') goto yy11; + if (yybm[0+yych] & 128) { + goto yy11; } -yy9: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy14; -yy10: -#line 526 "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 634 "ext/standard/url_scanner_ex.c" -yy11: ++YYCURSOR; #line 527 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 639 "ext/standard/url_scanner_ex.c" -yy13: +#line 627 "ext/standard/url_scanner_ex.c" +yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy14: if (yybm[0+yych] & 128) { - goto yy13; + goto yy11; } - goto yy10; +#line 526 "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 637 "ext/standard/url_scanner_ex.c" } #line 528 "ext/standard/url_scanner_ex.re" @@ -655,7 +644,7 @@ state_next_arg_begin: state_next_arg: start = YYCURSOR; -#line 659 "ext/standard/url_scanner_ex.c" +#line 648 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -694,70 +683,49 @@ state_next_arg: }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yych <= '.') { - if (yych <= '\f') { - if (yych <= 0x08) goto yy25; - if (yych <= '\v') goto yy21; - goto yy25; - } else { - if (yych <= '\r') goto yy21; - if (yych == ' ') goto yy21; - goto yy25; - } + if (yybm[0+yych] & 128) { + goto yy18; + } + if (yych <= '>') { + if (yych == '/') goto yy21; + if (yych >= '>') goto yy22; } else { - if (yych <= '@') { - if (yych <= '/') goto yy17; - if (yych == '>') goto yy19; - goto yy25; + if (yych <= 'Z') { + if (yych >= 'A') goto yy24; } else { - if (yych <= 'Z') goto yy23; - if (yych <= '`') goto yy25; - if (yych <= 'z') goto yy23; - goto yy25; + if (yych <= '`') goto yy16; + if (yych <= 'z') goto yy24; } } -yy17: +yy16: ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy28; -yy18: +yy17: #line 539 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 726 "ext/standard/url_scanner_ex.c" -yy19: - ++YYCURSOR; -yy20: -#line 536 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } -#line 732 "ext/standard/url_scanner_ex.c" -yy21: +#line 706 "ext/standard/url_scanner_ex.c" +yy18: ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy27; -yy22: + if (yybm[0+yych] & 128) { + goto yy18; + } #line 537 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_next_arg; } -#line 740 "ext/standard/url_scanner_ex.c" -yy23: - ++YYCURSOR; -#line 538 "ext/standard/url_scanner_ex.re" - { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } -#line 745 "ext/standard/url_scanner_ex.c" -yy25: +#line 716 "ext/standard/url_scanner_ex.c" +yy21: yych = *++YYCURSOR; - goto yy18; -yy26: + if (yych != '>') goto yy17; +yy22: ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; -yy27: - if (yybm[0+yych] & 128) { - goto yy26; - } - goto yy22; -yy28: +#line 536 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } +#line 724 "ext/standard/url_scanner_ex.c" +yy24: ++YYCURSOR; - yych = *YYCURSOR; - goto yy20; +#line 538 "ext/standard/url_scanner_ex.re" + { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } +#line 729 "ext/standard/url_scanner_ex.c" } #line 540 "ext/standard/url_scanner_ex.re" @@ -765,7 +733,7 @@ yy28: state_arg: start = YYCURSOR; -#line 769 "ext/standard/url_scanner_ex.c" +#line 737 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -802,34 +770,27 @@ state_arg: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '@') goto yy33; - if (yych <= 'Z') goto yy31; - if (yych <= '`') goto yy33; - if (yych >= '{') goto yy33; -yy31: - ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy36; -yy32: -#line 545 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } -#line 819 "ext/standard/url_scanner_ex.c" -yy33: + if (yych <= '@') goto yy28; + if (yych <= 'Z') goto yy30; + if (yych <= '`') goto yy28; + if (yych <= 'z') goto yy30; +yy28: ++YYCURSOR; #line 546 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } -#line 824 "ext/standard/url_scanner_ex.c" -yy35: +#line 784 "ext/standard/url_scanner_ex.c" +yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy36: if (yybm[0+yych] & 128) { - goto yy35; + goto yy30; } - goto yy32; +#line 545 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } +#line 794 "ext/standard/url_scanner_ex.c" } #line 547 "ext/standard/url_scanner_ex.re" @@ -837,7 +798,7 @@ yy36: state_before_val: start = YYCURSOR; -#line 841 "ext/standard/url_scanner_ex.c" +#line 802 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -876,45 +837,35 @@ state_before_val: }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yych == ' ') goto yy39; - if (yych == '=') goto yy41; - goto yy43; -yy39: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ' ') goto yy46; - if (yych == '=') goto yy44; -yy40: + if (yych == ' ') goto yy37; + if (yych == '=') goto yy38; + ++YYCURSOR; +yy36: #line 553 "ext/standard/url_scanner_ex.re" { --YYCURSOR; goto state_next_arg_begin; } -#line 890 "ext/standard/url_scanner_ex.c" -yy41: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy45; -yy42: -#line 552 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } -#line 898 "ext/standard/url_scanner_ex.c" -yy43: - yych = *++YYCURSOR; - goto yy40; -yy44: +#line 847 "ext/standard/url_scanner_ex.c" +yy37: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == ' ') goto yy41; + if (yych != '=') goto yy36; +yy38: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy45: if (yybm[0+yych] & 128) { - goto yy44; + goto yy38; } - goto yy42; -yy46: +#line 552 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } +#line 861 "ext/standard/url_scanner_ex.c" +yy41: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == ' ') goto yy46; - if (yych == '=') goto yy44; + if (yych == ' ') goto yy41; + if (yych == '=') goto yy38; YYCURSOR = YYMARKER; - goto yy40; + goto yy36; } #line 554 "ext/standard/url_scanner_ex.re" @@ -923,7 +874,7 @@ yy46: state_val: start = YYCURSOR; -#line 927 "ext/standard/url_scanner_ex.c" +#line 878 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -931,7 +882,7 @@ state_val: 224, 192, 192, 224, 224, 192, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 192, 224, 64, 224, 224, 224, 224, 128, + 192, 224, 128, 224, 224, 224, 224, 64, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 0, 224, @@ -962,85 +913,67 @@ state_val: }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yych <= ' ') { - if (yych <= '\f') { - if (yych <= 0x08) goto yy54; - if (yych <= '\n') goto yy56; - goto yy54; - } else { - if (yych <= '\r') goto yy56; - if (yych <= 0x1F) goto yy54; - goto yy56; - } - } else { - if (yych <= '&') { - if (yych != '"') goto yy54; - } else { - if (yych <= '\'') goto yy53; - if (yych == '>') goto yy56; - goto yy54; - } + if (yybm[0+yych] & 32) { + goto yy46; } - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '>') goto yy65; -yy52: -#line 563 "ext/standard/url_scanner_ex.re" - { passthru(STD_ARGS); goto state_next_arg_begin; } -#line 990 "ext/standard/url_scanner_ex.c" -yy53: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '>') goto yy52; - goto yy60; -yy54: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy58; -yy55: -#line 562 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } -#line 1002 "ext/standard/url_scanner_ex.c" -yy56: - yych = *++YYCURSOR; - goto yy52; -yy57: + if (yych <= ' ') goto yy49; + if (yych <= '"') goto yy51; + if (yych <= '\'') goto yy52; + goto yy49; +yy46: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy58: if (yybm[0+yych] & 32) { - goto yy57; + goto yy46; } - goto yy55; -yy59: +#line 562 "ext/standard/url_scanner_ex.re" + { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } +#line 933 "ext/standard/url_scanner_ex.c" +yy49: + ++YYCURSOR; +yy50: +#line 563 "ext/standard/url_scanner_ex.re" + { passthru(STD_ARGS); goto state_next_arg_begin; } +#line 939 "ext/standard/url_scanner_ex.c" +yy51: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '>') goto yy50; + goto yy54; +yy52: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '>') goto yy50; + goto yy59; +yy53: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy60: +yy54: if (yybm[0+yych] & 64) { - goto yy59; + goto yy53; } - if (yych <= '=') goto yy62; -yy61: + if (yych <= '"') goto yy56; +yy55: YYCURSOR = YYMARKER; - goto yy52; -yy62: + goto yy50; +yy56: ++YYCURSOR; -#line 561 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } -#line 1031 "ext/standard/url_scanner_ex.c" -yy64: +#line 560 "ext/standard/url_scanner_ex.re" + { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } +#line 964 "ext/standard/url_scanner_ex.c" +yy58: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy65: +yy59: if (yybm[0+yych] & 128) { - goto yy64; + goto yy58; } - if (yych >= '>') goto yy61; + if (yych >= '(') goto yy55; ++YYCURSOR; -#line 560 "ext/standard/url_scanner_ex.re" - { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } -#line 1044 "ext/standard/url_scanner_ex.c" +#line 561 "ext/standard/url_scanner_ex.re" + { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } +#line 977 "ext/standard/url_scanner_ex.c" } #line 564 "ext/standard/url_scanner_ex.re" |
