diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-09-28 17:15:36 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-09-28 17:15:36 +0200 |
commit | 7df50ef147f201321069fd9c7c3fc631014056ce (patch) | |
tree | 8123307c6f335bfb84afe4062fb39bfbd16be6ca /Zend | |
parent | 66c48e8694a88397f0fcda979678879472aa4be4 (diff) | |
download | php-git-7df50ef147f201321069fd9c7c3fc631014056ce.tar.gz |
Don't throw warnings during heredoc scan-ahead
Otherwise these warnings will turn up twice (or more...)
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/tests/warning_during_heredoc_scan_ahead.phpt | 20 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 360 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 6 | ||||
-rw-r--r-- | Zend/zend_language_scanner_defs.h | 2 |
4 files changed, 207 insertions, 181 deletions
diff --git a/Zend/tests/warning_during_heredoc_scan_ahead.phpt b/Zend/tests/warning_during_heredoc_scan_ahead.phpt new file mode 100644 index 0000000000..099d1c087f --- /dev/null +++ b/Zend/tests/warning_during_heredoc_scan_ahead.phpt @@ -0,0 +1,20 @@ +--TEST-- +No warnings should be thrown during heredoc scan-ahead +--FILE-- +<?php + +<<<TEST +${x} +\400 +${/*} +TEST; + +?> +--EXPECTF-- +Warning: Unexpected character in input: '' (ASCII=1) state=0 in %s on line %d + +Warning: Octal escape sequence overflow \400 is greater than \377 in %s on line %d + +Warning: Unterminated comment starting line %d in %s on line %d + +Parse error: syntax error, unexpected end of file in %s on line %d diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 39b02f0e42..cc1a938c13 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 */ +/* Generated by re2c 1.0.1 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -1460,10 +1460,12 @@ yy3: RETURN_TOKEN(END); } - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + if (!SCNG(heredoc_scan_ahead)) { + zend_error(E_COMPILE_WARNING, "Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + } goto restart; } -#line 1467 "Zend/zend_language_scanner.c" +#line 1469 "Zend/zend_language_scanner.c" yy5: YYDEBUG(5, *YYCURSOR); ++YYCURSOR; @@ -1479,7 +1481,7 @@ yy5: { goto return_whitespace; } -#line 1483 "Zend/zend_language_scanner.c" +#line 1485 "Zend/zend_language_scanner.c" yy8: YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; @@ -1491,7 +1493,7 @@ yy9: { RETURN_TOKEN(yytext[0]); } -#line 1495 "Zend/zend_language_scanner.c" +#line 1497 "Zend/zend_language_scanner.c" yy10: YYDEBUG(10, *YYCURSOR); ++YYCURSOR; @@ -1542,7 +1544,7 @@ yy10: BEGIN(ST_DOUBLE_QUOTES); RETURN_TOKEN('"'); } -#line 1546 "Zend/zend_language_scanner.c" +#line 1548 "Zend/zend_language_scanner.c" yy12: YYDEBUG(12, *YYCURSOR); ++YYCURSOR; @@ -1580,7 +1582,7 @@ yy12: } RETURN_TOKEN(T_COMMENT); } -#line 1584 "Zend/zend_language_scanner.c" +#line 1586 "Zend/zend_language_scanner.c" yy14: YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; @@ -1700,7 +1702,7 @@ skip_escape_conversion: } RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING); } -#line 1704 "Zend/zend_language_scanner.c" +#line 1706 "Zend/zend_language_scanner.c" yy19: YYDEBUG(19, *YYCURSOR); yyaccept = 0; @@ -1876,7 +1878,7 @@ yy27: ZEND_ASSERT(!errno); RETURN_TOKEN_WITH_VAL(T_LNUMBER); } -#line 1880 "Zend/zend_language_scanner.c" +#line 1882 "Zend/zend_language_scanner.c" yy28: YYDEBUG(28, *YYCURSOR); yyaccept = 1; @@ -1962,7 +1964,7 @@ yy36: { RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 1966 "Zend/zend_language_scanner.c" +#line 1968 "Zend/zend_language_scanner.c" yy37: YYDEBUG(37, *YYCURSOR); yyaccept = 2; @@ -2251,7 +2253,7 @@ yy58: { RETURN_TOKEN(T_NS_SEPARATOR); } -#line 2255 "Zend/zend_language_scanner.c" +#line 2257 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -2272,7 +2274,7 @@ yy62: BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); } -#line 2276 "Zend/zend_language_scanner.c" +#line 2278 "Zend/zend_language_scanner.c" yy64: YYDEBUG(64, *YYCURSOR); ++YYCURSOR; @@ -2283,7 +2285,7 @@ yy64: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN('{'); } -#line 2287 "Zend/zend_language_scanner.c" +#line 2289 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; @@ -2303,7 +2305,7 @@ yy67: } RETURN_TOKEN('}'); } -#line 2307 "Zend/zend_language_scanner.c" +#line 2309 "Zend/zend_language_scanner.c" yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; @@ -2315,7 +2317,7 @@ yy70: { RETURN_TOKEN(T_IS_NOT_EQUAL); } -#line 2319 "Zend/zend_language_scanner.c" +#line 2321 "Zend/zend_language_scanner.c" yy71: YYDEBUG(71, *YYCURSOR); ++YYCURSOR; @@ -2344,7 +2346,7 @@ yy73: { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 2348 "Zend/zend_language_scanner.c" +#line 2350 "Zend/zend_language_scanner.c" yy74: YYDEBUG(74, *YYCURSOR); ++YYCURSOR; @@ -2354,7 +2356,7 @@ yy74: { RETURN_TOKEN(T_MOD_EQUAL); } -#line 2358 "Zend/zend_language_scanner.c" +#line 2360 "Zend/zend_language_scanner.c" yy76: YYDEBUG(76, *YYCURSOR); ++YYCURSOR; @@ -2364,7 +2366,7 @@ yy76: { RETURN_TOKEN(T_BOOLEAN_AND); } -#line 2368 "Zend/zend_language_scanner.c" +#line 2370 "Zend/zend_language_scanner.c" yy78: YYDEBUG(78, *YYCURSOR); ++YYCURSOR; @@ -2374,7 +2376,7 @@ yy78: { RETURN_TOKEN(T_AND_EQUAL); } -#line 2378 "Zend/zend_language_scanner.c" +#line 2380 "Zend/zend_language_scanner.c" yy80: YYDEBUG(80, *YYCURSOR); ++YYCURSOR; @@ -2508,7 +2510,7 @@ yy92: { RETURN_TOKEN(T_POW); } -#line 2512 "Zend/zend_language_scanner.c" +#line 2514 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); ++YYCURSOR; @@ -2518,7 +2520,7 @@ yy94: { RETURN_TOKEN(T_MUL_EQUAL); } -#line 2522 "Zend/zend_language_scanner.c" +#line 2524 "Zend/zend_language_scanner.c" yy96: YYDEBUG(96, *YYCURSOR); ++YYCURSOR; @@ -2528,7 +2530,7 @@ yy96: { RETURN_TOKEN(T_INC); } -#line 2532 "Zend/zend_language_scanner.c" +#line 2534 "Zend/zend_language_scanner.c" yy98: YYDEBUG(98, *YYCURSOR); ++YYCURSOR; @@ -2538,7 +2540,7 @@ yy98: { RETURN_TOKEN(T_PLUS_EQUAL); } -#line 2542 "Zend/zend_language_scanner.c" +#line 2544 "Zend/zend_language_scanner.c" yy100: YYDEBUG(100, *YYCURSOR); ++YYCURSOR; @@ -2548,7 +2550,7 @@ yy100: { RETURN_TOKEN(T_DEC); } -#line 2552 "Zend/zend_language_scanner.c" +#line 2554 "Zend/zend_language_scanner.c" yy102: YYDEBUG(102, *YYCURSOR); ++YYCURSOR; @@ -2558,7 +2560,7 @@ yy102: { RETURN_TOKEN(T_MINUS_EQUAL); } -#line 2562 "Zend/zend_language_scanner.c" +#line 2564 "Zend/zend_language_scanner.c" yy104: YYDEBUG(104, *YYCURSOR); ++YYCURSOR; @@ -2569,7 +2571,7 @@ yy104: yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 2573 "Zend/zend_language_scanner.c" +#line 2575 "Zend/zend_language_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; @@ -2601,7 +2603,7 @@ yy109: ZEND_ASSERT(end == yytext + yyleng); RETURN_TOKEN_WITH_VAL(T_DNUMBER); } -#line 2605 "Zend/zend_language_scanner.c" +#line 2607 "Zend/zend_language_scanner.c" yy110: YYDEBUG(110, *YYCURSOR); ++YYCURSOR; @@ -2611,7 +2613,7 @@ yy110: { RETURN_TOKEN(T_CONCAT_EQUAL); } -#line 2615 "Zend/zend_language_scanner.c" +#line 2617 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); yyaccept = 4; @@ -2639,7 +2641,7 @@ yy113: if (YYCURSOR < YYLIMIT) { YYCURSOR++; - } else { + } else if (!SCNG(heredoc_scan_ahead)) { zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno)); } @@ -2659,7 +2661,7 @@ yy113: } RETURN_TOKEN(T_COMMENT); } -#line 2663 "Zend/zend_language_scanner.c" +#line 2665 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); ++YYCURSOR; @@ -2669,7 +2671,7 @@ yy114: { RETURN_TOKEN(T_DIV_EQUAL); } -#line 2673 "Zend/zend_language_scanner.c" +#line 2675 "Zend/zend_language_scanner.c" yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; @@ -2705,7 +2707,7 @@ yy119: { RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } -#line 2709 "Zend/zend_language_scanner.c" +#line 2711 "Zend/zend_language_scanner.c" yy121: YYDEBUG(121, *YYCURSOR); yyaccept = 5; @@ -2720,7 +2722,7 @@ yy122: { RETURN_TOKEN(T_SL); } -#line 2724 "Zend/zend_language_scanner.c" +#line 2726 "Zend/zend_language_scanner.c" yy123: YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; @@ -2731,7 +2733,7 @@ yy123: { RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } -#line 2735 "Zend/zend_language_scanner.c" +#line 2737 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); ++YYCURSOR; @@ -2746,7 +2748,7 @@ yy126: { RETURN_TOKEN(T_IS_EQUAL); } -#line 2750 "Zend/zend_language_scanner.c" +#line 2752 "Zend/zend_language_scanner.c" yy128: YYDEBUG(128, *YYCURSOR); ++YYCURSOR; @@ -2756,7 +2758,7 @@ yy128: { RETURN_TOKEN(T_DOUBLE_ARROW); } -#line 2760 "Zend/zend_language_scanner.c" +#line 2762 "Zend/zend_language_scanner.c" yy130: YYDEBUG(130, *YYCURSOR); ++YYCURSOR; @@ -2766,7 +2768,7 @@ yy130: { RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } -#line 2770 "Zend/zend_language_scanner.c" +#line 2772 "Zend/zend_language_scanner.c" yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; @@ -2777,7 +2779,7 @@ yy132: { RETURN_TOKEN(T_SR); } -#line 2781 "Zend/zend_language_scanner.c" +#line 2783 "Zend/zend_language_scanner.c" yy134: YYDEBUG(134, *YYCURSOR); yych = *++YYCURSOR; @@ -2797,7 +2799,7 @@ yy135: } RETURN_TOKEN(T_CLOSE_TAG); } -#line 2801 "Zend/zend_language_scanner.c" +#line 2803 "Zend/zend_language_scanner.c" yy136: YYDEBUG(136, *YYCURSOR); ++YYCURSOR; @@ -2807,7 +2809,7 @@ yy136: { RETURN_TOKEN(T_COALESCE); } -#line 2811 "Zend/zend_language_scanner.c" +#line 2813 "Zend/zend_language_scanner.c" yy138: YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; @@ -2838,7 +2840,7 @@ yy141: { RETURN_TOKEN(T_AS); } -#line 2842 "Zend/zend_language_scanner.c" +#line 2844 "Zend/zend_language_scanner.c" yy143: YYDEBUG(143, *YYCURSOR); yych = *++YYCURSOR; @@ -2928,7 +2930,7 @@ yy150: { RETURN_TOKEN(T_DO); } -#line 2932 "Zend/zend_language_scanner.c" +#line 2934 "Zend/zend_language_scanner.c" yy152: YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; @@ -3017,7 +3019,7 @@ yy163: { RETURN_TOKEN(T_IF); } -#line 3021 "Zend/zend_language_scanner.c" +#line 3023 "Zend/zend_language_scanner.c" yy165: YYDEBUG(165, *YYCURSOR); yych = *++YYCURSOR; @@ -3082,7 +3084,7 @@ yy171: { RETURN_TOKEN(T_LOGICAL_OR); } -#line 3086 "Zend/zend_language_scanner.c" +#line 3088 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; @@ -3200,7 +3202,7 @@ yy186: { RETURN_TOKEN(T_XOR_EQUAL); } -#line 3204 "Zend/zend_language_scanner.c" +#line 3206 "Zend/zend_language_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; @@ -3232,7 +3234,7 @@ yy189: { RETURN_TOKEN(T_OR_EQUAL); } -#line 3236 "Zend/zend_language_scanner.c" +#line 3238 "Zend/zend_language_scanner.c" yy191: YYDEBUG(191, *YYCURSOR); ++YYCURSOR; @@ -3242,7 +3244,7 @@ yy191: { RETURN_TOKEN(T_BOOLEAN_OR); } -#line 3246 "Zend/zend_language_scanner.c" +#line 3248 "Zend/zend_language_scanner.c" yy193: YYDEBUG(193, *YYCURSOR); ++YYCURSOR; @@ -3252,7 +3254,7 @@ yy193: { RETURN_TOKEN(T_IS_NOT_IDENTICAL); } -#line 3256 "Zend/zend_language_scanner.c" +#line 3258 "Zend/zend_language_scanner.c" yy195: YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; @@ -3322,7 +3324,7 @@ yy205: { RETURN_TOKEN(T_POW_EQUAL); } -#line 3326 "Zend/zend_language_scanner.c" +#line 3328 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); ++YYCURSOR; @@ -3332,7 +3334,7 @@ yy207: { RETURN_TOKEN(T_ELLIPSIS); } -#line 3336 "Zend/zend_language_scanner.c" +#line 3338 "Zend/zend_language_scanner.c" yy209: YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; @@ -3384,7 +3386,7 @@ yy210: RETURN_TOKEN_WITH_VAL(T_DNUMBER); } } -#line 3388 "Zend/zend_language_scanner.c" +#line 3390 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; @@ -3438,7 +3440,7 @@ yy216: RETURN_TOKEN_WITH_VAL(T_DNUMBER); } } -#line 3442 "Zend/zend_language_scanner.c" +#line 3444 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; @@ -3477,7 +3479,7 @@ yy221: { RETURN_TOKEN(T_SL_EQUAL); } -#line 3481 "Zend/zend_language_scanner.c" +#line 3483 "Zend/zend_language_scanner.c" yy223: YYDEBUG(223, *YYCURSOR); ++YYCURSOR; @@ -3487,7 +3489,7 @@ yy223: { RETURN_TOKEN(T_SPACESHIP); } -#line 3491 "Zend/zend_language_scanner.c" +#line 3493 "Zend/zend_language_scanner.c" yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; @@ -3497,7 +3499,7 @@ yy225: { RETURN_TOKEN(T_IS_IDENTICAL); } -#line 3501 "Zend/zend_language_scanner.c" +#line 3503 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); ++YYCURSOR; @@ -3507,7 +3509,7 @@ yy227: { RETURN_TOKEN(T_SR_EQUAL); } -#line 3511 "Zend/zend_language_scanner.c" +#line 3513 "Zend/zend_language_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); ++YYCURSOR; @@ -3535,7 +3537,7 @@ yy232: { RETURN_TOKEN(T_LOGICAL_AND); } -#line 3539 "Zend/zend_language_scanner.c" +#line 3541 "Zend/zend_language_scanner.c" yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; @@ -3620,7 +3622,7 @@ yy245: { RETURN_TOKEN(T_EXIT); } -#line 3624 "Zend/zend_language_scanner.c" +#line 3626 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); yych = *++YYCURSOR; @@ -3706,7 +3708,7 @@ yy256: { RETURN_TOKEN(T_FOR); } -#line 3710 "Zend/zend_language_scanner.c" +#line 3712 "Zend/zend_language_scanner.c" yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; @@ -3779,7 +3781,7 @@ yy267: { RETURN_TOKEN(T_NEW); } -#line 3783 "Zend/zend_language_scanner.c" +#line 3785 "Zend/zend_language_scanner.c" yy269: YYDEBUG(269, *YYCURSOR); yych = *++YYCURSOR; @@ -3856,7 +3858,7 @@ yy278: { RETURN_TOKEN(T_TRY); } -#line 3860 "Zend/zend_language_scanner.c" +#line 3862 "Zend/zend_language_scanner.c" yy280: YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; @@ -3875,7 +3877,7 @@ yy281: { RETURN_TOKEN(T_USE); } -#line 3879 "Zend/zend_language_scanner.c" +#line 3881 "Zend/zend_language_scanner.c" yy283: YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; @@ -3888,7 +3890,7 @@ yy283: { RETURN_TOKEN(T_VAR); } -#line 3892 "Zend/zend_language_scanner.c" +#line 3894 "Zend/zend_language_scanner.c" yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; @@ -3907,7 +3909,7 @@ yy286: { RETURN_TOKEN(T_LOGICAL_XOR); } -#line 3911 "Zend/zend_language_scanner.c" +#line 3913 "Zend/zend_language_scanner.c" yy288: YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; @@ -4125,7 +4127,7 @@ yy317: { RETURN_TOKEN(T_CASE); } -#line 4129 "Zend/zend_language_scanner.c" +#line 4131 "Zend/zend_language_scanner.c" yy319: YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; @@ -4180,7 +4182,7 @@ yy326: { RETURN_TOKEN(T_ECHO); } -#line 4184 "Zend/zend_language_scanner.c" +#line 4186 "Zend/zend_language_scanner.c" yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; @@ -4208,7 +4210,7 @@ yy329: { RETURN_TOKEN(T_ELSE); } -#line 4212 "Zend/zend_language_scanner.c" +#line 4214 "Zend/zend_language_scanner.c" yy330: YYDEBUG(330, *YYCURSOR); yych = *++YYCURSOR; @@ -4257,7 +4259,7 @@ yy336: { RETURN_TOKEN(T_EVAL); } -#line 4261 "Zend/zend_language_scanner.c" +#line 4263 "Zend/zend_language_scanner.c" yy338: YYDEBUG(338, *YYCURSOR); yych = *++YYCURSOR; @@ -4270,7 +4272,7 @@ yy338: { RETURN_TOKEN(T_EXIT); } -#line 4274 "Zend/zend_language_scanner.c" +#line 4276 "Zend/zend_language_scanner.c" yy340: YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; @@ -4313,7 +4315,7 @@ yy345: { RETURN_TOKEN(T_GOTO); } -#line 4317 "Zend/zend_language_scanner.c" +#line 4319 "Zend/zend_language_scanner.c" yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; @@ -4366,7 +4368,7 @@ yy352: { RETURN_TOKEN(T_LIST); } -#line 4370 "Zend/zend_language_scanner.c" +#line 4372 "Zend/zend_language_scanner.c" yy354: YYDEBUG(354, *YYCURSOR); yych = *++YYCURSOR; @@ -4557,7 +4559,7 @@ yy383: { RETURN_TOKEN(T_INT_CAST); } -#line 4561 "Zend/zend_language_scanner.c" +#line 4563 "Zend/zend_language_scanner.c" yy386: YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; @@ -4786,7 +4788,7 @@ yy397: RETURN_TOKEN(T_START_HEREDOC); } -#line 4790 "Zend/zend_language_scanner.c" +#line 4792 "Zend/zend_language_scanner.c" yy398: YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; @@ -4810,7 +4812,7 @@ yy400: { RETURN_TOKEN(T_ARRAY); } -#line 4814 "Zend/zend_language_scanner.c" +#line 4816 "Zend/zend_language_scanner.c" yy402: YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; @@ -4823,7 +4825,7 @@ yy402: { RETURN_TOKEN(T_BREAK); } -#line 4827 "Zend/zend_language_scanner.c" +#line 4829 "Zend/zend_language_scanner.c" yy404: YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; @@ -4842,7 +4844,7 @@ yy405: { RETURN_TOKEN(T_CATCH); } -#line 4846 "Zend/zend_language_scanner.c" +#line 4848 "Zend/zend_language_scanner.c" yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; @@ -4855,7 +4857,7 @@ yy407: { RETURN_TOKEN(T_CLASS); } -#line 4859 "Zend/zend_language_scanner.c" +#line 4861 "Zend/zend_language_scanner.c" yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; @@ -4868,7 +4870,7 @@ yy409: { RETURN_TOKEN(T_CLONE); } -#line 4872 "Zend/zend_language_scanner.c" +#line 4874 "Zend/zend_language_scanner.c" yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; @@ -4881,7 +4883,7 @@ yy411: { RETURN_TOKEN(T_CONST); } -#line 4885 "Zend/zend_language_scanner.c" +#line 4887 "Zend/zend_language_scanner.c" yy413: YYDEBUG(413, *YYCURSOR); yych = *++YYCURSOR; @@ -4918,7 +4920,7 @@ yy417: { RETURN_TOKEN(T_EMPTY); } -#line 4922 "Zend/zend_language_scanner.c" +#line 4924 "Zend/zend_language_scanner.c" yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; @@ -4943,7 +4945,7 @@ yy421: { RETURN_TOKEN(T_ENDIF); } -#line 4947 "Zend/zend_language_scanner.c" +#line 4949 "Zend/zend_language_scanner.c" yy423: YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; @@ -4989,7 +4991,7 @@ yy427: { RETURN_TOKEN(T_FINAL); } -#line 4993 "Zend/zend_language_scanner.c" +#line 4995 "Zend/zend_language_scanner.c" yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; @@ -5050,7 +5052,7 @@ yy436: { RETURN_TOKEN(T_ISSET); } -#line 5054 "Zend/zend_language_scanner.c" +#line 5056 "Zend/zend_language_scanner.c" yy438: YYDEBUG(438, *YYCURSOR); yych = *++YYCURSOR; @@ -5069,7 +5071,7 @@ yy439: { RETURN_TOKEN(T_PRINT); } -#line 5073 "Zend/zend_language_scanner.c" +#line 5075 "Zend/zend_language_scanner.c" yy441: YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; @@ -5124,7 +5126,7 @@ yy448: { RETURN_TOKEN(T_THROW); } -#line 5128 "Zend/zend_language_scanner.c" +#line 5130 "Zend/zend_language_scanner.c" yy450: YYDEBUG(450, *YYCURSOR); yych = *++YYCURSOR; @@ -5137,7 +5139,7 @@ yy450: { RETURN_TOKEN(T_TRAIT); } -#line 5141 "Zend/zend_language_scanner.c" +#line 5143 "Zend/zend_language_scanner.c" yy452: YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; @@ -5150,7 +5152,7 @@ yy452: { RETURN_TOKEN(T_UNSET); } -#line 5154 "Zend/zend_language_scanner.c" +#line 5156 "Zend/zend_language_scanner.c" yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; @@ -5163,7 +5165,7 @@ yy454: { RETURN_TOKEN(T_WHILE); } -#line 5167 "Zend/zend_language_scanner.c" +#line 5169 "Zend/zend_language_scanner.c" yy456: YYDEBUG(456, *YYCURSOR); yyaccept = 6; @@ -5185,7 +5187,7 @@ yy457: { RETURN_TOKEN(T_YIELD); } -#line 5189 "Zend/zend_language_scanner.c" +#line 5191 "Zend/zend_language_scanner.c" yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; @@ -5281,7 +5283,7 @@ yy471: { RETURN_TOKEN(T_BOOL_CAST); } -#line 5285 "Zend/zend_language_scanner.c" +#line 5287 "Zend/zend_language_scanner.c" yy474: YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; @@ -5315,7 +5317,7 @@ yy478: { RETURN_TOKEN(T_DOUBLE_CAST); } -#line 5319 "Zend/zend_language_scanner.c" +#line 5321 "Zend/zend_language_scanner.c" yy480: YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; @@ -5384,7 +5386,7 @@ yy489: { RETURN_TOKEN(T_ELSEIF); } -#line 5388 "Zend/zend_language_scanner.c" +#line 5390 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; @@ -5418,7 +5420,7 @@ yy493: { RETURN_TOKEN(T_ENDFOR); } -#line 5422 "Zend/zend_language_scanner.c" +#line 5424 "Zend/zend_language_scanner.c" yy494: YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; @@ -5467,7 +5469,7 @@ yy500: { RETURN_TOKEN(T_GLOBAL); } -#line 5471 "Zend/zend_language_scanner.c" +#line 5473 "Zend/zend_language_scanner.c" yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; @@ -5528,7 +5530,7 @@ yy510: { RETURN_TOKEN(T_PUBLIC); } -#line 5532 "Zend/zend_language_scanner.c" +#line 5534 "Zend/zend_language_scanner.c" yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; @@ -5547,7 +5549,7 @@ yy513: { RETURN_TOKEN(T_RETURN); } -#line 5551 "Zend/zend_language_scanner.c" +#line 5553 "Zend/zend_language_scanner.c" yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; @@ -5560,7 +5562,7 @@ yy515: { RETURN_TOKEN(T_STATIC); } -#line 5564 "Zend/zend_language_scanner.c" +#line 5566 "Zend/zend_language_scanner.c" yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; @@ -5573,7 +5575,7 @@ yy517: { RETURN_TOKEN(T_SWITCH); } -#line 5577 "Zend/zend_language_scanner.c" +#line 5579 "Zend/zend_language_scanner.c" yy519: YYDEBUG(519, *YYCURSOR); ++YYCURSOR; @@ -5657,7 +5659,7 @@ yy530: { RETURN_TOKEN(T_ARRAY_CAST); } -#line 5661 "Zend/zend_language_scanner.c" +#line 5663 "Zend/zend_language_scanner.c" yy532: YYDEBUG(532, *YYCURSOR); ++YYCURSOR; @@ -5707,7 +5709,7 @@ yy538: { RETURN_TOKEN(T_UNSET_CAST); } -#line 5711 "Zend/zend_language_scanner.c" +#line 5713 "Zend/zend_language_scanner.c" yy540: YYDEBUG(540, *YYCURSOR); yych = *++YYCURSOR; @@ -5738,7 +5740,7 @@ yy543: { RETURN_TOKEN(T_DECLARE); } -#line 5742 "Zend/zend_language_scanner.c" +#line 5744 "Zend/zend_language_scanner.c" yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; @@ -5751,7 +5753,7 @@ yy545: { RETURN_TOKEN(T_DEFAULT); } -#line 5755 "Zend/zend_language_scanner.c" +#line 5757 "Zend/zend_language_scanner.c" yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; @@ -5788,7 +5790,7 @@ yy551: { RETURN_TOKEN(T_EXTENDS); } -#line 5792 "Zend/zend_language_scanner.c" +#line 5794 "Zend/zend_language_scanner.c" yy553: YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; @@ -5801,7 +5803,7 @@ yy553: { RETURN_TOKEN(T_FINALLY); } -#line 5805 "Zend/zend_language_scanner.c" +#line 5807 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; @@ -5814,7 +5816,7 @@ yy555: { RETURN_TOKEN(T_FOREACH); } -#line 5818 "Zend/zend_language_scanner.c" +#line 5820 "Zend/zend_language_scanner.c" yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; @@ -5852,7 +5854,7 @@ yy560: { RETURN_TOKEN(T_INCLUDE); } -#line 5856 "Zend/zend_language_scanner.c" +#line 5858 "Zend/zend_language_scanner.c" yy561: YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; @@ -5889,7 +5891,7 @@ yy565: { RETURN_TOKEN(T_PRIVATE); } -#line 5893 "Zend/zend_language_scanner.c" +#line 5895 "Zend/zend_language_scanner.c" yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; @@ -5921,7 +5923,7 @@ yy569: { RETURN_TOKEN(T_REQUIRE); } -#line 5925 "Zend/zend_language_scanner.c" +#line 5927 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -5945,7 +5947,7 @@ yy572: { RETURN_TOKEN(T_DIR); } -#line 5949 "Zend/zend_language_scanner.c" +#line 5951 "Zend/zend_language_scanner.c" yy574: YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; @@ -5994,7 +5996,7 @@ yy581: { RETURN_TOKEN(T_STRING_CAST); } -#line 5998 "Zend/zend_language_scanner.c" +#line 6000 "Zend/zend_language_scanner.c" yy583: YYDEBUG(583, *YYCURSOR); ++YYCURSOR; @@ -6004,7 +6006,7 @@ yy583: { RETURN_TOKEN(T_OBJECT_CAST); } -#line 6008 "Zend/zend_language_scanner.c" +#line 6010 "Zend/zend_language_scanner.c" yy585: YYDEBUG(585, *YYCURSOR); yych = *++YYCURSOR; @@ -6017,7 +6019,7 @@ yy585: { RETURN_TOKEN(T_ABSTRACT); } -#line 6021 "Zend/zend_language_scanner.c" +#line 6023 "Zend/zend_language_scanner.c" yy587: YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; @@ -6030,7 +6032,7 @@ yy587: { RETURN_TOKEN(T_CALLABLE); } -#line 6034 "Zend/zend_language_scanner.c" +#line 6036 "Zend/zend_language_scanner.c" yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; @@ -6043,7 +6045,7 @@ yy589: { RETURN_TOKEN(T_CONTINUE); } -#line 6047 "Zend/zend_language_scanner.c" +#line 6049 "Zend/zend_language_scanner.c" yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; @@ -6074,7 +6076,7 @@ yy594: { RETURN_TOKEN(T_ENDWHILE); } -#line 6078 "Zend/zend_language_scanner.c" +#line 6080 "Zend/zend_language_scanner.c" yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; @@ -6087,7 +6089,7 @@ yy596: { RETURN_TOKEN(T_FUNCTION); } -#line 6091 "Zend/zend_language_scanner.c" +#line 6093 "Zend/zend_language_scanner.c" yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; @@ -6159,7 +6161,7 @@ yy608: { RETURN_TOKEN(T_FILE); } -#line 6163 "Zend/zend_language_scanner.c" +#line 6165 "Zend/zend_language_scanner.c" yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; @@ -6184,7 +6186,7 @@ yy612: { RETURN_TOKEN(T_LINE); } -#line 6188 "Zend/zend_language_scanner.c" +#line 6190 "Zend/zend_language_scanner.c" yy614: YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; @@ -6225,7 +6227,7 @@ yy619: { RETURN_TOKEN(T_ENDSWITCH); } -#line 6229 "Zend/zend_language_scanner.c" +#line 6231 "Zend/zend_language_scanner.c" yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; @@ -6256,7 +6258,7 @@ yy624: { RETURN_TOKEN(T_INSTEADOF); } -#line 6260 "Zend/zend_language_scanner.c" +#line 6262 "Zend/zend_language_scanner.c" yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; @@ -6269,7 +6271,7 @@ yy626: { RETURN_TOKEN(T_INTERFACE); } -#line 6273 "Zend/zend_language_scanner.c" +#line 6275 "Zend/zend_language_scanner.c" yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; @@ -6282,7 +6284,7 @@ yy628: { RETURN_TOKEN(T_NAMESPACE); } -#line 6286 "Zend/zend_language_scanner.c" +#line 6288 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -6295,7 +6297,7 @@ yy630: { RETURN_TOKEN(T_PROTECTED); } -#line 6299 "Zend/zend_language_scanner.c" +#line 6301 "Zend/zend_language_scanner.c" yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; @@ -6320,7 +6322,7 @@ yy634: { RETURN_TOKEN(T_CLASS_C); } -#line 6324 "Zend/zend_language_scanner.c" +#line 6326 "Zend/zend_language_scanner.c" yy636: YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; @@ -6356,7 +6358,7 @@ yy640: { RETURN_TOKEN(T_TRAIT_C); } -#line 6360 "Zend/zend_language_scanner.c" +#line 6362 "Zend/zend_language_scanner.c" yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; @@ -6369,7 +6371,7 @@ yy642: { RETURN_TOKEN(T_ENDDECLARE); } -#line 6373 "Zend/zend_language_scanner.c" +#line 6375 "Zend/zend_language_scanner.c" yy644: YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; @@ -6382,7 +6384,7 @@ yy644: { RETURN_TOKEN(T_ENDFOREACH); } -#line 6386 "Zend/zend_language_scanner.c" +#line 6388 "Zend/zend_language_scanner.c" yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; @@ -6395,7 +6397,7 @@ yy646: { RETURN_TOKEN(T_IMPLEMENTS); } -#line 6399 "Zend/zend_language_scanner.c" +#line 6401 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; @@ -6414,7 +6416,7 @@ yy649: { RETURN_TOKEN(T_INSTANCEOF); } -#line 6418 "Zend/zend_language_scanner.c" +#line 6420 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; @@ -6466,7 +6468,7 @@ yy655: { RETURN_TOKEN(T_METHOD_C); } -#line 6470 "Zend/zend_language_scanner.c" +#line 6472 "Zend/zend_language_scanner.c" yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; @@ -6496,7 +6498,7 @@ yy660: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_YIELD_FROM); } -#line 6500 "Zend/zend_language_scanner.c" +#line 6502 "Zend/zend_language_scanner.c" yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; @@ -6525,7 +6527,7 @@ yy665: { RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 6529 "Zend/zend_language_scanner.c" +#line 6531 "Zend/zend_language_scanner.c" yy667: YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; @@ -6538,7 +6540,7 @@ yy667: { RETURN_TOKEN(T_REQUIRE_ONCE); } -#line 6542 "Zend/zend_language_scanner.c" +#line 6544 "Zend/zend_language_scanner.c" yy669: YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; @@ -6551,7 +6553,7 @@ yy669: { RETURN_TOKEN(T_FUNC_C); } -#line 6555 "Zend/zend_language_scanner.c" +#line 6557 "Zend/zend_language_scanner.c" yy671: YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; @@ -6581,7 +6583,7 @@ yy674: { RETURN_TOKEN(T_NS_C); } -#line 6585 "Zend/zend_language_scanner.c" +#line 6587 "Zend/zend_language_scanner.c" yy676: YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; @@ -6599,7 +6601,7 @@ yy677: { RETURN_TOKEN(T_HALT_COMPILER); } -#line 6603 "Zend/zend_language_scanner.c" +#line 6605 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6671,7 +6673,7 @@ yy682: yy_pop_state(); goto restart; } -#line 6675 "Zend/zend_language_scanner.c" +#line 6677 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); ++YYCURSOR; @@ -6687,7 +6689,7 @@ yy683: { goto return_whitespace; } -#line 6691 "Zend/zend_language_scanner.c" +#line 6693 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; @@ -6709,7 +6711,7 @@ yy687: yy_pop_state(); RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 6713 "Zend/zend_language_scanner.c" +#line 6715 "Zend/zend_language_scanner.c" yy690: YYDEBUG(690, *YYCURSOR); ++YYCURSOR; @@ -6719,7 +6721,7 @@ yy690: { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 6723 "Zend/zend_language_scanner.c" +#line 6725 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_BACKQUOTE: @@ -6817,7 +6819,7 @@ yy695: RETURN_TOKEN(T_ERROR); } } -#line 6821 "Zend/zend_language_scanner.c" +#line 6823 "Zend/zend_language_scanner.c" yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; @@ -6846,7 +6848,7 @@ yy697: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); } -#line 6850 "Zend/zend_language_scanner.c" +#line 6852 "Zend/zend_language_scanner.c" yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; @@ -6871,7 +6873,7 @@ yy702: { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6875 "Zend/zend_language_scanner.c" +#line 6877 "Zend/zend_language_scanner.c" yy703: YYDEBUG(703, *YYCURSOR); ++YYCURSOR; @@ -6882,7 +6884,7 @@ yy703: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 6886 "Zend/zend_language_scanner.c" +#line 6888 "Zend/zend_language_scanner.c" yy705: YYDEBUG(705, *YYCURSOR); ++YYCURSOR; @@ -6894,7 +6896,7 @@ yy705: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 6898 "Zend/zend_language_scanner.c" +#line 6900 "Zend/zend_language_scanner.c" yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; @@ -6914,7 +6916,7 @@ yy709: yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6918 "Zend/zend_language_scanner.c" +#line 6920 "Zend/zend_language_scanner.c" yy711: YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; @@ -6938,7 +6940,7 @@ yy712: yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 6942 "Zend/zend_language_scanner.c" +#line 6944 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -7044,7 +7046,7 @@ double_quotes_scan_done: RETURN_TOKEN(T_ERROR); } } -#line 7048 "Zend/zend_language_scanner.c" +#line 7050 "Zend/zend_language_scanner.c" yy718: YYDEBUG(718, *YYCURSOR); ++YYCURSOR; @@ -7055,7 +7057,7 @@ yy718: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); } -#line 7059 "Zend/zend_language_scanner.c" +#line 7061 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; @@ -7098,7 +7100,7 @@ yy724: { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7102 "Zend/zend_language_scanner.c" +#line 7104 "Zend/zend_language_scanner.c" yy725: YYDEBUG(725, *YYCURSOR); ++YYCURSOR; @@ -7109,7 +7111,7 @@ yy725: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 7113 "Zend/zend_language_scanner.c" +#line 7115 "Zend/zend_language_scanner.c" yy727: YYDEBUG(727, *YYCURSOR); ++YYCURSOR; @@ -7121,7 +7123,7 @@ yy727: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 7125 "Zend/zend_language_scanner.c" +#line 7127 "Zend/zend_language_scanner.c" yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; @@ -7141,7 +7143,7 @@ yy731: yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7145 "Zend/zend_language_scanner.c" +#line 7147 "Zend/zend_language_scanner.c" yy733: YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; @@ -7165,7 +7167,7 @@ yy734: yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7169 "Zend/zend_language_scanner.c" +#line 7171 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_HEREDOC: @@ -7334,7 +7336,7 @@ heredoc_scan_done: RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 7338 "Zend/zend_language_scanner.c" +#line 7340 "Zend/zend_language_scanner.c" yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; @@ -7377,7 +7379,7 @@ yy744: { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7381 "Zend/zend_language_scanner.c" +#line 7383 "Zend/zend_language_scanner.c" yy745: YYDEBUG(745, *YYCURSOR); ++YYCURSOR; @@ -7388,7 +7390,7 @@ yy745: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 7392 "Zend/zend_language_scanner.c" +#line 7394 "Zend/zend_language_scanner.c" yy747: YYDEBUG(747, *YYCURSOR); ++YYCURSOR; @@ -7400,7 +7402,7 @@ yy747: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 7404 "Zend/zend_language_scanner.c" +#line 7406 "Zend/zend_language_scanner.c" yy749: YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; @@ -7420,7 +7422,7 @@ yy751: yy_push_state(ST_VAR_OFFSET); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7424 "Zend/zend_language_scanner.c" +#line 7426 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; @@ -7444,7 +7446,7 @@ yy754: yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7448 "Zend/zend_language_scanner.c" +#line 7450 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7508,7 +7510,7 @@ yy759: yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7512 "Zend/zend_language_scanner.c" +#line 7514 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *(YYMARKER = ++YYCURSOR); @@ -7562,7 +7564,7 @@ yy764: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0); } -#line 7566 "Zend/zend_language_scanner.c" +#line 7568 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_VAR_OFFSET: @@ -7657,10 +7659,12 @@ yy768: RETURN_TOKEN(END); } - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + if (!SCNG(heredoc_scan_ahead)) { + zend_error(E_COMPILE_WARNING, "Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + } goto restart; } -#line 7664 "Zend/zend_language_scanner.c" +#line 7668 "Zend/zend_language_scanner.c" yy770: YYDEBUG(770, *YYCURSOR); ++YYCURSOR; @@ -7674,7 +7678,7 @@ yy770: ZVAL_NULL(zendlval); RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 7678 "Zend/zend_language_scanner.c" +#line 7682 "Zend/zend_language_scanner.c" yy772: YYDEBUG(772, *YYCURSOR); ++YYCURSOR; @@ -7686,7 +7690,7 @@ yy773: /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */ RETURN_TOKEN(yytext[0]); } -#line 7690 "Zend/zend_language_scanner.c" +#line 7694 "Zend/zend_language_scanner.c" yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; @@ -7737,7 +7741,7 @@ string: } RETURN_TOKEN_WITH_VAL(T_NUM_STRING); } -#line 7741 "Zend/zend_language_scanner.c" +#line 7745 "Zend/zend_language_scanner.c" yy777: YYDEBUG(777, *YYCURSOR); ++YYCURSOR; @@ -7763,7 +7767,7 @@ yy779: { RETURN_TOKEN_WITH_STR(T_STRING, 0); } -#line 7767 "Zend/zend_language_scanner.c" +#line 7771 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); ++YYCURSOR; @@ -7774,7 +7778,7 @@ yy782: yy_pop_state(); RETURN_TOKEN(']'); } -#line 7778 "Zend/zend_language_scanner.c" +#line 7782 "Zend/zend_language_scanner.c" yy784: YYDEBUG(784, *YYCURSOR); ++YYCURSOR; @@ -7803,7 +7807,7 @@ yy786: { RETURN_TOKEN_WITH_STR(T_VARIABLE, 1); } -#line 7807 "Zend/zend_language_scanner.c" +#line 7811 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); ++YYCURSOR; @@ -7824,7 +7828,7 @@ yy789: } RETURN_TOKEN_WITH_VAL(T_NUM_STRING); } -#line 7828 "Zend/zend_language_scanner.c" +#line 7832 "Zend/zend_language_scanner.c" yy790: YYDEBUG(790, *YYCURSOR); yych = *++YYCURSOR; @@ -7921,7 +7925,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN_WITH_VAL(T_INLINE_HTML); } -#line 7925 "Zend/zend_language_scanner.c" +#line 7929 "Zend/zend_language_scanner.c" yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; @@ -7949,7 +7953,7 @@ yy803: goto inline_char_handler; } } -#line 7953 "Zend/zend_language_scanner.c" +#line 7957 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); ++YYCURSOR; @@ -7963,7 +7967,7 @@ yy804: } RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); } -#line 7967 "Zend/zend_language_scanner.c" +#line 7971 "Zend/zend_language_scanner.c" yy806: YYDEBUG(806, *YYCURSOR); yych = *++YYCURSOR; @@ -8003,7 +8007,7 @@ yy811: } RETURN_TOKEN(T_OPEN_TAG); } -#line 8007 "Zend/zend_language_scanner.c" +#line 8011 "Zend/zend_language_scanner.c" yy812: YYDEBUG(812, *YYCURSOR); yych = *++YYCURSOR; @@ -8031,7 +8035,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_END_HEREDOC); } -#line 8035 "Zend/zend_language_scanner.c" +#line 8039 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_NOWDOC: YYDEBUG(817, *YYCURSOR); @@ -8128,9 +8132,9 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE); } -#line 8132 "Zend/zend_language_scanner.c" +#line 8136 "Zend/zend_language_scanner.c" } -#line 2759 "Zend/zend_language_scanner.l" +#line 2761 "Zend/zend_language_scanner.l" emit_token_with_str: diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 69c392a9bc..2b432abe54 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2098,7 +2098,7 @@ inline_char_handler: if (YYCURSOR < YYLIMIT) { YYCURSOR++; - } else { + } else if (!SCNG(heredoc_scan_ahead)) { zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno)); } @@ -2752,7 +2752,9 @@ nowdoc_scan_done: RETURN_TOKEN(END); } - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + if (!SCNG(heredoc_scan_ahead)) { + zend_error(E_COMPILE_WARNING, "Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + } goto restart; } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index b06f9d3ecb..3c01b5bc76 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 */ +/* Generated by re2c 1.0.1 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { |