From d719b46222bcd7aaa7b06a1b33316bee26b0455a Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 23 Mar 2017 22:48:45 +0100 Subject: Fix sequencing UB --- Zend/zend_language_scanner.c | 865 ++++++++++++++++++++++--------------------- Zend/zend_language_scanner.l | 2 +- 2 files changed, 445 insertions(+), 422 deletions(-) diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index d35fbceff2..d5b41a1ef5 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1173,7 +1173,7 @@ yyc_INITIAL: yy4: YYDEBUG(4, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1817 "Zend/zend_language_scanner.l" +#line 1818 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -1234,7 +1234,7 @@ yy5: yy7: YYDEBUG(7, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1808 "Zend/zend_language_scanner.l" +#line 1809 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -1249,7 +1249,7 @@ yy8: ++YYCURSOR; YYDEBUG(9, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1795 "Zend/zend_language_scanner.l" +#line 1796 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); @@ -1285,7 +1285,7 @@ yy14: yy15: YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1801 "Zend/zend_language_scanner.l" +#line 1802 "Zend/zend_language_scanner.l" { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); @@ -1348,7 +1348,7 @@ yyc_ST_BACKQUOTE: yy20: YYDEBUG(20, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2227 "Zend/zend_language_scanner.l" +#line 2228 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -1413,7 +1413,7 @@ yy22: ++YYCURSOR; YYDEBUG(23, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2171 "Zend/zend_language_scanner.l" +#line 2172 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); @@ -1439,7 +1439,7 @@ yy25: yy27: YYDEBUG(27, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); @@ -1450,7 +1450,7 @@ yy28: ++YYCURSOR; YYDEBUG(29, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1600 "Zend/zend_language_scanner.l" +#line 1601 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); @@ -1461,7 +1461,7 @@ yy30: ++YYCURSOR; YYDEBUG(31, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2158 "Zend/zend_language_scanner.l" +#line 2159 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); @@ -1482,7 +1482,7 @@ yy34: ++YYCURSOR; YYDEBUG(35, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1875 "Zend/zend_language_scanner.l" +#line 1876 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); @@ -1507,7 +1507,7 @@ yy37: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1866 "Zend/zend_language_scanner.l" +#line 1867 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); @@ -1567,7 +1567,7 @@ yyc_ST_DOUBLE_QUOTES: yy42: YYDEBUG(42, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2177 "Zend/zend_language_scanner.l" +#line 2178 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1622,7 +1622,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2166 "Zend/zend_language_scanner.l" +#line 2167 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); @@ -1666,7 +1666,7 @@ yy47: yy49: YYDEBUG(49, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); @@ -1677,7 +1677,7 @@ yy50: ++YYCURSOR; YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1600 "Zend/zend_language_scanner.l" +#line 1601 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); @@ -1688,7 +1688,7 @@ yy52: ++YYCURSOR; YYDEBUG(53, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2158 "Zend/zend_language_scanner.l" +#line 2159 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); @@ -1709,7 +1709,7 @@ yy56: ++YYCURSOR; YYDEBUG(57, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1875 "Zend/zend_language_scanner.l" +#line 1876 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); @@ -1734,7 +1734,7 @@ yy59: ++YYCURSOR; YYDEBUG(60, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1866 "Zend/zend_language_scanner.l" +#line 1867 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); @@ -1752,7 +1752,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(64, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2144 "Zend/zend_language_scanner.l" +#line 2145 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1813,7 +1813,7 @@ yyc_ST_HEREDOC: yy68: YYDEBUG(68, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2269 "Zend/zend_language_scanner.l" +#line 2270 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1925,7 +1925,7 @@ yy71: yy73: YYDEBUG(73, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); @@ -1936,7 +1936,7 @@ yy74: ++YYCURSOR; YYDEBUG(75, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1600 "Zend/zend_language_scanner.l" +#line 1601 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); @@ -1947,7 +1947,7 @@ yy76: ++YYCURSOR; YYDEBUG(77, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2158 "Zend/zend_language_scanner.l" +#line 2159 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); @@ -1968,7 +1968,7 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1875 "Zend/zend_language_scanner.l" +#line 1876 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); @@ -1993,7 +1993,7 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1866 "Zend/zend_language_scanner.l" +#line 1867 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); @@ -2168,7 +2168,7 @@ yy87: ++YYCURSOR; YYDEBUG(88, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2400 "Zend/zend_language_scanner.l" +#line 2401 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -2189,7 +2189,7 @@ yy89: } YYDEBUG(91, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1304 "Zend/zend_language_scanner.l" +#line 1305 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); @@ -2202,7 +2202,7 @@ yy92: yy93: YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1589 "Zend/zend_language_scanner.l" +#line 1590 "Zend/zend_language_scanner.l" { RETURN_TOKEN(yytext[0]); } @@ -2212,7 +2212,7 @@ yy94: ++YYCURSOR; YYDEBUG(95, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2048 "Zend/zend_language_scanner.l" +#line 2049 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2259,7 +2259,7 @@ yy96: ++YYCURSOR; YYDEBUG(97, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1911 "Zend/zend_language_scanner.l" +#line 1912 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2319,7 +2319,7 @@ yy101: ++YYCURSOR; YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1979 "Zend/zend_language_scanner.l" +#line 1980 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2517,7 +2517,7 @@ yy110: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1660 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -2643,7 +2643,7 @@ yy119: yy120: YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1905 "Zend/zend_language_scanner.l" +#line 1906 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); @@ -2933,7 +2933,7 @@ yy142: ++YYCURSOR; YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1329 "Zend/zend_language_scanner.l" +#line 1330 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_SEPARATOR); } @@ -2953,7 +2953,7 @@ yy146: ++YYCURSOR; YYDEBUG(147, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2138 "Zend/zend_language_scanner.l" +#line 2139 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); @@ -2964,7 +2964,7 @@ yy148: ++YYCURSOR; YYDEBUG(149, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1594 "Zend/zend_language_scanner.l" +#line 1595 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN('{'); @@ -2981,7 +2981,7 @@ yy151: ++YYCURSOR; YYDEBUG(152, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1606 "Zend/zend_language_scanner.l" +#line 1607 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2997,7 +2997,7 @@ yy153: yy154: YYDEBUG(154, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1493 "Zend/zend_language_scanner.l" +#line 1494 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_EQUAL); } @@ -3026,7 +3026,7 @@ yy155: yy157: YYDEBUG(157, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); @@ -3037,7 +3037,7 @@ yy158: ++YYCURSOR; YYDEBUG(159, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1537 "Zend/zend_language_scanner.l" +#line 1538 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MOD_EQUAL); } @@ -3047,7 +3047,7 @@ yy160: ++YYCURSOR; YYDEBUG(161, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1565 "Zend/zend_language_scanner.l" +#line 1566 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_AND); } @@ -3057,7 +3057,7 @@ yy162: ++YYCURSOR; YYDEBUG(163, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1549 "Zend/zend_language_scanner.l" +#line 1550 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AND_EQUAL); } @@ -3191,7 +3191,7 @@ yy176: if ((yych = *YYCURSOR) == '=') goto yy289; YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1521 "Zend/zend_language_scanner.l" +#line 1522 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW); } @@ -3201,7 +3201,7 @@ yy178: ++YYCURSOR; YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1517 "Zend/zend_language_scanner.l" +#line 1518 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MUL_EQUAL); } @@ -3211,7 +3211,7 @@ yy180: ++YYCURSOR; YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" +#line 1474 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INC); } @@ -3221,7 +3221,7 @@ yy182: ++YYCURSOR; YYDEBUG(183, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1509 "Zend/zend_language_scanner.l" +#line 1510 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PLUS_EQUAL); } @@ -3231,7 +3231,7 @@ yy184: ++YYCURSOR; YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1477 "Zend/zend_language_scanner.l" +#line 1478 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEC); } @@ -3241,7 +3241,7 @@ yy186: ++YYCURSOR; YYDEBUG(187, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" +#line 1514 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MINUS_EQUAL); } @@ -3251,7 +3251,7 @@ yy188: ++YYCURSOR; YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1299 "Zend/zend_language_scanner.l" +#line 1300 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN(T_OBJECT_OPERATOR); @@ -3279,7 +3279,7 @@ yy191: yy193: YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1753 "Zend/zend_language_scanner.l" +#line 1754 "Zend/zend_language_scanner.l" { const char *end; @@ -3294,7 +3294,7 @@ yy194: ++YYCURSOR; YYDEBUG(195, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1533 "Zend/zend_language_scanner.l" +#line 1534 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONCAT_EQUAL); } @@ -3307,7 +3307,7 @@ yy196: yy197: YYDEBUG(197, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1940 "Zend/zend_language_scanner.l" +#line 1941 "Zend/zend_language_scanner.l" { int doc_com; @@ -3346,7 +3346,7 @@ yy198: ++YYCURSOR; YYDEBUG(199, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1529 "Zend/zend_language_scanner.l" +#line 1530 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIV_EQUAL); } @@ -3382,7 +3382,7 @@ yy203: ++YYCURSOR; YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1325 "Zend/zend_language_scanner.l" +#line 1326 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } @@ -3397,7 +3397,7 @@ yy205: yy206: YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1581 "Zend/zend_language_scanner.l" +#line 1582 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL); } @@ -3408,7 +3408,7 @@ yy207: if ((yych = *YYCURSOR) == '>') goto yy307; YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1502 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } @@ -3423,7 +3423,7 @@ yy210: if ((yych = *YYCURSOR) == '=') goto yy309; YYDEBUG(211, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1489 "Zend/zend_language_scanner.l" +#line 1490 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_EQUAL); } @@ -3433,7 +3433,7 @@ yy212: ++YYCURSOR; YYDEBUG(213, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1457 "Zend/zend_language_scanner.l" +#line 1458 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_ARROW); } @@ -3443,7 +3443,7 @@ yy214: ++YYCURSOR; YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1505 "Zend/zend_language_scanner.l" +#line 1506 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } @@ -3454,7 +3454,7 @@ yy216: if ((yych = *YYCURSOR) == '=') goto yy311; YYDEBUG(217, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1585 "Zend/zend_language_scanner.l" +#line 1586 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR); } @@ -3467,7 +3467,7 @@ yy218: yy219: YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1973 "Zend/zend_language_scanner.l" +#line 1974 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */ @@ -3478,7 +3478,7 @@ yy220: ++YYCURSOR; YYDEBUG(221, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1337 "Zend/zend_language_scanner.l" +#line 1338 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_COALESCE); } @@ -3509,7 +3509,7 @@ yy225: } YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1239 "Zend/zend_language_scanner.l" +#line 1240 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AS); } @@ -3599,7 +3599,7 @@ yy234: } YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1207 "Zend/zend_language_scanner.l" +#line 1208 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DO); } @@ -3688,7 +3688,7 @@ yy247: } YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1183 "Zend/zend_language_scanner.l" +#line 1184 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IF); } @@ -3753,7 +3753,7 @@ yy255: } YYDEBUG(256, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1569 "Zend/zend_language_scanner.l" +#line 1570 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_OR); } @@ -3871,7 +3871,7 @@ yy270: ++YYCURSOR; YYDEBUG(271, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1557 "Zend/zend_language_scanner.l" +#line 1558 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_XOR_EQUAL); } @@ -3903,7 +3903,7 @@ yy273: ++YYCURSOR; YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" +#line 1554 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OR_EQUAL); } @@ -3913,7 +3913,7 @@ yy275: ++YYCURSOR; YYDEBUG(276, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1561 "Zend/zend_language_scanner.l" +#line 1562 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_OR); } @@ -3923,7 +3923,7 @@ yy277: ++YYCURSOR; YYDEBUG(278, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" +#line 1486 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_IDENTICAL); } @@ -3993,7 +3993,7 @@ yy289: ++YYCURSOR; YYDEBUG(290, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1525 "Zend/zend_language_scanner.l" +#line 1526 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW_EQUAL); } @@ -4003,7 +4003,7 @@ yy291: ++YYCURSOR; YYDEBUG(292, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1334 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELLIPSIS); } @@ -4031,7 +4031,7 @@ yy294: } YYDEBUG(296, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1632 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -4085,7 +4085,7 @@ yy300: } YYDEBUG(302, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1704 "Zend/zend_language_scanner.l" +#line 1705 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -4148,7 +4148,7 @@ yy305: ++YYCURSOR; YYDEBUG(306, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1541 "Zend/zend_language_scanner.l" +#line 1542 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL_EQUAL); } @@ -4158,7 +4158,7 @@ yy307: ++YYCURSOR; YYDEBUG(308, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1497 "Zend/zend_language_scanner.l" +#line 1498 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SPACESHIP); } @@ -4168,7 +4168,7 @@ yy309: ++YYCURSOR; YYDEBUG(310, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1481 "Zend/zend_language_scanner.l" +#line 1482 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_IDENTICAL); } @@ -4178,7 +4178,7 @@ yy311: ++YYCURSOR; YYDEBUG(312, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1545 "Zend/zend_language_scanner.l" +#line 1546 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR_EQUAL); } @@ -4206,7 +4206,7 @@ yy316: } YYDEBUG(317, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1573 "Zend/zend_language_scanner.l" +#line 1574 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_AND); } @@ -4377,7 +4377,7 @@ yy339: yy340: YYDEBUG(340, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1211 "Zend/zend_language_scanner.l" +#line 1212 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOR); } @@ -4450,7 +4450,7 @@ yy351: } YYDEBUG(352, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1341 "Zend/zend_language_scanner.l" +#line 1342 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NEW); } @@ -4527,7 +4527,7 @@ yy362: } YYDEBUG(363, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1167 "Zend/zend_language_scanner.l" +#line 1168 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRY); } @@ -4546,7 +4546,7 @@ yy365: } YYDEBUG(366, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1405 "Zend/zend_language_scanner.l" +#line 1406 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_USE); } @@ -4559,7 +4559,7 @@ yy367: } YYDEBUG(368, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1349 "Zend/zend_language_scanner.l" +#line 1350 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_VAR); } @@ -4578,7 +4578,7 @@ yy370: } YYDEBUG(371, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1577 "Zend/zend_language_scanner.l" +#line 1578 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_XOR); } @@ -4796,7 +4796,7 @@ yy401: } YYDEBUG(402, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1252 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CASE); } @@ -4851,7 +4851,7 @@ yy410: } YYDEBUG(411, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1271 "Zend/zend_language_scanner.l" +#line 1272 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ECHO); } @@ -4879,7 +4879,7 @@ yy412: yy413: YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1195 "Zend/zend_language_scanner.l" +#line 1196 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSE); } @@ -4928,7 +4928,7 @@ yy420: } YYDEBUG(421, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1381 "Zend/zend_language_scanner.l" +#line 1382 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EVAL); } @@ -4984,7 +4984,7 @@ yy429: } YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1267 "Zend/zend_language_scanner.l" +#line 1268 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GOTO); } @@ -5037,7 +5037,7 @@ yy436: } YYDEBUG(437, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1461 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LIST); } @@ -5228,7 +5228,7 @@ yy467: ++YYCURSOR; YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1353 "Zend/zend_language_scanner.l" +#line 1354 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INT_CAST); } @@ -5329,7 +5329,7 @@ yy480: yy481: YYDEBUG(481, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2090 "Zend/zend_language_scanner.l" +#line 2091 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -5396,7 +5396,7 @@ yy484: } YYDEBUG(485, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1465 "Zend/zend_language_scanner.l" +#line 1466 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY); } @@ -5409,7 +5409,7 @@ yy486: } YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1259 "Zend/zend_language_scanner.l" +#line 1260 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BREAK); } @@ -5428,7 +5428,7 @@ yy489: } YYDEBUG(490, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1171 "Zend/zend_language_scanner.l" +#line 1172 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CATCH); } @@ -5441,7 +5441,7 @@ yy491: } YYDEBUG(492, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1279 "Zend/zend_language_scanner.l" +#line 1280 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS); } @@ -5454,7 +5454,7 @@ yy493: } YYDEBUG(494, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1345 "Zend/zend_language_scanner.l" +#line 1346 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLONE); } @@ -5504,7 +5504,7 @@ yy501: } YYDEBUG(502, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1421 "Zend/zend_language_scanner.l" +#line 1422 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EMPTY); } @@ -5529,7 +5529,7 @@ yy505: } YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1191 "Zend/zend_language_scanner.l" +#line 1192 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDIF); } @@ -5575,7 +5575,7 @@ yy510: yy511: YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1437 "Zend/zend_language_scanner.l" +#line 1438 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINAL); } @@ -5636,7 +5636,7 @@ yy520: } YYDEBUG(521, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1417 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ISSET); } @@ -5655,7 +5655,7 @@ yy523: } YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1275 "Zend/zend_language_scanner.l" +#line 1276 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRINT); } @@ -5710,7 +5710,7 @@ yy532: } YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1179 "Zend/zend_language_scanner.l" +#line 1180 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_THROW); } @@ -5723,7 +5723,7 @@ yy534: } YYDEBUG(535, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1287 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT); } @@ -5736,7 +5736,7 @@ yy536: } YYDEBUG(537, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1453 "Zend/zend_language_scanner.l" +#line 1454 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET); } @@ -5749,7 +5749,7 @@ yy538: } YYDEBUG(539, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1199 "Zend/zend_language_scanner.l" +#line 1200 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_WHILE); } @@ -5771,7 +5771,7 @@ yy540: yy541: YYDEBUG(541, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1163 "Zend/zend_language_scanner.l" +#line 1164 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_YIELD); } @@ -5867,7 +5867,7 @@ yy555: ++YYCURSOR; YYDEBUG(557, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1373 "Zend/zend_language_scanner.l" +#line 1374 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOL_CAST); } @@ -5901,7 +5901,7 @@ yy562: ++YYCURSOR; YYDEBUG(563, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1357 "Zend/zend_language_scanner.l" +#line 1358 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_CAST); } @@ -5970,7 +5970,7 @@ yy573: } YYDEBUG(574, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1187 "Zend/zend_language_scanner.l" +#line 1188 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSEIF); } @@ -6004,7 +6004,7 @@ yy576: yy577: YYDEBUG(577, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1215 "Zend/zend_language_scanner.l" +#line 1216 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOR); } @@ -6053,7 +6053,7 @@ yy584: } YYDEBUG(585, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1413 "Zend/zend_language_scanner.l" +#line 1414 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GLOBAL); } @@ -6114,7 +6114,7 @@ yy594: } YYDEBUG(595, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1449 "Zend/zend_language_scanner.l" +#line 1450 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PUBLIC); } @@ -6146,7 +6146,7 @@ yy599: } YYDEBUG(600, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1429 "Zend/zend_language_scanner.l" +#line 1430 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STATIC); } @@ -6159,7 +6159,7 @@ yy601: } YYDEBUG(602, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1243 "Zend/zend_language_scanner.l" +#line 1244 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SWITCH); } @@ -6167,7 +6167,7 @@ yy601: yy603: YYDEBUG(603, *YYCURSOR); ++YYCURSOR; - YYFILL(4); + YYFILL(5); yych = *YYCURSOR; YYDEBUG(604, *YYCURSOR); if (yych <= 0x1F) { @@ -6243,7 +6243,7 @@ yy614: ++YYCURSOR; YYDEBUG(615, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1365 "Zend/zend_language_scanner.l" +#line 1366 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY_CAST); } @@ -6293,7 +6293,7 @@ yy622: ++YYCURSOR; YYDEBUG(623, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1377 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET_CAST); } @@ -6324,7 +6324,7 @@ yy627: } YYDEBUG(628, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1227 "Zend/zend_language_scanner.l" +#line 1228 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DECLARE); } @@ -6337,7 +6337,7 @@ yy629: } YYDEBUG(630, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1255 "Zend/zend_language_scanner.l" +#line 1256 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEFAULT); } @@ -6374,7 +6374,7 @@ yy635: } YYDEBUG(636, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1292 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXTENDS); } @@ -6387,7 +6387,7 @@ yy637: } YYDEBUG(638, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1175 "Zend/zend_language_scanner.l" +#line 1176 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINALLY); } @@ -6400,7 +6400,7 @@ yy639: } YYDEBUG(640, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1219 "Zend/zend_language_scanner.l" +#line 1220 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOREACH); } @@ -6438,7 +6438,7 @@ yy643: yy644: YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1385 "Zend/zend_language_scanner.l" +#line 1386 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE); } @@ -6475,7 +6475,7 @@ yy649: } YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRIVATE); } @@ -6507,7 +6507,7 @@ yy652: yy653: YYDEBUG(653, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1393 "Zend/zend_language_scanner.l" +#line 1394 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE); } @@ -6531,7 +6531,7 @@ yy656: } YYDEBUG(657, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1786 "Zend/zend_language_scanner.l" +#line 1787 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIR); } @@ -6580,7 +6580,7 @@ yy665: ++YYCURSOR; YYDEBUG(666, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1361 "Zend/zend_language_scanner.l" +#line 1362 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STRING_CAST); } @@ -6590,7 +6590,7 @@ yy667: ++YYCURSOR; YYDEBUG(668, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1369 "Zend/zend_language_scanner.l" +#line 1370 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_CAST); } @@ -6603,7 +6603,7 @@ yy669: } YYDEBUG(670, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1433 "Zend/zend_language_scanner.l" +#line 1434 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ABSTRACT); } @@ -6616,7 +6616,7 @@ yy671: } YYDEBUG(672, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1469 "Zend/zend_language_scanner.l" +#line 1470 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CALLABLE); } @@ -6629,7 +6629,7 @@ yy673: } YYDEBUG(674, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1263 "Zend/zend_language_scanner.l" +#line 1264 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONTINUE); } @@ -6660,7 +6660,7 @@ yy678: } YYDEBUG(679, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1203 "Zend/zend_language_scanner.l" +#line 1204 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDWHILE); } @@ -6745,7 +6745,7 @@ yy692: } YYDEBUG(693, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1782 "Zend/zend_language_scanner.l" +#line 1783 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FILE); } @@ -6770,7 +6770,7 @@ yy696: } YYDEBUG(697, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1778 "Zend/zend_language_scanner.l" +#line 1779 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LINE); } @@ -6811,7 +6811,7 @@ yy703: } YYDEBUG(704, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1247 "Zend/zend_language_scanner.l" +#line 1248 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDSWITCH); } @@ -6842,7 +6842,7 @@ yy708: } YYDEBUG(709, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1409 "Zend/zend_language_scanner.l" +#line 1410 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTEADOF); } @@ -6855,7 +6855,7 @@ yy710: } YYDEBUG(711, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1283 "Zend/zend_language_scanner.l" +#line 1284 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INTERFACE); } @@ -6868,7 +6868,7 @@ yy712: } YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1401 "Zend/zend_language_scanner.l" +#line 1402 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NAMESPACE); } @@ -6881,7 +6881,7 @@ yy714: } YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1445 "Zend/zend_language_scanner.l" +#line 1446 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PROTECTED); } @@ -6906,7 +6906,7 @@ yy718: } YYDEBUG(719, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1762 "Zend/zend_language_scanner.l" +#line 1763 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS_C); } @@ -6914,25 +6914,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); @@ -6942,7 +6942,7 @@ yy724: } YYDEBUG(725, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1766 "Zend/zend_language_scanner.l" +#line 1767 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT_C); } @@ -6955,7 +6955,7 @@ yy726: } YYDEBUG(727, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1231 "Zend/zend_language_scanner.l" +#line 1232 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDDECLARE); } @@ -6968,7 +6968,7 @@ yy728: } YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1223 "Zend/zend_language_scanner.l" +#line 1224 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOREACH); } @@ -6981,7 +6981,7 @@ yy730: } YYDEBUG(731, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1295 "Zend/zend_language_scanner.l" +#line 1296 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IMPLEMENTS); } @@ -6989,8 +6989,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); @@ -7000,7 +7000,7 @@ yy733: } YYDEBUG(734, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1235 "Zend/zend_language_scanner.l" +#line 1236 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTANCEOF); } @@ -7008,165 +7008,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 1158 "Zend/zend_language_scanner.l" - { - HANDLE_NEWLINES(yytext, yyleng); - RETURN_TOKEN(T_YIELD_FROM); -} -#line 7025 "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 1774 "Zend/zend_language_scanner.l" +#line 1775 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_METHOD_C); } -#line 7049 "Zend/zend_language_scanner.c" +#line 7060 "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 1158 "Zend/zend_language_scanner.l" + { + yyless(yyleng - 1); + HANDLE_NEWLINES(yytext, yyleng); + RETURN_TOKEN(T_YIELD_FROM); +} +#line 7090 "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 1389 "Zend/zend_language_scanner.l" +#line 1390 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 7096 "Zend/zend_language_scanner.c" -yy750: - YYDEBUG(750, *YYCURSOR); +#line 7119 "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 1397 "Zend/zend_language_scanner.l" +#line 1398 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE_ONCE); } -#line 7109 "Zend/zend_language_scanner.c" -yy752: - YYDEBUG(752, *YYCURSOR); +#line 7132 "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 1770 "Zend/zend_language_scanner.l" +#line 1771 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FUNC_C); } -#line 7122 "Zend/zend_language_scanner.c" -yy754: - YYDEBUG(754, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy756; - if (yych == 'l') goto yy756; - goto yy128; +#line 7145 "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 1790 "Zend/zend_language_scanner.l" +#line 1791 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_C); } -#line 7152 "Zend/zend_language_scanner.c" -yy759: - YYDEBUG(759, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy760; - if (yych != 'r') goto yy128; +#line 7175 "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 1425 "Zend/zend_language_scanner.l" +#line 1426 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_HALT_COMPILER); } -#line 7170 "Zend/zend_language_scanner.c" +#line 7193 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7205,90 +7228,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 >= 0x7F) goto yy770; + if (yych <= 'z') goto yy771; + if (yych >= 0x7F) goto yy771; } } -yy764: - YYDEBUG(764, *YYCURSOR); - ++YYCURSOR; yy765: YYDEBUG(765, *YYCURSOR); + ++YYCURSOR; +yy766: + YYDEBUG(766, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1319 "Zend/zend_language_scanner.l" +#line 1320 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); goto restart; } -#line 7242 "Zend/zend_language_scanner.c" -yy766: - YYDEBUG(766, *YYCURSOR); +#line 7265 "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 1304 "Zend/zend_language_scanner.l" +#line 1305 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); } -#line 7259 "Zend/zend_language_scanner.c" -yy769: - YYDEBUG(769, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy773; - goto yy765; +#line 7282 "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 1313 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { yy_pop_state(); zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7282 "Zend/zend_language_scanner.c" -yy773: - YYDEBUG(773, *YYCURSOR); - ++YYCURSOR; +#line 7305 "Zend/zend_language_scanner.c" +yy774: YYDEBUG(774, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(775, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1309 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 7292 "Zend/zend_language_scanner.c" +#line 7315 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7327,78 +7350,78 @@ 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 >= 0x7F) goto yy779; + if (yych <= '`') goto yy778; + if (yych <= 'z') goto yy780; + if (yych >= 0x7F) goto yy780; } -yy777: - YYDEBUG(777, *YYCURSOR); - ++YYCURSOR; yy778: YYDEBUG(778, *YYCURSOR); + ++YYCURSOR; +yy779: + YYDEBUG(779, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1624 "Zend/zend_language_scanner.l" +#line 1625 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7356 "Zend/zend_language_scanner.c" -yy779: - YYDEBUG(779, *YYCURSOR); +#line 7379 "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 yy778; - goto yy781; + if (yych == '~') 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 1615 "Zend/zend_language_scanner.l" +#line 1616 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7406,18 +7429,18 @@ yy783: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN(T_STRING_VARNAME); } -#line 7410 "Zend/zend_language_scanner.c" +#line 7433 "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 2343 "Zend/zend_language_scanner.l" +#line 2344 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7473,7 +7496,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7477 "Zend/zend_language_scanner.c" +#line 7500 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7511,58 +7534,58 @@ 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 <= '/') { 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; + if (yych <= '"') goto yy796; + if (yych <= '#') goto yy794; + goto yy798; } else { - if (yych == '\'') goto yy793; - goto yy795; + if (yych == '\'') goto yy794; + goto yy796; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '0') goto yy798; - if (yych <= '9') goto yy800; - goto yy795; + if (yych <= '0') goto yy799; + if (yych <= '9') goto yy801; + goto yy796; } else { - if (yych <= 'Z') goto yy802; - if (yych <= '[') goto yy795; - goto yy793; + if (yych <= 'Z') goto yy803; + if (yych <= '[') goto yy796; + goto yy794; } } else { if (yych <= '_') { - if (yych <= ']') goto yy805; - if (yych <= '^') goto yy795; - goto yy802; + if (yych <= ']') goto yy806; + if (yych <= '^') goto yy796; + goto yy803; } else { - if (yych <= '`') goto yy795; - if (yych <= 'z') goto yy802; - if (yych <= '~') goto yy795; - goto yy802; + if (yych <= '`') goto yy796; + if (yych <= 'z') goto yy803; + if (yych <= '~') goto yy796; + goto yy803; } } } -yy791: - YYDEBUG(791, *YYCURSOR); - ++YYCURSOR; +yy792: YYDEBUG(792, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(793, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2400 "Zend/zend_language_scanner.l" +#line 2401 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -7571,13 +7594,13 @@ yy791: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7575 "Zend/zend_language_scanner.c" -yy793: - YYDEBUG(793, *YYCURSOR); - ++YYCURSOR; +#line 7598 "Zend/zend_language_scanner.c" +yy794: YYDEBUG(794, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1897 "Zend/zend_language_scanner.l" +#line 1898 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7585,54 +7608,54 @@ yy793: ZVAL_NULL(zendlval); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7589 "Zend/zend_language_scanner.c" -yy795: - YYDEBUG(795, *YYCURSOR); - ++YYCURSOR; +#line 7612 "Zend/zend_language_scanner.c" yy796: YYDEBUG(796, *YYCURSOR); + ++YYCURSOR; +yy797: + YYDEBUG(797, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1892 "Zend/zend_language_scanner.l" +#line 1893 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ RETURN_TOKEN(yytext[0]); } -#line 7601 "Zend/zend_language_scanner.c" -yy797: - YYDEBUG(797, *YYCURSOR); +#line 7624 "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 <= '~') goto yy796; - goto yy807; + if (yych <= '`') goto yy797; + if (yych <= 'z') goto yy808; + if (yych <= '~') 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 1732 "Zend/zend_language_scanner.l" +#line 1733 "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; @@ -7648,131 +7671,131 @@ string: } RETURN_TOKEN(T_NUM_STRING); } -#line 7652 "Zend/zend_language_scanner.c" -yy800: - YYDEBUG(800, *YYCURSOR); +#line 7675 "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 1905 "Zend/zend_language_scanner.l" +#line 1906 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7679 "Zend/zend_language_scanner.c" -yy805: - YYDEBUG(805, *YYCURSOR); - ++YYCURSOR; +#line 7702 "Zend/zend_language_scanner.c" +yy806: YYDEBUG(806, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(807, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1887 "Zend/zend_language_scanner.l" +#line 1888 "Zend/zend_language_scanner.l" { yy_pop_state(); RETURN_TOKEN(']'); } -#line 7690 "Zend/zend_language_scanner.c" -yy807: - YYDEBUG(807, *YYCURSOR); +#line 7713 "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 >= 0x7F) goto yy807; + if (yych <= 'z') goto yy808; + if (yych >= 0x7F) goto yy808; } } -yy809: - YYDEBUG(809, *YYCURSOR); +yy810: + YYDEBUG(810, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1882 "Zend/zend_language_scanner.l" +#line 1883 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 7720 "Zend/zend_language_scanner.c" -yy810: - YYDEBUG(810, *YYCURSOR); +#line 7743 "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 1748 "Zend/zend_language_scanner.l" +#line 1749 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); RETURN_TOKEN(T_NUM_STRING); } -#line 7737 "Zend/zend_language_scanner.c" -yy813: - YYDEBUG(813, *YYCURSOR); +#line 7760 "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 2409 "Zend/zend_language_scanner.l" +#line 2410 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 093d7de9aa..9dc075104c 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1156,7 +1156,7 @@ NEWLINE ("\r"|"\n"|"\r\n") } "yield"{WHITESPACE}"from"[^a-zA-Z0-9_\x80-\xff] { - yyless(--yyleng); + yyless(yyleng - 1); HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_YIELD_FROM); } -- cgit v1.2.1