From: Christoph M. Becker Date: Wed, 21 Aug 2019 20:51:51 +0000 (+0200) Subject: Fix #78441: Parse error due to heredoc identifier followed by digit X-Git-Tag: php-7.4.0RC1~62^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=310708845ff02b9e252b7a02616290384dd846ba;p=php Fix #78441: Parse error due to heredoc identifier followed by digit Since digits are allowed for identifiers, we have to cater to them as well. --- diff --git a/NEWS b/NEWS index 90e32a74f4..eda4a46ed2 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ PHP NEWS . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab) . Fixed bug #77922 (Double release of doc comment on inherited shadow property). (Nikita) + . Fixed bug #78441 (Parse error due to heredoc identifier followed by digit). + (cmb) - Intl: . Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8() diff --git a/Zend/tests/grammar/bug78441.phpt b/Zend/tests/grammar/bug78441.phpt new file mode 100644 index 0000000000..af05ecf1d8 --- /dev/null +++ b/Zend/tests/grammar/bug78441.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #78441 (Parse error due to heredoc identifier followed by digit) +--FILE-- + +--EXPECT-- +FOO4 +bar +FOO4 +bar +FOO4 diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 511dea577f..39b02f0e42 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.1 */ +/* Generated by re2c 1.1.1 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -118,6 +118,7 @@ do { \ #define GET_DOUBLE_QUOTES_SCANNED_LENGTH() SCNG(scanned_string_len) #define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80) +#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80) #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) @@ -1245,7 +1246,7 @@ restart: SCNG(yy_text) = YYCURSOR; -#line 1249 "Zend/zend_language_scanner.c" +#line 1250 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1453,7 +1454,7 @@ yy3: ++YYCURSOR; YYDEBUG(4, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2749 "Zend/zend_language_scanner.l" +#line 2750 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -1462,7 +1463,7 @@ yy3: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 1466 "Zend/zend_language_scanner.c" +#line 1467 "Zend/zend_language_scanner.c" yy5: YYDEBUG(5, *YYCURSOR); ++YYCURSOR; @@ -1474,11 +1475,11 @@ yy5: } YYDEBUG(7, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" +#line 1429 "Zend/zend_language_scanner.l" { goto return_whitespace; } -#line 1482 "Zend/zend_language_scanner.c" +#line 1483 "Zend/zend_language_scanner.c" yy8: YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; @@ -1486,17 +1487,17 @@ yy8: yy9: YYDEBUG(9, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1711 "Zend/zend_language_scanner.l" +#line 1712 "Zend/zend_language_scanner.l" { RETURN_TOKEN(yytext[0]); } -#line 1494 "Zend/zend_language_scanner.c" +#line 1495 "Zend/zend_language_scanner.c" yy10: YYDEBUG(10, *YYCURSOR); ++YYCURSOR; YYDEBUG(11, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2223 "Zend/zend_language_scanner.l" +#line 2224 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -1541,13 +1542,13 @@ yy10: BEGIN(ST_DOUBLE_QUOTES); RETURN_TOKEN('"'); } -#line 1545 "Zend/zend_language_scanner.c" +#line 1546 "Zend/zend_language_scanner.c" yy12: YYDEBUG(12, *YYCURSOR); ++YYCURSOR; YYDEBUG(13, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2050 "Zend/zend_language_scanner.l" +#line 2051 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -1579,7 +1580,7 @@ yy12: } RETURN_TOKEN(T_COMMENT); } -#line 1583 "Zend/zend_language_scanner.c" +#line 1584 "Zend/zend_language_scanner.c" yy14: YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; @@ -1610,7 +1611,7 @@ yy17: ++YYCURSOR; YYDEBUG(18, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2134 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -1699,7 +1700,7 @@ skip_escape_conversion: } RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING); } -#line 1703 "Zend/zend_language_scanner.c" +#line 1704 "Zend/zend_language_scanner.c" yy19: YYDEBUG(19, *YYCURSOR); yyaccept = 0; @@ -1823,7 +1824,7 @@ yy26: yy27: YYDEBUG(27, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1780 "Zend/zend_language_scanner.l" +#line 1781 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -1875,7 +1876,7 @@ yy27: ZEND_ASSERT(!errno); RETURN_TOKEN_WITH_VAL(T_LNUMBER); } -#line 1879 "Zend/zend_language_scanner.c" +#line 1880 "Zend/zend_language_scanner.c" yy28: YYDEBUG(28, *YYCURSOR); yyaccept = 1; @@ -1957,11 +1958,11 @@ yy35: yy36: YYDEBUG(36, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2045 "Zend/zend_language_scanner.l" +#line 2046 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 1965 "Zend/zend_language_scanner.c" +#line 1966 "Zend/zend_language_scanner.c" yy37: YYDEBUG(37, *YYCURSOR); yyaccept = 2; @@ -2246,11 +2247,11 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1451 "Zend/zend_language_scanner.l" +#line 1452 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_SEPARATOR); } -#line 2254 "Zend/zend_language_scanner.c" +#line 2255 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -2266,23 +2267,23 @@ yy62: ++YYCURSOR; YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2402 "Zend/zend_language_scanner.l" +#line 2403 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); } -#line 2275 "Zend/zend_language_scanner.c" +#line 2276 "Zend/zend_language_scanner.c" yy64: YYDEBUG(64, *YYCURSOR); ++YYCURSOR; YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1716 "Zend/zend_language_scanner.l" +#line 1717 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN('{'); } -#line 2286 "Zend/zend_language_scanner.c" +#line 2287 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; @@ -2294,7 +2295,7 @@ yy67: ++YYCURSOR; YYDEBUG(68, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1728 "Zend/zend_language_scanner.l" +#line 1729 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2302,7 +2303,7 @@ yy67: } RETURN_TOKEN('}'); } -#line 2306 "Zend/zend_language_scanner.c" +#line 2307 "Zend/zend_language_scanner.c" yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; @@ -2310,11 +2311,11 @@ yy69: yy70: YYDEBUG(70, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1615 "Zend/zend_language_scanner.l" +#line 1616 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_EQUAL); } -#line 2318 "Zend/zend_language_scanner.c" +#line 2319 "Zend/zend_language_scanner.c" yy71: YYDEBUG(71, *YYCURSOR); ++YYCURSOR; @@ -2339,41 +2340,41 @@ yy71: yy73: YYDEBUG(73, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2024 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 2347 "Zend/zend_language_scanner.c" +#line 2348 "Zend/zend_language_scanner.c" yy74: YYDEBUG(74, *YYCURSOR); ++YYCURSOR; YYDEBUG(75, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1660 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MOD_EQUAL); } -#line 2357 "Zend/zend_language_scanner.c" +#line 2358 "Zend/zend_language_scanner.c" yy76: YYDEBUG(76, *YYCURSOR); ++YYCURSOR; YYDEBUG(77, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1687 "Zend/zend_language_scanner.l" +#line 1688 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_AND); } -#line 2367 "Zend/zend_language_scanner.c" +#line 2368 "Zend/zend_language_scanner.c" yy78: YYDEBUG(78, *YYCURSOR); ++YYCURSOR; YYDEBUG(79, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1671 "Zend/zend_language_scanner.l" +#line 1672 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AND_EQUAL); } -#line 2377 "Zend/zend_language_scanner.c" +#line 2378 "Zend/zend_language_scanner.c" yy80: YYDEBUG(80, *YYCURSOR); ++YYCURSOR; @@ -2503,72 +2504,72 @@ yy92: if (yych == '=') goto yy205; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1643 "Zend/zend_language_scanner.l" +#line 1644 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW); } -#line 2511 "Zend/zend_language_scanner.c" +#line 2512 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); ++YYCURSOR; YYDEBUG(95, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1639 "Zend/zend_language_scanner.l" +#line 1640 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MUL_EQUAL); } -#line 2521 "Zend/zend_language_scanner.c" +#line 2522 "Zend/zend_language_scanner.c" yy96: YYDEBUG(96, *YYCURSOR); ++YYCURSOR; YYDEBUG(97, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1595 "Zend/zend_language_scanner.l" +#line 1596 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INC); } -#line 2531 "Zend/zend_language_scanner.c" +#line 2532 "Zend/zend_language_scanner.c" yy98: YYDEBUG(98, *YYCURSOR); ++YYCURSOR; YYDEBUG(99, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1632 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PLUS_EQUAL); } -#line 2541 "Zend/zend_language_scanner.c" +#line 2542 "Zend/zend_language_scanner.c" yy100: YYDEBUG(100, *YYCURSOR); ++YYCURSOR; YYDEBUG(101, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1599 "Zend/zend_language_scanner.l" +#line 1600 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEC); } -#line 2551 "Zend/zend_language_scanner.c" +#line 2552 "Zend/zend_language_scanner.c" yy102: YYDEBUG(102, *YYCURSOR); ++YYCURSOR; YYDEBUG(103, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1635 "Zend/zend_language_scanner.l" +#line 1636 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MINUS_EQUAL); } -#line 2561 "Zend/zend_language_scanner.c" +#line 2562 "Zend/zend_language_scanner.c" yy104: YYDEBUG(104, *YYCURSOR); ++YYCURSOR; YYDEBUG(105, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1423 "Zend/zend_language_scanner.l" +#line 1424 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 2572 "Zend/zend_language_scanner.c" +#line 2573 "Zend/zend_language_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; @@ -2591,7 +2592,7 @@ yy107: yy109: YYDEBUG(109, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1885 "Zend/zend_language_scanner.l" +#line 1886 "Zend/zend_language_scanner.l" { const char *end; @@ -2600,17 +2601,17 @@ yy109: ZEND_ASSERT(end == yytext + yyleng); RETURN_TOKEN_WITH_VAL(T_DNUMBER); } -#line 2604 "Zend/zend_language_scanner.c" +#line 2605 "Zend/zend_language_scanner.c" yy110: YYDEBUG(110, *YYCURSOR); ++YYCURSOR; YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1655 "Zend/zend_language_scanner.l" +#line 1656 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONCAT_EQUAL); } -#line 2614 "Zend/zend_language_scanner.c" +#line 2615 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); yyaccept = 4; @@ -2619,7 +2620,7 @@ yy112: yy113: YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2082 "Zend/zend_language_scanner.l" +#line 2083 "Zend/zend_language_scanner.l" { int doc_com; @@ -2658,17 +2659,17 @@ yy113: } RETURN_TOKEN(T_COMMENT); } -#line 2662 "Zend/zend_language_scanner.c" +#line 2663 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); ++YYCURSOR; YYDEBUG(115, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" +#line 1652 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIV_EQUAL); } -#line 2672 "Zend/zend_language_scanner.c" +#line 2673 "Zend/zend_language_scanner.c" yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; @@ -2700,11 +2701,11 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1447 "Zend/zend_language_scanner.l" +#line 1448 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } -#line 2708 "Zend/zend_language_scanner.c" +#line 2709 "Zend/zend_language_scanner.c" yy121: YYDEBUG(121, *YYCURSOR); yyaccept = 5; @@ -2715,22 +2716,22 @@ yy121: yy122: YYDEBUG(122, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1703 "Zend/zend_language_scanner.l" +#line 1704 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL); } -#line 2723 "Zend/zend_language_scanner.c" +#line 2724 "Zend/zend_language_scanner.c" yy123: YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; if (yych == '>') goto yy223; YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1623 "Zend/zend_language_scanner.l" +#line 1624 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } -#line 2734 "Zend/zend_language_scanner.c" +#line 2735 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); ++YYCURSOR; @@ -2741,42 +2742,42 @@ yy126: if (yych == '=') goto yy225; YYDEBUG(127, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1611 "Zend/zend_language_scanner.l" +#line 1612 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_EQUAL); } -#line 2749 "Zend/zend_language_scanner.c" +#line 2750 "Zend/zend_language_scanner.c" yy128: YYDEBUG(128, *YYCURSOR); ++YYCURSOR; YYDEBUG(129, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1579 "Zend/zend_language_scanner.l" +#line 1580 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_ARROW); } -#line 2759 "Zend/zend_language_scanner.c" +#line 2760 "Zend/zend_language_scanner.c" yy130: YYDEBUG(130, *YYCURSOR); ++YYCURSOR; YYDEBUG(131, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1627 "Zend/zend_language_scanner.l" +#line 1628 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } -#line 2769 "Zend/zend_language_scanner.c" +#line 2770 "Zend/zend_language_scanner.c" yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; if (yych == '=') goto yy227; YYDEBUG(133, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1707 "Zend/zend_language_scanner.l" +#line 1708 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR); } -#line 2780 "Zend/zend_language_scanner.c" +#line 2781 "Zend/zend_language_scanner.c" yy134: YYDEBUG(134, *YYCURSOR); yych = *++YYCURSOR; @@ -2785,7 +2786,7 @@ yy134: yy135: YYDEBUG(135, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2121 "Zend/zend_language_scanner.l" +#line 2122 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); if (yytext[yyleng-1] != '>') { @@ -2796,17 +2797,17 @@ yy135: } RETURN_TOKEN(T_CLOSE_TAG); } -#line 2800 "Zend/zend_language_scanner.c" +#line 2801 "Zend/zend_language_scanner.c" yy136: YYDEBUG(136, *YYCURSOR); ++YYCURSOR; YYDEBUG(137, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1459 "Zend/zend_language_scanner.l" +#line 1460 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_COALESCE); } -#line 2810 "Zend/zend_language_scanner.c" +#line 2811 "Zend/zend_language_scanner.c" yy138: YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; @@ -2833,11 +2834,11 @@ yy141: } YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1363 "Zend/zend_language_scanner.l" +#line 1364 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AS); } -#line 2841 "Zend/zend_language_scanner.c" +#line 2842 "Zend/zend_language_scanner.c" yy143: YYDEBUG(143, *YYCURSOR); yych = *++YYCURSOR; @@ -2923,11 +2924,11 @@ yy150: } YYDEBUG(151, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1331 "Zend/zend_language_scanner.l" +#line 1332 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DO); } -#line 2931 "Zend/zend_language_scanner.c" +#line 2932 "Zend/zend_language_scanner.c" yy152: YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; @@ -3012,11 +3013,11 @@ yy163: } YYDEBUG(164, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1307 "Zend/zend_language_scanner.l" +#line 1308 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IF); } -#line 3020 "Zend/zend_language_scanner.c" +#line 3021 "Zend/zend_language_scanner.c" yy165: YYDEBUG(165, *YYCURSOR); yych = *++YYCURSOR; @@ -3077,11 +3078,11 @@ yy171: } YYDEBUG(172, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1691 "Zend/zend_language_scanner.l" +#line 1692 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_OR); } -#line 3085 "Zend/zend_language_scanner.c" +#line 3086 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; @@ -3195,11 +3196,11 @@ yy186: ++YYCURSOR; YYDEBUG(187, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1679 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_XOR_EQUAL); } -#line 3203 "Zend/zend_language_scanner.c" +#line 3204 "Zend/zend_language_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; @@ -3227,31 +3228,31 @@ yy189: ++YYCURSOR; YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1675 "Zend/zend_language_scanner.l" +#line 1676 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OR_EQUAL); } -#line 3235 "Zend/zend_language_scanner.c" +#line 3236 "Zend/zend_language_scanner.c" yy191: YYDEBUG(191, *YYCURSOR); ++YYCURSOR; YYDEBUG(192, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1683 "Zend/zend_language_scanner.l" +#line 1684 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_OR); } -#line 3245 "Zend/zend_language_scanner.c" +#line 3246 "Zend/zend_language_scanner.c" yy193: YYDEBUG(193, *YYCURSOR); ++YYCURSOR; YYDEBUG(194, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1607 "Zend/zend_language_scanner.l" +#line 1608 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_IDENTICAL); } -#line 3255 "Zend/zend_language_scanner.c" +#line 3256 "Zend/zend_language_scanner.c" yy195: YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; @@ -3317,21 +3318,21 @@ yy205: ++YYCURSOR; YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1647 "Zend/zend_language_scanner.l" +#line 1648 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW_EQUAL); } -#line 3325 "Zend/zend_language_scanner.c" +#line 3326 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); ++YYCURSOR; YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1455 "Zend/zend_language_scanner.l" +#line 1456 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELLIPSIS); } -#line 3335 "Zend/zend_language_scanner.c" +#line 3336 "Zend/zend_language_scanner.c" yy209: YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; @@ -3355,7 +3356,7 @@ yy210: } YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1752 "Zend/zend_language_scanner.l" +#line 1753 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3383,7 +3384,7 @@ yy210: RETURN_TOKEN_WITH_VAL(T_DNUMBER); } } -#line 3387 "Zend/zend_language_scanner.c" +#line 3388 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; @@ -3409,7 +3410,7 @@ yy216: } YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1832 "Zend/zend_language_scanner.l" +#line 1833 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3437,7 +3438,7 @@ yy216: RETURN_TOKEN_WITH_VAL(T_DNUMBER); } } -#line 3441 "Zend/zend_language_scanner.c" +#line 3442 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; @@ -3472,41 +3473,41 @@ yy221: ++YYCURSOR; YYDEBUG(222, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1663 "Zend/zend_language_scanner.l" +#line 1664 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL_EQUAL); } -#line 3480 "Zend/zend_language_scanner.c" +#line 3481 "Zend/zend_language_scanner.c" yy223: YYDEBUG(223, *YYCURSOR); ++YYCURSOR; YYDEBUG(224, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1619 "Zend/zend_language_scanner.l" +#line 1620 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SPACESHIP); } -#line 3490 "Zend/zend_language_scanner.c" +#line 3491 "Zend/zend_language_scanner.c" yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1603 "Zend/zend_language_scanner.l" +#line 1604 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_IDENTICAL); } -#line 3500 "Zend/zend_language_scanner.c" +#line 3501 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); ++YYCURSOR; YYDEBUG(228, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1667 "Zend/zend_language_scanner.l" +#line 1668 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR_EQUAL); } -#line 3510 "Zend/zend_language_scanner.c" +#line 3511 "Zend/zend_language_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); ++YYCURSOR; @@ -3530,11 +3531,11 @@ yy232: } YYDEBUG(233, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1695 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_AND); } -#line 3538 "Zend/zend_language_scanner.c" +#line 3539 "Zend/zend_language_scanner.c" yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; @@ -3615,11 +3616,11 @@ yy245: } YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1265 "Zend/zend_language_scanner.l" +#line 1266 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXIT); } -#line 3623 "Zend/zend_language_scanner.c" +#line 3624 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); yych = *++YYCURSOR; @@ -3701,11 +3702,11 @@ yy255: yy256: YYDEBUG(256, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1335 "Zend/zend_language_scanner.l" +#line 1336 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOR); } -#line 3709 "Zend/zend_language_scanner.c" +#line 3710 "Zend/zend_language_scanner.c" yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; @@ -3774,11 +3775,11 @@ yy267: } YYDEBUG(268, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1463 "Zend/zend_language_scanner.l" +#line 1464 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NEW); } -#line 3782 "Zend/zend_language_scanner.c" +#line 3783 "Zend/zend_language_scanner.c" yy269: YYDEBUG(269, *YYCURSOR); yych = *++YYCURSOR; @@ -3851,11 +3852,11 @@ yy278: } YYDEBUG(279, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1292 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRY); } -#line 3859 "Zend/zend_language_scanner.c" +#line 3860 "Zend/zend_language_scanner.c" yy280: YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; @@ -3870,11 +3871,11 @@ yy281: } YYDEBUG(282, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1527 "Zend/zend_language_scanner.l" +#line 1528 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_USE); } -#line 3878 "Zend/zend_language_scanner.c" +#line 3879 "Zend/zend_language_scanner.c" yy283: YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; @@ -3883,11 +3884,11 @@ yy283: } YYDEBUG(284, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1471 "Zend/zend_language_scanner.l" +#line 1472 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_VAR); } -#line 3891 "Zend/zend_language_scanner.c" +#line 3892 "Zend/zend_language_scanner.c" yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; @@ -3902,11 +3903,11 @@ yy286: } YYDEBUG(287, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1699 "Zend/zend_language_scanner.l" +#line 1700 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_XOR); } -#line 3910 "Zend/zend_language_scanner.c" +#line 3911 "Zend/zend_language_scanner.c" yy288: YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; @@ -4120,11 +4121,11 @@ yy317: } YYDEBUG(318, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1375 "Zend/zend_language_scanner.l" +#line 1376 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CASE); } -#line 4128 "Zend/zend_language_scanner.c" +#line 4129 "Zend/zend_language_scanner.c" yy319: YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; @@ -4175,11 +4176,11 @@ yy326: } YYDEBUG(327, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1395 "Zend/zend_language_scanner.l" +#line 1396 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ECHO); } -#line 4183 "Zend/zend_language_scanner.c" +#line 4184 "Zend/zend_language_scanner.c" yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; @@ -4203,11 +4204,11 @@ yy328: yy329: YYDEBUG(329, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1319 "Zend/zend_language_scanner.l" +#line 1320 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSE); } -#line 4211 "Zend/zend_language_scanner.c" +#line 4212 "Zend/zend_language_scanner.c" yy330: YYDEBUG(330, *YYCURSOR); yych = *++YYCURSOR; @@ -4252,11 +4253,11 @@ yy336: } YYDEBUG(337, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1503 "Zend/zend_language_scanner.l" +#line 1504 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EVAL); } -#line 4260 "Zend/zend_language_scanner.c" +#line 4261 "Zend/zend_language_scanner.c" yy338: YYDEBUG(338, *YYCURSOR); yych = *++YYCURSOR; @@ -4265,11 +4266,11 @@ yy338: } YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1261 "Zend/zend_language_scanner.l" +#line 1262 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXIT); } -#line 4273 "Zend/zend_language_scanner.c" +#line 4274 "Zend/zend_language_scanner.c" yy340: YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; @@ -4308,11 +4309,11 @@ yy345: } YYDEBUG(346, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1391 "Zend/zend_language_scanner.l" +#line 1392 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GOTO); } -#line 4316 "Zend/zend_language_scanner.c" +#line 4317 "Zend/zend_language_scanner.c" yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; @@ -4361,11 +4362,11 @@ yy352: } YYDEBUG(353, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1583 "Zend/zend_language_scanner.l" +#line 1584 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LIST); } -#line 4369 "Zend/zend_language_scanner.c" +#line 4370 "Zend/zend_language_scanner.c" yy354: YYDEBUG(354, *YYCURSOR); yych = *++YYCURSOR; @@ -4552,11 +4553,11 @@ yy383: ++YYCURSOR; YYDEBUG(385, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1475 "Zend/zend_language_scanner.l" +#line 1476 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INT_CAST); } -#line 4560 "Zend/zend_language_scanner.c" +#line 4561 "Zend/zend_language_scanner.c" yy386: YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; @@ -4653,7 +4654,7 @@ yy396: yy397: YYDEBUG(397, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2269 "Zend/zend_language_scanner.l" +#line 2270 "Zend/zend_language_scanner.l" { char *s; unsigned char *saved_cursor; @@ -4707,7 +4708,7 @@ yy397: /* Check for ending label on the next line */ if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) { - if (!IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) { zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0); } @@ -4785,7 +4786,7 @@ yy397: RETURN_TOKEN(T_START_HEREDOC); } -#line 4789 "Zend/zend_language_scanner.c" +#line 4790 "Zend/zend_language_scanner.c" yy398: YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; @@ -4805,11 +4806,11 @@ yy400: } YYDEBUG(401, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1587 "Zend/zend_language_scanner.l" +#line 1588 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY); } -#line 4813 "Zend/zend_language_scanner.c" +#line 4814 "Zend/zend_language_scanner.c" yy402: YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; @@ -4818,11 +4819,11 @@ yy402: } YYDEBUG(403, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1383 "Zend/zend_language_scanner.l" +#line 1384 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BREAK); } -#line 4826 "Zend/zend_language_scanner.c" +#line 4827 "Zend/zend_language_scanner.c" yy404: YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; @@ -4837,11 +4838,11 @@ yy405: } YYDEBUG(406, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1295 "Zend/zend_language_scanner.l" +#line 1296 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CATCH); } -#line 4845 "Zend/zend_language_scanner.c" +#line 4846 "Zend/zend_language_scanner.c" yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; @@ -4850,11 +4851,11 @@ yy407: } YYDEBUG(408, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1403 "Zend/zend_language_scanner.l" +#line 1404 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS); } -#line 4858 "Zend/zend_language_scanner.c" +#line 4859 "Zend/zend_language_scanner.c" yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; @@ -4863,11 +4864,11 @@ yy409: } YYDEBUG(410, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1467 "Zend/zend_language_scanner.l" +#line 1468 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLONE); } -#line 4871 "Zend/zend_language_scanner.c" +#line 4872 "Zend/zend_language_scanner.c" yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; @@ -4876,11 +4877,11 @@ yy411: } YYDEBUG(412, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1273 "Zend/zend_language_scanner.l" +#line 1274 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONST); } -#line 4884 "Zend/zend_language_scanner.c" +#line 4885 "Zend/zend_language_scanner.c" yy413: YYDEBUG(413, *YYCURSOR); yych = *++YYCURSOR; @@ -4913,11 +4914,11 @@ yy417: } YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1543 "Zend/zend_language_scanner.l" +#line 1544 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EMPTY); } -#line 4921 "Zend/zend_language_scanner.c" +#line 4922 "Zend/zend_language_scanner.c" yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; @@ -4938,11 +4939,11 @@ yy421: } YYDEBUG(422, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1315 "Zend/zend_language_scanner.l" +#line 1316 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDIF); } -#line 4946 "Zend/zend_language_scanner.c" +#line 4947 "Zend/zend_language_scanner.c" yy423: YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; @@ -4984,11 +4985,11 @@ yy426: yy427: YYDEBUG(427, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1559 "Zend/zend_language_scanner.l" +#line 1560 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINAL); } -#line 4992 "Zend/zend_language_scanner.c" +#line 4993 "Zend/zend_language_scanner.c" yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; @@ -5045,11 +5046,11 @@ yy436: } YYDEBUG(437, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1539 "Zend/zend_language_scanner.l" +#line 1540 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ISSET); } -#line 5053 "Zend/zend_language_scanner.c" +#line 5054 "Zend/zend_language_scanner.c" yy438: YYDEBUG(438, *YYCURSOR); yych = *++YYCURSOR; @@ -5064,11 +5065,11 @@ yy439: } YYDEBUG(440, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1399 "Zend/zend_language_scanner.l" +#line 1400 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRINT); } -#line 5072 "Zend/zend_language_scanner.c" +#line 5073 "Zend/zend_language_scanner.c" yy441: YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; @@ -5119,11 +5120,11 @@ yy448: } YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1303 "Zend/zend_language_scanner.l" +#line 1304 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_THROW); } -#line 5127 "Zend/zend_language_scanner.c" +#line 5128 "Zend/zend_language_scanner.c" yy450: YYDEBUG(450, *YYCURSOR); yych = *++YYCURSOR; @@ -5132,11 +5133,11 @@ yy450: } YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1411 "Zend/zend_language_scanner.l" +#line 1412 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT); } -#line 5140 "Zend/zend_language_scanner.c" +#line 5141 "Zend/zend_language_scanner.c" yy452: YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; @@ -5145,11 +5146,11 @@ yy452: } YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1575 "Zend/zend_language_scanner.l" +#line 1576 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET); } -#line 5153 "Zend/zend_language_scanner.c" +#line 5154 "Zend/zend_language_scanner.c" yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; @@ -5158,11 +5159,11 @@ yy454: } YYDEBUG(455, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1323 "Zend/zend_language_scanner.l" +#line 1324 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_WHILE); } -#line 5166 "Zend/zend_language_scanner.c" +#line 5167 "Zend/zend_language_scanner.c" yy456: YYDEBUG(456, *YYCURSOR); yyaccept = 6; @@ -5180,11 +5181,11 @@ yy456: yy457: YYDEBUG(457, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1287 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_YIELD); } -#line 5188 "Zend/zend_language_scanner.c" +#line 5189 "Zend/zend_language_scanner.c" yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; @@ -5276,11 +5277,11 @@ yy471: ++YYCURSOR; YYDEBUG(473, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1495 "Zend/zend_language_scanner.l" +#line 1496 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOL_CAST); } -#line 5284 "Zend/zend_language_scanner.c" +#line 5285 "Zend/zend_language_scanner.c" yy474: YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; @@ -5310,11 +5311,11 @@ yy478: ++YYCURSOR; YYDEBUG(479, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1479 "Zend/zend_language_scanner.l" +#line 1480 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_CAST); } -#line 5318 "Zend/zend_language_scanner.c" +#line 5319 "Zend/zend_language_scanner.c" yy480: YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; @@ -5379,11 +5380,11 @@ yy489: } YYDEBUG(490, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1311 "Zend/zend_language_scanner.l" +#line 1312 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSEIF); } -#line 5387 "Zend/zend_language_scanner.c" +#line 5388 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; @@ -5413,11 +5414,11 @@ yy492: yy493: YYDEBUG(493, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1339 "Zend/zend_language_scanner.l" +#line 1340 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOR); } -#line 5421 "Zend/zend_language_scanner.c" +#line 5422 "Zend/zend_language_scanner.c" yy494: YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; @@ -5462,11 +5463,11 @@ yy500: } YYDEBUG(501, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1535 "Zend/zend_language_scanner.l" +#line 1536 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GLOBAL); } -#line 5470 "Zend/zend_language_scanner.c" +#line 5471 "Zend/zend_language_scanner.c" yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; @@ -5523,11 +5524,11 @@ yy510: } YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1571 "Zend/zend_language_scanner.l" +#line 1572 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PUBLIC); } -#line 5531 "Zend/zend_language_scanner.c" +#line 5532 "Zend/zend_language_scanner.c" yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; @@ -5542,11 +5543,11 @@ yy513: } YYDEBUG(514, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1277 "Zend/zend_language_scanner.l" +#line 1278 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_RETURN); } -#line 5550 "Zend/zend_language_scanner.c" +#line 5551 "Zend/zend_language_scanner.c" yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; @@ -5555,11 +5556,11 @@ yy515: } YYDEBUG(516, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1551 "Zend/zend_language_scanner.l" +#line 1552 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STATIC); } -#line 5563 "Zend/zend_language_scanner.c" +#line 5564 "Zend/zend_language_scanner.c" yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; @@ -5568,11 +5569,11 @@ yy517: } YYDEBUG(518, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1367 "Zend/zend_language_scanner.l" +#line 1368 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SWITCH); } -#line 5576 "Zend/zend_language_scanner.c" +#line 5577 "Zend/zend_language_scanner.c" yy519: YYDEBUG(519, *YYCURSOR); ++YYCURSOR; @@ -5652,11 +5653,11 @@ yy530: ++YYCURSOR; YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1487 "Zend/zend_language_scanner.l" +#line 1488 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY_CAST); } -#line 5660 "Zend/zend_language_scanner.c" +#line 5661 "Zend/zend_language_scanner.c" yy532: YYDEBUG(532, *YYCURSOR); ++YYCURSOR; @@ -5702,11 +5703,11 @@ yy538: ++YYCURSOR; YYDEBUG(539, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1499 "Zend/zend_language_scanner.l" +#line 1500 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET_CAST); } -#line 5710 "Zend/zend_language_scanner.c" +#line 5711 "Zend/zend_language_scanner.c" yy540: YYDEBUG(540, *YYCURSOR); yych = *++YYCURSOR; @@ -5733,11 +5734,11 @@ yy543: } YYDEBUG(544, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1351 "Zend/zend_language_scanner.l" +#line 1352 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DECLARE); } -#line 5741 "Zend/zend_language_scanner.c" +#line 5742 "Zend/zend_language_scanner.c" yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; @@ -5746,11 +5747,11 @@ yy545: } YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1379 "Zend/zend_language_scanner.l" +#line 1380 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEFAULT); } -#line 5754 "Zend/zend_language_scanner.c" +#line 5755 "Zend/zend_language_scanner.c" yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; @@ -5783,11 +5784,11 @@ yy551: } YYDEBUG(552, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1415 "Zend/zend_language_scanner.l" +#line 1416 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXTENDS); } -#line 5791 "Zend/zend_language_scanner.c" +#line 5792 "Zend/zend_language_scanner.c" yy553: YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; @@ -5796,11 +5797,11 @@ yy553: } YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1299 "Zend/zend_language_scanner.l" +#line 1300 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINALLY); } -#line 5804 "Zend/zend_language_scanner.c" +#line 5805 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; @@ -5809,11 +5810,11 @@ yy555: } YYDEBUG(556, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1343 "Zend/zend_language_scanner.l" +#line 1344 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOREACH); } -#line 5817 "Zend/zend_language_scanner.c" +#line 5818 "Zend/zend_language_scanner.c" yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; @@ -5847,11 +5848,11 @@ yy559: yy560: YYDEBUG(560, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1507 "Zend/zend_language_scanner.l" +#line 1508 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE); } -#line 5855 "Zend/zend_language_scanner.c" +#line 5856 "Zend/zend_language_scanner.c" yy561: YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; @@ -5884,11 +5885,11 @@ yy565: } YYDEBUG(566, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1563 "Zend/zend_language_scanner.l" +#line 1564 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRIVATE); } -#line 5892 "Zend/zend_language_scanner.c" +#line 5893 "Zend/zend_language_scanner.c" yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; @@ -5916,11 +5917,11 @@ yy568: yy569: YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1515 "Zend/zend_language_scanner.l" +#line 1516 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE); } -#line 5924 "Zend/zend_language_scanner.c" +#line 5925 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -5940,11 +5941,11 @@ yy572: } YYDEBUG(573, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1918 "Zend/zend_language_scanner.l" +#line 1919 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIR); } -#line 5948 "Zend/zend_language_scanner.c" +#line 5949 "Zend/zend_language_scanner.c" yy574: YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; @@ -5989,21 +5990,21 @@ yy581: ++YYCURSOR; YYDEBUG(582, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1483 "Zend/zend_language_scanner.l" +#line 1484 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STRING_CAST); } -#line 5997 "Zend/zend_language_scanner.c" +#line 5998 "Zend/zend_language_scanner.c" yy583: YYDEBUG(583, *YYCURSOR); ++YYCURSOR; YYDEBUG(584, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1491 "Zend/zend_language_scanner.l" +#line 1492 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_CAST); } -#line 6007 "Zend/zend_language_scanner.c" +#line 6008 "Zend/zend_language_scanner.c" yy585: YYDEBUG(585, *YYCURSOR); yych = *++YYCURSOR; @@ -6012,11 +6013,11 @@ yy585: } YYDEBUG(586, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1555 "Zend/zend_language_scanner.l" +#line 1556 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ABSTRACT); } -#line 6020 "Zend/zend_language_scanner.c" +#line 6021 "Zend/zend_language_scanner.c" yy587: YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; @@ -6025,11 +6026,11 @@ yy587: } YYDEBUG(588, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1591 "Zend/zend_language_scanner.l" +#line 1592 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CALLABLE); } -#line 6033 "Zend/zend_language_scanner.c" +#line 6034 "Zend/zend_language_scanner.c" yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; @@ -6038,11 +6039,11 @@ yy589: } YYDEBUG(590, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1387 "Zend/zend_language_scanner.l" +#line 1388 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONTINUE); } -#line 6046 "Zend/zend_language_scanner.c" +#line 6047 "Zend/zend_language_scanner.c" yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; @@ -6069,11 +6070,11 @@ yy594: } YYDEBUG(595, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1327 "Zend/zend_language_scanner.l" +#line 1328 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDWHILE); } -#line 6077 "Zend/zend_language_scanner.c" +#line 6078 "Zend/zend_language_scanner.c" yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; @@ -6082,11 +6083,11 @@ yy596: } YYDEBUG(597, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1269 "Zend/zend_language_scanner.l" +#line 1270 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FUNCTION); } -#line 6090 "Zend/zend_language_scanner.c" +#line 6091 "Zend/zend_language_scanner.c" yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; @@ -6154,11 +6155,11 @@ yy608: } YYDEBUG(609, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1914 "Zend/zend_language_scanner.l" +#line 1915 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FILE); } -#line 6162 "Zend/zend_language_scanner.c" +#line 6163 "Zend/zend_language_scanner.c" yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; @@ -6179,11 +6180,11 @@ yy612: } YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1910 "Zend/zend_language_scanner.l" +#line 1911 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LINE); } -#line 6187 "Zend/zend_language_scanner.c" +#line 6188 "Zend/zend_language_scanner.c" yy614: YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; @@ -6220,11 +6221,11 @@ yy619: } YYDEBUG(620, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1371 "Zend/zend_language_scanner.l" +#line 1372 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDSWITCH); } -#line 6228 "Zend/zend_language_scanner.c" +#line 6229 "Zend/zend_language_scanner.c" yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; @@ -6251,11 +6252,11 @@ yy624: } YYDEBUG(625, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1531 "Zend/zend_language_scanner.l" +#line 1532 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTEADOF); } -#line 6259 "Zend/zend_language_scanner.c" +#line 6260 "Zend/zend_language_scanner.c" yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; @@ -6264,11 +6265,11 @@ yy626: } YYDEBUG(627, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1407 "Zend/zend_language_scanner.l" +#line 1408 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INTERFACE); } -#line 6272 "Zend/zend_language_scanner.c" +#line 6273 "Zend/zend_language_scanner.c" yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; @@ -6277,11 +6278,11 @@ yy628: } YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1523 "Zend/zend_language_scanner.l" +#line 1524 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NAMESPACE); } -#line 6285 "Zend/zend_language_scanner.c" +#line 6286 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -6290,11 +6291,11 @@ yy630: } YYDEBUG(631, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1567 "Zend/zend_language_scanner.l" +#line 1568 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PROTECTED); } -#line 6298 "Zend/zend_language_scanner.c" +#line 6299 "Zend/zend_language_scanner.c" yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; @@ -6315,11 +6316,11 @@ yy634: } YYDEBUG(635, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1894 "Zend/zend_language_scanner.l" +#line 1895 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS_C); } -#line 6323 "Zend/zend_language_scanner.c" +#line 6324 "Zend/zend_language_scanner.c" yy636: YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; @@ -6351,11 +6352,11 @@ yy640: } YYDEBUG(641, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1898 "Zend/zend_language_scanner.l" +#line 1899 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT_C); } -#line 6359 "Zend/zend_language_scanner.c" +#line 6360 "Zend/zend_language_scanner.c" yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; @@ -6364,11 +6365,11 @@ yy642: } YYDEBUG(643, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1355 "Zend/zend_language_scanner.l" +#line 1356 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDDECLARE); } -#line 6372 "Zend/zend_language_scanner.c" +#line 6373 "Zend/zend_language_scanner.c" yy644: YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; @@ -6377,11 +6378,11 @@ yy644: } YYDEBUG(645, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1347 "Zend/zend_language_scanner.l" +#line 1348 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOREACH); } -#line 6385 "Zend/zend_language_scanner.c" +#line 6386 "Zend/zend_language_scanner.c" yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; @@ -6390,11 +6391,11 @@ yy646: } YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" +#line 1420 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IMPLEMENTS); } -#line 6398 "Zend/zend_language_scanner.c" +#line 6399 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; @@ -6409,11 +6410,11 @@ yy649: } YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1359 "Zend/zend_language_scanner.l" +#line 1360 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTANCEOF); } -#line 6417 "Zend/zend_language_scanner.c" +#line 6418 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; @@ -6461,11 +6462,11 @@ yy655: } YYDEBUG(656, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1906 "Zend/zend_language_scanner.l" +#line 1907 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_METHOD_C); } -#line 6469 "Zend/zend_language_scanner.c" +#line 6470 "Zend/zend_language_scanner.c" yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; @@ -6489,13 +6490,13 @@ yy660: ++YYCURSOR; YYDEBUG(661, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1281 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_YIELD_FROM); } -#line 6499 "Zend/zend_language_scanner.c" +#line 6500 "Zend/zend_language_scanner.c" yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; @@ -6520,11 +6521,11 @@ yy665: } YYDEBUG(666, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1511 "Zend/zend_language_scanner.l" +#line 1512 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 6528 "Zend/zend_language_scanner.c" +#line 6529 "Zend/zend_language_scanner.c" yy667: YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; @@ -6533,11 +6534,11 @@ yy667: } YYDEBUG(668, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1519 "Zend/zend_language_scanner.l" +#line 1520 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE_ONCE); } -#line 6541 "Zend/zend_language_scanner.c" +#line 6542 "Zend/zend_language_scanner.c" yy669: YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; @@ -6546,11 +6547,11 @@ yy669: } YYDEBUG(670, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1902 "Zend/zend_language_scanner.l" +#line 1903 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FUNC_C); } -#line 6554 "Zend/zend_language_scanner.c" +#line 6555 "Zend/zend_language_scanner.c" yy671: YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; @@ -6576,11 +6577,11 @@ yy674: } YYDEBUG(675, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1922 "Zend/zend_language_scanner.l" +#line 1923 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_C); } -#line 6584 "Zend/zend_language_scanner.c" +#line 6585 "Zend/zend_language_scanner.c" yy676: YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; @@ -6594,11 +6595,11 @@ yy677: } YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1547 "Zend/zend_language_scanner.l" +#line 1548 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_HALT_COMPILER); } -#line 6602 "Zend/zend_language_scanner.c" +#line 6603 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6664,13 +6665,13 @@ yy681: yy682: YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); goto restart; } -#line 6674 "Zend/zend_language_scanner.c" +#line 6675 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); ++YYCURSOR; @@ -6682,11 +6683,11 @@ yy683: } YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" +#line 1429 "Zend/zend_language_scanner.l" { goto return_whitespace; } -#line 6690 "Zend/zend_language_scanner.c" +#line 6691 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; @@ -6703,22 +6704,22 @@ yy687: } YYDEBUG(689, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1436 "Zend/zend_language_scanner.l" +#line 1437 "Zend/zend_language_scanner.l" { yy_pop_state(); RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 6712 "Zend/zend_language_scanner.c" +#line 6713 "Zend/zend_language_scanner.c" yy690: YYDEBUG(690, *YYCURSOR); ++YYCURSOR; YYDEBUG(691, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1432 "Zend/zend_language_scanner.l" +#line 1433 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 6722 "Zend/zend_language_scanner.c" +#line 6723 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_BACKQUOTE: @@ -6771,7 +6772,7 @@ yyc_ST_BACKQUOTE: yy695: YYDEBUG(695, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2494 "Zend/zend_language_scanner.l" +#line 2495 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -6816,7 +6817,7 @@ yy695: RETURN_TOKEN(T_ERROR); } } -#line 6820 "Zend/zend_language_scanner.c" +#line 6821 "Zend/zend_language_scanner.c" yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; @@ -6840,12 +6841,12 @@ yy697: ++YYCURSOR; YYDEBUG(698, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2434 "Zend/zend_language_scanner.l" +#line 2435 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); } -#line 6849 "Zend/zend_language_scanner.c" +#line 6850 "Zend/zend_language_scanner.c" yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; @@ -6866,34 +6867,34 @@ yy700: yy702: YYDEBUG(702, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2024 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6874 "Zend/zend_language_scanner.c" +#line 6875 "Zend/zend_language_scanner.c" yy703: YYDEBUG(703, *YYCURSOR); ++YYCURSOR; YYDEBUG(704, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1722 "Zend/zend_language_scanner.l" +#line 1723 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 6885 "Zend/zend_language_scanner.c" +#line 6886 "Zend/zend_language_scanner.c" yy705: YYDEBUG(705, *YYCURSOR); ++YYCURSOR; YYDEBUG(706, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2422 "Zend/zend_language_scanner.l" +#line 2423 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 6897 "Zend/zend_language_scanner.c" +#line 6898 "Zend/zend_language_scanner.c" yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; @@ -6907,13 +6908,13 @@ yy709: ++YYCURSOR; YYDEBUG(710, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2017 "Zend/zend_language_scanner.l" +#line 2018 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6917 "Zend/zend_language_scanner.c" +#line 6918 "Zend/zend_language_scanner.c" yy711: YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; @@ -6931,13 +6932,13 @@ yy712: ++YYCURSOR; YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2009 "Zend/zend_language_scanner.l" +#line 2010 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6941 "Zend/zend_language_scanner.c" +#line 6942 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -6990,7 +6991,7 @@ yyc_ST_DOUBLE_QUOTES: yy717: YYDEBUG(717, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2440 "Zend/zend_language_scanner.l" +#line 2441 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -7043,18 +7044,18 @@ double_quotes_scan_done: RETURN_TOKEN(T_ERROR); } } -#line 7047 "Zend/zend_language_scanner.c" +#line 7048 "Zend/zend_language_scanner.c" yy718: YYDEBUG(718, *YYCURSOR); ++YYCURSOR; YYDEBUG(719, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2429 "Zend/zend_language_scanner.l" +#line 2430 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); } -#line 7058 "Zend/zend_language_scanner.c" +#line 7059 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; @@ -7093,34 +7094,34 @@ yy722: yy724: YYDEBUG(724, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2024 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7101 "Zend/zend_language_scanner.c" +#line 7102 "Zend/zend_language_scanner.c" yy725: YYDEBUG(725, *YYCURSOR); ++YYCURSOR; YYDEBUG(726, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1722 "Zend/zend_language_scanner.l" +#line 1723 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 7112 "Zend/zend_language_scanner.c" +#line 7113 "Zend/zend_language_scanner.c" yy727: YYDEBUG(727, *YYCURSOR); ++YYCURSOR; YYDEBUG(728, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2422 "Zend/zend_language_scanner.l" +#line 2423 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 7124 "Zend/zend_language_scanner.c" +#line 7125 "Zend/zend_language_scanner.c" yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; @@ -7134,13 +7135,13 @@ yy731: ++YYCURSOR; YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2017 "Zend/zend_language_scanner.l" +#line 2018 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7144 "Zend/zend_language_scanner.c" +#line 7145 "Zend/zend_language_scanner.c" yy733: YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; @@ -7158,13 +7159,13 @@ yy734: ++YYCURSOR; YYDEBUG(735, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2009 "Zend/zend_language_scanner.l" +#line 2010 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7168 "Zend/zend_language_scanner.c" +#line 7169 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_HEREDOC: @@ -7213,7 +7214,7 @@ yyc_ST_HEREDOC: yy739: YYDEBUG(739, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2540 "Zend/zend_language_scanner.l" +#line 2541 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack)); int newline = 0, indentation = 0, spacing = 0; @@ -7253,7 +7254,7 @@ yy739: /* Check for ending label on the next line */ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) { - if (IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { continue; } @@ -7333,7 +7334,7 @@ heredoc_scan_done: RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 7337 "Zend/zend_language_scanner.c" +#line 7338 "Zend/zend_language_scanner.c" yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; @@ -7372,34 +7373,34 @@ yy742: yy744: YYDEBUG(744, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2024 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7380 "Zend/zend_language_scanner.c" +#line 7381 "Zend/zend_language_scanner.c" yy745: YYDEBUG(745, *YYCURSOR); ++YYCURSOR; YYDEBUG(746, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1722 "Zend/zend_language_scanner.l" +#line 1723 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 7391 "Zend/zend_language_scanner.c" +#line 7392 "Zend/zend_language_scanner.c" yy747: YYDEBUG(747, *YYCURSOR); ++YYCURSOR; YYDEBUG(748, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2422 "Zend/zend_language_scanner.l" +#line 2423 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 7403 "Zend/zend_language_scanner.c" +#line 7404 "Zend/zend_language_scanner.c" yy749: YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; @@ -7413,13 +7414,13 @@ yy751: ++YYCURSOR; YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2017 "Zend/zend_language_scanner.l" +#line 2018 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7423 "Zend/zend_language_scanner.c" +#line 7424 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; @@ -7437,13 +7438,13 @@ yy754: ++YYCURSOR; YYDEBUG(755, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2009 "Zend/zend_language_scanner.l" +#line 2010 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7447 "Zend/zend_language_scanner.c" +#line 7448 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7500,14 +7501,14 @@ yy758: yy759: YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1745 "Zend/zend_language_scanner.l" +#line 1746 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7511 "Zend/zend_language_scanner.c" +#line 7512 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *(YYMARKER = ++YYCURSOR); @@ -7554,14 +7555,14 @@ yy764: ++YYCURSOR; YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1737 "Zend/zend_language_scanner.l" +#line 1738 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0); } -#line 7565 "Zend/zend_language_scanner.c" +#line 7566 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_VAR_OFFSET: @@ -7650,7 +7651,7 @@ yy768: ++YYCURSOR; YYDEBUG(769, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2749 "Zend/zend_language_scanner.l" +#line 2750 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -7659,13 +7660,13 @@ yy768: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7663 "Zend/zend_language_scanner.c" +#line 7664 "Zend/zend_language_scanner.c" yy770: YYDEBUG(770, *YYCURSOR); ++YYCURSOR; YYDEBUG(771, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2037 "Zend/zend_language_scanner.l" +#line 2038 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7673,19 +7674,19 @@ yy770: ZVAL_NULL(zendlval); RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 7677 "Zend/zend_language_scanner.c" +#line 7678 "Zend/zend_language_scanner.c" yy772: YYDEBUG(772, *YYCURSOR); ++YYCURSOR; yy773: YYDEBUG(773, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2032 "Zend/zend_language_scanner.l" +#line 2033 "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 7689 "Zend/zend_language_scanner.c" +#line 7690 "Zend/zend_language_scanner.c" yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; @@ -7720,7 +7721,7 @@ yy775: yy776: YYDEBUG(776, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1860 "Zend/zend_language_scanner.l" +#line 1861 "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; @@ -7736,7 +7737,7 @@ string: } RETURN_TOKEN_WITH_VAL(T_NUM_STRING); } -#line 7740 "Zend/zend_language_scanner.c" +#line 7741 "Zend/zend_language_scanner.c" yy777: YYDEBUG(777, *YYCURSOR); ++YYCURSOR; @@ -7758,22 +7759,22 @@ yy779: } YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2045 "Zend/zend_language_scanner.l" +#line 2046 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 7766 "Zend/zend_language_scanner.c" +#line 7767 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); ++YYCURSOR; YYDEBUG(783, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2027 "Zend/zend_language_scanner.l" +#line 2028 "Zend/zend_language_scanner.l" { yy_pop_state(); RETURN_TOKEN(']'); } -#line 7777 "Zend/zend_language_scanner.c" +#line 7778 "Zend/zend_language_scanner.c" yy784: YYDEBUG(784, *YYCURSOR); ++YYCURSOR; @@ -7798,11 +7799,11 @@ yy784: yy786: YYDEBUG(786, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2023 "Zend/zend_language_scanner.l" +#line 2024 "Zend/zend_language_scanner.l" { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7806 "Zend/zend_language_scanner.c" +#line 7807 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); ++YYCURSOR; @@ -7814,7 +7815,7 @@ yy787: yy789: YYDEBUG(789, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1876 "Zend/zend_language_scanner.l" +#line 1877 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ if (yyleng == 1) { ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); @@ -7823,7 +7824,7 @@ yy789: } RETURN_TOKEN_WITH_VAL(T_NUM_STRING); } -#line 7827 "Zend/zend_language_scanner.c" +#line 7828 "Zend/zend_language_scanner.c" yy790: YYDEBUG(790, *YYCURSOR); yych = *++YYCURSOR; @@ -7873,7 +7874,7 @@ yyc_INITIAL: yy800: YYDEBUG(800, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1958 "Zend/zend_language_scanner.l" +#line 1959 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -7920,7 +7921,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN_WITH_VAL(T_INLINE_HTML); } -#line 7924 "Zend/zend_language_scanner.c" +#line 7925 "Zend/zend_language_scanner.c" yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; @@ -7936,7 +7937,7 @@ yy801: yy803: YYDEBUG(803, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1946 "Zend/zend_language_scanner.l" +#line 1947 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -7948,13 +7949,13 @@ yy803: goto inline_char_handler; } } -#line 7952 "Zend/zend_language_scanner.c" +#line 7953 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); ++YYCURSOR; YYDEBUG(805, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1927 "Zend/zend_language_scanner.l" +#line 1928 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); if (PARSER_MODE()) { @@ -7962,7 +7963,7 @@ yy804: } RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); } -#line 7966 "Zend/zend_language_scanner.c" +#line 7967 "Zend/zend_language_scanner.c" yy806: YYDEBUG(806, *YYCURSOR); yych = *++YYCURSOR; @@ -7993,7 +7994,7 @@ yy810: yy811: YYDEBUG(811, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1936 "Zend/zend_language_scanner.l" +#line 1937 "Zend/zend_language_scanner.l" { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); @@ -8002,7 +8003,7 @@ yy811: } RETURN_TOKEN(T_OPEN_TAG); } -#line 8006 "Zend/zend_language_scanner.c" +#line 8007 "Zend/zend_language_scanner.c" yy812: YYDEBUG(812, *YYCURSOR); yych = *++YYCURSOR; @@ -8017,7 +8018,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(816, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2408 "Zend/zend_language_scanner.l" +#line 2409 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -8030,7 +8031,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_END_HEREDOC); } -#line 8034 "Zend/zend_language_scanner.c" +#line 8035 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_NOWDOC: YYDEBUG(817, *YYCURSOR); @@ -8040,7 +8041,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(820, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2661 "Zend/zend_language_scanner.l" +#line 2662 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack)); int newline = 0, indentation = 0, spacing = -1; @@ -8080,7 +8081,7 @@ yyc_ST_NOWDOC: /* Check for ending label on the next line */ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) { - if (IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { continue; } @@ -8127,9 +8128,9 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 8131 "Zend/zend_language_scanner.c" +#line 8132 "Zend/zend_language_scanner.c" } -#line 2758 "Zend/zend_language_scanner.l" +#line 2759 "Zend/zend_language_scanner.l" emit_token_with_str: diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index af4425ed42..69c392a9bc 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -115,6 +115,7 @@ do { \ #define GET_DOUBLE_QUOTES_SCANNED_LENGTH() SCNG(scanned_string_len) #define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80) +#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80) #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) @@ -2319,7 +2320,7 @@ skip_escape_conversion: /* Check for ending label on the next line */ if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) { - if (!IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) { zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0); } @@ -2576,7 +2577,7 @@ double_quotes_scan_done: /* Check for ending label on the next line */ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) { - if (IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { continue; } @@ -2697,7 +2698,7 @@ heredoc_scan_done: /* Check for ending label on the next line */ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) { - if (IS_LABEL_START(YYCURSOR[heredoc_label->length])) { + if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) { continue; } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 3c01b5bc76..b06f9d3ecb 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.1 */ +/* Generated by re2c 1.1.1 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE {