com php-src: Fixed bug #74300: NEWS Zend/zend_language_scan ner.c ext/standard/tests/serialize/bug74300.php t ext/standard/var_unserializer.c ext/standard/var_un serializer.re
[email protected] (Nikita Popov)
| Newsgroups | php.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 6a1d4cd47a6ff20ae1619e0f8ec6de1eaa869258 Author: xKhorasan <[email protected]> Thu, 23 Mar 2017 23:56:17 +0900 Committer: Nikita Popov <[email protected]> Thu, 23 Mar 2017 22:06:46 +0100 Parents: 819e66599a20987b6f3ac3af4092978115b7ded1 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6a1d4cd47a6ff20ae1619e0f8ec6de1eaa869258 Log: Fixed bug #74300 Bugs: https://bugs.php.net/74300 Changed paths: M NEWS M Zend/zend_language_scanner.c A ext/standard/tests/serialize/bug74300.phpt M ext/standard/var_unserializer.c M ext/standard/var_unserializer.re
diff_6a1d4cd47a6ff20ae1619e0f8ec6de1eaa869258.txt
(text/plain, 60.4 KB)
diff --git a/NEWS b/NEWS
index 1783736..847d527 100644
--- a/NEWS
+++ b/NEWS
@@ -157,6 +157,8 @@ PHP NEWS
. Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph)
. Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter)
. Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter)
+ . Fixed bug #74300 (unserialize accepts two plus/minus signs for float number exponent part).
+ (xKerman)
- XML:
. Moved utf8_encode() and utf8_decode() to the Standard extension. (Andrea)
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 844124e..d52ed3e 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1160,7 +1160,7 @@ yyc_INITIAL:
yy4:
YYDEBUG(4, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1804 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
@@ -1221,7 +1221,7 @@ yy5:
yy7:
YYDEBUG(7, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1795 "Zend/zend_language_scanner.l"
+#line 1796 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
BEGIN(ST_IN_SCRIPTING);
@@ -1236,7 +1236,7 @@ yy8:
++YYCURSOR;
YYDEBUG(9, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1782 "Zend/zend_language_scanner.l"
+#line 1783 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
@@ -1272,7 +1272,7 @@ yy14:
yy15:
YYDEBUG(15, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1788 "Zend/zend_language_scanner.l"
+#line 1789 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
@@ -1335,7 +1335,7 @@ yyc_ST_BACKQUOTE:
yy20:
YYDEBUG(20, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2217 "Zend/zend_language_scanner.l"
+#line 2218 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
@@ -1400,7 +1400,7 @@ yy22:
++YYCURSOR;
YYDEBUG(23, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2161 "Zend/zend_language_scanner.l"
+#line 2162 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN('`');
@@ -1426,7 +1426,7 @@ yy25:
yy27:
YYDEBUG(27, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
+#line 1870 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
RETURN_TOKEN(T_VARIABLE);
@@ -1437,7 +1437,7 @@ yy28:
++YYCURSOR;
YYDEBUG(29, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
@@ -1448,7 +1448,7 @@ yy30:
++YYCURSOR;
YYDEBUG(31, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2148 "Zend/zend_language_scanner.l"
+#line 2149 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
@@ -1469,7 +1469,7 @@ yy34:
++YYCURSOR;
YYDEBUG(35, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1862 "Zend/zend_language_scanner.l"
+#line 1863 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
@@ -1494,7 +1494,7 @@ yy37:
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1854 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
@@ -1554,7 +1554,7 @@ yyc_ST_DOUBLE_QUOTES:
yy42:
YYDEBUG(42, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2167 "Zend/zend_language_scanner.l"
+#line 2168 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1609,7 +1609,7 @@ yy43:
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2156 "Zend/zend_language_scanner.l"
+#line 2157 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN('"');
@@ -1653,7 +1653,7 @@ yy47:
yy49:
YYDEBUG(49, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
+#line 1870 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
RETURN_TOKEN(T_VARIABLE);
@@ -1664,7 +1664,7 @@ yy50:
++YYCURSOR;
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
@@ -1675,7 +1675,7 @@ yy52:
++YYCURSOR;
YYDEBUG(53, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2148 "Zend/zend_language_scanner.l"
+#line 2149 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
@@ -1696,7 +1696,7 @@ yy56:
++YYCURSOR;
YYDEBUG(57, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1862 "Zend/zend_language_scanner.l"
+#line 1863 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
@@ -1721,7 +1721,7 @@ yy59:
++YYCURSOR;
YYDEBUG(60, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1854 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
@@ -1739,7 +1739,7 @@ yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(64, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2134 "Zend/zend_language_scanner.l"
+#line 2135 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
@@ -1800,7 +1800,7 @@ yyc_ST_HEREDOC:
yy68:
YYDEBUG(68, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2259 "Zend/zend_language_scanner.l"
+#line 2260 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -1912,7 +1912,7 @@ yy71:
yy73:
YYDEBUG(73, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
+#line 1870 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
RETURN_TOKEN(T_VARIABLE);
@@ -1923,7 +1923,7 @@ yy74:
++YYCURSOR;
YYDEBUG(75, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME);
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
@@ -1934,7 +1934,7 @@ yy76:
++YYCURSOR;
YYDEBUG(77, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2148 "Zend/zend_language_scanner.l"
+#line 2149 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (zend_long) '{';
yy_push_state(ST_IN_SCRIPTING);
@@ -1955,7 +1955,7 @@ yy80:
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1862 "Zend/zend_language_scanner.l"
+#line 1863 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET);
@@ -1980,7 +1980,7 @@ yy83:
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1854 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY);
@@ -2156,7 +2156,7 @@ yy87:
++YYCURSOR;
YYDEBUG(88, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2390 "Zend/zend_language_scanner.l"
+#line 2391 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
@@ -2177,7 +2177,7 @@ yy89:
}
YYDEBUG(91, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1291 "Zend/zend_language_scanner.l"
+#line 1292 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINES(yytext, yyleng);
RETURN_TOKEN(T_WHITESPACE);
@@ -2190,7 +2190,7 @@ yy92:
yy93:
YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1576 "Zend/zend_language_scanner.l"
+#line 1577 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(yytext[0]);
}
@@ -2200,7 +2200,7 @@ yy94:
++YYCURSOR;
YYDEBUG(95, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2038 "Zend/zend_language_scanner.l"
+#line 2039 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -2247,7 +2247,7 @@ yy96:
++YYCURSOR;
YYDEBUG(97, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1898 "Zend/zend_language_scanner.l"
+#line 1899 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
@@ -2307,7 +2307,7 @@ yy101:
++YYCURSOR;
YYDEBUG(102, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1969 "Zend/zend_language_scanner.l"
+#line 1970 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
@@ -2505,7 +2505,7 @@ yy110:
yy111:
YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1646 "Zend/zend_language_scanner.l"
+#line 1647 "Zend/zend_language_scanner.l"
{
char *end;
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
@@ -2631,7 +2631,7 @@ yy119:
yy120:
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1892 "Zend/zend_language_scanner.l"
+#line 1893 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
RETURN_TOKEN(T_STRING);
@@ -2921,7 +2921,7 @@ yy142:
++YYCURSOR;
YYDEBUG(143, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1316 "Zend/zend_language_scanner.l"
+#line 1317 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_NS_SEPARATOR);
}
@@ -2941,7 +2941,7 @@ yy146:
++YYCURSOR;
YYDEBUG(147, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2128 "Zend/zend_language_scanner.l"
+#line 2129 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
RETURN_TOKEN('`');
@@ -2952,7 +2952,7 @@ yy148:
++YYCURSOR;
YYDEBUG(149, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1581 "Zend/zend_language_scanner.l"
+#line 1582 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING);
RETURN_TOKEN('{');
@@ -2969,7 +2969,7 @@ yy151:
++YYCURSOR;
YYDEBUG(152, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1593 "Zend/zend_language_scanner.l"
+#line 1594 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2985,7 +2985,7 @@ yy153:
yy154:
YYDEBUG(154, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1480 "Zend/zend_language_scanner.l"
+#line 1481 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_NOT_EQUAL);
}
@@ -3014,7 +3014,7 @@ yy155:
yy157:
YYDEBUG(157, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
+#line 1870 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
RETURN_TOKEN(T_VARIABLE);
@@ -3025,7 +3025,7 @@ yy158:
++YYCURSOR;
YYDEBUG(159, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1524 "Zend/zend_language_scanner.l"
+#line 1525 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_MOD_EQUAL);
}
@@ -3035,7 +3035,7 @@ yy160:
++YYCURSOR;
YYDEBUG(161, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1552 "Zend/zend_language_scanner.l"
+#line 1553 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_BOOLEAN_AND);
}
@@ -3045,7 +3045,7 @@ yy162:
++YYCURSOR;
YYDEBUG(163, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1536 "Zend/zend_language_scanner.l"
+#line 1537 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_AND_EQUAL);
}
@@ -3179,7 +3179,7 @@ yy176:
if ((yych = *YYCURSOR) == '=') goto yy289;
YYDEBUG(177, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1508 "Zend/zend_language_scanner.l"
+#line 1509 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_POW);
}
@@ -3189,7 +3189,7 @@ yy178:
++YYCURSOR;
YYDEBUG(179, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1504 "Zend/zend_language_scanner.l"
+#line 1505 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_MUL_EQUAL);
}
@@ -3199,7 +3199,7 @@ yy180:
++YYCURSOR;
YYDEBUG(181, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1460 "Zend/zend_language_scanner.l"
+#line 1461 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INC);
}
@@ -3209,7 +3209,7 @@ yy182:
++YYCURSOR;
YYDEBUG(183, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1496 "Zend/zend_language_scanner.l"
+#line 1497 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PLUS_EQUAL);
}
@@ -3219,7 +3219,7 @@ yy184:
++YYCURSOR;
YYDEBUG(185, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1464 "Zend/zend_language_scanner.l"
+#line 1465 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DEC);
}
@@ -3229,7 +3229,7 @@ yy186:
++YYCURSOR;
YYDEBUG(187, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1500 "Zend/zend_language_scanner.l"
+#line 1501 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_MINUS_EQUAL);
}
@@ -3239,7 +3239,7 @@ yy188:
++YYCURSOR;
YYDEBUG(189, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1286 "Zend/zend_language_scanner.l"
+#line 1287 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_PROPERTY);
RETURN_TOKEN(T_OBJECT_OPERATOR);
@@ -3267,7 +3267,7 @@ yy191:
yy193:
YYDEBUG(193, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1740 "Zend/zend_language_scanner.l"
+#line 1741 "Zend/zend_language_scanner.l"
{
const char *end;
@@ -3282,7 +3282,7 @@ yy194:
++YYCURSOR;
YYDEBUG(195, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1520 "Zend/zend_language_scanner.l"
+#line 1521 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CONCAT_EQUAL);
}
@@ -3295,7 +3295,7 @@ yy196:
yy197:
YYDEBUG(197, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1927 "Zend/zend_language_scanner.l"
+#line 1928 "Zend/zend_language_scanner.l"
{
int doc_com;
@@ -3334,7 +3334,7 @@ yy198:
++YYCURSOR;
YYDEBUG(199, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1516 "Zend/zend_language_scanner.l"
+#line 1517 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DIV_EQUAL);
}
@@ -3370,7 +3370,7 @@ yy203:
++YYCURSOR;
YYDEBUG(204, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1312 "Zend/zend_language_scanner.l"
+#line 1313 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
}
@@ -3385,7 +3385,7 @@ yy205:
yy206:
YYDEBUG(206, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1568 "Zend/zend_language_scanner.l"
+#line 1569 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SL);
}
@@ -3396,7 +3396,7 @@ yy207:
if ((yych = *YYCURSOR) == '>') goto yy307;
YYDEBUG(208, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1488 "Zend/zend_language_scanner.l"
+#line 1489 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
}
@@ -3411,7 +3411,7 @@ yy210:
if ((yych = *YYCURSOR) == '=') goto yy309;
YYDEBUG(211, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1476 "Zend/zend_language_scanner.l"
+#line 1477 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_EQUAL);
}
@@ -3421,7 +3421,7 @@ yy212:
++YYCURSOR;
YYDEBUG(213, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1444 "Zend/zend_language_scanner.l"
+#line 1445 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DOUBLE_ARROW);
}
@@ -3431,7 +3431,7 @@ yy214:
++YYCURSOR;
YYDEBUG(215, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1492 "Zend/zend_language_scanner.l"
+#line 1493 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
}
@@ -3442,7 +3442,7 @@ yy216:
if ((yych = *YYCURSOR) == '=') goto yy311;
YYDEBUG(217, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1572 "Zend/zend_language_scanner.l"
+#line 1573 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SR);
}
@@ -3455,7 +3455,7 @@ yy218:
yy219:
YYDEBUG(219, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1960 "Zend/zend_language_scanner.l"
+#line 1961 "Zend/zend_language_scanner.l"
{
BEGIN(INITIAL);
if (yytext[yyleng-1] != '>') {
@@ -3469,7 +3469,7 @@ yy220:
++YYCURSOR;
YYDEBUG(221, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1324 "Zend/zend_language_scanner.l"
+#line 1325 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_COALESCE);
}
@@ -3500,7 +3500,7 @@ yy225:
}
YYDEBUG(226, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1226 "Zend/zend_language_scanner.l"
+#line 1227 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_AS);
}
@@ -3590,7 +3590,7 @@ yy234:
}
YYDEBUG(235, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1194 "Zend/zend_language_scanner.l"
+#line 1195 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DO);
}
@@ -3679,7 +3679,7 @@ yy247:
}
YYDEBUG(248, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1170 "Zend/zend_language_scanner.l"
+#line 1171 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IF);
}
@@ -3744,7 +3744,7 @@ yy255:
}
YYDEBUG(256, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1556 "Zend/zend_language_scanner.l"
+#line 1557 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LOGICAL_OR);
}
@@ -3862,7 +3862,7 @@ yy270:
++YYCURSOR;
YYDEBUG(271, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1544 "Zend/zend_language_scanner.l"
+#line 1545 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_XOR_EQUAL);
}
@@ -3894,7 +3894,7 @@ yy273:
++YYCURSOR;
YYDEBUG(274, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1540 "Zend/zend_language_scanner.l"
+#line 1541 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_OR_EQUAL);
}
@@ -3904,7 +3904,7 @@ yy275:
++YYCURSOR;
YYDEBUG(276, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1548 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_BOOLEAN_OR);
}
@@ -3914,7 +3914,7 @@ yy277:
++YYCURSOR;
YYDEBUG(278, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1472 "Zend/zend_language_scanner.l"
+#line 1473 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_NOT_IDENTICAL);
}
@@ -3984,7 +3984,7 @@ yy289:
++YYCURSOR;
YYDEBUG(290, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1512 "Zend/zend_language_scanner.l"
+#line 1513 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_POW_EQUAL);
}
@@ -3994,7 +3994,7 @@ yy291:
++YYCURSOR;
YYDEBUG(292, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1320 "Zend/zend_language_scanner.l"
+#line 1321 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ELLIPSIS);
}
@@ -4022,7 +4022,7 @@ yy294:
}
YYDEBUG(296, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1618 "Zend/zend_language_scanner.l"
+#line 1619 "Zend/zend_language_scanner.l"
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
@@ -4076,7 +4076,7 @@ yy300:
}
YYDEBUG(302, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1692 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
@@ -4139,7 +4139,7 @@ yy305:
++YYCURSOR;
YYDEBUG(306, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1528 "Zend/zend_language_scanner.l"
+#line 1529 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SL_EQUAL);
}
@@ -4149,7 +4149,7 @@ yy307:
++YYCURSOR;
YYDEBUG(308, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1484 "Zend/zend_language_scanner.l"
+#line 1485 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SPACESHIP);
}
@@ -4159,7 +4159,7 @@ yy309:
++YYCURSOR;
YYDEBUG(310, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1468 "Zend/zend_language_scanner.l"
+#line 1469 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IS_IDENTICAL);
}
@@ -4169,7 +4169,7 @@ yy311:
++YYCURSOR;
YYDEBUG(312, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1532 "Zend/zend_language_scanner.l"
+#line 1533 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SR_EQUAL);
}
@@ -4197,7 +4197,7 @@ yy316:
}
YYDEBUG(317, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1560 "Zend/zend_language_scanner.l"
+#line 1561 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LOGICAL_AND);
}
@@ -4368,7 +4368,7 @@ yy339:
yy340:
YYDEBUG(340, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1198 "Zend/zend_language_scanner.l"
+#line 1199 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FOR);
}
@@ -4441,7 +4441,7 @@ yy351:
}
YYDEBUG(352, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1328 "Zend/zend_language_scanner.l"
+#line 1329 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_NEW);
}
@@ -4518,7 +4518,7 @@ yy362:
}
YYDEBUG(363, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1154 "Zend/zend_language_scanner.l"
+#line 1155 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_TRY);
}
@@ -4537,7 +4537,7 @@ yy365:
}
YYDEBUG(366, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1392 "Zend/zend_language_scanner.l"
+#line 1393 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_USE);
}
@@ -4550,7 +4550,7 @@ yy367:
}
YYDEBUG(368, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1336 "Zend/zend_language_scanner.l"
+#line 1337 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_VAR);
}
@@ -4569,7 +4569,7 @@ yy370:
}
YYDEBUG(371, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1564 "Zend/zend_language_scanner.l"
+#line 1565 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LOGICAL_XOR);
}
@@ -4787,7 +4787,7 @@ yy401:
}
YYDEBUG(402, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1238 "Zend/zend_language_scanner.l"
+#line 1239 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CASE);
}
@@ -4842,7 +4842,7 @@ yy410:
}
YYDEBUG(411, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1258 "Zend/zend_language_scanner.l"
+#line 1259 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ECHO);
}
@@ -4870,7 +4870,7 @@ yy412:
yy413:
YYDEBUG(413, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1182 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ELSE);
}
@@ -4919,7 +4919,7 @@ yy420:
}
YYDEBUG(421, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1368 "Zend/zend_language_scanner.l"
+#line 1369 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_EVAL);
}
@@ -4975,7 +4975,7 @@ yy429:
}
YYDEBUG(430, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1254 "Zend/zend_language_scanner.l"
+#line 1255 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_GOTO);
}
@@ -5028,7 +5028,7 @@ yy436:
}
YYDEBUG(437, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1448 "Zend/zend_language_scanner.l"
+#line 1449 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LIST);
}
@@ -5219,7 +5219,7 @@ yy467:
++YYCURSOR;
YYDEBUG(469, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1340 "Zend/zend_language_scanner.l"
+#line 1341 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INT_CAST);
}
@@ -5320,7 +5320,7 @@ yy480:
yy481:
YYDEBUG(481, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2080 "Zend/zend_language_scanner.l"
+#line 2081 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -5387,7 +5387,7 @@ yy484:
}
YYDEBUG(485, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1452 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ARRAY);
}
@@ -5400,7 +5400,7 @@ yy486:
}
YYDEBUG(487, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1246 "Zend/zend_language_scanner.l"
+#line 1247 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_BREAK);
}
@@ -5419,7 +5419,7 @@ yy489:
}
YYDEBUG(490, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1158 "Zend/zend_language_scanner.l"
+#line 1159 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CATCH);
}
@@ -5432,7 +5432,7 @@ yy491:
}
YYDEBUG(492, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1266 "Zend/zend_language_scanner.l"
+#line 1267 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CLASS);
}
@@ -5445,7 +5445,7 @@ yy493:
}
YYDEBUG(494, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1332 "Zend/zend_language_scanner.l"
+#line 1333 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CLONE);
}
@@ -5495,7 +5495,7 @@ yy501:
}
YYDEBUG(502, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1408 "Zend/zend_language_scanner.l"
+#line 1409 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_EMPTY);
}
@@ -5520,7 +5520,7 @@ yy505:
}
YYDEBUG(506, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1178 "Zend/zend_language_scanner.l"
+#line 1179 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDIF);
}
@@ -5566,7 +5566,7 @@ yy510:
yy511:
YYDEBUG(511, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1424 "Zend/zend_language_scanner.l"
+#line 1425 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FINAL);
}
@@ -5627,7 +5627,7 @@ yy520:
}
YYDEBUG(521, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1404 "Zend/zend_language_scanner.l"
+#line 1405 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ISSET);
}
@@ -5646,7 +5646,7 @@ yy523:
}
YYDEBUG(524, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1262 "Zend/zend_language_scanner.l"
+#line 1263 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PRINT);
}
@@ -5701,7 +5701,7 @@ yy532:
}
YYDEBUG(533, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1166 "Zend/zend_language_scanner.l"
+#line 1167 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_THROW);
}
@@ -5714,7 +5714,7 @@ yy534:
}
YYDEBUG(535, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1274 "Zend/zend_language_scanner.l"
+#line 1275 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_TRAIT);
}
@@ -5727,7 +5727,7 @@ yy536:
}
YYDEBUG(537, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1440 "Zend/zend_language_scanner.l"
+#line 1441 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_UNSET);
}
@@ -5740,7 +5740,7 @@ yy538:
}
YYDEBUG(539, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1186 "Zend/zend_language_scanner.l"
+#line 1187 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_WHILE);
}
@@ -5762,7 +5762,7 @@ yy540:
yy541:
YYDEBUG(541, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1150 "Zend/zend_language_scanner.l"
+#line 1151 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_YIELD);
}
@@ -5858,7 +5858,7 @@ yy555:
++YYCURSOR;
YYDEBUG(557, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1360 "Zend/zend_language_scanner.l"
+#line 1361 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_BOOL_CAST);
}
@@ -5892,7 +5892,7 @@ yy562:
++YYCURSOR;
YYDEBUG(563, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1344 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DOUBLE_CAST);
}
@@ -5961,7 +5961,7 @@ yy573:
}
YYDEBUG(574, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1174 "Zend/zend_language_scanner.l"
+#line 1175 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ELSEIF);
}
@@ -5995,7 +5995,7 @@ yy576:
yy577:
YYDEBUG(577, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1202 "Zend/zend_language_scanner.l"
+#line 1203 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDFOR);
}
@@ -6044,7 +6044,7 @@ yy584:
}
YYDEBUG(585, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1400 "Zend/zend_language_scanner.l"
+#line 1401 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_GLOBAL);
}
@@ -6105,7 +6105,7 @@ yy594:
}
YYDEBUG(595, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1436 "Zend/zend_language_scanner.l"
+#line 1437 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PUBLIC);
}
@@ -6137,7 +6137,7 @@ yy599:
}
YYDEBUG(600, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1416 "Zend/zend_language_scanner.l"
+#line 1417 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_STATIC);
}
@@ -6150,7 +6150,7 @@ yy601:
}
YYDEBUG(602, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1230 "Zend/zend_language_scanner.l"
+#line 1231 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_SWITCH);
}
@@ -6158,7 +6158,7 @@ yy601:
yy603:
YYDEBUG(603, *YYCURSOR);
++YYCURSOR;
- YYFILL(4);
+ YYFILL(5);
yych = *YYCURSOR;
YYDEBUG(604, *YYCURSOR);
if (yych <= 0x1F) {
@@ -6234,7 +6234,7 @@ yy614:
++YYCURSOR;
YYDEBUG(615, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1352 "Zend/zend_language_scanner.l"
+#line 1353 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ARRAY_CAST);
}
@@ -6284,7 +6284,7 @@ yy622:
++YYCURSOR;
YYDEBUG(623, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1364 "Zend/zend_language_scanner.l"
+#line 1365 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_UNSET_CAST);
}
@@ -6315,7 +6315,7 @@ yy627:
}
YYDEBUG(628, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1214 "Zend/zend_language_scanner.l"
+#line 1215 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DECLARE);
}
@@ -6328,7 +6328,7 @@ yy629:
}
YYDEBUG(630, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1242 "Zend/zend_language_scanner.l"
+#line 1243 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DEFAULT);
}
@@ -6365,7 +6365,7 @@ yy635:
}
YYDEBUG(636, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1278 "Zend/zend_language_scanner.l"
+#line 1279 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_EXTENDS);
}
@@ -6378,7 +6378,7 @@ yy637:
}
YYDEBUG(638, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1162 "Zend/zend_language_scanner.l"
+#line 1163 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FINALLY);
}
@@ -6391,7 +6391,7 @@ yy639:
}
YYDEBUG(640, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1206 "Zend/zend_language_scanner.l"
+#line 1207 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FOREACH);
}
@@ -6429,7 +6429,7 @@ yy643:
yy644:
YYDEBUG(644, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1372 "Zend/zend_language_scanner.l"
+#line 1373 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INCLUDE);
}
@@ -6466,7 +6466,7 @@ yy649:
}
YYDEBUG(650, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1429 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PRIVATE);
}
@@ -6498,7 +6498,7 @@ yy652:
yy653:
YYDEBUG(653, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1380 "Zend/zend_language_scanner.l"
+#line 1381 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_REQUIRE);
}
@@ -6522,7 +6522,7 @@ yy656:
}
YYDEBUG(657, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1773 "Zend/zend_language_scanner.l"
+#line 1774 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_DIR);
}
@@ -6571,7 +6571,7 @@ yy665:
++YYCURSOR;
YYDEBUG(666, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1348 "Zend/zend_language_scanner.l"
+#line 1349 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_STRING_CAST);
}
@@ -6581,7 +6581,7 @@ yy667:
++YYCURSOR;
YYDEBUG(668, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1356 "Zend/zend_language_scanner.l"
+#line 1357 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_OBJECT_CAST);
}
@@ -6594,7 +6594,7 @@ yy669:
}
YYDEBUG(670, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1420 "Zend/zend_language_scanner.l"
+#line 1421 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ABSTRACT);
}
@@ -6607,7 +6607,7 @@ yy671:
}
YYDEBUG(672, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1456 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CALLABLE);
}
@@ -6620,7 +6620,7 @@ yy673:
}
YYDEBUG(674, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1250 "Zend/zend_language_scanner.l"
+#line 1251 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CONTINUE);
}
@@ -6651,7 +6651,7 @@ yy678:
}
YYDEBUG(679, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1190 "Zend/zend_language_scanner.l"
+#line 1191 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDWHILE);
}
@@ -6736,7 +6736,7 @@ yy692:
}
YYDEBUG(693, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1769 "Zend/zend_language_scanner.l"
+#line 1770 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FILE);
}
@@ -6761,7 +6761,7 @@ yy696:
}
YYDEBUG(697, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1765 "Zend/zend_language_scanner.l"
+#line 1766 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_LINE);
}
@@ -6802,7 +6802,7 @@ yy703:
}
YYDEBUG(704, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1234 "Zend/zend_language_scanner.l"
+#line 1235 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDSWITCH);
}
@@ -6833,7 +6833,7 @@ yy708:
}
YYDEBUG(709, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1396 "Zend/zend_language_scanner.l"
+#line 1397 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INSTEADOF);
}
@@ -6846,7 +6846,7 @@ yy710:
}
YYDEBUG(711, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1270 "Zend/zend_language_scanner.l"
+#line 1271 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INTERFACE);
}
@@ -6859,7 +6859,7 @@ yy712:
}
YYDEBUG(713, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1388 "Zend/zend_language_scanner.l"
+#line 1389 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_NAMESPACE);
}
@@ -6872,7 +6872,7 @@ yy714:
}
YYDEBUG(715, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1432 "Zend/zend_language_scanner.l"
+#line 1433 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_PROTECTED);
}
@@ -6897,7 +6897,7 @@ yy718:
}
YYDEBUG(719, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1749 "Zend/zend_language_scanner.l"
+#line 1750 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_CLASS_C);
}
@@ -6905,25 +6905,25 @@ yy718:
yy720:
YYDEBUG(720, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy738;
- if (yych == 'n') goto yy738;
+ if (yych == 'N') goto yy737;
+ if (yych == 'n') goto yy737;
goto yy128;
yy721:
YYDEBUG(721, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy739;
- if (yych == 'm') goto yy739;
+ if (yych == 'M') goto yy738;
+ if (yych == 'm') goto yy738;
goto yy128;
yy722:
YYDEBUG(722, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy740;
+ if (yych == '_') goto yy739;
goto yy128;
yy723:
YYDEBUG(723, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy742;
- if (yych == 'c') goto yy742;
+ if (yych == 'C') goto yy741;
+ if (yych == 'c') goto yy741;
goto yy128;
yy724:
YYDEBUG(724, *YYCURSOR);
@@ -6933,7 +6933,7 @@ yy724:
}
YYDEBUG(725, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1753 "Zend/zend_language_scanner.l"
+#line 1754 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_TRAIT_C);
}
@@ -6946,7 +6946,7 @@ yy726:
}
YYDEBUG(727, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1218 "Zend/zend_language_scanner.l"
+#line 1219 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDDECLARE);
}
@@ -6959,7 +6959,7 @@ yy728:
}
YYDEBUG(729, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1210 "Zend/zend_language_scanner.l"
+#line 1211 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_ENDFOREACH);
}
@@ -6972,7 +6972,7 @@ yy730:
}
YYDEBUG(731, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1282 "Zend/zend_language_scanner.l"
+#line 1283 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_IMPLEMENTS);
}
@@ -6980,8 +6980,8 @@ yy730:
yy732:
YYDEBUG(732, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy743;
- if (yych == 'c') goto yy743;
+ if (yych == 'C') goto yy742;
+ if (yych == 'c') goto yy742;
goto yy128;
yy733:
YYDEBUG(733, *YYCURSOR);
@@ -6991,7 +6991,7 @@ yy733:
}
YYDEBUG(734, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1222 "Zend/zend_language_scanner.l"
+#line 1223 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INSTANCEOF);
}
@@ -6999,165 +6999,188 @@ yy733:
yy735:
YYDEBUG(735, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy744;
- if (yych == 'c') goto yy744;
+ if (yych == 'C') goto yy743;
+ if (yych == 'c') goto yy743;
goto yy128;
yy736:
YYDEBUG(736, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= '^') {
+ if (yych <= '9') {
+ if (yych <= '/') goto yy744;
+ goto yy166;
+ } else {
+ if (yych <= '@') goto yy744;
+ if (yych <= 'Z') goto yy166;
+ goto yy744;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= '_') goto yy166;
+ goto yy744;
+ } else {
+ if (yych <= 'z') goto yy166;
+ if (yych <= 0x7F) goto yy744;
+ goto yy166;
+ }
+ }
+yy737:
YYDEBUG(737, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1145 "Zend/zend_language_scanner.l"
- {
- HANDLE_NEWLINES(yytext, yyleng);
- RETURN_TOKEN(T_YIELD_FROM);
-}
-#line 7016 "Zend/zend_language_scanner.c"
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy746;
+ goto yy128;
yy738:
YYDEBUG(738, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy745;
+ if (yych == 'P') goto yy747;
+ if (yych == 'p') goto yy747;
goto yy128;
yy739:
YYDEBUG(739, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy746;
- if (yych == 'p') goto yy746;
- goto yy128;
-yy740:
- YYDEBUG(740, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(741, *YYCURSOR);
+ YYDEBUG(740, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1762 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_METHOD_C);
}
-#line 7040 "Zend/zend_language_scanner.c"
+#line 7051 "Zend/zend_language_scanner.c"
+yy741:
+ YYDEBUG(741, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy748;
+ if (yych == 'e') goto yy748;
+ goto yy128;
yy742:
YYDEBUG(742, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy747;
- if (yych == 'e') goto yy747;
+ if (yych == 'E') goto yy749;
+ if (yych == 'e') goto yy749;
goto yy128;
yy743:
YYDEBUG(743, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy748;
- if (yych == 'e') goto yy748;
+ if (yych == 'E') goto yy751;
+ if (yych == 'e') goto yy751;
goto yy128;
yy744:
YYDEBUG(744, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy750;
- if (yych == 'e') goto yy750;
- goto yy128;
-yy745:
+ ++YYCURSOR;
YYDEBUG(745, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy752;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1145 "Zend/zend_language_scanner.l"
+ {
+ yyless(--yyleng);
+ HANDLE_NEWLINES(yytext, yyleng);
+ RETURN_TOKEN(T_YIELD_FROM);
+}
+#line 7081 "Zend/zend_language_scanner.c"
yy746:
YYDEBUG(746, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy754;
- if (yych == 'i') goto yy754;
+ if (yych == '_') goto yy753;
goto yy128;
yy747:
YYDEBUG(747, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy755;
+ if (yych == 'I') goto yy755;
+ if (yych == 'i') goto yy755;
goto yy128;
yy748:
YYDEBUG(748, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy756;
+ goto yy128;
+yy749:
+ YYDEBUG(749, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(749, *YYCURSOR);
+ YYDEBUG(750, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1376 "Zend/zend_language_scanner.l"
+#line 1377 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_INCLUDE_ONCE);
}
-#line 7087 "Zend/zend_language_scanner.c"
-yy750:
- YYDEBUG(750, *YYCURSOR);
+#line 7110 "Zend/zend_language_scanner.c"
+yy751:
+ YYDEBUG(751, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(751, *YYCURSOR);
+ YYDEBUG(752, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1384 "Zend/zend_language_scanner.l"
+#line 1385 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_REQUIRE_ONCE);
}
-#line 7100 "Zend/zend_language_scanner.c"
-yy752:
- YYDEBUG(752, *YYCURSOR);
+#line 7123 "Zend/zend_language_scanner.c"
+yy753:
+ YYDEBUG(753, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(753, *YYCURSOR);
+ YYDEBUG(754, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1757 "Zend/zend_language_scanner.l"
+#line 1758 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_FUNC_C);
}
-#line 7113 "Zend/zend_language_scanner.c"
-yy754:
- YYDEBUG(754, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy756;
- if (yych == 'l') goto yy756;
- goto yy128;
+#line 7136 "Zend/zend_language_scanner.c"
yy755:
YYDEBUG(755, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy757;
+ if (yych == 'L') goto yy757;
+ if (yych == 'l') goto yy757;
goto yy128;
yy756:
YYDEBUG(756, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy759;
- if (yych == 'e') goto yy759;
+ if (yych == '_') goto yy758;
goto yy128;
yy757:
YYDEBUG(757, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy760;
+ if (yych == 'e') goto yy760;
+ goto yy128;
+yy758:
+ YYDEBUG(758, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(758, *YYCURSOR);
+ YYDEBUG(759, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1778 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_NS_C);
}
-#line 7143 "Zend/zend_language_scanner.c"
-yy759:
- YYDEBUG(759, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy760;
- if (yych != 'r') goto yy128;
+#line 7166 "Zend/zend_language_scanner.c"
yy760:
YYDEBUG(760, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy761;
+ if (yych != 'r') goto yy128;
+yy761:
+ YYDEBUG(761, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 16) {
goto yy127;
}
- YYDEBUG(761, *YYCURSOR);
+ YYDEBUG(762, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1412 "Zend/zend_language_scanner.l"
+#line 1413 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_HALT_COMPILER);
}
-#line 7161 "Zend/zend_language_scanner.c"
+#line 7184 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7196,90 +7219,90 @@ yyc_ST_LOOKING_FOR_PROPERTY:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(762, *YYCURSOR);
+ YYDEBUG(763, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy766;
+ goto yy767;
}
if (yych <= '^') {
if (yych <= '-') {
- if (yych >= '-') goto yy769;
+ if (yych >= '-') goto yy770;
} else {
- if (yych <= '@') goto yy764;
- if (yych <= 'Z') goto yy770;
+ if (yych <= '@') goto yy765;
+ if (yych <= 'Z') goto yy771;
}
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy770;
+ if (yych <= '_') goto yy771;
} else {
- if (yych <= 'z') goto yy770;
- if (yych >= 0x80) goto yy770;
+ if (yych <= 'z') goto yy771;
+ if (yych >= 0x80) goto yy771;
}
}
-yy764:
- YYDEBUG(764, *YYCURSOR);
- ++YYCURSOR;
yy765:
YYDEBUG(765, *YYCURSOR);
+ ++YYCURSOR;
+yy766:
+ YYDEBUG(766, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1306 "Zend/zend_language_scanner.l"
+#line 1307 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state();
goto restart;
}
-#line 7233 "Zend/zend_language_scanner.c"
-yy766:
- YYDEBUG(766, *YYCURSOR);
+#line 7256 "Zend/zend_language_scanner.c"
+yy767:
+ YYDEBUG(767, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(767, *YYCURSOR);
+ YYDEBUG(768, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy766;
+ goto yy767;
}
- YYDEBUG(768, *YYCURSOR);
+ YYDEBUG(769, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1291 "Zend/zend_language_scanner.l"
+#line 1292 "Zend/zend_language_scanner.l"
{
HANDLE_NEWLINES(yytext, yyleng);
RETURN_TOKEN(T_WHITESPACE);
}
-#line 7250 "Zend/zend_language_scanner.c"
-yy769:
- YYDEBUG(769, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy773;
- goto yy765;
+#line 7273 "Zend/zend_language_scanner.c"
yy770:
YYDEBUG(770, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy774;
+ goto yy766;
+yy771:
+ YYDEBUG(771, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(771, *YYCURSOR);
+ YYDEBUG(772, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy770;
+ goto yy771;
}
- YYDEBUG(772, *YYCURSOR);
+ YYDEBUG(773, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
+#line 1301 "Zend/zend_language_scanner.l"
{
yy_pop_state();
zend_copy_value(zendlval, yytext, yyleng);
RETURN_TOKEN(T_STRING);
}
-#line 7273 "Zend/zend_language_scanner.c"
-yy773:
- YYDEBUG(773, *YYCURSOR);
- ++YYCURSOR;
+#line 7296 "Zend/zend_language_scanner.c"
+yy774:
YYDEBUG(774, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(775, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1296 "Zend/zend_language_scanner.l"
+#line 1297 "Zend/zend_language_scanner.l"
{
RETURN_TOKEN(T_OBJECT_OPERATOR);
}
-#line 7283 "Zend/zend_language_scanner.c"
+#line 7306 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_VARNAME:
@@ -7318,79 +7341,79 @@ yyc_ST_LOOKING_FOR_VARNAME:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(775, *YYCURSOR);
+ YYDEBUG(776, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy777;
- if (yych <= 'Z') goto yy779;
- if (yych >= '_') goto yy779;
+ if (yych <= '@') goto yy778;
+ if (yych <= 'Z') goto yy780;
+ if (yych >= '_') goto yy780;
} else {
- if (yych <= '`') goto yy777;
- if (yych <= 'z') goto yy779;
- if (yych >= 0x80) goto yy779;
+ if (yych <= '`') goto yy778;
+ if (yych <= 'z') goto yy780;
+ if (yych >= 0x80) goto yy780;
}
-yy777:
- YYDEBUG(777, *YYCURSOR);
- ++YYCURSOR;
yy778:
YYDEBUG(778, *YYCURSOR);
+ ++YYCURSOR;
+yy779:
+ YYDEBUG(779, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1611 "Zend/zend_language_scanner.l"
+#line 1612 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state();
yy_push_state(ST_IN_SCRIPTING);
goto restart;
}
-#line 7347 "Zend/zend_language_scanner.c"
-yy779:
- YYDEBUG(779, *YYCURSOR);
+#line 7370 "Zend/zend_language_scanner.c"
+yy780:
+ YYDEBUG(780, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '_') {
if (yych <= '@') {
- if (yych <= '/') goto yy778;
- if (yych <= '9') goto yy781;
- goto yy778;
+ if (yych <= '/') goto yy779;
+ if (yych <= '9') goto yy782;
+ goto yy779;
} else {
- if (yych <= '[') goto yy781;
- if (yych <= '^') goto yy778;
- goto yy781;
+ if (yych <= '[') goto yy782;
+ if (yych <= '^') goto yy779;
+ goto yy782;
}
} else {
if (yych <= '|') {
- if (yych <= '`') goto yy778;
- if (yych <= 'z') goto yy781;
- goto yy778;
+ if (yych <= '`') goto yy779;
+ if (yych <= 'z') goto yy782;
+ goto yy779;
} else {
- if (yych <= '}') goto yy781;
- if (yych <= 0x7F) goto yy778;
- goto yy781;
+ if (yych <= '}') goto yy782;
+ if (yych <= 0x7F) goto yy779;
+ goto yy782;
}
}
-yy780:
- YYDEBUG(780, *YYCURSOR);
+yy781:
+ YYDEBUG(781, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy781:
- YYDEBUG(781, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy780;
- }
- if (yych <= '@') goto yy782;
- if (yych <= '[') goto yy783;
- if (yych == '}') goto yy783;
yy782:
YYDEBUG(782, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy778;
+ if (yybm[0+yych] & 128) {
+ goto yy781;
+ }
+ if (yych <= '@') goto yy783;
+ if (yych <= '[') goto yy784;
+ if (yych == '}') goto yy784;
yy783:
YYDEBUG(783, *YYCURSOR);
- ++YYCURSOR;
+ YYCURSOR = YYMARKER;
+ goto yy779;
+yy784:
YYDEBUG(784, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(785, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1602 "Zend/zend_language_scanner.l"
+#line 1603 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
zend_copy_value(zendlval, yytext, yyleng);
@@ -7398,18 +7421,18 @@ yy783:
yy_push_state(ST_IN_SCRIPTING);
RETURN_TOKEN(T_STRING_VARNAME);
}
-#line 7402 "Zend/zend_language_scanner.c"
+#line 7425 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
- YYDEBUG(785, *YYCURSOR);
+ YYDEBUG(786, *YYCURSOR);
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(787, *YYCURSOR);
- ++YYCURSOR;
YYDEBUG(788, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(789, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2333 "Zend/zend_language_scanner.l"
+#line 2334 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -7465,7 +7488,7 @@ nowdoc_scan_done:
HANDLE_NEWLINES(yytext, yyleng - newline);
RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
}
-#line 7469 "Zend/zend_language_scanner.c"
+#line 7492 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7503,57 +7526,57 @@ yyc_ST_VAR_OFFSET:
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
};
- YYDEBUG(789, *YYCURSOR);
+ YYDEBUG(790, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
if (yych <= '0') {
if (yych <= ' ') {
if (yych <= '\f') {
- if (yych <= 0x08) goto yy791;
- if (yych <= '\n') goto yy793;
+ if (yych <= 0x08) goto yy792;
+ if (yych <= '\n') goto yy794;
} else {
- if (yych <= '\r') goto yy793;
- if (yych >= ' ') goto yy793;
+ if (yych <= '\r') goto yy794;
+ if (yych >= ' ') goto yy794;
}
} else {
if (yych <= '$') {
- if (yych <= '"') goto yy795;
- if (yych <= '#') goto yy793;
- goto yy797;
- } else {
- if (yych == '\'') goto yy793;
- if (yych <= '/') goto yy795;
+ if (yych <= '"') goto yy796;
+ if (yych <= '#') goto yy794;
goto yy798;
+ } else {
+ if (yych == '\'') goto yy794;
+ if (yych <= '/') goto yy796;
+ goto yy799;
}
}
} else {
if (yych <= ']') {
if (yych <= 'Z') {
- if (yych <= '9') goto yy800;
- if (yych <= '@') goto yy795;
- goto yy802;
+ if (yych <= '9') goto yy801;
+ if (yych <= '@') goto yy796;
+ goto yy803;
} else {
- if (yych <= '[') goto yy795;
- if (yych <= '\\') goto yy793;
- goto yy805;
+ if (yych <= '[') goto yy796;
+ if (yych <= '\\') goto yy794;
+ goto yy806;
}
} else {
if (yych <= '`') {
- if (yych == '_') goto yy802;
- goto yy795;
+ if (yych == '_') goto yy803;
+ goto yy796;
} else {
- if (yych <= 'z') goto yy802;
- if (yych <= '~') goto yy795;
- if (yych >= 0x80) goto yy802;
+ if (yych <= 'z') goto yy803;
+ if (yych <= '~') goto yy796;
+ if (yych >= 0x80) goto yy803;
}
}
}
-yy791:
- YYDEBUG(791, *YYCURSOR);
- ++YYCURSOR;
+yy792:
YYDEBUG(792, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(793, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2390 "Zend/zend_language_scanner.l"
+#line 2391 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
@@ -7562,13 +7585,13 @@ yy791:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7566 "Zend/zend_language_scanner.c"
-yy793:
- YYDEBUG(793, *YYCURSOR);
- ++YYCURSOR;
+#line 7589 "Zend/zend_language_scanner.c"
+yy794:
YYDEBUG(794, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(795, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1884 "Zend/zend_language_scanner.l"
+#line 1885 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
@@ -7576,54 +7599,54 @@ yy793:
ZVAL_NULL(zendlval);
RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE);
}
-#line 7580 "Zend/zend_language_scanner.c"
-yy795:
- YYDEBUG(795, *YYCURSOR);
- ++YYCURSOR;
+#line 7603 "Zend/zend_language_scanner.c"
yy796:
YYDEBUG(796, *YYCURSOR);
+ ++YYCURSOR;
+yy797:
+ YYDEBUG(797, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1879 "Zend/zend_language_scanner.l"
+#line 1880 "Zend/zend_language_scanner.l"
{
/* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
RETURN_TOKEN(yytext[0]);
}
-#line 7592 "Zend/zend_language_scanner.c"
-yy797:
- YYDEBUG(797, *YYCURSOR);
+#line 7615 "Zend/zend_language_scanner.c"
+yy798:
+ YYDEBUG(798, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy796;
- if (yych <= 'Z') goto yy807;
- if (yych <= '^') goto yy796;
- goto yy807;
+ if (yych <= '@') goto yy797;
+ if (yych <= 'Z') goto yy808;
+ if (yych <= '^') goto yy797;
+ goto yy808;
} else {
- if (yych <= '`') goto yy796;
- if (yych <= 'z') goto yy807;
- if (yych <= 0x7F) goto yy796;
- goto yy807;
+ if (yych <= '`') goto yy797;
+ if (yych <= 'z') goto yy808;
+ if (yych <= 0x7F) goto yy797;
+ goto yy808;
}
-yy798:
- YYDEBUG(798, *YYCURSOR);
+yy799:
+ YYDEBUG(799, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'W') {
if (yych <= '9') {
- if (yych >= '0') goto yy810;
+ if (yych >= '0') goto yy811;
} else {
- if (yych == 'B') goto yy813;
+ if (yych == 'B') goto yy814;
}
} else {
if (yych <= 'b') {
- if (yych <= 'X') goto yy815;
- if (yych >= 'b') goto yy813;
+ if (yych <= 'X') goto yy816;
+ if (yych >= 'b') goto yy814;
} else {
- if (yych == 'x') goto yy815;
+ if (yych == 'x') goto yy816;
}
}
-yy799:
- YYDEBUG(799, *YYCURSOR);
+yy800:
+ YYDEBUG(800, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1719 "Zend/zend_language_scanner.l"
+#line 1720 "Zend/zend_language_scanner.l"
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
char *end;
@@ -7639,131 +7662,131 @@ string:
}
RETURN_TOKEN(T_NUM_STRING);
}
-#line 7643 "Zend/zend_language_scanner.c"
-yy800:
- YYDEBUG(800, *YYCURSOR);
+#line 7666 "Zend/zend_language_scanner.c"
+yy801:
+ YYDEBUG(801, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(801, *YYCURSOR);
+ YYDEBUG(802, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy800;
+ goto yy801;
}
- goto yy799;
-yy802:
- YYDEBUG(802, *YYCURSOR);
+ goto yy800;
+yy803:
+ YYDEBUG(803, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(803, *YYCURSOR);
+ YYDEBUG(804, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy802;
+ goto yy803;
}
- YYDEBUG(804, *YYCURSOR);
+ YYDEBUG(805, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1892 "Zend/zend_language_scanner.l"
+#line 1893 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
RETURN_TOKEN(T_STRING);
}
-#line 7670 "Zend/zend_language_scanner.c"
-yy805:
- YYDEBUG(805, *YYCURSOR);
- ++YYCURSOR;
+#line 7693 "Zend/zend_language_scanner.c"
+yy806:
YYDEBUG(806, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(807, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1874 "Zend/zend_language_scanner.l"
+#line 1875 "Zend/zend_language_scanner.l"
{
yy_pop_state();
RETURN_TOKEN(']');
}
-#line 7681 "Zend/zend_language_scanner.c"
-yy807:
- YYDEBUG(807, *YYCURSOR);
+#line 7704 "Zend/zend_language_scanner.c"
+yy808:
+ YYDEBUG(808, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(808, *YYCURSOR);
+ YYDEBUG(809, *YYCURSOR);
if (yych <= '^') {
if (yych <= '9') {
- if (yych >= '0') goto yy807;
+ if (yych >= '0') goto yy808;
} else {
- if (yych <= '@') goto yy809;
- if (yych <= 'Z') goto yy807;
+ if (yych <= '@') goto yy810;
+ if (yych <= 'Z') goto yy808;
}
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy807;
+ if (yych <= '_') goto yy808;
} else {
- if (yych <= 'z') goto yy807;
- if (yych >= 0x80) goto yy807;
+ if (yych <= 'z') goto yy808;
+ if (yych >= 0x80) goto yy808;
}
}
-yy809:
- YYDEBUG(809, *YYCURSOR);
+yy810:
+ YYDEBUG(810, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
+#line 1870 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
RETURN_TOKEN(T_VARIABLE);
}
-#line 7711 "Zend/zend_language_scanner.c"
-yy810:
- YYDEBUG(810, *YYCURSOR);
+#line 7734 "Zend/zend_language_scanner.c"
+yy811:
+ YYDEBUG(811, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(811, *YYCURSOR);
- if (yych <= '/') goto yy812;
- if (yych <= '9') goto yy810;
-yy812:
YYDEBUG(812, *YYCURSOR);
+ if (yych <= '/') goto yy813;
+ if (yych <= '9') goto yy811;
+yy813:
+ YYDEBUG(813, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1735 "Zend/zend_language_scanner.l"
+#line 1736 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng);
RETURN_TOKEN(T_NUM_STRING);
}
-#line 7728 "Zend/zend_language_scanner.c"
-yy813:
- YYDEBUG(813, *YYCURSOR);
+#line 7751 "Zend/zend_language_scanner.c"
+yy814:
+ YYDEBUG(814, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy816;
+ goto yy817;
}
-yy814:
- YYDEBUG(814, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy799;
yy815:
YYDEBUG(815, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy800;
+yy816:
+ YYDEBUG(816, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy818;
+ goto yy819;
}
- goto yy814;
-yy816:
- YYDEBUG(816, *YYCURSOR);
+ goto yy815;
+yy817:
+ YYDEBUG(817, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(817, *YYCURSOR);
+ YYDEBUG(818, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy816;
+ goto yy817;
}
- goto yy812;
-yy818:
- YYDEBUG(818, *YYCURSOR);
+ goto yy813;
+yy819:
+ YYDEBUG(819, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(819, *YYCURSOR);
+ YYDEBUG(820, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy818;
+ goto yy819;
}
- goto yy812;
+ goto yy813;
}
}
-#line 2399 "Zend/zend_language_scanner.l"
+#line 2400 "Zend/zend_language_scanner.l"
}
diff --git a/ext/standard/tests/serialize/bug74300.phpt b/ext/standard/tests/serialize/bug74300.phpt
new file mode 100644
index 0000000..d9adda2
--- /dev/null
+++ b/ext/standard/tests/serialize/bug74300.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #74300 (unserialize() for float nvexp part)
+--INI--
+serialize_precision=10
+--FILE--
+<?php
+var_dump(unserialize('d:2e+2;'));
+var_dump(unserialize('d:2e++2;'));
+?>
+===DONE===
+--EXPECTF--
+float(200)
+
+Notice: unserialize(): Error at offset 0 of 8 bytes in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
index a8d93f6..c175727 100644
--- a/ext/standard/var_unserializer.c
+++ b/ext/standard/var_unserializer.c
@@ -916,7 +916,7 @@ yy45:
goto yy18;
yy46:
++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= ':') {
if (yych <= '.') {
@@ -1045,7 +1045,7 @@ yy67:
#line 1046 "ext/standard/var_unserializer.c"
yy69:
++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= ';') {
if (yych <= '/') goto yy18;
@@ -1383,14 +1383,8 @@ yy86:
#line 1384 "ext/standard/var_unserializer.c"
yy88:
yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy96;
- goto yy18;
- } else {
- if (yych <= '-') goto yy96;
- if (yych <= '/') goto yy18;
- if (yych >= ':') goto yy18;
- }
+ if (yych <= '/') goto yy18;
+ if (yych >= ':') goto yy18;
yy89:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1401,7 +1395,7 @@ yy89:
goto yy18;
yy91:
yych = *++YYCURSOR;
- if (yych == ';') goto yy97;
+ if (yych == ';') goto yy96;
goto yy18;
yy92:
++YYCURSOR;
@@ -1416,7 +1410,7 @@ yy92:
}
return object_common2(UNSERIALIZE_PASSTHRU, elements);
}
-#line 1420 "ext/standard/var_unserializer.c"
+#line 1414 "ext/standard/var_unserializer.c"
yy94:
++YYCURSOR;
#line 740 "ext/standard/var_unserializer.re"
@@ -1451,13 +1445,8 @@ yy94:
ZVAL_STRINGL(rval, str, len);
return 1;
}
-#line 1455 "ext/standard/var_unserializer.c"
+#line 1449 "ext/standard/var_unserializer.c"
yy96:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy18;
- if (yych <= '9') goto yy89;
- goto yy18;
-yy97:
++YYCURSOR;
#line 715 "ext/standard/var_unserializer.re"
{
@@ -1475,7 +1464,7 @@ yy97:
return 1;
}
-#line 1479 "ext/standard/var_unserializer.c"
+#line 1468 "ext/standard/var_unserializer.c"
}
#line 1007 "ext/standard/var_unserializer.re"
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index 04675c9..0176e22 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -319,7 +319,7 @@ static inline int unserialize_allowed_class(
uiv = [+]? [0-9]+;
iv = [+-]? [0-9]+;
nv = [+-]? ([0-9]* "." [0-9]+|[0-9]+ "." [0-9]*);
-nvexp = (iv | nv) [eE] [+-]? iv;
+nvexp = (iv | nv) [eE] iv;
any = [\000-\377];
object = [OC];
*/