summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-02-16 17:28:05 +0100
committerNikita Popov <nikita.ppv@gmail.com>2017-02-16 17:28:05 +0100
commit976225ef23c88e519f840e714d30308c6eff463c (patch)
tree77778025f1fb9047e99ae431b8684963e4b16d52
parenta381b61f03ea5f22a513cf0f0d5dd4840dd81aa3 (diff)
parentcf3ef363232af040b9ec63ecd23b603f7acf3751 (diff)
downloadphp-git-976225ef23c88e519f840e714d30308c6eff463c.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
-rw-r--r--ext/standard/url_scanner_ex.c321
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"