]> granicus.if.org Git - php/commitdiff
fix the yyless() definition to match flex one and revert part of last patch (so that...
authorNuno Lopes <nlopess@php.net>
Wed, 9 Apr 2008 22:01:20 +0000 (22:01 +0000)
committerNuno Lopes <nlopess@php.net>
Wed, 9 Apr 2008 22:01:20 +0000 (22:01 +0000)
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h

index 004fc168264062176a94952ff6b0cf4fe9c7c6dc..9807442a34facb3270b9f799b37a65189b3d48dd 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5.dev on Wed Apr  9 21:38:26 2008 */
+/* Generated by re2c 0.13.5.dev on Wed Apr  9 22:52:47 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
@@ -607,7 +608,7 @@ yymore_restart:
        }
 
 
-#line 611 "Zend/zend_language_scanner.c"
+#line 612 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -731,7 +732,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1399 "Zend/zend_language_scanner.l"
+#line 1400 "Zend/zend_language_scanner.l"
                {
 
        while (1) {
@@ -762,7 +763,7 @@ inline_char_handler:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 766 "Zend/zend_language_scanner.c"
+#line 767 "Zend/zend_language_scanner.c"
 yy4:
                YYDEBUG(4, *YYCURSOR);
                yyaccept = 0;
@@ -789,7 +790,7 @@ yy8:
 yy9:
                YYDEBUG(9, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1390 "Zend/zend_language_scanner.l"
+#line 1391 "Zend/zend_language_scanner.l"
                {
        if ((YYCTYPE*)yytext == SCNG(yy_start)) {
                /* ignore first line when it's started with a # */
@@ -798,7 +799,7 @@ yy9:
                goto inline_char_handler;
        }
 }
-#line 802 "Zend/zend_language_scanner.c"
+#line 803 "Zend/zend_language_scanner.c"
 yy10:
                YYDEBUG(10, *YYCURSOR);
                yyaccept = 1;
@@ -824,7 +825,7 @@ yy12:
 yy13:
                YYDEBUG(13, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1374 "Zend/zend_language_scanner.l"
+#line 1375 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        if (CG(short_tags)) {
@@ -840,14 +841,14 @@ yy13:
                return T_INLINE_HTML;
        }
 }
-#line 844 "Zend/zend_language_scanner.c"
+#line 845 "Zend/zend_language_scanner.c"
 yy14:
                YYDEBUG(14, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy50;
                YYDEBUG(15, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1348 "Zend/zend_language_scanner.l"
+#line 1349 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -862,7 +863,7 @@ yy14:
                return T_INLINE_HTML;
        }
 }
-#line 866 "Zend/zend_language_scanner.c"
+#line 867 "Zend/zend_language_scanner.c"
 yy16:
                YYDEBUG(16, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1052,7 +1053,7 @@ yy42:
                ++YYCURSOR;
                YYDEBUG(45, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1306 "Zend/zend_language_scanner.l"
+#line 1307 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1061,7 +1062,7 @@ yy42:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1065 "Zend/zend_language_scanner.c"
+#line 1066 "Zend/zend_language_scanner.c"
 yy46:
                YYDEBUG(46, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1088,7 +1089,7 @@ yy50:
                ++YYCURSOR;
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1316 "Zend/zend_language_scanner.l"
+#line 1317 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1103,13 +1104,13 @@ yy50:
                return T_INLINE_HTML;
        }
 }
-#line 1107 "Zend/zend_language_scanner.c"
+#line 1108 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(53, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1332 "Zend/zend_language_scanner.l"
+#line 1333 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1124,7 +1125,7 @@ yy52:
                return T_INLINE_HTML;
        }
 }
-#line 1128 "Zend/zend_language_scanner.c"
+#line 1129 "Zend/zend_language_scanner.c"
 yy54:
                YYDEBUG(54, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1151,7 +1152,7 @@ yy57:
 yy58:
                YYDEBUG(58, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1364 "Zend/zend_language_scanner.l"
+#line 1365 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1160,7 +1161,7 @@ yy58:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1164 "Zend/zend_language_scanner.c"
+#line 1165 "Zend/zend_language_scanner.c"
 yy59:
                YYDEBUG(59, *YYCURSOR);
                ++YYCURSOR;
@@ -1251,13 +1252,13 @@ yy63:
 yy64:
                YYDEBUG(64, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1768 "Zend/zend_language_scanner.l"
+#line 1763 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1261 "Zend/zend_language_scanner.c"
+#line 1262 "Zend/zend_language_scanner.c"
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyaccept = 1;
@@ -1275,12 +1276,12 @@ yy66:
 yy67:
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1794 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1284 "Zend/zend_language_scanner.c"
+#line 1285 "Zend/zend_language_scanner.c"
 yy68:
                YYDEBUG(68, *YYCURSOR);
                ++YYCURSOR;
@@ -1292,12 +1293,12 @@ yy69:
                ++YYCURSOR;
                YYDEBUG(70, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1932 "Zend/zend_language_scanner.l"
+#line 1924 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1301 "Zend/zend_language_scanner.c"
+#line 1302 "Zend/zend_language_scanner.c"
 yy71:
                YYDEBUG(71, *YYCURSOR);
                ++YYCURSOR;
@@ -1385,10 +1386,9 @@ yy75:
 yy77:
                YYDEBUG(77, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1799 "Zend/zend_language_scanner.l"
+#line 1793 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
@@ -1426,7 +1426,7 @@ yy81:
 yy83:
                YYDEBUG(83, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -1438,7 +1438,7 @@ yy84:
                ++YYCURSOR;
                YYDEBUG(85, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1100 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -1456,14 +1456,13 @@ yy87:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1445 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1467 "Zend/zend_language_scanner.c"
+#line 1466 "Zend/zend_language_scanner.c"
 yy89:
                YYDEBUG(89, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1481,16 +1480,15 @@ yy90:
                ++YYCURSOR;
                YYDEBUG(91, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1494 "Zend/zend_language_scanner.c"
+#line 1492 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_COMMENT:
@@ -1547,34 +1545,34 @@ yy94:
                }
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1548 "Zend/zend_language_scanner.l"
+#line 1545 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1555 "Zend/zend_language_scanner.c"
+#line 1553 "Zend/zend_language_scanner.c"
 yy97:
                YYDEBUG(97, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy99;
                YYDEBUG(98, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1566 "Zend/zend_language_scanner.l"
+#line 1563 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1566 "Zend/zend_language_scanner.c"
+#line 1564 "Zend/zend_language_scanner.c"
 yy99:
                YYDEBUG(99, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(100, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1560 "Zend/zend_language_scanner.l"
+#line 1557 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        BEGIN(ST_IN_SCRIPTING);
        return T_COMMENT;
 }
-#line 1578 "Zend/zend_language_scanner.c"
+#line 1576 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOC_COMMENT:
@@ -1631,28 +1629,28 @@ yy103:
                }
                YYDEBUG(105, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1548 "Zend/zend_language_scanner.l"
+#line 1545 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1639 "Zend/zend_language_scanner.c"
+#line 1637 "Zend/zend_language_scanner.c"
 yy106:
                YYDEBUG(106, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy108;
                YYDEBUG(107, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1566 "Zend/zend_language_scanner.l"
+#line 1563 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1650 "Zend/zend_language_scanner.c"
+#line 1648 "Zend/zend_language_scanner.c"
 yy108:
                YYDEBUG(108, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(109, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1552 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
                {
        CG(doc_comment) = estrndup(yytext, yyleng);
        CG(doc_comment_len) = yyleng;
@@ -1660,7 +1658,7 @@ yy108:
        BEGIN(ST_IN_SCRIPTING);
        return T_DOC_COMMENT;
 }
-#line 1664 "Zend/zend_language_scanner.c"
+#line 1662 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -1747,13 +1745,13 @@ yy113:
 yy114:
                YYDEBUG(114, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1768 "Zend/zend_language_scanner.l"
+#line 1763 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1757 "Zend/zend_language_scanner.c"
+#line 1755 "Zend/zend_language_scanner.c"
 yy115:
                YYDEBUG(115, *YYCURSOR);
                yyaccept = 1;
@@ -1772,12 +1770,12 @@ yy116:
 yy117:
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1775 "Zend/zend_language_scanner.l"
+#line 1770 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1781 "Zend/zend_language_scanner.c"
+#line 1779 "Zend/zend_language_scanner.c"
 yy118:
                YYDEBUG(118, *YYCURSOR);
                ++YYCURSOR;
@@ -1789,12 +1787,12 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1926 "Zend/zend_language_scanner.l"
+#line 1918 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 1798 "Zend/zend_language_scanner.c"
+#line 1796 "Zend/zend_language_scanner.c"
 yy121:
                YYDEBUG(121, *YYCURSOR);
                ++YYCURSOR;
@@ -1885,14 +1883,13 @@ yy125:
 yy127:
                YYDEBUG(127, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1786 "Zend/zend_language_scanner.l"
+#line 1781 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1896 "Zend/zend_language_scanner.c"
+#line 1893 "Zend/zend_language_scanner.c"
 yy128:
                YYDEBUG(128, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1926,24 +1923,24 @@ yy131:
 yy133:
                YYDEBUG(133, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1936 "Zend/zend_language_scanner.c"
+#line 1933 "Zend/zend_language_scanner.c"
 yy134:
                YYDEBUG(134, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(135, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1100 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1947 "Zend/zend_language_scanner.c"
+#line 1944 "Zend/zend_language_scanner.c"
 yy136:
                YYDEBUG(136, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1956,14 +1953,13 @@ yy137:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1445 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1967 "Zend/zend_language_scanner.c"
+#line 1963 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1981,16 +1977,15 @@ yy140:
                ++YYCURSOR;
                YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1994 "Zend/zend_language_scanner.c"
+#line 1989 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -2001,7 +1996,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(145, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 1757 "Zend/zend_language_scanner.l"
+#line 1752 "Zend/zend_language_scanner.l"
        {
        SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
        SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2010,7 +2005,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 2014 "Zend/zend_language_scanner.c"
+#line 2009 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_END_NOWDOC:
        YYDEBUG(146, *YYCURSOR);
@@ -2020,7 +2015,7 @@ yyc_ST_END_NOWDOC:
        ++YYCURSOR;
        YYDEBUG(149, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 1915 "Zend/zend_language_scanner.l"
+#line 1907 "Zend/zend_language_scanner.l"
        {
        SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
        SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2029,7 +2024,7 @@ yyc_ST_END_NOWDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_NOWDOC;
 }
-#line 2033 "Zend/zend_language_scanner.c"
+#line 2028 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -2086,12 +2081,12 @@ yyc_ST_HEREDOC:
 yy152:
                YYDEBUG(152, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1814 "Zend/zend_language_scanner.l"
+#line 1807 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2095 "Zend/zend_language_scanner.c"
+#line 2090 "Zend/zend_language_scanner.c"
 yy153:
                YYDEBUG(153, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2137,13 +2132,13 @@ yy154:
 yy155:
                YYDEBUG(155, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1768 "Zend/zend_language_scanner.l"
+#line 1763 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2147 "Zend/zend_language_scanner.c"
+#line 2142 "Zend/zend_language_scanner.c"
 yy156:
                YYDEBUG(156, *YYCURSOR);
                yyaccept = 0;
@@ -2394,14 +2389,13 @@ yy172:
 yy174:
                YYDEBUG(174, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1819 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2405 "Zend/zend_language_scanner.c"
+#line 2399 "Zend/zend_language_scanner.c"
 yy175:
                YYDEBUG(175, *YYCURSOR);
                yyaccept = 2;
@@ -2500,7 +2494,7 @@ yy181:
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1717 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -2540,7 +2534,7 @@ yy181:
                yymore();
        }
 }
-#line 2544 "Zend/zend_language_scanner.c"
+#line 2538 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                yyaccept = 2;
@@ -2800,24 +2794,24 @@ yy202:
 yy204:
                YYDEBUG(204, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2810 "Zend/zend_language_scanner.c"
+#line 2804 "Zend/zend_language_scanner.c"
 yy205:
                YYDEBUG(205, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(206, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1100 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2821 "Zend/zend_language_scanner.c"
+#line 2815 "Zend/zend_language_scanner.c"
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2830,14 +2824,13 @@ yy208:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1445 "Zend/zend_language_scanner.l"
                {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2841 "Zend/zend_language_scanner.c"
+#line 2834 "Zend/zend_language_scanner.c"
 yy210:
                YYDEBUG(210, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2855,16 +2848,15 @@ yy211:
                ++YYCURSOR;
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
                {
-       yyleng -= 3;
-       yyless(yyleng);
+       yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2868 "Zend/zend_language_scanner.c"
+#line 2860 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -3079,13 +3071,13 @@ yy215:
 yy216:
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1479 "Zend/zend_language_scanner.l"
+#line 1477 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 3089 "Zend/zend_language_scanner.c"
+#line 3081 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3332,11 +3324,11 @@ yy229:
 yy230:
                YYDEBUG(230, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1088 "Zend/zend_language_scanner.l"
+#line 1089 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 3340 "Zend/zend_language_scanner.c"
+#line 3332 "Zend/zend_language_scanner.c"
 yy231:
                YYDEBUG(231, *YYCURSOR);
                ++YYCURSOR;
@@ -3345,7 +3337,7 @@ yy231:
 yy232:
                YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 827 "Zend/zend_language_scanner.l"
+#line 828 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3353,7 +3345,7 @@ yy232:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 3357 "Zend/zend_language_scanner.c"
+#line 3349 "Zend/zend_language_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3586,18 +3578,18 @@ yy257:
                ++YYCURSOR;
                YYDEBUG(258, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1093 "Zend/zend_language_scanner.l"
+#line 1094 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 3595 "Zend/zend_language_scanner.c"
+#line 3587 "Zend/zend_language_scanner.c"
 yy259:
                YYDEBUG(259, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(260, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1105 "Zend/zend_language_scanner.l"
+#line 1106 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -3605,7 +3597,7 @@ yy259:
        }
        return '}';
 }
-#line 3609 "Zend/zend_language_scanner.c"
+#line 3601 "Zend/zend_language_scanner.c"
 yy261:
                YYDEBUG(261, *YYCURSOR);
                yyaccept = 2;
@@ -3628,7 +3620,7 @@ yy261:
 yy262:
                YYDEBUG(262, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1131 "Zend/zend_language_scanner.l"
+#line 1132 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -3649,7 +3641,7 @@ yy262:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 3653 "Zend/zend_language_scanner.c"
+#line 3645 "Zend/zend_language_scanner.c"
 yy263:
                YYDEBUG(263, *YYCURSOR);
                yyaccept = 2;
@@ -3677,12 +3669,12 @@ yy265:
 yy266:
                YYDEBUG(266, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1486 "Zend/zend_language_scanner.l"
+#line 1484 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_ONE_LINE_COMMENT);
        yymore();
 }
-#line 3686 "Zend/zend_language_scanner.c"
+#line 3678 "Zend/zend_language_scanner.c"
 yy267:
                YYDEBUG(267, *YYCURSOR);
                yyaccept = 3;
@@ -3691,12 +3683,12 @@ yy267:
 yy268:
                YYDEBUG(268, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1648 "Zend/zend_language_scanner.l"
+#line 1644 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 3700 "Zend/zend_language_scanner.c"
+#line 3692 "Zend/zend_language_scanner.c"
 yy269:
                YYDEBUG(269, *YYCURSOR);
                yyaccept = 4;
@@ -3705,23 +3697,23 @@ yy269:
 yy270:
                YYDEBUG(270, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1938 "Zend/zend_language_scanner.l"
+#line 1930 "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 3714 "Zend/zend_language_scanner.c"
+#line 3706 "Zend/zend_language_scanner.c"
 yy271:
                YYDEBUG(271, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(272, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1676 "Zend/zend_language_scanner.l"
+#line 1672 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3725 "Zend/zend_language_scanner.c"
+#line 3717 "Zend/zend_language_scanner.c"
 yy273:
                YYDEBUG(273, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3747,7 +3739,7 @@ yy277:
                ++YYCURSOR;
                YYDEBUG(278, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1604 "Zend/zend_language_scanner.l"
+#line 1600 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -3790,7 +3782,7 @@ yy277:
 
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3794 "Zend/zend_language_scanner.c"
+#line 3786 "Zend/zend_language_scanner.c"
 yy279:
                YYDEBUG(279, *YYCURSOR);
                ++YYCURSOR;
@@ -3887,14 +3879,14 @@ yy287:
                ++YYCURSOR;
                YYDEBUG(288, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1596 "Zend/zend_language_scanner.l"
+#line 1592 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
 
        zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3898 "Zend/zend_language_scanner.c"
+#line 3890 "Zend/zend_language_scanner.c"
 yy289:
                YYDEBUG(289, *YYCURSOR);
                ++YYCURSOR;
@@ -3927,13 +3919,13 @@ yy292:
 yy294:
                YYDEBUG(294, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1192 "Zend/zend_language_scanner.l"
+#line 1193 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 3937 "Zend/zend_language_scanner.c"
+#line 3929 "Zend/zend_language_scanner.c"
 yy295:
                YYDEBUG(295, *YYCURSOR);
                yyaccept = 2;
@@ -3995,7 +3987,7 @@ yy302:
                }
                YYDEBUG(304, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1153 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -4016,7 +4008,7 @@ yy302:
                return T_DNUMBER;
        }
 }
-#line 4020 "Zend/zend_language_scanner.c"
+#line 4012 "Zend/zend_language_scanner.c"
 yy305:
                YYDEBUG(305, *YYCURSOR);
                ++YYCURSOR;
@@ -4025,7 +4017,7 @@ yy305:
 yy306:
                YYDEBUG(306, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1570 "Zend/zend_language_scanner.l"
+#line 1567 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -4033,7 +4025,7 @@ yy306:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 4037 "Zend/zend_language_scanner.c"
+#line 4029 "Zend/zend_language_scanner.c"
 yy307:
                YYDEBUG(307, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4067,13 +4059,13 @@ yy309:
 yy311:
                YYDEBUG(311, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 4077 "Zend/zend_language_scanner.c"
+#line 4069 "Zend/zend_language_scanner.c"
 yy312:
                YYDEBUG(312, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4087,11 +4079,11 @@ yy313:
                }
                YYDEBUG(314, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1076 "Zend/zend_language_scanner.l"
+#line 1077 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 4095 "Zend/zend_language_scanner.c"
+#line 4087 "Zend/zend_language_scanner.c"
 yy315:
                YYDEBUG(315, *YYCURSOR);
                ++YYCURSOR;
@@ -4100,61 +4092,61 @@ yy315:
                }
                YYDEBUG(316, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1068 "Zend/zend_language_scanner.l"
+#line 1069 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 4108 "Zend/zend_language_scanner.c"
+#line 4100 "Zend/zend_language_scanner.c"
 yy317:
                YYDEBUG(317, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(318, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1056 "Zend/zend_language_scanner.l"
+#line 1057 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 4118 "Zend/zend_language_scanner.c"
+#line 4110 "Zend/zend_language_scanner.c"
 yy319:
                YYDEBUG(319, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(320, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1060 "Zend/zend_language_scanner.l"
+#line 1061 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 4128 "Zend/zend_language_scanner.c"
+#line 4120 "Zend/zend_language_scanner.c"
 yy321:
                YYDEBUG(321, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(322, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1052 "Zend/zend_language_scanner.l"
+#line 1053 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 4138 "Zend/zend_language_scanner.c"
+#line 4130 "Zend/zend_language_scanner.c"
 yy323:
                YYDEBUG(323, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(324, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1064 "Zend/zend_language_scanner.l"
+#line 1065 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 4148 "Zend/zend_language_scanner.c"
+#line 4140 "Zend/zend_language_scanner.c"
 yy325:
                YYDEBUG(325, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(326, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1048 "Zend/zend_language_scanner.l"
+#line 1049 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 4158 "Zend/zend_language_scanner.c"
+#line 4150 "Zend/zend_language_scanner.c"
 yy327:
                YYDEBUG(327, *YYCURSOR);
                ++YYCURSOR;
@@ -4163,7 +4155,7 @@ yy327:
 yy328:
                YYDEBUG(328, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1579 "Zend/zend_language_scanner.l"
+#line 1576 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -4173,21 +4165,20 @@ yy328:
                return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
        } else {
                yyless(1);
-               yyleng = 1;
                return yytext[0];
        }
 }
-#line 4181 "Zend/zend_language_scanner.c"
+#line 4172 "Zend/zend_language_scanner.c"
 yy329:
                YYDEBUG(329, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(330, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1036 "Zend/zend_language_scanner.l"
+#line 1037 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 4191 "Zend/zend_language_scanner.c"
+#line 4182 "Zend/zend_language_scanner.c"
 yy331:
                YYDEBUG(331, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4218,11 +4209,11 @@ yy335:
                ++YYCURSOR;
                YYDEBUG(336, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1032 "Zend/zend_language_scanner.l"
+#line 1033 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 4226 "Zend/zend_language_scanner.c"
+#line 4217 "Zend/zend_language_scanner.c"
 yy337:
                YYDEBUG(337, *YYCURSOR);
                yyaccept = 6;
@@ -4231,12 +4222,12 @@ yy337:
 yy338:
                YYDEBUG(338, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1542 "Zend/zend_language_scanner.l"
+#line 1539 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_COMMENT);
        yymore();
 }
-#line 4240 "Zend/zend_language_scanner.c"
+#line 4231 "Zend/zend_language_scanner.c"
 yy339:
                YYDEBUG(339, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4246,11 +4237,11 @@ yy340:
                ++YYCURSOR;
                YYDEBUG(341, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1028 "Zend/zend_language_scanner.l"
+#line 1029 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 4254 "Zend/zend_language_scanner.c"
+#line 4245 "Zend/zend_language_scanner.c"
 yy342:
                YYDEBUG(342, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4269,54 +4260,54 @@ yy343:
                }
                YYDEBUG(345, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1536 "Zend/zend_language_scanner.l"
+#line 1533 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        BEGIN(ST_DOC_COMMENT);
        yymore();
 }
-#line 4279 "Zend/zend_language_scanner.c"
+#line 4270 "Zend/zend_language_scanner.c"
 yy346:
                YYDEBUG(346, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(347, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
+#line 1025 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 4289 "Zend/zend_language_scanner.c"
+#line 4280 "Zend/zend_language_scanner.c"
 yy348:
                YYDEBUG(348, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy352;
                YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1084 "Zend/zend_language_scanner.l"
+#line 1085 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 4300 "Zend/zend_language_scanner.c"
+#line 4291 "Zend/zend_language_scanner.c"
 yy350:
                YYDEBUG(350, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(351, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1012 "Zend/zend_language_scanner.l"
+#line 1013 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 4310 "Zend/zend_language_scanner.c"
+#line 4301 "Zend/zend_language_scanner.c"
 yy352:
                YYDEBUG(352, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(353, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1044 "Zend/zend_language_scanner.l"
+#line 1045 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 4320 "Zend/zend_language_scanner.c"
+#line 4311 "Zend/zend_language_scanner.c"
 yy354:
                YYDEBUG(354, *YYCURSOR);
                yyaccept = 7;
@@ -4327,11 +4318,11 @@ yy354:
 yy355:
                YYDEBUG(355, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1080 "Zend/zend_language_scanner.l"
+#line 1081 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 4335 "Zend/zend_language_scanner.c"
+#line 4326 "Zend/zend_language_scanner.c"
 yy356:
                YYDEBUG(356, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4343,22 +4334,22 @@ yy357:
                ++YYCURSOR;
                YYDEBUG(358, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1008 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 4351 "Zend/zend_language_scanner.c"
+#line 4342 "Zend/zend_language_scanner.c"
 yy359:
                YYDEBUG(359, *YYCURSOR);
                ++YYCURSOR;
 yy360:
                YYDEBUG(360, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1004 "Zend/zend_language_scanner.l"
+#line 1005 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 4362 "Zend/zend_language_scanner.c"
+#line 4353 "Zend/zend_language_scanner.c"
 yy361:
                YYDEBUG(361, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4409,11 +4400,11 @@ yy368:
                ++YYCURSOR;
                YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1040 "Zend/zend_language_scanner.l"
+#line 1041 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 4417 "Zend/zend_language_scanner.c"
+#line 4408 "Zend/zend_language_scanner.c"
 yy370:
                YYDEBUG(370, *YYCURSOR);
                ++YYCURSOR;
@@ -4520,7 +4511,7 @@ yy379:
 yy380:
                YYDEBUG(380, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1654 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -4541,7 +4532,7 @@ yy380:
        BEGIN(ST_START_HEREDOC);
        return T_START_HEREDOC;
 }
-#line 4545 "Zend/zend_language_scanner.c"
+#line 4536 "Zend/zend_language_scanner.c"
 yy381:
                YYDEBUG(381, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4583,7 +4574,7 @@ yy385:
 yy386:
                YYDEBUG(386, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1829 "Zend/zend_language_scanner.l"
+#line 1821 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '<') ? 1 : 0;
        char *s;
@@ -4600,7 +4591,7 @@ yy386:
        BEGIN(ST_START_NOWDOC);
        return T_START_NOWDOC;
 }
-#line 4604 "Zend/zend_language_scanner.c"
+#line 4595 "Zend/zend_language_scanner.c"
 yy387:
                YYDEBUG(387, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4614,31 +4605,31 @@ yy388:
                ++YYCURSOR;
                YYDEBUG(390, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 996 "Zend/zend_language_scanner.l"
+#line 997 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 4622 "Zend/zend_language_scanner.c"
+#line 4613 "Zend/zend_language_scanner.c"
 yy391:
                YYDEBUG(391, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(392, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1016 "Zend/zend_language_scanner.l"
+#line 1017 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 4632 "Zend/zend_language_scanner.c"
+#line 4623 "Zend/zend_language_scanner.c"
 yy393:
                YYDEBUG(393, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(394, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 984 "Zend/zend_language_scanner.l"
+#line 985 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 4642 "Zend/zend_language_scanner.c"
+#line 4633 "Zend/zend_language_scanner.c"
 yy395:
                YYDEBUG(395, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4657,42 +4648,42 @@ yy397:
                }
                YYDEBUG(398, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 976 "Zend/zend_language_scanner.l"
+#line 977 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 4665 "Zend/zend_language_scanner.c"
+#line 4656 "Zend/zend_language_scanner.c"
 yy399:
                YYDEBUG(399, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy403;
                YYDEBUG(400, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1000 "Zend/zend_language_scanner.l"
+#line 1001 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 4676 "Zend/zend_language_scanner.c"
+#line 4667 "Zend/zend_language_scanner.c"
 yy401:
                YYDEBUG(401, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(402, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 972 "Zend/zend_language_scanner.l"
+#line 973 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 4686 "Zend/zend_language_scanner.c"
+#line 4677 "Zend/zend_language_scanner.c"
 yy403:
                YYDEBUG(403, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(404, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 992 "Zend/zend_language_scanner.l"
+#line 993 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 4696 "Zend/zend_language_scanner.c"
+#line 4687 "Zend/zend_language_scanner.c"
 yy405:
                YYDEBUG(405, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4784,7 +4775,7 @@ yy412:
                }
                YYDEBUG(423, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1296 "Zend/zend_language_scanner.l"
+#line 1297 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -4794,7 +4785,7 @@ yy412:
        }
        return T_NS_C;
 }
-#line 4798 "Zend/zend_language_scanner.c"
+#line 4789 "Zend/zend_language_scanner.c"
 yy424:
                YYDEBUG(424, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4812,7 +4803,7 @@ yy424:
                }
                YYDEBUG(428, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1269 "Zend/zend_language_scanner.l"
+#line 1270 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -4839,7 +4830,7 @@ yy424:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 4843 "Zend/zend_language_scanner.c"
+#line 4834 "Zend/zend_language_scanner.c"
 yy429:
                YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4860,13 +4851,13 @@ yy429:
                }
                YYDEBUG(434, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1251 "Zend/zend_language_scanner.l"
+#line 1252 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 4870 "Zend/zend_language_scanner.c"
+#line 4861 "Zend/zend_language_scanner.c"
 yy435:
                YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4893,7 +4884,7 @@ yy435:
                }
                YYDEBUG(442, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1230 "Zend/zend_language_scanner.l"
+#line 1231 "Zend/zend_language_scanner.l"
                {
        char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
        char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
@@ -4914,7 +4905,7 @@ yy435:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 4918 "Zend/zend_language_scanner.c"
+#line 4909 "Zend/zend_language_scanner.c"
 yy443:
                YYDEBUG(443, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4952,7 +4943,7 @@ yy444:
                }
                YYDEBUG(453, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1214 "Zend/zend_language_scanner.l"
+#line 1215 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -4968,7 +4959,7 @@ yy444:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 4972 "Zend/zend_language_scanner.c"
+#line 4963 "Zend/zend_language_scanner.c"
 yy454:
                YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4986,7 +4977,7 @@ yy454:
                }
                YYDEBUG(458, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -4998,7 +4989,7 @@ yy454:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 5002 "Zend/zend_language_scanner.c"
+#line 4993 "Zend/zend_language_scanner.c"
 yy459:
                YYDEBUG(459, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5022,7 +5013,7 @@ yy459:
                }
                YYDEBUG(465, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1198 "Zend/zend_language_scanner.l"
+#line 1199 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -5038,7 +5029,7 @@ yy459:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 5042 "Zend/zend_language_scanner.c"
+#line 5033 "Zend/zend_language_scanner.c"
 yy466:
                YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5100,11 +5091,11 @@ yy477:
                }
                YYDEBUG(478, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 940 "Zend/zend_language_scanner.l"
+#line 941 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 5108 "Zend/zend_language_scanner.c"
+#line 5099 "Zend/zend_language_scanner.c"
 yy479:
                YYDEBUG(479, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5124,11 +5115,11 @@ yy481:
                }
                YYDEBUG(482, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 924 "Zend/zend_language_scanner.l"
+#line 925 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 5132 "Zend/zend_language_scanner.c"
+#line 5123 "Zend/zend_language_scanner.c"
 yy483:
                YYDEBUG(483, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5147,11 +5138,11 @@ yy485:
                }
                YYDEBUG(486, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 968 "Zend/zend_language_scanner.l"
+#line 969 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 5155 "Zend/zend_language_scanner.c"
+#line 5146 "Zend/zend_language_scanner.c"
 yy487:
                YYDEBUG(487, *YYCURSOR);
                ++YYCURSOR;
@@ -5323,11 +5314,11 @@ yy502:
                ++YYCURSOR;
                YYDEBUG(504, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 868 "Zend/zend_language_scanner.l"
+#line 869 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 5331 "Zend/zend_language_scanner.c"
+#line 5322 "Zend/zend_language_scanner.c"
 yy505:
                YYDEBUG(505, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5371,11 +5362,11 @@ yy510:
                ++YYCURSOR;
                YYDEBUG(513, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 872 "Zend/zend_language_scanner.l"
+#line 873 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 5379 "Zend/zend_language_scanner.c"
+#line 5370 "Zend/zend_language_scanner.c"
 yy514:
                YYDEBUG(514, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5445,11 +5436,11 @@ yy524:
                ++YYCURSOR;
                YYDEBUG(527, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 876 "Zend/zend_language_scanner.l"
+#line 877 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 5453 "Zend/zend_language_scanner.c"
+#line 5444 "Zend/zend_language_scanner.c"
 yy528:
                YYDEBUG(528, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5482,11 +5473,11 @@ yy531:
                ++YYCURSOR;
                YYDEBUG(534, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 884 "Zend/zend_language_scanner.l"
+#line 885 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 5490 "Zend/zend_language_scanner.c"
+#line 5481 "Zend/zend_language_scanner.c"
 yy535:
                YYDEBUG(535, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5524,11 +5515,11 @@ yy539:
                ++YYCURSOR;
                YYDEBUG(542, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 888 "Zend/zend_language_scanner.l"
+#line 889 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 5532 "Zend/zend_language_scanner.c"
+#line 5523 "Zend/zend_language_scanner.c"
 yy543:
                YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5569,11 +5560,11 @@ yy548:
                ++YYCURSOR;
                YYDEBUG(550, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 892 "Zend/zend_language_scanner.l"
+#line 893 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 5577 "Zend/zend_language_scanner.c"
+#line 5568 "Zend/zend_language_scanner.c"
 yy551:
                YYDEBUG(551, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5617,11 +5608,11 @@ yy556:
                ++YYCURSOR;
                YYDEBUG(559, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 880 "Zend/zend_language_scanner.l"
+#line 881 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 5625 "Zend/zend_language_scanner.c"
+#line 5616 "Zend/zend_language_scanner.c"
 yy560:
                YYDEBUG(560, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5654,11 +5645,11 @@ yy563:
                ++YYCURSOR;
                YYDEBUG(566, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 896 "Zend/zend_language_scanner.l"
+#line 897 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 5662 "Zend/zend_language_scanner.c"
+#line 5653 "Zend/zend_language_scanner.c"
 yy567:
                YYDEBUG(567, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5672,11 +5663,11 @@ yy568:
                }
                YYDEBUG(569, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 864 "Zend/zend_language_scanner.l"
+#line 865 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 5680 "Zend/zend_language_scanner.c"
+#line 5671 "Zend/zend_language_scanner.c"
 yy570:
                YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5696,11 +5687,11 @@ yy572:
                }
                YYDEBUG(573, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 856 "Zend/zend_language_scanner.l"
+#line 857 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 5704 "Zend/zend_language_scanner.c"
+#line 5695 "Zend/zend_language_scanner.c"
 yy574:
                YYDEBUG(574, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5739,21 +5730,21 @@ yy580:
                }
                YYDEBUG(581, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 920 "Zend/zend_language_scanner.l"
+#line 921 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 5747 "Zend/zend_language_scanner.c"
+#line 5738 "Zend/zend_language_scanner.c"
 yy582:
                YYDEBUG(582, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(583, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 852 "Zend/zend_language_scanner.l"
+#line 853 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5757 "Zend/zend_language_scanner.c"
+#line 5748 "Zend/zend_language_scanner.c"
 yy584:
                YYDEBUG(584, *YYCURSOR);
                ++YYCURSOR;
@@ -5775,32 +5766,32 @@ yy586:
                ++YYCURSOR;
                YYDEBUG(587, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1020 "Zend/zend_language_scanner.l"
+#line 1021 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 5783 "Zend/zend_language_scanner.c"
+#line 5774 "Zend/zend_language_scanner.c"
 yy588:
                YYDEBUG(588, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(589, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 988 "Zend/zend_language_scanner.l"
+#line 989 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 5793 "Zend/zend_language_scanner.c"
+#line 5784 "Zend/zend_language_scanner.c"
 yy590:
                YYDEBUG(590, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(591, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 822 "Zend/zend_language_scanner.l"
+#line 823 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 5804 "Zend/zend_language_scanner.c"
+#line 5795 "Zend/zend_language_scanner.c"
 yy592:
                YYDEBUG(592, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5845,11 +5836,11 @@ yy597:
                }
                YYDEBUG(598, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 964 "Zend/zend_language_scanner.l"
+#line 965 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 5853 "Zend/zend_language_scanner.c"
+#line 5844 "Zend/zend_language_scanner.c"
 yy599:
                YYDEBUG(599, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5904,11 +5895,11 @@ yy606:
                }
                YYDEBUG(607, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 960 "Zend/zend_language_scanner.l"
+#line 961 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 5912 "Zend/zend_language_scanner.c"
+#line 5903 "Zend/zend_language_scanner.c"
 yy608:
                YYDEBUG(608, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5938,11 +5929,11 @@ yy612:
                }
                YYDEBUG(613, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 956 "Zend/zend_language_scanner.l"
+#line 957 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 5946 "Zend/zend_language_scanner.c"
+#line 5937 "Zend/zend_language_scanner.c"
 yy614:
                YYDEBUG(614, *YYCURSOR);
                ++YYCURSOR;
@@ -5951,11 +5942,11 @@ yy614:
                }
                YYDEBUG(615, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 802 "Zend/zend_language_scanner.l"
+#line 803 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 5959 "Zend/zend_language_scanner.c"
+#line 5950 "Zend/zend_language_scanner.c"
 yy616:
                YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5980,11 +5971,11 @@ yy619:
                }
                YYDEBUG(620, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 794 "Zend/zend_language_scanner.l"
+#line 795 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 5988 "Zend/zend_language_scanner.c"
+#line 5979 "Zend/zend_language_scanner.c"
 yy621:
                YYDEBUG(621, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6008,11 +5999,11 @@ yy624:
                }
                YYDEBUG(625, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 928 "Zend/zend_language_scanner.l"
+#line 929 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 6016 "Zend/zend_language_scanner.c"
+#line 6007 "Zend/zend_language_scanner.c"
 yy626:
                YYDEBUG(626, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6046,11 +6037,11 @@ yy631:
                }
                YYDEBUG(632, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 786 "Zend/zend_language_scanner.l"
+#line 787 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 6054 "Zend/zend_language_scanner.c"
+#line 6045 "Zend/zend_language_scanner.c"
 yy633:
                YYDEBUG(633, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6090,11 +6081,11 @@ yy639:
                }
                YYDEBUG(640, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 770 "Zend/zend_language_scanner.l"
+#line 771 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 6098 "Zend/zend_language_scanner.c"
+#line 6089 "Zend/zend_language_scanner.c"
 yy641:
                YYDEBUG(641, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6118,11 +6109,11 @@ yy644:
                }
                YYDEBUG(645, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 944 "Zend/zend_language_scanner.l"
+#line 945 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 6126 "Zend/zend_language_scanner.c"
+#line 6117 "Zend/zend_language_scanner.c"
 yy646:
                YYDEBUG(646, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6149,11 +6140,11 @@ yy649:
                }
                YYDEBUG(650, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 766 "Zend/zend_language_scanner.l"
+#line 767 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 6157 "Zend/zend_language_scanner.c"
+#line 6148 "Zend/zend_language_scanner.c"
 yy651:
                YYDEBUG(651, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6172,11 +6163,11 @@ yy653:
                }
                YYDEBUG(654, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 980 "Zend/zend_language_scanner.l"
+#line 981 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 6180 "Zend/zend_language_scanner.c"
+#line 6171 "Zend/zend_language_scanner.c"
 yy655:
                YYDEBUG(655, *YYCURSOR);
                ++YYCURSOR;
@@ -6185,11 +6176,11 @@ yy655:
                }
                YYDEBUG(656, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1072 "Zend/zend_language_scanner.l"
+#line 1073 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 6193 "Zend/zend_language_scanner.c"
+#line 6184 "Zend/zend_language_scanner.c"
 yy657:
                YYDEBUG(657, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6223,11 +6214,11 @@ yy662:
                }
                YYDEBUG(663, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 948 "Zend/zend_language_scanner.l"
+#line 949 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 6231 "Zend/zend_language_scanner.c"
+#line 6222 "Zend/zend_language_scanner.c"
 yy664:
                YYDEBUG(664, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6251,11 +6242,11 @@ yy667:
                }
                YYDEBUG(668, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 726 "Zend/zend_language_scanner.l"
+#line 727 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 6259 "Zend/zend_language_scanner.c"
+#line 6250 "Zend/zend_language_scanner.c"
 yy669:
                YYDEBUG(669, *YYCURSOR);
                ++YYCURSOR;
@@ -6264,11 +6255,11 @@ yy669:
                }
                YYDEBUG(670, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 710 "Zend/zend_language_scanner.l"
+#line 711 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 6272 "Zend/zend_language_scanner.c"
+#line 6263 "Zend/zend_language_scanner.c"
 yy671:
                YYDEBUG(671, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6320,11 +6311,11 @@ yy676:
                }
                YYDEBUG(677, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 932 "Zend/zend_language_scanner.l"
+#line 933 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 6328 "Zend/zend_language_scanner.c"
+#line 6319 "Zend/zend_language_scanner.c"
 yy678:
                YYDEBUG(678, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6378,11 +6369,11 @@ yy684:
 yy685:
                YYDEBUG(685, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 904 "Zend/zend_language_scanner.l"
+#line 905 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 6386 "Zend/zend_language_scanner.c"
+#line 6377 "Zend/zend_language_scanner.c"
 yy686:
                YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6411,11 +6402,11 @@ yy690:
                }
                YYDEBUG(691, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 908 "Zend/zend_language_scanner.l"
+#line 909 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 6419 "Zend/zend_language_scanner.c"
+#line 6410 "Zend/zend_language_scanner.c"
 yy692:
                YYDEBUG(692, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6449,11 +6440,11 @@ yy697:
                }
                YYDEBUG(698, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 810 "Zend/zend_language_scanner.l"
+#line 811 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 6457 "Zend/zend_language_scanner.c"
+#line 6448 "Zend/zend_language_scanner.c"
 yy699:
                YYDEBUG(699, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6492,11 +6483,11 @@ yy705:
                }
                YYDEBUG(706, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 762 "Zend/zend_language_scanner.l"
+#line 763 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 6500 "Zend/zend_language_scanner.c"
+#line 6491 "Zend/zend_language_scanner.c"
 yy707:
                YYDEBUG(707, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6540,11 +6531,11 @@ yy714:
                }
                YYDEBUG(715, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 818 "Zend/zend_language_scanner.l"
+#line 819 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 6548 "Zend/zend_language_scanner.c"
+#line 6539 "Zend/zend_language_scanner.c"
 yy716:
                YYDEBUG(716, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6564,11 +6555,11 @@ yy718:
                }
                YYDEBUG(719, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 698 "Zend/zend_language_scanner.l"
+#line 699 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 6572 "Zend/zend_language_scanner.c"
+#line 6563 "Zend/zend_language_scanner.c"
 yy720:
                YYDEBUG(720, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6587,11 +6578,11 @@ yy722:
                }
                YYDEBUG(723, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 706 "Zend/zend_language_scanner.l"
+#line 707 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 6595 "Zend/zend_language_scanner.c"
+#line 6586 "Zend/zend_language_scanner.c"
 yy724:
                YYDEBUG(724, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6652,11 +6643,11 @@ yy730:
 yy731:
                YYDEBUG(731, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 912 "Zend/zend_language_scanner.l"
+#line 913 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 6660 "Zend/zend_language_scanner.c"
+#line 6651 "Zend/zend_language_scanner.c"
 yy732:
                YYDEBUG(732, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6685,11 +6676,11 @@ yy736:
                }
                YYDEBUG(737, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 916 "Zend/zend_language_scanner.l"
+#line 917 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 6693 "Zend/zend_language_scanner.c"
+#line 6684 "Zend/zend_language_scanner.c"
 yy738:
                YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6708,11 +6699,11 @@ yy740:
                }
                YYDEBUG(741, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 694 "Zend/zend_language_scanner.l"
+#line 695 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 6716 "Zend/zend_language_scanner.c"
+#line 6707 "Zend/zend_language_scanner.c"
 yy742:
                YYDEBUG(742, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6793,11 +6784,11 @@ yy751:
                }
                YYDEBUG(752, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 790 "Zend/zend_language_scanner.l"
+#line 791 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 6801 "Zend/zend_language_scanner.c"
+#line 6792 "Zend/zend_language_scanner.c"
 yy753:
                YYDEBUG(753, *YYCURSOR);
                ++YYCURSOR;
@@ -6806,11 +6797,11 @@ yy753:
                }
                YYDEBUG(754, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 690 "Zend/zend_language_scanner.l"
+#line 691 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 6814 "Zend/zend_language_scanner.c"
+#line 6805 "Zend/zend_language_scanner.c"
 yy755:
                YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6835,11 +6826,11 @@ yy758:
                }
                YYDEBUG(759, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 860 "Zend/zend_language_scanner.l"
+#line 861 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 6843 "Zend/zend_language_scanner.c"
+#line 6834 "Zend/zend_language_scanner.c"
 yy760:
                YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6853,11 +6844,11 @@ yy761:
                }
                YYDEBUG(762, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 806 "Zend/zend_language_scanner.l"
+#line 807 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 6861 "Zend/zend_language_scanner.c"
+#line 6852 "Zend/zend_language_scanner.c"
 yy763:
                YYDEBUG(763, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6877,11 +6868,11 @@ yy765:
                }
                YYDEBUG(766, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 778 "Zend/zend_language_scanner.l"
+#line 779 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 6885 "Zend/zend_language_scanner.c"
+#line 6876 "Zend/zend_language_scanner.c"
 yy767:
                YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6895,11 +6886,11 @@ yy768:
                }
                YYDEBUG(769, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 702 "Zend/zend_language_scanner.l"
+#line 703 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 6903 "Zend/zend_language_scanner.c"
+#line 6894 "Zend/zend_language_scanner.c"
 yy770:
                YYDEBUG(770, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6950,11 +6941,11 @@ yy778:
                }
                YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 686 "Zend/zend_language_scanner.l"
+#line 687 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 6958 "Zend/zend_language_scanner.c"
+#line 6949 "Zend/zend_language_scanner.c"
 yy780:
                YYDEBUG(780, *YYCURSOR);
                ++YYCURSOR;
@@ -6978,11 +6969,11 @@ yy780:
 yy781:
                YYDEBUG(781, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 738 "Zend/zend_language_scanner.l"
+#line 739 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 6986 "Zend/zend_language_scanner.c"
+#line 6977 "Zend/zend_language_scanner.c"
 yy782:
                YYDEBUG(782, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7006,11 +6997,11 @@ yy785:
                }
                YYDEBUG(786, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 746 "Zend/zend_language_scanner.l"
+#line 747 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 7014 "Zend/zend_language_scanner.c"
+#line 7005 "Zend/zend_language_scanner.c"
 yy787:
                YYDEBUG(787, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7029,11 +7020,11 @@ yy789:
                }
                YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 952 "Zend/zend_language_scanner.l"
+#line 953 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 7037 "Zend/zend_language_scanner.c"
+#line 7028 "Zend/zend_language_scanner.c"
 yy791:
                YYDEBUG(791, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7064,11 +7055,11 @@ yy793:
                }
                YYDEBUG(794, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 734 "Zend/zend_language_scanner.l"
+#line 735 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 7072 "Zend/zend_language_scanner.c"
+#line 7063 "Zend/zend_language_scanner.c"
 yy795:
                YYDEBUG(795, *YYCURSOR);
                ++YYCURSOR;
@@ -7077,11 +7068,11 @@ yy795:
                }
                YYDEBUG(796, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 682 "Zend/zend_language_scanner.l"
+#line 683 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7085 "Zend/zend_language_scanner.c"
+#line 7076 "Zend/zend_language_scanner.c"
 yy797:
                YYDEBUG(797, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7116,11 +7107,11 @@ yy802:
                }
                YYDEBUG(803, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 782 "Zend/zend_language_scanner.l"
+#line 783 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 7124 "Zend/zend_language_scanner.c"
+#line 7115 "Zend/zend_language_scanner.c"
 yy804:
                YYDEBUG(804, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7144,11 +7135,11 @@ yy807:
                }
                YYDEBUG(808, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 754 "Zend/zend_language_scanner.l"
+#line 755 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 7152 "Zend/zend_language_scanner.c"
+#line 7143 "Zend/zend_language_scanner.c"
 yy809:
                YYDEBUG(809, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7228,11 +7219,11 @@ yy820:
                }
                YYDEBUG(821, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 814 "Zend/zend_language_scanner.l"
+#line 815 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 7236 "Zend/zend_language_scanner.c"
+#line 7227 "Zend/zend_language_scanner.c"
 yy822:
                YYDEBUG(822, *YYCURSOR);
                ++YYCURSOR;
@@ -7241,11 +7232,11 @@ yy822:
                }
                YYDEBUG(823, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 678 "Zend/zend_language_scanner.l"
+#line 679 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7249 "Zend/zend_language_scanner.c"
+#line 7240 "Zend/zend_language_scanner.c"
 yy824:
                YYDEBUG(824, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7259,11 +7250,11 @@ yy825:
                }
                YYDEBUG(826, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 900 "Zend/zend_language_scanner.l"
+#line 901 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 7267 "Zend/zend_language_scanner.c"
+#line 7258 "Zend/zend_language_scanner.c"
 yy827:
                YYDEBUG(827, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7333,11 +7324,11 @@ yy836:
                }
                YYDEBUG(837, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 730 "Zend/zend_language_scanner.l"
+#line 731 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 7341 "Zend/zend_language_scanner.c"
+#line 7332 "Zend/zend_language_scanner.c"
 yy838:
                YYDEBUG(838, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7366,11 +7357,11 @@ yy842:
                }
                YYDEBUG(843, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 774 "Zend/zend_language_scanner.l"
+#line 775 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 7374 "Zend/zend_language_scanner.c"
+#line 7365 "Zend/zend_language_scanner.c"
 yy844:
                YYDEBUG(844, *YYCURSOR);
                ++YYCURSOR;
@@ -7379,11 +7370,11 @@ yy844:
                }
                YYDEBUG(845, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 718 "Zend/zend_language_scanner.l"
+#line 719 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 7387 "Zend/zend_language_scanner.c"
+#line 7378 "Zend/zend_language_scanner.c"
 yy846:
                YYDEBUG(846, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7412,11 +7403,11 @@ yy847:
 yy848:
                YYDEBUG(848, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 742 "Zend/zend_language_scanner.l"
+#line 743 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 7420 "Zend/zend_language_scanner.c"
+#line 7411 "Zend/zend_language_scanner.c"
 yy849:
                YYDEBUG(849, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7440,11 +7431,11 @@ yy852:
                }
                YYDEBUG(853, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 750 "Zend/zend_language_scanner.l"
+#line 751 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 7448 "Zend/zend_language_scanner.c"
+#line 7439 "Zend/zend_language_scanner.c"
 yy854:
                YYDEBUG(854, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7478,11 +7469,11 @@ yy859:
                }
                YYDEBUG(860, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 758 "Zend/zend_language_scanner.l"
+#line 759 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 7486 "Zend/zend_language_scanner.c"
+#line 7477 "Zend/zend_language_scanner.c"
 yy861:
                YYDEBUG(861, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7501,11 +7492,11 @@ yy863:
                }
                YYDEBUG(864, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 936 "Zend/zend_language_scanner.l"
+#line 937 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 7509 "Zend/zend_language_scanner.c"
+#line 7500 "Zend/zend_language_scanner.c"
 yy865:
                YYDEBUG(865, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7534,11 +7525,11 @@ yy866:
 yy867:
                YYDEBUG(867, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 722 "Zend/zend_language_scanner.l"
+#line 723 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 7542 "Zend/zend_language_scanner.c"
+#line 7533 "Zend/zend_language_scanner.c"
 yy868:
                YYDEBUG(868, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7552,11 +7543,11 @@ yy869:
                }
                YYDEBUG(870, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 714 "Zend/zend_language_scanner.l"
+#line 715 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 7560 "Zend/zend_language_scanner.c"
+#line 7551 "Zend/zend_language_scanner.c"
 yy871:
                YYDEBUG(871, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7570,11 +7561,11 @@ yy872:
                }
                YYDEBUG(873, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 798 "Zend/zend_language_scanner.l"
+#line 799 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 7578 "Zend/zend_language_scanner.c"
+#line 7569 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7647,7 +7638,7 @@ yy876:
 yy877:
                YYDEBUG(877, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 827 "Zend/zend_language_scanner.l"
+#line 828 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -7655,7 +7646,7 @@ yy877:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 7659 "Zend/zend_language_scanner.c"
+#line 7650 "Zend/zend_language_scanner.c"
 yy878:
                YYDEBUG(878, *YYCURSOR);
                ++YYCURSOR;
@@ -7663,13 +7654,13 @@ yy878:
 yy879:
                YYDEBUG(879, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 846 "Zend/zend_language_scanner.l"
+#line 847 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 7673 "Zend/zend_language_scanner.c"
+#line 7664 "Zend/zend_language_scanner.c"
 yy880:
                YYDEBUG(880, *YYCURSOR);
                ++YYCURSOR;
@@ -7678,14 +7669,14 @@ yy880:
 yy881:
                YYDEBUG(881, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 839 "Zend/zend_language_scanner.l"
+#line 840 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 7689 "Zend/zend_language_scanner.c"
+#line 7680 "Zend/zend_language_scanner.c"
 yy882:
                YYDEBUG(882, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7706,11 +7697,11 @@ yy885:
                ++YYCURSOR;
                YYDEBUG(886, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 835 "Zend/zend_language_scanner.l"
+#line 836 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 7714 "Zend/zend_language_scanner.c"
+#line 7705 "Zend/zend_language_scanner.c"
 yy887:
                YYDEBUG(887, *YYCURSOR);
                ++YYCURSOR;
@@ -7780,7 +7771,7 @@ yy891:
 yy892:
                YYDEBUG(892, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1114 "Zend/zend_language_scanner.l"
+#line 1115 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -7788,20 +7779,20 @@ yy892:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 7792 "Zend/zend_language_scanner.c"
+#line 7783 "Zend/zend_language_scanner.c"
 yy893:
                YYDEBUG(893, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(894, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1123 "Zend/zend_language_scanner.l"
+#line 1124 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 7805 "Zend/zend_language_scanner.c"
+#line 7796 "Zend/zend_language_scanner.c"
 yy895:
                YYDEBUG(895, *YYCURSOR);
                ++YYCURSOR;
@@ -8263,7 +8254,7 @@ yy932:
                ++YYCURSOR;
                YYDEBUG(933, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1872 "Zend/zend_language_scanner.l"
+#line 1864 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -8306,7 +8297,7 @@ yy932:
                yymore();
        }
 }
-#line 8310 "Zend/zend_language_scanner.c"
+#line 8301 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_ONE_LINE_COMMENT:
@@ -8363,11 +8354,11 @@ yy936:
 yy937:
                YYDEBUG(937, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1491 "Zend/zend_language_scanner.l"
+#line 1489 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 8371 "Zend/zend_language_scanner.c"
+#line 8362 "Zend/zend_language_scanner.c"
 yy938:
                YYDEBUG(938, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8390,7 +8381,7 @@ yy940:
 yy942:
                YYDEBUG(942, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1495 "Zend/zend_language_scanner.l"
+#line 1493 "Zend/zend_language_scanner.l"
                {
        switch (yytext[yyleng-1]) {
                case '?': case '%': case '>':
@@ -8408,7 +8399,7 @@ yy942:
                        return T_COMMENT;
        }
 }
-#line 8412 "Zend/zend_language_scanner.c"
+#line 8403 "Zend/zend_language_scanner.c"
 yy943:
                YYDEBUG(943, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8421,7 +8412,7 @@ yy944:
                ++YYCURSOR;
                YYDEBUG(946, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1513 "Zend/zend_language_scanner.l"
+#line 1511 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -8430,7 +8421,7 @@ yy944:
        CG(zend_lineno)++;
        return T_COMMENT;
 }
-#line 8434 "Zend/zend_language_scanner.c"
+#line 8425 "Zend/zend_language_scanner.c"
 yy947:
                YYDEBUG(947, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8440,21 +8431,20 @@ yy948:
                ++YYCURSOR;
                YYDEBUG(949, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1522 "Zend/zend_language_scanner.l"
+#line 1520 "Zend/zend_language_scanner.l"
                {
     if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
                zendlval->value.str.val = yytext; /* no copying - intentional */
                zendlval->value.str.len = yyleng-2;
                zendlval->type = IS_STRING;
-               yyleng -= 2;
-               yyless(yyleng);
+               yyless(yyleng - 2);
                BEGIN(ST_IN_SCRIPTING);
                return T_COMMENT;
        } else {
                yymore();
        }
 }
-#line 8458 "Zend/zend_language_scanner.c"
+#line 8448 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_HEREDOC:
@@ -8511,13 +8501,13 @@ yy952:
 yy953:
                YYDEBUG(953, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1682 "Zend/zend_language_scanner.l"
+#line 1678 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_HEREDOC);
        goto restart;
 }
-#line 8521 "Zend/zend_language_scanner.c"
+#line 8511 "Zend/zend_language_scanner.c"
 yy954:
                YYDEBUG(954, *YYCURSOR);
                yyaccept = 0;
@@ -8562,7 +8552,7 @@ yy959:
                ++YYCURSOR;
                YYDEBUG(960, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1688 "Zend/zend_language_scanner.l"
+#line 1684 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -8571,7 +8561,6 @@ yy959:
        }
 
        yyless(label_len);
-       yyleng = label_len;
 
        if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) {
                zendlval->value.str.val = CG(heredoc);
@@ -8585,7 +8574,7 @@ yy959:
                yymore();
        }
 }
-#line 8589 "Zend/zend_language_scanner.c"
+#line 8578 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_NOWDOC:
@@ -8642,13 +8631,13 @@ yy963:
 yy964:
                YYDEBUG(964, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1846 "Zend/zend_language_scanner.l"
+#line 1838 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_NOWDOC);
        goto restart;
 }
-#line 8652 "Zend/zend_language_scanner.c"
+#line 8641 "Zend/zend_language_scanner.c"
 yy965:
                YYDEBUG(965, *YYCURSOR);
                yyaccept = 0;
@@ -8693,7 +8682,7 @@ yy970:
                ++YYCURSOR;
                YYDEBUG(971, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1852 "Zend/zend_language_scanner.l"
+#line 1844 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -8713,7 +8702,7 @@ yy970:
                yymore();
        }
 }
-#line 8717 "Zend/zend_language_scanner.c"
+#line 8706 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -8814,7 +8803,7 @@ yy974:
 yy975:
                YYDEBUG(975, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1173 "Zend/zend_language_scanner.l"
+#line 1174 "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)) {
                zendlval->value.lval = strtol(yytext, NULL, 10);
@@ -8826,7 +8815,7 @@ yy975:
        }
        return T_NUM_STRING;
 }
-#line 8830 "Zend/zend_language_scanner.c"
+#line 8819 "Zend/zend_language_scanner.c"
 yy976:
                YYDEBUG(976, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8846,23 +8835,23 @@ yy977:
 yy978:
                YYDEBUG(978, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1464 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 8855 "Zend/zend_language_scanner.c"
+#line 8844 "Zend/zend_language_scanner.c"
 yy979:
                YYDEBUG(979, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(980, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1460 "Zend/zend_language_scanner.l"
+#line 1459 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 8866 "Zend/zend_language_scanner.c"
+#line 8855 "Zend/zend_language_scanner.c"
 yy981:
                YYDEBUG(981, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8872,16 +8861,15 @@ yy982:
                ++YYCURSOR;
                YYDEBUG(983, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1470 "Zend/zend_language_scanner.l"
+#line 1469 "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_STRING(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8885 "Zend/zend_language_scanner.c"
+#line 8873 "Zend/zend_language_scanner.c"
 yy984:
                YYDEBUG(984, *YYCURSOR);
                ++YYCURSOR;
@@ -8890,24 +8878,24 @@ yy984:
 yy985:
                YYDEBUG(985, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1479 "Zend/zend_language_scanner.l"
+#line 1477 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8900 "Zend/zend_language_scanner.c"
+#line 8888 "Zend/zend_language_scanner.c"
 yy986:
                YYDEBUG(986, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(987, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1938 "Zend/zend_language_scanner.l"
+#line 1930 "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 8911 "Zend/zend_language_scanner.c"
+#line 8899 "Zend/zend_language_scanner.c"
 yy988:
                YYDEBUG(988, *YYCURSOR);
                ++YYCURSOR;
@@ -8943,13 +8931,13 @@ yy990:
 yy992:
                YYDEBUG(992, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 8953 "Zend/zend_language_scanner.c"
+#line 8941 "Zend/zend_language_scanner.c"
 yy993:
                YYDEBUG(993, *YYCURSOR);
                ++YYCURSOR;
@@ -8981,14 +8969,14 @@ yy997:
 yy999:
                YYDEBUG(999, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1186 "Zend/zend_language_scanner.l"
                { /* Offset must be treated as a string */
        zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;
        zendlval->type = IS_STRING;
        return T_NUM_STRING;
 }
-#line 8992 "Zend/zend_language_scanner.c"
+#line 8980 "Zend/zend_language_scanner.c"
 yy1000:
                YYDEBUG(1000, *YYCURSOR);
                ++YYCURSOR;
@@ -9001,6 +8989,6 @@ yy1000:
                goto yy999;
        }
 }
-#line 1943 "Zend/zend_language_scanner.l"
+#line 1935 "Zend/zend_language_scanner.l"
 
 }
index 96e03102333fb1b532f872d5efd8519514868713..8802ffd1316eaa1f2d7523cda7e92dc3118bc0b3 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
@@ -1432,8 +1433,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);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -1443,8 +1443,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);
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -1470,7 +1469,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_STRING(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
@@ -1524,8 +1522,7 @@ inline_char_handler:
                zendlval->value.str.val = yytext; /* no copying - intentional */
                zendlval->value.str.len = yyleng-2;
                zendlval->type = IS_STRING;
-               yyleng -= 2;
-               yyless(yyleng);
+               yyless(yyleng - 2);
                BEGIN(ST_IN_SCRIPTING);
                return T_COMMENT;
        } else {
@@ -1585,7 +1582,6 @@ inline_char_handler:
                return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
        } else {
                yyless(1);
-               yyleng = 1;
                return yytext[0];
        }
 }
@@ -1693,7 +1689,6 @@ inline_char_handler:
        }
 
        yyless(label_len);
-       yyleng = label_len;
 
        if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) {
                zendlval->value.str.val = CG(heredoc);
@@ -1781,11 +1776,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);
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
@@ -1797,8 +1791,7 @@ inline_char_handler:
 }
 
 <ST_BACKQUOTE>{BACKQUOTE_CHARS}*("{"{2,}|"$"{2,}|(("{"+|"$"+)[`])) {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
@@ -1817,8 +1810,7 @@ inline_char_handler:
 }
 
 <ST_HEREDOC>{HEREDOC_CHARS}*({HEREDOC_NEWLINE}+({LABEL}";"?)?)?("{"{2,}|"$"{2,}) {
-       yyleng--;
-       yyless(yyleng);
+       yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
index cff11772589335c67374d1d461f285d25bd93171..7624797e71e166a4b5d87816824b6d45bed3268f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4 on Sat Apr  5 19:17:52 2008 */
+/* Generated by re2c 0.13.5.dev on Wed Apr  9 22:52:47 2008 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {