]> granicus.if.org Git - php/commitdiff
backport the yyless patch from 5.3 branch. it seems I forgot to commit this..
authorNuno Lopes <nlopess@php.net>
Fri, 6 Jun 2008 17:34:43 +0000 (17:34 +0000)
committerNuno Lopes <nlopess@php.net>
Fri, 6 Jun 2008 17:34:43 +0000 (17:34 +0000)
# you'll probably need re2c 0.13.5 or newer to regenerate this file
# Matt: please advise if there's still somrthing pending (i.e. was the heredoc/nowdoc patch MFB already?

Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h

index 72ec60a795b29c72d16c8063cb072b3a8dbbfd29..865a0d6d1f69f3fec6073ff660429d016e0c9a34 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4 on Sat May 10 04:04:00 2008 */
+/* Generated by re2c 0.13.6.dev on Fri Jun  6 18:30:48 2008 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -65,7 +65,8 @@
 #define YYSTATE      YYGETCONDITION()
 #define yytext       ((char*)SCNG(yy_text))
 #define yyleng       SCNG(yy_leng)
-#define yyless(x)    YYCURSOR = yytext + x
+#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + (x); \
+                          yyleng   = (unsigned int)(x); } while(0)
 #define yymore()     goto yymore_restart
 
 /* perform sanity check. If this message is triggered you should
@@ -1338,7 +1339,7 @@ yymore_restart:
        }
 
 
-#line 1342 "Zend/zend_language_scanner.c"
+#line 1343 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -1462,7 +1463,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2165 "Zend/zend_language_scanner.l"
+#line 2166 "Zend/zend_language_scanner.l"
                {
 
        while (1) {
@@ -1493,7 +1494,7 @@ inline_char_handler:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 1497 "Zend/zend_language_scanner.c"
+#line 1498 "Zend/zend_language_scanner.c"
 yy4:
                YYDEBUG(4, *YYCURSOR);
                yyaccept = 0;
@@ -1520,7 +1521,7 @@ yy8:
 yy9:
                YYDEBUG(9, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2156 "Zend/zend_language_scanner.l"
+#line 2157 "Zend/zend_language_scanner.l"
                {
        if ((YYCTYPE*)yytext == SCNG(yy_start)) {
                /* ignore first line when it's started with a # */
@@ -1529,7 +1530,7 @@ yy9:
                goto inline_char_handler;
        }
 }
-#line 1533 "Zend/zend_language_scanner.c"
+#line 1534 "Zend/zend_language_scanner.c"
 yy10:
                YYDEBUG(10, *YYCURSOR);
                yyaccept = 1;
@@ -1555,7 +1556,7 @@ yy12:
 yy13:
                YYDEBUG(13, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2140 "Zend/zend_language_scanner.l"
+#line 2141 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        if (CG(short_tags)) {
@@ -1571,14 +1572,14 @@ yy13:
                return T_INLINE_HTML;
        }
 }
-#line 1575 "Zend/zend_language_scanner.c"
+#line 1576 "Zend/zend_language_scanner.c"
 yy14:
                YYDEBUG(14, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy50;
                YYDEBUG(15, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2114 "Zend/zend_language_scanner.l"
+#line 2115 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1593,7 +1594,7 @@ yy14:
                return T_INLINE_HTML;
        }
 }
-#line 1597 "Zend/zend_language_scanner.c"
+#line 1598 "Zend/zend_language_scanner.c"
 yy16:
                YYDEBUG(16, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1783,7 +1784,7 @@ yy42:
                ++YYCURSOR;
                YYDEBUG(45, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2073 "Zend/zend_language_scanner.l"
+#line 2074 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1792,7 +1793,7 @@ yy42:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1796 "Zend/zend_language_scanner.c"
+#line 1797 "Zend/zend_language_scanner.c"
 yy46:
                YYDEBUG(46, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1819,7 +1820,7 @@ yy50:
                ++YYCURSOR;
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2082 "Zend/zend_language_scanner.l"
+#line 2083 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1834,13 +1835,13 @@ yy50:
                return T_INLINE_HTML;
        }
 }
-#line 1838 "Zend/zend_language_scanner.c"
+#line 1839 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(53, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2098 "Zend/zend_language_scanner.l"
+#line 2099 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1855,7 +1856,7 @@ yy52:
                return T_INLINE_HTML;
        }
 }
-#line 1859 "Zend/zend_language_scanner.c"
+#line 1860 "Zend/zend_language_scanner.c"
 yy54:
                YYDEBUG(54, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1882,7 +1883,7 @@ yy57:
 yy58:
                YYDEBUG(58, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2130 "Zend/zend_language_scanner.l"
+#line 2131 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -1891,7 +1892,7 @@ yy58:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1895 "Zend/zend_language_scanner.c"
+#line 1896 "Zend/zend_language_scanner.c"
 yy59:
                YYDEBUG(59, *YYCURSOR);
                ++YYCURSOR;
@@ -1982,13 +1983,13 @@ yy63:
 yy64:
                YYDEBUG(64, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2572 "Zend/zend_language_scanner.l"
+#line 2567 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1992 "Zend/zend_language_scanner.c"
+#line 1993 "Zend/zend_language_scanner.c"
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyaccept = 1;
@@ -2006,7 +2007,7 @@ yy66:
 yy67:
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2607 "Zend/zend_language_scanner.l"
+#line 2601 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2015,7 +2016,7 @@ yy67:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2019 "Zend/zend_language_scanner.c"
+#line 2020 "Zend/zend_language_scanner.c"
 yy68:
                YYDEBUG(68, *YYCURSOR);
                ++YYCURSOR;
@@ -2027,12 +2028,12 @@ yy69:
                ++YYCURSOR;
                YYDEBUG(70, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2770 "Zend/zend_language_scanner.l"
+#line 2762 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 2036 "Zend/zend_language_scanner.c"
+#line 2037 "Zend/zend_language_scanner.c"
 yy71:
                YYDEBUG(71, *YYCURSOR);
                ++YYCURSOR;
@@ -2120,10 +2121,9 @@ yy75:
 yy77:
                YYDEBUG(77, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2616 "Zend/zend_language_scanner.l"
+#line 2610 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2166,7 +2166,7 @@ yy81:
 yy83:
                YYDEBUG(83, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2229 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -2182,7 +2182,7 @@ yy84:
                ++YYCURSOR;
                YYDEBUG(85, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1839 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -2200,8 +2200,7 @@ yy87:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2215 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2212,7 +2211,7 @@ yy87:
        }
        return T_VARIABLE;
 }
-#line 2216 "Zend/zend_language_scanner.c"
+#line 2215 "Zend/zend_language_scanner.c"
 yy89:
                YYDEBUG(89, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2230,10 +2229,9 @@ yy90:
                ++YYCURSOR;
                YYDEBUG(91, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2199 "Zend/zend_language_scanner.l"
+#line 2200 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2244,7 +2242,7 @@ yy90:
        }
        return T_VARIABLE;
 }
-#line 2248 "Zend/zend_language_scanner.c"
+#line 2246 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_COMMENT:
@@ -2301,34 +2299,34 @@ yy94:
                }
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2338 "Zend/zend_language_scanner.l"
+#line 2335 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2309 "Zend/zend_language_scanner.c"
+#line 2307 "Zend/zend_language_scanner.c"
 yy97:
                YYDEBUG(97, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy99;
                YYDEBUG(98, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2361 "Zend/zend_language_scanner.l"
+#line 2358 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2320 "Zend/zend_language_scanner.c"
+#line 2318 "Zend/zend_language_scanner.c"
 yy99:
                YYDEBUG(99, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(100, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2355 "Zend/zend_language_scanner.l"
+#line 2352 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        BEGIN(ST_IN_SCRIPTING);
        return T_COMMENT;
 }
-#line 2332 "Zend/zend_language_scanner.c"
+#line 2330 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOC_COMMENT:
@@ -2385,28 +2383,28 @@ yy103:
                }
                YYDEBUG(105, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2338 "Zend/zend_language_scanner.l"
+#line 2335 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2393 "Zend/zend_language_scanner.c"
+#line 2391 "Zend/zend_language_scanner.c"
 yy106:
                YYDEBUG(106, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy108;
                YYDEBUG(107, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2361 "Zend/zend_language_scanner.l"
+#line 2358 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2404 "Zend/zend_language_scanner.c"
+#line 2402 "Zend/zend_language_scanner.c"
 yy108:
                YYDEBUG(108, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(109, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2342 "Zend/zend_language_scanner.l"
+#line 2339 "Zend/zend_language_scanner.l"
                {
        zval temp;
 
@@ -2419,7 +2417,7 @@ yy108:
        BEGIN(ST_IN_SCRIPTING);
        return T_DOC_COMMENT;
 }
-#line 2423 "Zend/zend_language_scanner.c"
+#line 2421 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -2506,13 +2504,13 @@ yy113:
 yy114:
                YYDEBUG(114, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2572 "Zend/zend_language_scanner.l"
+#line 2567 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2516 "Zend/zend_language_scanner.c"
+#line 2514 "Zend/zend_language_scanner.c"
 yy115:
                YYDEBUG(115, *YYCURSOR);
                yyaccept = 1;
@@ -2531,7 +2529,7 @@ yy116:
 yy117:
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2579 "Zend/zend_language_scanner.l"
+#line 2574 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2540,7 +2538,7 @@ yy117:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2544 "Zend/zend_language_scanner.c"
+#line 2542 "Zend/zend_language_scanner.c"
 yy118:
                YYDEBUG(118, *YYCURSOR);
                ++YYCURSOR;
@@ -2552,12 +2550,12 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2764 "Zend/zend_language_scanner.l"
+#line 2756 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 2561 "Zend/zend_language_scanner.c"
+#line 2559 "Zend/zend_language_scanner.c"
 yy121:
                YYDEBUG(121, *YYCURSOR);
                ++YYCURSOR;
@@ -2648,10 +2646,9 @@ yy125:
 yy127:
                YYDEBUG(127, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2594 "Zend/zend_language_scanner.l"
+#line 2589 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2660,7 +2657,7 @@ yy127:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2664 "Zend/zend_language_scanner.c"
+#line 2661 "Zend/zend_language_scanner.c"
 yy128:
                YYDEBUG(128, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2694,7 +2691,7 @@ yy131:
 yy133:
                YYDEBUG(133, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2229 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -2704,18 +2701,18 @@ yy133:
        }
        return T_VARIABLE;
 }
-#line 2708 "Zend/zend_language_scanner.c"
+#line 2705 "Zend/zend_language_scanner.c"
 yy134:
                YYDEBUG(134, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(135, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1839 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2719 "Zend/zend_language_scanner.c"
+#line 2716 "Zend/zend_language_scanner.c"
 yy136:
                YYDEBUG(136, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2728,8 +2725,7 @@ yy137:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2215 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2740,7 +2736,7 @@ yy137:
        }
        return T_VARIABLE;
 }
-#line 2744 "Zend/zend_language_scanner.c"
+#line 2740 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2758,10 +2754,9 @@ yy140:
                ++YYCURSOR;
                YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2199 "Zend/zend_language_scanner.l"
+#line 2200 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2772,7 +2767,7 @@ yy140:
        }
        return T_VARIABLE;
 }
-#line 2776 "Zend/zend_language_scanner.c"
+#line 2771 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -2783,7 +2778,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(145, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2561 "Zend/zend_language_scanner.l"
+#line 2556 "Zend/zend_language_scanner.l"
        {
        SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
        SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2792,7 +2787,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 2796 "Zend/zend_language_scanner.c"
+#line 2791 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_END_NOWDOC:
        YYDEBUG(146, *YYCURSOR);
@@ -2802,7 +2797,7 @@ yyc_ST_END_NOWDOC:
        ++YYCURSOR;
        YYDEBUG(149, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2753 "Zend/zend_language_scanner.l"
+#line 2745 "Zend/zend_language_scanner.l"
        {
        SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
        SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2811,7 +2806,7 @@ yyc_ST_END_NOWDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_NOWDOC;
 }
-#line 2815 "Zend/zend_language_scanner.c"
+#line 2810 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -2868,7 +2863,7 @@ yyc_ST_HEREDOC:
 yy152:
                YYDEBUG(152, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2636 "Zend/zend_language_scanner.l"
+#line 2629 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2877,7 +2872,7 @@ yy152:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2881 "Zend/zend_language_scanner.c"
+#line 2876 "Zend/zend_language_scanner.c"
 yy153:
                YYDEBUG(153, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2923,13 +2918,13 @@ yy154:
 yy155:
                YYDEBUG(155, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2572 "Zend/zend_language_scanner.l"
+#line 2567 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2933 "Zend/zend_language_scanner.c"
+#line 2928 "Zend/zend_language_scanner.c"
 yy156:
                YYDEBUG(156, *YYCURSOR);
                yyaccept = 0;
@@ -3180,10 +3175,9 @@ yy172:
 yy174:
                YYDEBUG(174, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2645 "Zend/zend_language_scanner.l"
+#line 2638 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -3192,7 +3186,7 @@ yy174:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 3196 "Zend/zend_language_scanner.c"
+#line 3190 "Zend/zend_language_scanner.c"
 yy175:
                YYDEBUG(175, *YYCURSOR);
                yyaccept = 2;
@@ -3291,7 +3285,7 @@ yy181:
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2516 "Zend/zend_language_scanner.l"
+#line 2511 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -3336,7 +3330,7 @@ yy181:
                yymore();
        }
 }
-#line 3340 "Zend/zend_language_scanner.c"
+#line 3334 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                yyaccept = 2;
@@ -3596,7 +3590,7 @@ yy202:
 yy204:
                YYDEBUG(204, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2229 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -3606,18 +3600,18 @@ yy204:
        }
        return T_VARIABLE;
 }
-#line 3610 "Zend/zend_language_scanner.c"
+#line 3604 "Zend/zend_language_scanner.c"
 yy205:
                YYDEBUG(205, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(206, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1839 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 3621 "Zend/zend_language_scanner.c"
+#line 3615 "Zend/zend_language_scanner.c"
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3630,8 +3624,7 @@ yy208:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2215 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -3642,7 +3635,7 @@ yy208:
        }
        return T_VARIABLE;
 }
-#line 3646 "Zend/zend_language_scanner.c"
+#line 3639 "Zend/zend_language_scanner.c"
 yy210:
                YYDEBUG(210, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3660,10 +3653,9 @@ yy211:
                ++YYCURSOR;
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2199 "Zend/zend_language_scanner.l"
+#line 2200 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -3674,7 +3666,7 @@ yy211:
        }
        return T_VARIABLE;
 }
-#line 3678 "Zend/zend_language_scanner.c"
+#line 3670 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -3889,7 +3881,7 @@ yy215:
 yy216:
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2258 "Zend/zend_language_scanner.l"
+#line 2256 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -3899,7 +3891,7 @@ yy216:
        }
        return T_STRING;
 }
-#line 3903 "Zend/zend_language_scanner.c"
+#line 3895 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4146,11 +4138,11 @@ yy229:
 yy230:
                YYDEBUG(230, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1827 "Zend/zend_language_scanner.l"
+#line 1828 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 4154 "Zend/zend_language_scanner.c"
+#line 4146 "Zend/zend_language_scanner.c"
 yy231:
                YYDEBUG(231, *YYCURSOR);
                ++YYCURSOR;
@@ -4159,7 +4151,7 @@ yy231:
 yy232:
                YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1558 "Zend/zend_language_scanner.l"
+#line 1559 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -4167,7 +4159,7 @@ yy232:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 4171 "Zend/zend_language_scanner.c"
+#line 4163 "Zend/zend_language_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4400,18 +4392,18 @@ yy257:
                ++YYCURSOR;
                YYDEBUG(258, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1832 "Zend/zend_language_scanner.l"
+#line 1833 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 4409 "Zend/zend_language_scanner.c"
+#line 4401 "Zend/zend_language_scanner.c"
 yy259:
                YYDEBUG(259, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(260, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1844 "Zend/zend_language_scanner.l"
+#line 1845 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -4419,7 +4411,7 @@ yy259:
        }
        return '}';
 }
-#line 4423 "Zend/zend_language_scanner.c"
+#line 4415 "Zend/zend_language_scanner.c"
 yy261:
                YYDEBUG(261, *YYCURSOR);
                yyaccept = 2;
@@ -4442,7 +4434,7 @@ yy261:
 yy262:
                YYDEBUG(262, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1874 "Zend/zend_language_scanner.l"
+#line 1875 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
@@ -4463,7 +4455,7 @@ yy262:
        Z_TYPE_P(zendlval) = IS_LONG;
        return T_LNUMBER;
 }
-#line 4467 "Zend/zend_language_scanner.c"
+#line 4459 "Zend/zend_language_scanner.c"
 yy263:
                YYDEBUG(263, *YYCURSOR);
                yyaccept = 2;
@@ -4491,12 +4483,12 @@ yy265:
 yy266:
                YYDEBUG(266, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2276 "Zend/zend_language_scanner.l"
+#line 2274 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_ONE_LINE_COMMENT);
        yymore();
 }
-#line 4500 "Zend/zend_language_scanner.c"
+#line 4492 "Zend/zend_language_scanner.c"
 yy267:
                YYDEBUG(267, *YYCURSOR);
                yyaccept = 3;
@@ -4505,12 +4497,12 @@ yy267:
 yy268:
                YYDEBUG(268, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2423 "Zend/zend_language_scanner.l"
+#line 2419 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 4514 "Zend/zend_language_scanner.c"
+#line 4506 "Zend/zend_language_scanner.c"
 yy269:
                YYDEBUG(269, *YYCURSOR);
                yyaccept = 4;
@@ -4519,23 +4511,23 @@ yy269:
 yy270:
                YYDEBUG(270, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2776 "Zend/zend_language_scanner.l"
+#line 2768 "Zend/zend_language_scanner.l"
                {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 4528 "Zend/zend_language_scanner.c"
+#line 4520 "Zend/zend_language_scanner.c"
 yy271:
                YYDEBUG(271, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(272, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2475 "Zend/zend_language_scanner.l"
+#line 2471 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 4539 "Zend/zend_language_scanner.c"
+#line 4531 "Zend/zend_language_scanner.c"
 yy273:
                YYDEBUG(273, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4561,7 +4553,7 @@ yy277:
                ++YYCURSOR;
                YYDEBUG(278, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2407 "Zend/zend_language_scanner.l"
+#line 2403 "Zend/zend_language_scanner.l"
                {
        if (UG(unicode)) {
                return zend_scan_unicode_single_string(zendlval TSRMLS_CC);
@@ -4570,7 +4562,7 @@ yy277:
                return T_CONSTANT_ENCAPSED_STRING;
        }
 }
-#line 4574 "Zend/zend_language_scanner.c"
+#line 4566 "Zend/zend_language_scanner.c"
 yy279:
                YYDEBUG(279, *YYCURSOR);
                ++YYCURSOR;
@@ -4671,7 +4663,7 @@ yy287:
                ++YYCURSOR;
                YYDEBUG(288, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2391 "Zend/zend_language_scanner.l"
+#line 2387 "Zend/zend_language_scanner.l"
                {
        if (UG(unicode)) {
                return zend_scan_unicode_escape_string(zendlval, yytext+1, yyleng-2, 0x22 /*'"'*/, T_CONSTANT_ENCAPSED_STRING TSRMLS_CC);
@@ -4680,7 +4672,7 @@ yy287:
                return T_CONSTANT_ENCAPSED_STRING;
        }
 }
-#line 4684 "Zend/zend_language_scanner.c"
+#line 4676 "Zend/zend_language_scanner.c"
 yy289:
                YYDEBUG(289, *YYCURSOR);
                ++YYCURSOR;
@@ -4713,13 +4705,13 @@ yy292:
 yy294:
                YYDEBUG(294, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1935 "Zend/zend_language_scanner.l"
+#line 1936 "Zend/zend_language_scanner.l"
                {
        Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);
        Z_TYPE_P(zendlval) = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 4723 "Zend/zend_language_scanner.c"
+#line 4715 "Zend/zend_language_scanner.c"
 yy295:
                YYDEBUG(295, *YYCURSOR);
                yyaccept = 2;
@@ -4781,7 +4773,7 @@ yy302:
                }
                YYDEBUG(304, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1895 "Zend/zend_language_scanner.l"
+#line 1896 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -4802,7 +4794,7 @@ yy302:
                return T_DNUMBER;
        }
 }
-#line 4806 "Zend/zend_language_scanner.c"
+#line 4798 "Zend/zend_language_scanner.c"
 yy305:
                YYDEBUG(305, *YYCURSOR);
                ++YYCURSOR;
@@ -4811,7 +4803,7 @@ yy305:
 yy306:
                YYDEBUG(306, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2365 "Zend/zend_language_scanner.l"
+#line 2362 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -4819,7 +4811,7 @@ yy306:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 4823 "Zend/zend_language_scanner.c"
+#line 4815 "Zend/zend_language_scanner.c"
 yy307:
                YYDEBUG(307, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4853,7 +4845,7 @@ yy309:
 yy311:
                YYDEBUG(311, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2229 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -4863,7 +4855,7 @@ yy311:
        }
        return T_VARIABLE;
 }
-#line 4867 "Zend/zend_language_scanner.c"
+#line 4859 "Zend/zend_language_scanner.c"
 yy312:
                YYDEBUG(312, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4877,11 +4869,11 @@ yy313:
                }
                YYDEBUG(314, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1815 "Zend/zend_language_scanner.l"
+#line 1816 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 4885 "Zend/zend_language_scanner.c"
+#line 4877 "Zend/zend_language_scanner.c"
 yy315:
                YYDEBUG(315, *YYCURSOR);
                ++YYCURSOR;
@@ -4890,61 +4882,61 @@ yy315:
                }
                YYDEBUG(316, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1807 "Zend/zend_language_scanner.l"
+#line 1808 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 4898 "Zend/zend_language_scanner.c"
+#line 4890 "Zend/zend_language_scanner.c"
 yy317:
                YYDEBUG(317, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(318, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1795 "Zend/zend_language_scanner.l"
+#line 1796 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 4908 "Zend/zend_language_scanner.c"
+#line 4900 "Zend/zend_language_scanner.c"
 yy319:
                YYDEBUG(319, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(320, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1799 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 4918 "Zend/zend_language_scanner.c"
+#line 4910 "Zend/zend_language_scanner.c"
 yy321:
                YYDEBUG(321, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(322, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1791 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 4928 "Zend/zend_language_scanner.c"
+#line 4920 "Zend/zend_language_scanner.c"
 yy323:
                YYDEBUG(323, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(324, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1803 "Zend/zend_language_scanner.l"
+#line 1804 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 4938 "Zend/zend_language_scanner.c"
+#line 4930 "Zend/zend_language_scanner.c"
 yy325:
                YYDEBUG(325, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(326, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1787 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 4948 "Zend/zend_language_scanner.c"
+#line 4940 "Zend/zend_language_scanner.c"
 yy327:
                YYDEBUG(327, *YYCURSOR);
                ++YYCURSOR;
@@ -4953,7 +4945,7 @@ yy327:
 yy328:
                YYDEBUG(328, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2374 "Zend/zend_language_scanner.l"
+#line 2371 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -4963,21 +4955,20 @@ yy328:
                return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
        } else {
                yyless(1);
-               yyleng = 1;
                return yytext[0];
        }
 }
-#line 4971 "Zend/zend_language_scanner.c"
+#line 4962 "Zend/zend_language_scanner.c"
 yy329:
                YYDEBUG(329, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(330, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1775 "Zend/zend_language_scanner.l"
+#line 1776 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 4981 "Zend/zend_language_scanner.c"
+#line 4972 "Zend/zend_language_scanner.c"
 yy331:
                YYDEBUG(331, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5008,11 +4999,11 @@ yy335:
                ++YYCURSOR;
                YYDEBUG(336, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1771 "Zend/zend_language_scanner.l"
+#line 1772 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 5016 "Zend/zend_language_scanner.c"
+#line 5007 "Zend/zend_language_scanner.c"
 yy337:
                YYDEBUG(337, *YYCURSOR);
                yyaccept = 6;
@@ -5021,12 +5012,12 @@ yy337:
 yy338:
                YYDEBUG(338, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2332 "Zend/zend_language_scanner.l"
+#line 2329 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_COMMENT);
        yymore();
 }
-#line 5030 "Zend/zend_language_scanner.c"
+#line 5021 "Zend/zend_language_scanner.c"
 yy339:
                YYDEBUG(339, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5036,11 +5027,11 @@ yy340:
                ++YYCURSOR;
                YYDEBUG(341, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1767 "Zend/zend_language_scanner.l"
+#line 1768 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 5044 "Zend/zend_language_scanner.c"
+#line 5035 "Zend/zend_language_scanner.c"
 yy342:
                YYDEBUG(342, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5059,54 +5050,54 @@ yy343:
                }
                YYDEBUG(345, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2326 "Zend/zend_language_scanner.l"
+#line 2323 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        BEGIN(ST_DOC_COMMENT);
        yymore();
 }
-#line 5069 "Zend/zend_language_scanner.c"
+#line 5060 "Zend/zend_language_scanner.c"
 yy346:
                YYDEBUG(346, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(347, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1763 "Zend/zend_language_scanner.l"
+#line 1764 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 5079 "Zend/zend_language_scanner.c"
+#line 5070 "Zend/zend_language_scanner.c"
 yy348:
                YYDEBUG(348, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy352;
                YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1823 "Zend/zend_language_scanner.l"
+#line 1824 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 5090 "Zend/zend_language_scanner.c"
+#line 5081 "Zend/zend_language_scanner.c"
 yy350:
                YYDEBUG(350, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(351, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1751 "Zend/zend_language_scanner.l"
+#line 1752 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 5100 "Zend/zend_language_scanner.c"
+#line 5091 "Zend/zend_language_scanner.c"
 yy352:
                YYDEBUG(352, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(353, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1783 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 5110 "Zend/zend_language_scanner.c"
+#line 5101 "Zend/zend_language_scanner.c"
 yy354:
                YYDEBUG(354, *YYCURSOR);
                yyaccept = 7;
@@ -5117,11 +5108,11 @@ yy354:
 yy355:
                YYDEBUG(355, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1819 "Zend/zend_language_scanner.l"
+#line 1820 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 5125 "Zend/zend_language_scanner.c"
+#line 5116 "Zend/zend_language_scanner.c"
 yy356:
                YYDEBUG(356, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5133,22 +5124,22 @@ yy357:
                ++YYCURSOR;
                YYDEBUG(358, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1747 "Zend/zend_language_scanner.l"
+#line 1748 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 5141 "Zend/zend_language_scanner.c"
+#line 5132 "Zend/zend_language_scanner.c"
 yy359:
                YYDEBUG(359, *YYCURSOR);
                ++YYCURSOR;
 yy360:
                YYDEBUG(360, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1743 "Zend/zend_language_scanner.l"
+#line 1744 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 5152 "Zend/zend_language_scanner.c"
+#line 5143 "Zend/zend_language_scanner.c"
 yy361:
                YYDEBUG(361, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5199,11 +5190,11 @@ yy368:
                ++YYCURSOR;
                YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1779 "Zend/zend_language_scanner.l"
+#line 1780 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 5207 "Zend/zend_language_scanner.c"
+#line 5198 "Zend/zend_language_scanner.c"
 yy370:
                YYDEBUG(370, *YYCURSOR);
                ++YYCURSOR;
@@ -5310,7 +5301,7 @@ yy379:
 yy380:
                YYDEBUG(380, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2454 "Zend/zend_language_scanner.l"
+#line 2450 "Zend/zend_language_scanner.l"
                {
        char *s;
 
@@ -5330,7 +5321,7 @@ yy380:
        BEGIN(ST_START_HEREDOC);
        return T_START_HEREDOC;
 }
-#line 5334 "Zend/zend_language_scanner.c"
+#line 5325 "Zend/zend_language_scanner.c"
 yy381:
                YYDEBUG(381, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5372,7 +5363,7 @@ yy385:
 yy386:
                YYDEBUG(386, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2660 "Zend/zend_language_scanner.l"
+#line 2652 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '<') ? 1 : 0;
        char *s;
@@ -5391,7 +5382,7 @@ yy386:
        BEGIN(ST_START_NOWDOC);
        return T_START_NOWDOC;
 }
-#line 5395 "Zend/zend_language_scanner.c"
+#line 5386 "Zend/zend_language_scanner.c"
 yy387:
                YYDEBUG(387, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5405,31 +5396,31 @@ yy388:
                ++YYCURSOR;
                YYDEBUG(390, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1735 "Zend/zend_language_scanner.l"
+#line 1736 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 5413 "Zend/zend_language_scanner.c"
+#line 5404 "Zend/zend_language_scanner.c"
 yy391:
                YYDEBUG(391, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(392, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1755 "Zend/zend_language_scanner.l"
+#line 1756 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 5423 "Zend/zend_language_scanner.c"
+#line 5414 "Zend/zend_language_scanner.c"
 yy393:
                YYDEBUG(393, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(394, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1723 "Zend/zend_language_scanner.l"
+#line 1724 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 5433 "Zend/zend_language_scanner.c"
+#line 5424 "Zend/zend_language_scanner.c"
 yy395:
                YYDEBUG(395, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5448,42 +5439,42 @@ yy397:
                }
                YYDEBUG(398, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1716 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 5456 "Zend/zend_language_scanner.c"
+#line 5447 "Zend/zend_language_scanner.c"
 yy399:
                YYDEBUG(399, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy403;
                YYDEBUG(400, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1739 "Zend/zend_language_scanner.l"
+#line 1740 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 5467 "Zend/zend_language_scanner.c"
+#line 5458 "Zend/zend_language_scanner.c"
 yy401:
                YYDEBUG(401, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(402, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1711 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 5477 "Zend/zend_language_scanner.c"
+#line 5468 "Zend/zend_language_scanner.c"
 yy403:
                YYDEBUG(403, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(404, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1731 "Zend/zend_language_scanner.l"
+#line 1732 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 5487 "Zend/zend_language_scanner.c"
+#line 5478 "Zend/zend_language_scanner.c"
 yy405:
                YYDEBUG(405, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5575,7 +5566,7 @@ yy412:
                }
                YYDEBUG(423, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2063 "Zend/zend_language_scanner.l"
+#line 2064 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -5585,7 +5576,7 @@ yy412:
        }
        return T_NS_C;
 }
-#line 5589 "Zend/zend_language_scanner.c"
+#line 5580 "Zend/zend_language_scanner.c"
 yy424:
                YYDEBUG(424, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5603,7 +5594,7 @@ yy424:
                }
                YYDEBUG(428, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2036 "Zend/zend_language_scanner.l"
+#line 2037 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -5630,7 +5621,7 @@ yy424:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 5634 "Zend/zend_language_scanner.c"
+#line 5625 "Zend/zend_language_scanner.c"
 yy429:
                YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5651,13 +5642,13 @@ yy429:
                }
                YYDEBUG(434, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2020 "Zend/zend_language_scanner.l"
+#line 2021 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = CG(zend_lineno);
        Z_TYPE_P(zendlval) = IS_LONG;
        return T_LINE;
 }
-#line 5661 "Zend/zend_language_scanner.c"
+#line 5652 "Zend/zend_language_scanner.c"
 yy435:
                YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5684,7 +5675,7 @@ yy435:
                }
                YYDEBUG(442, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1971 "Zend/zend_language_scanner.l"
+#line 1972 "Zend/zend_language_scanner.l"
                {
        zstr class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL_ZSTR;
        zstr func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL_ZSTR;
@@ -5733,7 +5724,7 @@ yy435:
        }
        return T_METHOD_C;
 }
-#line 5737 "Zend/zend_language_scanner.c"
+#line 5728 "Zend/zend_language_scanner.c"
 yy443:
                YYDEBUG(443, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5771,7 +5762,7 @@ yy444:
                }
                YYDEBUG(453, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1956 "Zend/zend_language_scanner.l"
+#line 1957 "Zend/zend_language_scanner.l"
                {
        zstr func_name = NULL_ZSTR;
 
@@ -5786,7 +5777,7 @@ yy444:
        }
        return T_FUNC_C;
 }
-#line 5790 "Zend/zend_language_scanner.c"
+#line 5781 "Zend/zend_language_scanner.c"
 yy454:
                YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5804,7 +5795,7 @@ yy454:
                }
                YYDEBUG(458, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2026 "Zend/zend_language_scanner.l"
+#line 2027 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -5814,7 +5805,7 @@ yy454:
        ZVAL_RT_STRING(zendlval, filename, 1);
        return T_FILE;
 }
-#line 5818 "Zend/zend_language_scanner.c"
+#line 5809 "Zend/zend_language_scanner.c"
 yy459:
                YYDEBUG(459, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5838,7 +5829,7 @@ yy459:
                }
                YYDEBUG(465, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1941 "Zend/zend_language_scanner.l"
+#line 1942 "Zend/zend_language_scanner.l"
                {
        zstr class_name = NULL_ZSTR;
 
@@ -5853,7 +5844,7 @@ yy459:
        }
        return T_CLASS_C;
 }
-#line 5857 "Zend/zend_language_scanner.c"
+#line 5848 "Zend/zend_language_scanner.c"
 yy466:
                YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5915,11 +5906,11 @@ yy477:
                }
                YYDEBUG(478, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1679 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 5923 "Zend/zend_language_scanner.c"
+#line 5914 "Zend/zend_language_scanner.c"
 yy479:
                YYDEBUG(479, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5939,11 +5930,11 @@ yy481:
                }
                YYDEBUG(482, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1663 "Zend/zend_language_scanner.l"
+#line 1664 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 5947 "Zend/zend_language_scanner.c"
+#line 5938 "Zend/zend_language_scanner.c"
 yy483:
                YYDEBUG(483, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5962,11 +5953,11 @@ yy485:
                }
                YYDEBUG(486, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1707 "Zend/zend_language_scanner.l"
+#line 1708 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 5970 "Zend/zend_language_scanner.c"
+#line 5961 "Zend/zend_language_scanner.c"
 yy487:
                YYDEBUG(487, *YYCURSOR);
                ++YYCURSOR;
@@ -6138,11 +6129,11 @@ yy502:
                ++YYCURSOR;
                YYDEBUG(504, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1603 "Zend/zend_language_scanner.l"
+#line 1604 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 6146 "Zend/zend_language_scanner.c"
+#line 6137 "Zend/zend_language_scanner.c"
 yy505:
                YYDEBUG(505, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6186,11 +6177,11 @@ yy510:
                ++YYCURSOR;
                YYDEBUG(513, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1607 "Zend/zend_language_scanner.l"
+#line 1608 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 6194 "Zend/zend_language_scanner.c"
+#line 6185 "Zend/zend_language_scanner.c"
 yy514:
                YYDEBUG(514, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6260,11 +6251,11 @@ yy524:
                ++YYCURSOR;
                YYDEBUG(527, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1611 "Zend/zend_language_scanner.l"
+#line 1612 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 6268 "Zend/zend_language_scanner.c"
+#line 6259 "Zend/zend_language_scanner.c"
 yy528:
                YYDEBUG(528, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6297,11 +6288,11 @@ yy531:
                ++YYCURSOR;
                YYDEBUG(534, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1623 "Zend/zend_language_scanner.l"
+#line 1624 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 6305 "Zend/zend_language_scanner.c"
+#line 6296 "Zend/zend_language_scanner.c"
 yy535:
                YYDEBUG(535, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6339,11 +6330,11 @@ yy539:
                ++YYCURSOR;
                YYDEBUG(542, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1627 "Zend/zend_language_scanner.l"
+#line 1628 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 6347 "Zend/zend_language_scanner.c"
+#line 6338 "Zend/zend_language_scanner.c"
 yy543:
                YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6384,11 +6375,11 @@ yy548:
                ++YYCURSOR;
                YYDEBUG(550, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1631 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 6392 "Zend/zend_language_scanner.c"
+#line 6383 "Zend/zend_language_scanner.c"
 yy551:
                YYDEBUG(551, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6432,11 +6423,11 @@ yy556:
                ++YYCURSOR;
                YYDEBUG(559, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1619 "Zend/zend_language_scanner.l"
+#line 1620 "Zend/zend_language_scanner.l"
                {
        return T_BINARY_CAST;
 }
-#line 6440 "Zend/zend_language_scanner.c"
+#line 6431 "Zend/zend_language_scanner.c"
 yy560:
                YYDEBUG(560, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6493,11 +6484,11 @@ yy566:
                ++YYCURSOR;
                YYDEBUG(569, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1615 "Zend/zend_language_scanner.l"
+#line 1616 "Zend/zend_language_scanner.l"
                {
        return T_UNICODE_CAST;
 }
-#line 6501 "Zend/zend_language_scanner.c"
+#line 6492 "Zend/zend_language_scanner.c"
 yy570:
                YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6520,11 +6511,11 @@ yy571:
                ++YYCURSOR;
                YYDEBUG(574, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1635 "Zend/zend_language_scanner.l"
+#line 1636 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 6528 "Zend/zend_language_scanner.c"
+#line 6519 "Zend/zend_language_scanner.c"
 yy575:
                YYDEBUG(575, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6538,11 +6529,11 @@ yy576:
                }
                YYDEBUG(577, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1599 "Zend/zend_language_scanner.l"
+#line 1600 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 6546 "Zend/zend_language_scanner.c"
+#line 6537 "Zend/zend_language_scanner.c"
 yy578:
                YYDEBUG(578, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6562,11 +6553,11 @@ yy580:
                }
                YYDEBUG(581, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1591 "Zend/zend_language_scanner.l"
+#line 1592 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 6570 "Zend/zend_language_scanner.c"
+#line 6561 "Zend/zend_language_scanner.c"
 yy582:
                YYDEBUG(582, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6605,21 +6596,21 @@ yy588:
                }
                YYDEBUG(589, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1659 "Zend/zend_language_scanner.l"
+#line 1660 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 6613 "Zend/zend_language_scanner.c"
+#line 6604 "Zend/zend_language_scanner.c"
 yy590:
                YYDEBUG(590, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(591, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 6623 "Zend/zend_language_scanner.c"
+#line 6614 "Zend/zend_language_scanner.c"
 yy592:
                YYDEBUG(592, *YYCURSOR);
                ++YYCURSOR;
@@ -6641,32 +6632,32 @@ yy594:
                ++YYCURSOR;
                YYDEBUG(595, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1759 "Zend/zend_language_scanner.l"
+#line 1760 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 6649 "Zend/zend_language_scanner.c"
+#line 6640 "Zend/zend_language_scanner.c"
 yy596:
                YYDEBUG(596, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(597, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1727 "Zend/zend_language_scanner.l"
+#line 1728 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 6659 "Zend/zend_language_scanner.c"
+#line 6650 "Zend/zend_language_scanner.c"
 yy598:
                YYDEBUG(598, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(599, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1553 "Zend/zend_language_scanner.l"
+#line 1554 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 6670 "Zend/zend_language_scanner.c"
+#line 6661 "Zend/zend_language_scanner.c"
 yy600:
                YYDEBUG(600, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6711,11 +6702,11 @@ yy605:
                }
                YYDEBUG(606, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1703 "Zend/zend_language_scanner.l"
+#line 1704 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 6719 "Zend/zend_language_scanner.c"
+#line 6710 "Zend/zend_language_scanner.c"
 yy607:
                YYDEBUG(607, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6770,11 +6761,11 @@ yy614:
                }
                YYDEBUG(615, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1699 "Zend/zend_language_scanner.l"
+#line 1700 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 6778 "Zend/zend_language_scanner.c"
+#line 6769 "Zend/zend_language_scanner.c"
 yy616:
                YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6804,11 +6795,11 @@ yy620:
                }
                YYDEBUG(621, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1695 "Zend/zend_language_scanner.l"
+#line 1696 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 6812 "Zend/zend_language_scanner.c"
+#line 6803 "Zend/zend_language_scanner.c"
 yy622:
                YYDEBUG(622, *YYCURSOR);
                ++YYCURSOR;
@@ -6817,11 +6808,11 @@ yy622:
                }
                YYDEBUG(623, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1533 "Zend/zend_language_scanner.l"
+#line 1534 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 6825 "Zend/zend_language_scanner.c"
+#line 6816 "Zend/zend_language_scanner.c"
 yy624:
                YYDEBUG(624, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6846,11 +6837,11 @@ yy627:
                }
                YYDEBUG(628, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1525 "Zend/zend_language_scanner.l"
+#line 1526 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 6854 "Zend/zend_language_scanner.c"
+#line 6845 "Zend/zend_language_scanner.c"
 yy629:
                YYDEBUG(629, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6874,11 +6865,11 @@ yy632:
                }
                YYDEBUG(633, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1667 "Zend/zend_language_scanner.l"
+#line 1668 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 6882 "Zend/zend_language_scanner.c"
+#line 6873 "Zend/zend_language_scanner.c"
 yy634:
                YYDEBUG(634, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6892,12 +6883,12 @@ yy635:
 yy636:
                YYDEBUG(636, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2428 "Zend/zend_language_scanner.l"
+#line 2424 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return T_BINARY_DOUBLE;
 }
-#line 6901 "Zend/zend_language_scanner.c"
+#line 6892 "Zend/zend_language_scanner.c"
 yy637:
                YYDEBUG(637, *YYCURSOR);
                ++YYCURSOR;
@@ -6930,11 +6921,11 @@ yy642:
                }
                YYDEBUG(643, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1517 "Zend/zend_language_scanner.l"
+#line 1518 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 6938 "Zend/zend_language_scanner.c"
+#line 6929 "Zend/zend_language_scanner.c"
 yy644:
                YYDEBUG(644, *YYCURSOR);
                ++YYCURSOR;
@@ -6946,12 +6937,12 @@ yy645:
                ++YYCURSOR;
                YYDEBUG(646, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2417 "Zend/zend_language_scanner.l"
+#line 2413 "Zend/zend_language_scanner.l"
                {
        zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC);
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 6955 "Zend/zend_language_scanner.c"
+#line 6946 "Zend/zend_language_scanner.c"
 yy647:
                YYDEBUG(647, *YYCURSOR);
                ++YYCURSOR;
@@ -7025,12 +7016,12 @@ yy654:
                ++YYCURSOR;
                YYDEBUG(655, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2401 "Zend/zend_language_scanner.l"
+#line 2397 "Zend/zend_language_scanner.l"
                {
        zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC);
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 7034 "Zend/zend_language_scanner.c"
+#line 7025 "Zend/zend_language_scanner.c"
 yy656:
                YYDEBUG(656, *YYCURSOR);
                ++YYCURSOR;
@@ -7139,7 +7130,7 @@ yy666:
 yy667:
                YYDEBUG(667, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2433 "Zend/zend_language_scanner.l"
+#line 2429 "Zend/zend_language_scanner.l"
                {
        char *s;
 
@@ -7159,7 +7150,7 @@ yy667:
        BEGIN(ST_START_HEREDOC);
        return T_BINARY_HEREDOC;
 }
-#line 7163 "Zend/zend_language_scanner.c"
+#line 7154 "Zend/zend_language_scanner.c"
 yy668:
                YYDEBUG(668, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7199,11 +7190,11 @@ yy674:
                }
                YYDEBUG(675, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1501 "Zend/zend_language_scanner.l"
+#line 1502 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 7207 "Zend/zend_language_scanner.c"
+#line 7198 "Zend/zend_language_scanner.c"
 yy676:
                YYDEBUG(676, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7227,11 +7218,11 @@ yy679:
                }
                YYDEBUG(680, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
+#line 1684 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 7235 "Zend/zend_language_scanner.c"
+#line 7226 "Zend/zend_language_scanner.c"
 yy681:
                YYDEBUG(681, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7258,11 +7249,11 @@ yy684:
                }
                YYDEBUG(685, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1497 "Zend/zend_language_scanner.l"
+#line 1498 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 7266 "Zend/zend_language_scanner.c"
+#line 7257 "Zend/zend_language_scanner.c"
 yy686:
                YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7281,11 +7272,11 @@ yy688:
                }
                YYDEBUG(689, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1719 "Zend/zend_language_scanner.l"
+#line 1720 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 7289 "Zend/zend_language_scanner.c"
+#line 7280 "Zend/zend_language_scanner.c"
 yy690:
                YYDEBUG(690, *YYCURSOR);
                ++YYCURSOR;
@@ -7294,11 +7285,11 @@ yy690:
                }
                YYDEBUG(691, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1811 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 7302 "Zend/zend_language_scanner.c"
+#line 7293 "Zend/zend_language_scanner.c"
 yy692:
                YYDEBUG(692, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7332,11 +7323,11 @@ yy697:
                }
                YYDEBUG(698, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1687 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 7340 "Zend/zend_language_scanner.c"
+#line 7331 "Zend/zend_language_scanner.c"
 yy699:
                YYDEBUG(699, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7360,11 +7351,11 @@ yy702:
                }
                YYDEBUG(703, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1457 "Zend/zend_language_scanner.l"
+#line 1458 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 7368 "Zend/zend_language_scanner.c"
+#line 7359 "Zend/zend_language_scanner.c"
 yy704:
                YYDEBUG(704, *YYCURSOR);
                ++YYCURSOR;
@@ -7373,11 +7364,11 @@ yy704:
                }
                YYDEBUG(705, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1441 "Zend/zend_language_scanner.l"
+#line 1442 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 7381 "Zend/zend_language_scanner.c"
+#line 7372 "Zend/zend_language_scanner.c"
 yy706:
                YYDEBUG(706, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7429,11 +7420,11 @@ yy711:
                }
                YYDEBUG(712, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1671 "Zend/zend_language_scanner.l"
+#line 1672 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 7437 "Zend/zend_language_scanner.c"
+#line 7428 "Zend/zend_language_scanner.c"
 yy713:
                YYDEBUG(713, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7487,11 +7478,11 @@ yy719:
 yy720:
                YYDEBUG(720, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1643 "Zend/zend_language_scanner.l"
+#line 1644 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 7495 "Zend/zend_language_scanner.c"
+#line 7486 "Zend/zend_language_scanner.c"
 yy721:
                YYDEBUG(721, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7520,11 +7511,11 @@ yy725:
                }
                YYDEBUG(726, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1647 "Zend/zend_language_scanner.l"
+#line 1648 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 7528 "Zend/zend_language_scanner.c"
+#line 7519 "Zend/zend_language_scanner.c"
 yy727:
                YYDEBUG(727, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7558,11 +7549,11 @@ yy732:
                }
                YYDEBUG(733, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1541 "Zend/zend_language_scanner.l"
+#line 1542 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 7566 "Zend/zend_language_scanner.c"
+#line 7557 "Zend/zend_language_scanner.c"
 yy734:
                YYDEBUG(734, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7601,11 +7592,11 @@ yy740:
                }
                YYDEBUG(741, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1493 "Zend/zend_language_scanner.l"
+#line 1494 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 7609 "Zend/zend_language_scanner.c"
+#line 7600 "Zend/zend_language_scanner.c"
 yy742:
                YYDEBUG(742, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7649,11 +7640,11 @@ yy749:
                }
                YYDEBUG(750, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1549 "Zend/zend_language_scanner.l"
+#line 1550 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 7657 "Zend/zend_language_scanner.c"
+#line 7648 "Zend/zend_language_scanner.c"
 yy751:
                YYDEBUG(751, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7673,11 +7664,11 @@ yy753:
                }
                YYDEBUG(754, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1429 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 7681 "Zend/zend_language_scanner.c"
+#line 7672 "Zend/zend_language_scanner.c"
 yy755:
                YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7696,11 +7687,11 @@ yy757:
                }
                YYDEBUG(758, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1437 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 7704 "Zend/zend_language_scanner.c"
+#line 7695 "Zend/zend_language_scanner.c"
 yy759:
                YYDEBUG(759, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7761,11 +7752,11 @@ yy765:
 yy766:
                YYDEBUG(766, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1651 "Zend/zend_language_scanner.l"
+#line 1652 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 7769 "Zend/zend_language_scanner.c"
+#line 7760 "Zend/zend_language_scanner.c"
 yy767:
                YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7794,11 +7785,11 @@ yy771:
                }
                YYDEBUG(772, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1655 "Zend/zend_language_scanner.l"
+#line 1656 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 7802 "Zend/zend_language_scanner.c"
+#line 7793 "Zend/zend_language_scanner.c"
 yy773:
                YYDEBUG(773, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7817,11 +7808,11 @@ yy775:
                }
                YYDEBUG(776, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1425 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 7825 "Zend/zend_language_scanner.c"
+#line 7816 "Zend/zend_language_scanner.c"
 yy777:
                YYDEBUG(777, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7902,11 +7893,11 @@ yy786:
                }
                YYDEBUG(787, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1521 "Zend/zend_language_scanner.l"
+#line 1522 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 7910 "Zend/zend_language_scanner.c"
+#line 7901 "Zend/zend_language_scanner.c"
 yy788:
                YYDEBUG(788, *YYCURSOR);
                ++YYCURSOR;
@@ -7915,11 +7906,11 @@ yy788:
                }
                YYDEBUG(789, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1421 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 7923 "Zend/zend_language_scanner.c"
+#line 7914 "Zend/zend_language_scanner.c"
 yy790:
                YYDEBUG(790, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7944,11 +7935,11 @@ yy793:
                }
                YYDEBUG(794, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1595 "Zend/zend_language_scanner.l"
+#line 1596 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 7952 "Zend/zend_language_scanner.c"
+#line 7943 "Zend/zend_language_scanner.c"
 yy795:
                YYDEBUG(795, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7962,11 +7953,11 @@ yy796:
                }
                YYDEBUG(797, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1537 "Zend/zend_language_scanner.l"
+#line 1538 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 7970 "Zend/zend_language_scanner.c"
+#line 7961 "Zend/zend_language_scanner.c"
 yy798:
                YYDEBUG(798, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7986,11 +7977,11 @@ yy800:
                }
                YYDEBUG(801, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1509 "Zend/zend_language_scanner.l"
+#line 1510 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 7994 "Zend/zend_language_scanner.c"
+#line 7985 "Zend/zend_language_scanner.c"
 yy802:
                YYDEBUG(802, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8004,11 +7995,11 @@ yy803:
                }
                YYDEBUG(804, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1433 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 8012 "Zend/zend_language_scanner.c"
+#line 8003 "Zend/zend_language_scanner.c"
 yy805:
                YYDEBUG(805, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8059,11 +8050,11 @@ yy813:
                }
                YYDEBUG(814, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1417 "Zend/zend_language_scanner.l"
+#line 1418 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 8067 "Zend/zend_language_scanner.c"
+#line 8058 "Zend/zend_language_scanner.c"
 yy815:
                YYDEBUG(815, *YYCURSOR);
                ++YYCURSOR;
@@ -8087,11 +8078,11 @@ yy815:
 yy816:
                YYDEBUG(816, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1469 "Zend/zend_language_scanner.l"
+#line 1470 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 8095 "Zend/zend_language_scanner.c"
+#line 8086 "Zend/zend_language_scanner.c"
 yy817:
                YYDEBUG(817, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8115,11 +8106,11 @@ yy820:
                }
                YYDEBUG(821, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1477 "Zend/zend_language_scanner.l"
+#line 1478 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 8123 "Zend/zend_language_scanner.c"
+#line 8114 "Zend/zend_language_scanner.c"
 yy822:
                YYDEBUG(822, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8138,11 +8129,11 @@ yy824:
                }
                YYDEBUG(825, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1692 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 8146 "Zend/zend_language_scanner.c"
+#line 8137 "Zend/zend_language_scanner.c"
 yy826:
                YYDEBUG(826, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8173,11 +8164,11 @@ yy828:
                }
                YYDEBUG(829, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1466 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 8181 "Zend/zend_language_scanner.c"
+#line 8172 "Zend/zend_language_scanner.c"
 yy830:
                YYDEBUG(830, *YYCURSOR);
                ++YYCURSOR;
@@ -8186,11 +8177,11 @@ yy830:
                }
                YYDEBUG(831, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
+#line 1414 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 8194 "Zend/zend_language_scanner.c"
+#line 8185 "Zend/zend_language_scanner.c"
 yy832:
                YYDEBUG(832, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8225,11 +8216,11 @@ yy837:
                }
                YYDEBUG(838, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1513 "Zend/zend_language_scanner.l"
+#line 1514 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 8233 "Zend/zend_language_scanner.c"
+#line 8224 "Zend/zend_language_scanner.c"
 yy839:
                YYDEBUG(839, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8253,11 +8244,11 @@ yy842:
                }
                YYDEBUG(843, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1485 "Zend/zend_language_scanner.l"
+#line 1486 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 8261 "Zend/zend_language_scanner.c"
+#line 8252 "Zend/zend_language_scanner.c"
 yy844:
                YYDEBUG(844, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8337,11 +8328,11 @@ yy855:
                }
                YYDEBUG(856, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1545 "Zend/zend_language_scanner.l"
+#line 1546 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 8345 "Zend/zend_language_scanner.c"
+#line 8336 "Zend/zend_language_scanner.c"
 yy857:
                YYDEBUG(857, *YYCURSOR);
                ++YYCURSOR;
@@ -8350,11 +8341,11 @@ yy857:
                }
                YYDEBUG(858, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1409 "Zend/zend_language_scanner.l"
+#line 1410 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 8358 "Zend/zend_language_scanner.c"
+#line 8349 "Zend/zend_language_scanner.c"
 yy859:
                YYDEBUG(859, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8368,11 +8359,11 @@ yy860:
                }
                YYDEBUG(861, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1639 "Zend/zend_language_scanner.l"
+#line 1640 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 8376 "Zend/zend_language_scanner.c"
+#line 8367 "Zend/zend_language_scanner.c"
 yy862:
                YYDEBUG(862, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8442,11 +8433,11 @@ yy871:
                }
                YYDEBUG(872, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1461 "Zend/zend_language_scanner.l"
+#line 1462 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 8450 "Zend/zend_language_scanner.c"
+#line 8441 "Zend/zend_language_scanner.c"
 yy873:
                YYDEBUG(873, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8475,11 +8466,11 @@ yy877:
                }
                YYDEBUG(878, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1505 "Zend/zend_language_scanner.l"
+#line 1506 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 8483 "Zend/zend_language_scanner.c"
+#line 8474 "Zend/zend_language_scanner.c"
 yy879:
                YYDEBUG(879, *YYCURSOR);
                ++YYCURSOR;
@@ -8488,11 +8479,11 @@ yy879:
                }
                YYDEBUG(880, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1449 "Zend/zend_language_scanner.l"
+#line 1450 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 8496 "Zend/zend_language_scanner.c"
+#line 8487 "Zend/zend_language_scanner.c"
 yy881:
                YYDEBUG(881, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8521,11 +8512,11 @@ yy882:
 yy883:
                YYDEBUG(883, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1473 "Zend/zend_language_scanner.l"
+#line 1474 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 8529 "Zend/zend_language_scanner.c"
+#line 8520 "Zend/zend_language_scanner.c"
 yy884:
                YYDEBUG(884, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8549,11 +8540,11 @@ yy887:
                }
                YYDEBUG(888, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1481 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 8557 "Zend/zend_language_scanner.c"
+#line 8548 "Zend/zend_language_scanner.c"
 yy889:
                YYDEBUG(889, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8587,11 +8578,11 @@ yy894:
                }
                YYDEBUG(895, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1489 "Zend/zend_language_scanner.l"
+#line 1490 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 8595 "Zend/zend_language_scanner.c"
+#line 8586 "Zend/zend_language_scanner.c"
 yy896:
                YYDEBUG(896, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8610,11 +8601,11 @@ yy898:
                }
                YYDEBUG(899, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1675 "Zend/zend_language_scanner.l"
+#line 1676 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 8618 "Zend/zend_language_scanner.c"
+#line 8609 "Zend/zend_language_scanner.c"
 yy900:
                YYDEBUG(900, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8643,11 +8634,11 @@ yy901:
 yy902:
                YYDEBUG(902, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1453 "Zend/zend_language_scanner.l"
+#line 1454 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 8651 "Zend/zend_language_scanner.c"
+#line 8642 "Zend/zend_language_scanner.c"
 yy903:
                YYDEBUG(903, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8661,11 +8652,11 @@ yy904:
                }
                YYDEBUG(905, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1445 "Zend/zend_language_scanner.l"
+#line 1446 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 8669 "Zend/zend_language_scanner.c"
+#line 8660 "Zend/zend_language_scanner.c"
 yy906:
                YYDEBUG(906, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8679,11 +8670,11 @@ yy907:
                }
                YYDEBUG(908, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1529 "Zend/zend_language_scanner.l"
+#line 1530 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 8687 "Zend/zend_language_scanner.c"
+#line 8678 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8756,7 +8747,7 @@ yy911:
 yy912:
                YYDEBUG(912, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1558 "Zend/zend_language_scanner.l"
+#line 1559 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -8764,7 +8755,7 @@ yy912:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 8768 "Zend/zend_language_scanner.c"
+#line 8759 "Zend/zend_language_scanner.c"
 yy913:
                YYDEBUG(913, *YYCURSOR);
                ++YYCURSOR;
@@ -8772,13 +8763,13 @@ yy913:
 yy914:
                YYDEBUG(914, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1581 "Zend/zend_language_scanner.l"
+#line 1582 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 8782 "Zend/zend_language_scanner.c"
+#line 8773 "Zend/zend_language_scanner.c"
 yy915:
                YYDEBUG(915, *YYCURSOR);
                ++YYCURSOR;
@@ -8787,7 +8778,7 @@ yy915:
 yy916:
                YYDEBUG(916, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1570 "Zend/zend_language_scanner.l"
+#line 1571 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -8798,7 +8789,7 @@ yy916:
        }
        return T_STRING;
 }
-#line 8802 "Zend/zend_language_scanner.c"
+#line 8793 "Zend/zend_language_scanner.c"
 yy917:
                YYDEBUG(917, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8819,11 +8810,11 @@ yy920:
                ++YYCURSOR;
                YYDEBUG(921, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1566 "Zend/zend_language_scanner.l"
+#line 1567 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 8827 "Zend/zend_language_scanner.c"
+#line 8818 "Zend/zend_language_scanner.c"
 yy922:
                YYDEBUG(922, *YYCURSOR);
                ++YYCURSOR;
@@ -8893,7 +8884,7 @@ yy926:
 yy927:
                YYDEBUG(927, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1854 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -8905,20 +8896,20 @@ yy927:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8909 "Zend/zend_language_scanner.c"
+#line 8900 "Zend/zend_language_scanner.c"
 yy928:
                YYDEBUG(928, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(929, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1866 "Zend/zend_language_scanner.l"
+#line 1867 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8922 "Zend/zend_language_scanner.c"
+#line 8913 "Zend/zend_language_scanner.c"
 yy930:
                YYDEBUG(930, *YYCURSOR);
                ++YYCURSOR;
@@ -9380,7 +9371,7 @@ yy967:
                ++YYCURSOR;
                YYDEBUG(968, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2709 "Zend/zend_language_scanner.l"
+#line 2701 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -9424,7 +9415,7 @@ yy967:
                yymore();
        }
 }
-#line 9428 "Zend/zend_language_scanner.c"
+#line 9419 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_ONE_LINE_COMMENT:
@@ -9481,11 +9472,11 @@ yy971:
 yy972:
                YYDEBUG(972, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2281 "Zend/zend_language_scanner.l"
+#line 2279 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 9489 "Zend/zend_language_scanner.c"
+#line 9480 "Zend/zend_language_scanner.c"
 yy973:
                YYDEBUG(973, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -9508,7 +9499,7 @@ yy975:
 yy977:
                YYDEBUG(977, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2285 "Zend/zend_language_scanner.l"
+#line 2283 "Zend/zend_language_scanner.l"
                {
        switch (yytext[yyleng-1]) {
                case '?': case '%': case '>':
@@ -9526,7 +9517,7 @@ yy977:
                        return T_COMMENT;
        }
 }
-#line 9530 "Zend/zend_language_scanner.c"
+#line 9521 "Zend/zend_language_scanner.c"
 yy978:
                YYDEBUG(978, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -9539,7 +9530,7 @@ yy979:
                ++YYCURSOR;
                YYDEBUG(981, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2303 "Zend/zend_language_scanner.l"
+#line 2301 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -9548,7 +9539,7 @@ yy979:
        CG(zend_lineno)++;
        return T_COMMENT;
 }
-#line 9552 "Zend/zend_language_scanner.c"
+#line 9543 "Zend/zend_language_scanner.c"
 yy982:
                YYDEBUG(982, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -9558,21 +9549,20 @@ yy983:
                ++YYCURSOR;
                YYDEBUG(984, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2312 "Zend/zend_language_scanner.l"
+#line 2310 "Zend/zend_language_scanner.l"
                {
     if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
                Z_STRLEN_P(zendlval) = yyleng-2;
                Z_TYPE_P(zendlval) = IS_STRING;
-               yyleng -= 2;
-               yyless(yyleng);
+               yyless(yyleng - 2);
                BEGIN(ST_IN_SCRIPTING);
                return T_COMMENT;
        } else {
                yymore();
        }
 }
-#line 9576 "Zend/zend_language_scanner.c"
+#line 9566 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_HEREDOC:
@@ -9629,13 +9619,13 @@ yy987:
 yy988:
                YYDEBUG(988, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2481 "Zend/zend_language_scanner.l"
+#line 2477 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_HEREDOC);
        goto restart;
 }
-#line 9639 "Zend/zend_language_scanner.c"
+#line 9629 "Zend/zend_language_scanner.c"
 yy989:
                YYDEBUG(989, *YYCURSOR);
                yyaccept = 0;
@@ -9680,7 +9670,7 @@ yy994:
                ++YYCURSOR;
                YYDEBUG(995, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2487 "Zend/zend_language_scanner.l"
+#line 2483 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -9689,7 +9679,6 @@ yy994:
        }
 
        yyless(label_len);
-       yyleng = label_len;
 
        if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) {
                Z_STRVAL_P(zendlval) = CG(heredoc);
@@ -9703,7 +9692,7 @@ yy994:
                yymore();
        }
 }
-#line 9707 "Zend/zend_language_scanner.c"
+#line 9696 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_NOWDOC:
@@ -9760,13 +9749,13 @@ yy998:
 yy999:
                YYDEBUG(999, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2679 "Zend/zend_language_scanner.l"
+#line 2671 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_NOWDOC);
        goto restart;
 }
-#line 9770 "Zend/zend_language_scanner.c"
+#line 9759 "Zend/zend_language_scanner.c"
 yy1000:
                YYDEBUG(1000, *YYCURSOR);
                yyaccept = 0;
@@ -9811,7 +9800,7 @@ yy1005:
                ++YYCURSOR;
                YYDEBUG(1006, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2685 "Zend/zend_language_scanner.l"
+#line 2677 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -9835,7 +9824,7 @@ yy1005:
                yymore();
        }
 }
-#line 9839 "Zend/zend_language_scanner.c"
+#line 9828 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -9936,7 +9925,7 @@ yy1009:
 yy1010:
                YYDEBUG(1010, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1916 "Zend/zend_language_scanner.l"
+#line 1917 "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)) {
                Z_LVAL_P(zendlval) = strtol(yytext, NULL, 10);
@@ -9948,7 +9937,7 @@ yy1010:
        }
        return T_NUM_STRING;
 }
-#line 9952 "Zend/zend_language_scanner.c"
+#line 9941 "Zend/zend_language_scanner.c"
 yy1011:
                YYDEBUG(1011, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -9968,23 +9957,23 @@ yy1012:
 yy1013:
                YYDEBUG(1013, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2244 "Zend/zend_language_scanner.l"
+#line 2243 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 9977 "Zend/zend_language_scanner.c"
+#line 9966 "Zend/zend_language_scanner.c"
 yy1014:
                YYDEBUG(1014, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(1015, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2239 "Zend/zend_language_scanner.l"
+#line 2238 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 9988 "Zend/zend_language_scanner.c"
+#line 9977 "Zend/zend_language_scanner.c"
 yy1016:
                YYDEBUG(1016, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -9994,16 +9983,15 @@ yy1017:
                ++YYCURSOR;
                YYDEBUG(1018, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2249 "Zend/zend_language_scanner.l"
+#line 2248 "Zend/zend_language_scanner.l"
                {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
-       yyleng = 0;
        yy_pop_state(TSRMLS_C);
        ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 10007 "Zend/zend_language_scanner.c"
+#line 9995 "Zend/zend_language_scanner.c"
 yy1019:
                YYDEBUG(1019, *YYCURSOR);
                ++YYCURSOR;
@@ -10012,25 +10000,25 @@ yy1019:
 yy1020:
                YYDEBUG(1020, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2268 "Zend/zend_language_scanner.l"
+#line 2266 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
                return 0;
        }
        return T_STRING;
 }
-#line 10023 "Zend/zend_language_scanner.c"
+#line 10011 "Zend/zend_language_scanner.c"
 yy1021:
                YYDEBUG(1021, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(1022, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2776 "Zend/zend_language_scanner.l"
+#line 2768 "Zend/zend_language_scanner.l"
                {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 10034 "Zend/zend_language_scanner.c"
+#line 10022 "Zend/zend_language_scanner.c"
 yy1023:
                YYDEBUG(1023, *YYCURSOR);
                ++YYCURSOR;
@@ -10066,7 +10054,7 @@ yy1025:
 yy1027:
                YYDEBUG(1027, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2229 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -10076,7 +10064,7 @@ yy1027:
        }
        return T_VARIABLE;
 }
-#line 10080 "Zend/zend_language_scanner.c"
+#line 10068 "Zend/zend_language_scanner.c"
 yy1028:
                YYDEBUG(1028, *YYCURSOR);
                ++YYCURSOR;
@@ -10108,14 +10096,14 @@ yy1032:
 yy1034:
                YYDEBUG(1034, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1928 "Zend/zend_language_scanner.l"
+#line 1929 "Zend/zend_language_scanner.l"
                { /* Offset must be treated as a string */
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
                return 0;
        }
        return T_NUM_STRING;
 }
-#line 10119 "Zend/zend_language_scanner.c"
+#line 10107 "Zend/zend_language_scanner.c"
 yy1035:
                YYDEBUG(1035, *YYCURSOR);
                ++YYCURSOR;
@@ -10128,6 +10116,6 @@ yy1035:
                goto yy1034;
        }
 }
-#line 2781 "Zend/zend_language_scanner.l"
+#line 2773 "Zend/zend_language_scanner.l"
 
 }
index 651ab3e230f4b297b911edf36a8c49707902a75b..e1c8f669adf6ba0cc0534b3b4d28bf94f62daca9 100644 (file)
@@ -63,7 +63,8 @@
 #define YYSTATE      YYGETCONDITION()
 #define yytext       ((char*)SCNG(yy_text))
 #define yyleng       SCNG(yy_leng)
-#define yyless(x)    YYCURSOR = yytext + x
+#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + (x); \
+                          yyleng   = (unsigned int)(x); } while(0)
 #define yymore()     goto yymore_restart
 
 /* perform sanity check. If this message is triggered you should
@@ -2197,8 +2198,7 @@ inline_char_handler:
  * and "->" will be taken literally
  */
 <ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"->"[a-zA-Z_\x7f-\xff] {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2213,8 +2213,7 @@ inline_char_handler:
 /* A [ always designates a variable offset, regardless of what follows
  */
 <ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"[" {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
 
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -2249,7 +2248,6 @@ inline_char_handler:
 <ST_VAR_OFFSET>[ \n\r\t\\'#] {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
-       yyleng = 0;
        yy_pop_state(TSRMLS_C);
        ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
@@ -2314,8 +2312,7 @@ inline_char_handler:
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
                Z_STRLEN_P(zendlval) = yyleng-2;
                Z_TYPE_P(zendlval) = IS_STRING;
-               yyleng -= 2;
-               yyless(yyleng);
+               yyless(yyleng - 2);
                BEGIN(ST_IN_SCRIPTING);
                return T_COMMENT;
        } else {
@@ -2380,7 +2377,6 @@ inline_char_handler:
                return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
        } else {
                yyless(1);
-               yyleng = 1;
                return yytext[0];
        }
 }
@@ -2492,7 +2488,6 @@ inline_char_handler:
        }
 
        yyless(label_len);
-       yyleng = label_len;
 
        if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) {
                Z_STRVAL_P(zendlval) = CG(heredoc);
@@ -2589,11 +2584,10 @@ inline_char_handler:
  * (("{"+|"$"+)["]) handles { or $ at the end of a string
  *
  * Same for backquotes and heredocs, except the second case doesn't apply to
- * heredocs. yyleng--/yyless() is used to correct taking one character too many
+ * heredocs. yyless(yyleng - 1) is used to correct taking one character too many
  */
 <ST_DOUBLE_QUOTES>{DOUBLE_QUOTES_CHARS}*("{"{2,}|"$"{2,}|(("{"+|"$"+)["])) {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2614,8 +2608,7 @@ inline_char_handler:
 }
 
 <ST_BACKQUOTE>{BACKQUOTE_CHARS}*("{"{2,}|"$"{2,}|(("{"+|"$"+)[`])) {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2643,8 +2636,7 @@ inline_char_handler:
 }
 
 <ST_HEREDOC>{HEREDOC_CHARS}*({HEREDOC_NEWLINE}+({LABEL}";"?)?)?("{"{2,}|"$"{2,}) {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
 
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
index b88d98e0bc6d4aca2342caba556653ba48c555bc..28e1b3220ed3cf76749243bd52f2dedd518f2a34 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4 on Sat Apr  5 19:52:57 2008 */
+/* Generated by re2c 0.13.6.dev on Fri Jun  6 18:30:48 2008 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {