]> granicus.if.org Git - php/commitdiff
MFH: Corrected fix for bug #46844 to only trigger on the 1st line of CLI
authorIlia Alshanetsky <iliaa@php.net>
Fri, 9 Jan 2009 17:21:12 +0000 (17:21 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Fri, 9 Jan 2009 17:21:12 +0000 (17:21 +0000)
opened files.

Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
Zend/zend_stream.c
sapi/cli/php_cli.c

index 2bb23890d7a9e06749884920c4c0effb396f44fd..7f14dc72e3973596ab734de314f5bdce68394e64 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu Jan  1 15:13:42 2009 */
+/* Generated by re2c 0.13.5 on Fri Jan  9 12:08:49 2009 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -845,29 +845,8 @@ yymore_restart:
                return 0;
        }
 
-       /* ignore first line when it's started with a #! */
-       if (YYCURSOR == SCNG(yy_start) && *YYCURSOR == '#' && *(YYCURSOR + 1) == '!') {
-               while (++YYCURSOR < YYLIMIT) {
-                       if (*YYCURSOR == '\n') {
-                               ++YYCURSOR;
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-
-                       if (*YYCURSOR == '\r') {
-                               if (++YYCURSOR < YYLIMIT && *YYCURSOR == '\n') { /* match \r\n as single newline */
-                                       ++YYCURSOR;
-                               }
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-               }
 
-               return 0; /* EOF */
-       }
-
-
-#line 871 "Zend/zend_language_scanner.c"
+#line 850 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -978,7 +957,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1641 "Zend/zend_language_scanner.l"
+#line 1620 "Zend/zend_language_scanner.l"
                {
 
 inline_char_handler:
@@ -1024,7 +1003,7 @@ inline_char_handler:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 1028 "Zend/zend_language_scanner.c"
+#line 1007 "Zend/zend_language_scanner.c"
 yy4:
                YYDEBUG(4, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1042,7 +1021,7 @@ yy5:
 yy6:
                YYDEBUG(6, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1629 "Zend/zend_language_scanner.l"
+#line 1608 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1054,14 +1033,14 @@ yy6:
                goto inline_char_handler;
        }
 }
-#line 1058 "Zend/zend_language_scanner.c"
+#line 1037 "Zend/zend_language_scanner.c"
 yy7:
                YYDEBUG(7, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy43;
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1606 "Zend/zend_language_scanner.l"
+#line 1585 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1073,7 +1052,7 @@ yy7:
                goto inline_char_handler;
        }
 }
-#line 1077 "Zend/zend_language_scanner.c"
+#line 1056 "Zend/zend_language_scanner.c"
 yy9:
                YYDEBUG(9, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1259,7 +1238,7 @@ yy35:
                ++YYCURSOR;
                YYDEBUG(38, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1570 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1268,7 +1247,7 @@ yy35:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1272 "Zend/zend_language_scanner.c"
+#line 1251 "Zend/zend_language_scanner.c"
 yy39:
                YYDEBUG(39, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1295,7 +1274,7 @@ yy43:
                ++YYCURSOR;
                YYDEBUG(44, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1580 "Zend/zend_language_scanner.l"
+#line 1559 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1307,13 +1286,13 @@ yy43:
                goto inline_char_handler;
        }
 }
-#line 1311 "Zend/zend_language_scanner.c"
+#line 1290 "Zend/zend_language_scanner.c"
 yy45:
                YYDEBUG(45, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1593 "Zend/zend_language_scanner.l"
+#line 1572 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1325,7 +1304,7 @@ yy45:
                goto inline_char_handler;
        }
 }
-#line 1329 "Zend/zend_language_scanner.c"
+#line 1308 "Zend/zend_language_scanner.c"
 yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1352,7 +1331,7 @@ yy50:
 yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1619 "Zend/zend_language_scanner.l"
+#line 1598 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1361,7 +1340,7 @@ yy51:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1365 "Zend/zend_language_scanner.c"
+#line 1344 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
@@ -1452,13 +1431,13 @@ yy56:
 yy57:
                YYDEBUG(57, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2021 "Zend/zend_language_scanner.l"
+#line 2000 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1462 "Zend/zend_language_scanner.c"
+#line 1441 "Zend/zend_language_scanner.c"
 yy58:
                YYDEBUG(58, *YYCURSOR);
                yyaccept = 1;
@@ -1476,12 +1455,12 @@ yy59:
 yy60:
                YYDEBUG(60, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2046 "Zend/zend_language_scanner.l"
+#line 2025 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1485 "Zend/zend_language_scanner.c"
+#line 1464 "Zend/zend_language_scanner.c"
 yy61:
                YYDEBUG(61, *YYCURSOR);
                ++YYCURSOR;
@@ -1493,12 +1472,12 @@ yy62:
                ++YYCURSOR;
                YYDEBUG(63, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2124 "Zend/zend_language_scanner.l"
+#line 2103 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1502 "Zend/zend_language_scanner.c"
+#line 1481 "Zend/zend_language_scanner.c"
 yy64:
                YYDEBUG(64, *YYCURSOR);
                ++YYCURSOR;
@@ -1586,13 +1565,13 @@ yy68:
 yy70:
                YYDEBUG(70, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2051 "Zend/zend_language_scanner.l"
+#line 2030 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1596 "Zend/zend_language_scanner.c"
+#line 1575 "Zend/zend_language_scanner.c"
 yy71:
                YYDEBUG(71, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1626,24 +1605,24 @@ yy74:
 yy76:
                YYDEBUG(76, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1636 "Zend/zend_language_scanner.c"
+#line 1615 "Zend/zend_language_scanner.c"
 yy77:
                YYDEBUG(77, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1363 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1647 "Zend/zend_language_scanner.c"
+#line 1626 "Zend/zend_language_scanner.c"
 yy79:
                YYDEBUG(79, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1654,7 +1633,7 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1701 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1662,7 +1641,7 @@ yy80:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1666 "Zend/zend_language_scanner.c"
+#line 1645 "Zend/zend_language_scanner.c"
 yy82:
                YYDEBUG(82, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1680,7 +1659,7 @@ yy83:
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1670 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1688,7 +1667,7 @@ yy83:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1692 "Zend/zend_language_scanner.c"
+#line 1671 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_COMMENT:
@@ -1745,34 +1724,34 @@ yy87:
                }
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1801 "Zend/zend_language_scanner.l"
+#line 1780 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1753 "Zend/zend_language_scanner.c"
+#line 1732 "Zend/zend_language_scanner.c"
 yy90:
                YYDEBUG(90, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy92;
                YYDEBUG(91, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1819 "Zend/zend_language_scanner.l"
+#line 1798 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1764 "Zend/zend_language_scanner.c"
+#line 1743 "Zend/zend_language_scanner.c"
 yy92:
                YYDEBUG(92, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1813 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        BEGIN(ST_IN_SCRIPTING);
        return T_COMMENT;
 }
-#line 1776 "Zend/zend_language_scanner.c"
+#line 1755 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOC_COMMENT:
@@ -1829,28 +1808,28 @@ yy96:
                }
                YYDEBUG(98, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1801 "Zend/zend_language_scanner.l"
+#line 1780 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1837 "Zend/zend_language_scanner.c"
+#line 1816 "Zend/zend_language_scanner.c"
 yy99:
                YYDEBUG(99, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '/') goto yy101;
                YYDEBUG(100, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1819 "Zend/zend_language_scanner.l"
+#line 1798 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 1848 "Zend/zend_language_scanner.c"
+#line 1827 "Zend/zend_language_scanner.c"
 yy101:
                YYDEBUG(101, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(102, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1805 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        CG(doc_comment) = estrndup(yytext, yyleng);
        CG(doc_comment_len) = yyleng;
@@ -1858,7 +1837,7 @@ yy101:
        BEGIN(ST_IN_SCRIPTING);
        return T_DOC_COMMENT;
 }
-#line 1862 "Zend/zend_language_scanner.c"
+#line 1841 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -1945,13 +1924,13 @@ yy106:
 yy107:
                YYDEBUG(107, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2021 "Zend/zend_language_scanner.l"
+#line 2000 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1955 "Zend/zend_language_scanner.c"
+#line 1934 "Zend/zend_language_scanner.c"
 yy108:
                YYDEBUG(108, *YYCURSOR);
                yyaccept = 1;
@@ -1970,12 +1949,12 @@ yy109:
 yy110:
                YYDEBUG(110, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2028 "Zend/zend_language_scanner.l"
+#line 2007 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1979 "Zend/zend_language_scanner.c"
+#line 1958 "Zend/zend_language_scanner.c"
 yy111:
                YYDEBUG(111, *YYCURSOR);
                ++YYCURSOR;
@@ -1987,12 +1966,12 @@ yy112:
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2118 "Zend/zend_language_scanner.l"
+#line 2097 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 1996 "Zend/zend_language_scanner.c"
+#line 1975 "Zend/zend_language_scanner.c"
 yy114:
                YYDEBUG(114, *YYCURSOR);
                ++YYCURSOR;
@@ -2083,13 +2062,13 @@ yy118:
 yy120:
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2039 "Zend/zend_language_scanner.l"
+#line 2018 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2093 "Zend/zend_language_scanner.c"
+#line 2072 "Zend/zend_language_scanner.c"
 yy121:
                YYDEBUG(121, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2123,24 +2102,24 @@ yy124:
 yy126:
                YYDEBUG(126, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2133 "Zend/zend_language_scanner.c"
+#line 2112 "Zend/zend_language_scanner.c"
 yy127:
                YYDEBUG(127, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(128, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1363 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2144 "Zend/zend_language_scanner.c"
+#line 2123 "Zend/zend_language_scanner.c"
 yy129:
                YYDEBUG(129, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2151,7 +2130,7 @@ yy130:
                ++YYCURSOR;
                YYDEBUG(131, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1701 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2159,7 +2138,7 @@ yy130:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2163 "Zend/zend_language_scanner.c"
+#line 2142 "Zend/zend_language_scanner.c"
 yy132:
                YYDEBUG(132, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2177,7 +2156,7 @@ yy133:
                ++YYCURSOR;
                YYDEBUG(134, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1670 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2185,7 +2164,7 @@ yy133:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2189 "Zend/zend_language_scanner.c"
+#line 2168 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -2196,7 +2175,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(138, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2007 "Zend/zend_language_scanner.l"
+#line 1986 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -2208,7 +2187,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 2212 "Zend/zend_language_scanner.c"
+#line 2191 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -2265,12 +2244,12 @@ yyc_ST_HEREDOC:
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2065 "Zend/zend_language_scanner.l"
+#line 2044 "Zend/zend_language_scanner.l"
                {
        zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2274 "Zend/zend_language_scanner.c"
+#line 2253 "Zend/zend_language_scanner.c"
 yy142:
                YYDEBUG(142, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2316,13 +2295,13 @@ yy143:
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2021 "Zend/zend_language_scanner.l"
+#line 2000 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2326 "Zend/zend_language_scanner.c"
+#line 2305 "Zend/zend_language_scanner.c"
 yy145:
                YYDEBUG(145, *YYCURSOR);
                yyaccept = 0;
@@ -2573,13 +2552,13 @@ yy161:
 yy163:
                YYDEBUG(163, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2070 "Zend/zend_language_scanner.l"
+#line 2049 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2583 "Zend/zend_language_scanner.c"
+#line 2562 "Zend/zend_language_scanner.c"
 yy164:
                YYDEBUG(164, *YYCURSOR);
                yyaccept = 2;
@@ -2678,7 +2657,7 @@ yy170:
                ++YYCURSOR;
                YYDEBUG(171, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1970 "Zend/zend_language_scanner.l"
+#line 1949 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -2715,7 +2694,7 @@ yy170:
                yymore();
        }
 }
-#line 2719 "Zend/zend_language_scanner.c"
+#line 2698 "Zend/zend_language_scanner.c"
 yy172:
                YYDEBUG(172, *YYCURSOR);
                yyaccept = 2;
@@ -2975,24 +2954,24 @@ yy191:
 yy193:
                YYDEBUG(193, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2985 "Zend/zend_language_scanner.c"
+#line 2964 "Zend/zend_language_scanner.c"
 yy194:
                YYDEBUG(194, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(195, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1363 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2996 "Zend/zend_language_scanner.c"
+#line 2975 "Zend/zend_language_scanner.c"
 yy196:
                YYDEBUG(196, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3003,7 +2982,7 @@ yy197:
                ++YYCURSOR;
                YYDEBUG(198, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1701 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -3011,7 +2990,7 @@ yy197:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3015 "Zend/zend_language_scanner.c"
+#line 2994 "Zend/zend_language_scanner.c"
 yy199:
                YYDEBUG(199, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3029,7 +3008,7 @@ yy200:
                ++YYCURSOR;
                YYDEBUG(201, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1670 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -3037,7 +3016,7 @@ yy200:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3041 "Zend/zend_language_scanner.c"
+#line 3020 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -3252,13 +3231,13 @@ yy204:
 yy205:
                YYDEBUG(205, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 3262 "Zend/zend_language_scanner.c"
+#line 3241 "Zend/zend_language_scanner.c"
 yy206:
                YYDEBUG(206, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3505,11 +3484,11 @@ yy218:
 yy219:
                YYDEBUG(219, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1352 "Zend/zend_language_scanner.l"
+#line 1331 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 3513 "Zend/zend_language_scanner.c"
+#line 3492 "Zend/zend_language_scanner.c"
 yy220:
                YYDEBUG(220, *YYCURSOR);
                ++YYCURSOR;
@@ -3518,7 +3497,7 @@ yy220:
 yy221:
                YYDEBUG(221, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1087 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3526,7 +3505,7 @@ yy221:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 3530 "Zend/zend_language_scanner.c"
+#line 3509 "Zend/zend_language_scanner.c"
 yy222:
                YYDEBUG(222, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3537,11 +3516,11 @@ yy223:
                ++YYCURSOR;
                YYDEBUG(224, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1116 "Zend/zend_language_scanner.l"
+#line 1095 "Zend/zend_language_scanner.l"
                {
        return T_NS_SEPARATOR;
 }
-#line 3545 "Zend/zend_language_scanner.c"
+#line 3524 "Zend/zend_language_scanner.c"
 yy225:
                YYDEBUG(225, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3769,18 +3748,18 @@ yy248:
                ++YYCURSOR;
                YYDEBUG(249, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1357 "Zend/zend_language_scanner.l"
+#line 1336 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 3778 "Zend/zend_language_scanner.c"
+#line 3757 "Zend/zend_language_scanner.c"
 yy250:
                YYDEBUG(250, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(251, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1369 "Zend/zend_language_scanner.l"
+#line 1348 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -3788,7 +3767,7 @@ yy250:
        }
        return '}';
 }
-#line 3792 "Zend/zend_language_scanner.c"
+#line 3771 "Zend/zend_language_scanner.c"
 yy252:
                YYDEBUG(252, *YYCURSOR);
                yyaccept = 2;
@@ -3811,7 +3790,7 @@ yy252:
 yy253:
                YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1395 "Zend/zend_language_scanner.l"
+#line 1374 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -3832,7 +3811,7 @@ yy253:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 3836 "Zend/zend_language_scanner.c"
+#line 3815 "Zend/zend_language_scanner.c"
 yy254:
                YYDEBUG(254, *YYCURSOR);
                yyaccept = 2;
@@ -3860,12 +3839,12 @@ yy256:
 yy257:
                YYDEBUG(257, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1740 "Zend/zend_language_scanner.l"
+#line 1719 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_ONE_LINE_COMMENT);
        yymore();
 }
-#line 3869 "Zend/zend_language_scanner.c"
+#line 3848 "Zend/zend_language_scanner.c"
 yy258:
                YYDEBUG(258, *YYCURSOR);
                yyaccept = 3;
@@ -3874,12 +3853,12 @@ yy258:
 yy259:
                YYDEBUG(259, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1907 "Zend/zend_language_scanner.l"
+#line 1886 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 3883 "Zend/zend_language_scanner.c"
+#line 3862 "Zend/zend_language_scanner.c"
 yy260:
                YYDEBUG(260, *YYCURSOR);
                yyaccept = 4;
@@ -3888,23 +3867,23 @@ yy260:
 yy261:
                YYDEBUG(261, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2130 "Zend/zend_language_scanner.l"
+#line 2109 "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 3897 "Zend/zend_language_scanner.c"
+#line 3876 "Zend/zend_language_scanner.c"
 yy262:
                YYDEBUG(262, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(263, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1958 "Zend/zend_language_scanner.l"
+#line 1937 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3908 "Zend/zend_language_scanner.c"
+#line 3887 "Zend/zend_language_scanner.c"
 yy264:
                YYDEBUG(264, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3930,7 +3909,7 @@ yy268:
                ++YYCURSOR;
                YYDEBUG(269, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1835 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -3980,7 +3959,7 @@ yy268:
 #endif /* ZEND_MULTIBYTE */
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3984 "Zend/zend_language_scanner.c"
+#line 3963 "Zend/zend_language_scanner.c"
 yy270:
                YYDEBUG(270, *YYCURSOR);
                ++YYCURSOR;
@@ -4077,14 +4056,14 @@ yy278:
                ++YYCURSOR;
                YYDEBUG(279, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1848 "Zend/zend_language_scanner.l"
+#line 1827 "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 4088 "Zend/zend_language_scanner.c"
+#line 4067 "Zend/zend_language_scanner.c"
 yy280:
                YYDEBUG(280, *YYCURSOR);
                ++YYCURSOR;
@@ -4117,13 +4096,13 @@ yy283:
 yy285:
                YYDEBUG(285, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1456 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 4127 "Zend/zend_language_scanner.c"
+#line 4106 "Zend/zend_language_scanner.c"
 yy286:
                YYDEBUG(286, *YYCURSOR);
                yyaccept = 2;
@@ -4185,7 +4164,7 @@ yy293:
                }
                YYDEBUG(295, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1416 "Zend/zend_language_scanner.l"
+#line 1395 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -4206,7 +4185,7 @@ yy293:
                return T_DNUMBER;
        }
 }
-#line 4210 "Zend/zend_language_scanner.c"
+#line 4189 "Zend/zend_language_scanner.c"
 yy296:
                YYDEBUG(296, *YYCURSOR);
                ++YYCURSOR;
@@ -4215,7 +4194,7 @@ yy296:
 yy297:
                YYDEBUG(297, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1823 "Zend/zend_language_scanner.l"
+#line 1802 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -4223,7 +4202,7 @@ yy297:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 4227 "Zend/zend_language_scanner.c"
+#line 4206 "Zend/zend_language_scanner.c"
 yy298:
                YYDEBUG(298, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4257,13 +4236,13 @@ yy300:
 yy302:
                YYDEBUG(302, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 4267 "Zend/zend_language_scanner.c"
+#line 4246 "Zend/zend_language_scanner.c"
 yy303:
                YYDEBUG(303, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4277,11 +4256,11 @@ yy304:
                }
                YYDEBUG(305, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1340 "Zend/zend_language_scanner.l"
+#line 1319 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 4285 "Zend/zend_language_scanner.c"
+#line 4264 "Zend/zend_language_scanner.c"
 yy306:
                YYDEBUG(306, *YYCURSOR);
                ++YYCURSOR;
@@ -4290,61 +4269,61 @@ yy306:
                }
                YYDEBUG(307, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1332 "Zend/zend_language_scanner.l"
+#line 1311 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 4298 "Zend/zend_language_scanner.c"
+#line 4277 "Zend/zend_language_scanner.c"
 yy308:
                YYDEBUG(308, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(309, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1320 "Zend/zend_language_scanner.l"
+#line 1299 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 4308 "Zend/zend_language_scanner.c"
+#line 4287 "Zend/zend_language_scanner.c"
 yy310:
                YYDEBUG(310, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(311, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1324 "Zend/zend_language_scanner.l"
+#line 1303 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 4318 "Zend/zend_language_scanner.c"
+#line 4297 "Zend/zend_language_scanner.c"
 yy312:
                YYDEBUG(312, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(313, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1316 "Zend/zend_language_scanner.l"
+#line 1295 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 4328 "Zend/zend_language_scanner.c"
+#line 4307 "Zend/zend_language_scanner.c"
 yy314:
                YYDEBUG(314, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(315, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1328 "Zend/zend_language_scanner.l"
+#line 1307 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 4338 "Zend/zend_language_scanner.c"
+#line 4317 "Zend/zend_language_scanner.c"
 yy316:
                YYDEBUG(316, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(317, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1312 "Zend/zend_language_scanner.l"
+#line 1291 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 4348 "Zend/zend_language_scanner.c"
+#line 4327 "Zend/zend_language_scanner.c"
 yy318:
                YYDEBUG(318, *YYCURSOR);
                ++YYCURSOR;
@@ -4353,7 +4332,7 @@ yy318:
 yy319:
                YYDEBUG(319, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1832 "Zend/zend_language_scanner.l"
+#line 1811 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -4366,17 +4345,17 @@ yy319:
                return yytext[0];
        }
 }
-#line 4370 "Zend/zend_language_scanner.c"
+#line 4349 "Zend/zend_language_scanner.c"
 yy320:
                YYDEBUG(320, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(321, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
+#line 1279 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 4380 "Zend/zend_language_scanner.c"
+#line 4359 "Zend/zend_language_scanner.c"
 yy322:
                YYDEBUG(322, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4407,11 +4386,11 @@ yy326:
                ++YYCURSOR;
                YYDEBUG(327, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1296 "Zend/zend_language_scanner.l"
+#line 1275 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 4415 "Zend/zend_language_scanner.c"
+#line 4394 "Zend/zend_language_scanner.c"
 yy328:
                YYDEBUG(328, *YYCURSOR);
                yyaccept = 6;
@@ -4420,12 +4399,12 @@ yy328:
 yy329:
                YYDEBUG(329, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1795 "Zend/zend_language_scanner.l"
+#line 1774 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_COMMENT);
        yymore();
 }
-#line 4429 "Zend/zend_language_scanner.c"
+#line 4408 "Zend/zend_language_scanner.c"
 yy330:
                YYDEBUG(330, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4435,11 +4414,11 @@ yy331:
                ++YYCURSOR;
                YYDEBUG(332, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1292 "Zend/zend_language_scanner.l"
+#line 1271 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 4443 "Zend/zend_language_scanner.c"
+#line 4422 "Zend/zend_language_scanner.c"
 yy333:
                YYDEBUG(333, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4458,54 +4437,54 @@ yy334:
                }
                YYDEBUG(336, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1789 "Zend/zend_language_scanner.l"
+#line 1768 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        BEGIN(ST_DOC_COMMENT);
        yymore();
 }
-#line 4468 "Zend/zend_language_scanner.c"
+#line 4447 "Zend/zend_language_scanner.c"
 yy337:
                YYDEBUG(337, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(338, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1288 "Zend/zend_language_scanner.l"
+#line 1267 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 4478 "Zend/zend_language_scanner.c"
+#line 4457 "Zend/zend_language_scanner.c"
 yy339:
                YYDEBUG(339, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy343;
                YYDEBUG(340, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1348 "Zend/zend_language_scanner.l"
+#line 1327 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 4489 "Zend/zend_language_scanner.c"
+#line 4468 "Zend/zend_language_scanner.c"
 yy341:
                YYDEBUG(341, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(342, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1255 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 4499 "Zend/zend_language_scanner.c"
+#line 4478 "Zend/zend_language_scanner.c"
 yy343:
                YYDEBUG(343, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(344, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1308 "Zend/zend_language_scanner.l"
+#line 1287 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 4509 "Zend/zend_language_scanner.c"
+#line 4488 "Zend/zend_language_scanner.c"
 yy345:
                YYDEBUG(345, *YYCURSOR);
                yyaccept = 7;
@@ -4516,11 +4495,11 @@ yy345:
 yy346:
                YYDEBUG(346, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1344 "Zend/zend_language_scanner.l"
+#line 1323 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 4524 "Zend/zend_language_scanner.c"
+#line 4503 "Zend/zend_language_scanner.c"
 yy347:
                YYDEBUG(347, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4532,22 +4511,22 @@ yy348:
                ++YYCURSOR;
                YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1272 "Zend/zend_language_scanner.l"
+#line 1251 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 4540 "Zend/zend_language_scanner.c"
+#line 4519 "Zend/zend_language_scanner.c"
 yy350:
                YYDEBUG(350, *YYCURSOR);
                ++YYCURSOR;
 yy351:
                YYDEBUG(351, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1268 "Zend/zend_language_scanner.l"
+#line 1247 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 4551 "Zend/zend_language_scanner.c"
+#line 4530 "Zend/zend_language_scanner.c"
 yy352:
                YYDEBUG(352, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4598,11 +4577,11 @@ yy359:
                ++YYCURSOR;
                YYDEBUG(360, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1304 "Zend/zend_language_scanner.l"
+#line 1283 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 4606 "Zend/zend_language_scanner.c"
+#line 4585 "Zend/zend_language_scanner.c"
 yy361:
                YYDEBUG(361, *YYCURSOR);
                ++YYCURSOR;
@@ -4707,7 +4686,7 @@ yy370:
 yy371:
                YYDEBUG(371, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1913 "Zend/zend_language_scanner.l"
+#line 1892 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -4751,7 +4730,7 @@ yy371:
 
        return T_START_HEREDOC;
 }
-#line 4755 "Zend/zend_language_scanner.c"
+#line 4734 "Zend/zend_language_scanner.c"
 yy372:
                YYDEBUG(372, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4791,31 +4770,31 @@ yy375:
                ++YYCURSOR;
                YYDEBUG(377, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1260 "Zend/zend_language_scanner.l"
+#line 1239 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 4799 "Zend/zend_language_scanner.c"
+#line 4778 "Zend/zend_language_scanner.c"
 yy378:
                YYDEBUG(378, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(379, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1280 "Zend/zend_language_scanner.l"
+#line 1259 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 4809 "Zend/zend_language_scanner.c"
+#line 4788 "Zend/zend_language_scanner.c"
 yy380:
                YYDEBUG(380, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(381, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1248 "Zend/zend_language_scanner.l"
+#line 1227 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 4819 "Zend/zend_language_scanner.c"
+#line 4798 "Zend/zend_language_scanner.c"
 yy382:
                YYDEBUG(382, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4834,42 +4813,42 @@ yy384:
                }
                YYDEBUG(385, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1240 "Zend/zend_language_scanner.l"
+#line 1219 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 4842 "Zend/zend_language_scanner.c"
+#line 4821 "Zend/zend_language_scanner.c"
 yy386:
                YYDEBUG(386, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy390;
                YYDEBUG(387, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1264 "Zend/zend_language_scanner.l"
+#line 1243 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 4853 "Zend/zend_language_scanner.c"
+#line 4832 "Zend/zend_language_scanner.c"
 yy388:
                YYDEBUG(388, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(389, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1236 "Zend/zend_language_scanner.l"
+#line 1215 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 4863 "Zend/zend_language_scanner.c"
+#line 4842 "Zend/zend_language_scanner.c"
 yy390:
                YYDEBUG(390, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(391, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1256 "Zend/zend_language_scanner.l"
+#line 1235 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 4873 "Zend/zend_language_scanner.c"
+#line 4852 "Zend/zend_language_scanner.c"
 yy392:
                YYDEBUG(392, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4991,7 +4970,7 @@ yy407:
                }
                YYDEBUG(410, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1560 "Zend/zend_language_scanner.l"
+#line 1539 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -5001,7 +4980,7 @@ yy407:
        }
        return T_NS_C;
 }
-#line 5005 "Zend/zend_language_scanner.c"
+#line 4984 "Zend/zend_language_scanner.c"
 yy411:
                YYDEBUG(411, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5021,7 +5000,7 @@ yy412:
                }
                YYDEBUG(415, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1533 "Zend/zend_language_scanner.l"
+#line 1512 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -5048,7 +5027,7 @@ yy412:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 5052 "Zend/zend_language_scanner.c"
+#line 5031 "Zend/zend_language_scanner.c"
 yy416:
                YYDEBUG(416, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5073,13 +5052,13 @@ yy418:
                }
                YYDEBUG(421, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1515 "Zend/zend_language_scanner.l"
+#line 1494 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 5083 "Zend/zend_language_scanner.c"
+#line 5062 "Zend/zend_language_scanner.c"
 yy422:
                YYDEBUG(422, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5114,7 +5093,7 @@ yy426:
                }
                YYDEBUG(429, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1494 "Zend/zend_language_scanner.l"
+#line 1473 "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;
@@ -5135,7 +5114,7 @@ yy426:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 5139 "Zend/zend_language_scanner.c"
+#line 5118 "Zend/zend_language_scanner.c"
 yy430:
                YYDEBUG(430, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5186,7 +5165,7 @@ yy437:
                }
                YYDEBUG(440, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1478 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -5202,7 +5181,7 @@ yy437:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 5206 "Zend/zend_language_scanner.c"
+#line 5185 "Zend/zend_language_scanner.c"
 yy441:
                YYDEBUG(441, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5222,7 +5201,7 @@ yy442:
                }
                YYDEBUG(445, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1521 "Zend/zend_language_scanner.l"
+#line 1500 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -5234,7 +5213,7 @@ yy442:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 5238 "Zend/zend_language_scanner.c"
+#line 5217 "Zend/zend_language_scanner.c"
 yy446:
                YYDEBUG(446, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5264,7 +5243,7 @@ yy449:
                }
                YYDEBUG(452, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1462 "Zend/zend_language_scanner.l"
+#line 1441 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -5280,7 +5259,7 @@ yy449:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 5284 "Zend/zend_language_scanner.c"
+#line 5263 "Zend/zend_language_scanner.c"
 yy453:
                YYDEBUG(453, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5342,11 +5321,11 @@ yy464:
                }
                YYDEBUG(465, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1204 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 5350 "Zend/zend_language_scanner.c"
+#line 5329 "Zend/zend_language_scanner.c"
 yy466:
                YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5366,11 +5345,11 @@ yy468:
                }
                YYDEBUG(469, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1188 "Zend/zend_language_scanner.l"
+#line 1167 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 5374 "Zend/zend_language_scanner.c"
+#line 5353 "Zend/zend_language_scanner.c"
 yy470:
                YYDEBUG(470, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5389,11 +5368,11 @@ yy472:
                }
                YYDEBUG(473, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1232 "Zend/zend_language_scanner.l"
+#line 1211 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 5397 "Zend/zend_language_scanner.c"
+#line 5376 "Zend/zend_language_scanner.c"
 yy474:
                YYDEBUG(474, *YYCURSOR);
                ++YYCURSOR;
@@ -5565,11 +5544,11 @@ yy489:
                ++YYCURSOR;
                YYDEBUG(491, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1132 "Zend/zend_language_scanner.l"
+#line 1111 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 5573 "Zend/zend_language_scanner.c"
+#line 5552 "Zend/zend_language_scanner.c"
 yy492:
                YYDEBUG(492, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5613,11 +5592,11 @@ yy497:
                ++YYCURSOR;
                YYDEBUG(500, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1136 "Zend/zend_language_scanner.l"
+#line 1115 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 5621 "Zend/zend_language_scanner.c"
+#line 5600 "Zend/zend_language_scanner.c"
 yy501:
                YYDEBUG(501, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5687,11 +5666,11 @@ yy511:
                ++YYCURSOR;
                YYDEBUG(514, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1140 "Zend/zend_language_scanner.l"
+#line 1119 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 5695 "Zend/zend_language_scanner.c"
+#line 5674 "Zend/zend_language_scanner.c"
 yy515:
                YYDEBUG(515, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5724,11 +5703,11 @@ yy518:
                ++YYCURSOR;
                YYDEBUG(521, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1148 "Zend/zend_language_scanner.l"
+#line 1127 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 5732 "Zend/zend_language_scanner.c"
+#line 5711 "Zend/zend_language_scanner.c"
 yy522:
                YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5766,11 +5745,11 @@ yy526:
                ++YYCURSOR;
                YYDEBUG(529, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1152 "Zend/zend_language_scanner.l"
+#line 1131 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 5774 "Zend/zend_language_scanner.c"
+#line 5753 "Zend/zend_language_scanner.c"
 yy530:
                YYDEBUG(530, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5811,11 +5790,11 @@ yy535:
                ++YYCURSOR;
                YYDEBUG(537, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1156 "Zend/zend_language_scanner.l"
+#line 1135 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 5819 "Zend/zend_language_scanner.c"
+#line 5798 "Zend/zend_language_scanner.c"
 yy538:
                YYDEBUG(538, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5859,11 +5838,11 @@ yy543:
                ++YYCURSOR;
                YYDEBUG(546, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1144 "Zend/zend_language_scanner.l"
+#line 1123 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 5867 "Zend/zend_language_scanner.c"
+#line 5846 "Zend/zend_language_scanner.c"
 yy547:
                YYDEBUG(547, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5896,11 +5875,11 @@ yy550:
                ++YYCURSOR;
                YYDEBUG(553, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1160 "Zend/zend_language_scanner.l"
+#line 1139 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 5904 "Zend/zend_language_scanner.c"
+#line 5883 "Zend/zend_language_scanner.c"
 yy554:
                YYDEBUG(554, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5914,11 +5893,11 @@ yy555:
                }
                YYDEBUG(556, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1128 "Zend/zend_language_scanner.l"
+#line 1107 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 5922 "Zend/zend_language_scanner.c"
+#line 5901 "Zend/zend_language_scanner.c"
 yy557:
                YYDEBUG(557, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5938,11 +5917,11 @@ yy559:
                }
                YYDEBUG(560, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1120 "Zend/zend_language_scanner.l"
+#line 1099 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 5946 "Zend/zend_language_scanner.c"
+#line 5925 "Zend/zend_language_scanner.c"
 yy561:
                YYDEBUG(561, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5981,21 +5960,21 @@ yy567:
                }
                YYDEBUG(568, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1184 "Zend/zend_language_scanner.l"
+#line 1163 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 5989 "Zend/zend_language_scanner.c"
+#line 5968 "Zend/zend_language_scanner.c"
 yy569:
                YYDEBUG(569, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(570, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1112 "Zend/zend_language_scanner.l"
+#line 1091 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5999 "Zend/zend_language_scanner.c"
+#line 5978 "Zend/zend_language_scanner.c"
 yy571:
                YYDEBUG(571, *YYCURSOR);
                ++YYCURSOR;
@@ -6017,32 +5996,32 @@ yy573:
                ++YYCURSOR;
                YYDEBUG(574, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1284 "Zend/zend_language_scanner.l"
+#line 1263 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 6025 "Zend/zend_language_scanner.c"
+#line 6004 "Zend/zend_language_scanner.c"
 yy575:
                YYDEBUG(575, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(576, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1252 "Zend/zend_language_scanner.l"
+#line 1231 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 6035 "Zend/zend_language_scanner.c"
+#line 6014 "Zend/zend_language_scanner.c"
 yy577:
                YYDEBUG(577, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(578, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1082 "Zend/zend_language_scanner.l"
+#line 1061 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 6046 "Zend/zend_language_scanner.c"
+#line 6025 "Zend/zend_language_scanner.c"
 yy579:
                YYDEBUG(579, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6087,11 +6066,11 @@ yy584:
                }
                YYDEBUG(585, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1228 "Zend/zend_language_scanner.l"
+#line 1207 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 6095 "Zend/zend_language_scanner.c"
+#line 6074 "Zend/zend_language_scanner.c"
 yy586:
                YYDEBUG(586, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6146,11 +6125,11 @@ yy593:
                }
                YYDEBUG(594, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1224 "Zend/zend_language_scanner.l"
+#line 1203 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 6154 "Zend/zend_language_scanner.c"
+#line 6133 "Zend/zend_language_scanner.c"
 yy595:
                YYDEBUG(595, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6180,11 +6159,11 @@ yy599:
                }
                YYDEBUG(600, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1220 "Zend/zend_language_scanner.l"
+#line 1199 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 6188 "Zend/zend_language_scanner.c"
+#line 6167 "Zend/zend_language_scanner.c"
 yy601:
                YYDEBUG(601, *YYCURSOR);
                ++YYCURSOR;
@@ -6193,11 +6172,11 @@ yy601:
                }
                YYDEBUG(602, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1062 "Zend/zend_language_scanner.l"
+#line 1041 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 6201 "Zend/zend_language_scanner.c"
+#line 6180 "Zend/zend_language_scanner.c"
 yy603:
                YYDEBUG(603, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6222,11 +6201,11 @@ yy606:
                }
                YYDEBUG(607, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1054 "Zend/zend_language_scanner.l"
+#line 1033 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 6230 "Zend/zend_language_scanner.c"
+#line 6209 "Zend/zend_language_scanner.c"
 yy608:
                YYDEBUG(608, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6250,11 +6229,11 @@ yy611:
                }
                YYDEBUG(612, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1192 "Zend/zend_language_scanner.l"
+#line 1171 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 6258 "Zend/zend_language_scanner.c"
+#line 6237 "Zend/zend_language_scanner.c"
 yy613:
                YYDEBUG(613, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6288,11 +6267,11 @@ yy618:
                }
                YYDEBUG(619, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1046 "Zend/zend_language_scanner.l"
+#line 1025 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 6296 "Zend/zend_language_scanner.c"
+#line 6275 "Zend/zend_language_scanner.c"
 yy620:
                YYDEBUG(620, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6332,11 +6311,11 @@ yy626:
                }
                YYDEBUG(627, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1030 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 6340 "Zend/zend_language_scanner.c"
+#line 6319 "Zend/zend_language_scanner.c"
 yy628:
                YYDEBUG(628, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6360,11 +6339,11 @@ yy631:
                }
                YYDEBUG(632, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1208 "Zend/zend_language_scanner.l"
+#line 1187 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 6368 "Zend/zend_language_scanner.c"
+#line 6347 "Zend/zend_language_scanner.c"
 yy633:
                YYDEBUG(633, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6391,11 +6370,11 @@ yy636:
                }
                YYDEBUG(637, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1026 "Zend/zend_language_scanner.l"
+#line 1005 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 6399 "Zend/zend_language_scanner.c"
+#line 6378 "Zend/zend_language_scanner.c"
 yy638:
                YYDEBUG(638, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6414,11 +6393,11 @@ yy640:
                }
                YYDEBUG(641, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1244 "Zend/zend_language_scanner.l"
+#line 1223 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 6422 "Zend/zend_language_scanner.c"
+#line 6401 "Zend/zend_language_scanner.c"
 yy642:
                YYDEBUG(642, *YYCURSOR);
                ++YYCURSOR;
@@ -6427,11 +6406,11 @@ yy642:
                }
                YYDEBUG(643, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1336 "Zend/zend_language_scanner.l"
+#line 1315 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 6435 "Zend/zend_language_scanner.c"
+#line 6414 "Zend/zend_language_scanner.c"
 yy644:
                YYDEBUG(644, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6465,11 +6444,11 @@ yy649:
                }
                YYDEBUG(650, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1212 "Zend/zend_language_scanner.l"
+#line 1191 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 6473 "Zend/zend_language_scanner.c"
+#line 6452 "Zend/zend_language_scanner.c"
 yy651:
                YYDEBUG(651, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6493,11 +6472,11 @@ yy654:
                }
                YYDEBUG(655, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 986 "Zend/zend_language_scanner.l"
+#line 965 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 6501 "Zend/zend_language_scanner.c"
+#line 6480 "Zend/zend_language_scanner.c"
 yy656:
                YYDEBUG(656, *YYCURSOR);
                ++YYCURSOR;
@@ -6506,11 +6485,11 @@ yy656:
                }
                YYDEBUG(657, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 970 "Zend/zend_language_scanner.l"
+#line 949 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 6514 "Zend/zend_language_scanner.c"
+#line 6493 "Zend/zend_language_scanner.c"
 yy658:
                YYDEBUG(658, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6562,11 +6541,11 @@ yy663:
                }
                YYDEBUG(664, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1196 "Zend/zend_language_scanner.l"
+#line 1175 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 6570 "Zend/zend_language_scanner.c"
+#line 6549 "Zend/zend_language_scanner.c"
 yy665:
                YYDEBUG(665, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6620,11 +6599,11 @@ yy671:
 yy672:
                YYDEBUG(672, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1168 "Zend/zend_language_scanner.l"
+#line 1147 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 6628 "Zend/zend_language_scanner.c"
+#line 6607 "Zend/zend_language_scanner.c"
 yy673:
                YYDEBUG(673, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6653,11 +6632,11 @@ yy677:
                }
                YYDEBUG(678, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1172 "Zend/zend_language_scanner.l"
+#line 1151 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 6661 "Zend/zend_language_scanner.c"
+#line 6640 "Zend/zend_language_scanner.c"
 yy679:
                YYDEBUG(679, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6691,11 +6670,11 @@ yy684:
                }
                YYDEBUG(685, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1070 "Zend/zend_language_scanner.l"
+#line 1049 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 6699 "Zend/zend_language_scanner.c"
+#line 6678 "Zend/zend_language_scanner.c"
 yy686:
                YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6734,11 +6713,11 @@ yy692:
                }
                YYDEBUG(693, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1022 "Zend/zend_language_scanner.l"
+#line 1001 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 6742 "Zend/zend_language_scanner.c"
+#line 6721 "Zend/zend_language_scanner.c"
 yy694:
                YYDEBUG(694, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6782,11 +6761,11 @@ yy701:
                }
                YYDEBUG(702, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1078 "Zend/zend_language_scanner.l"
+#line 1057 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 6790 "Zend/zend_language_scanner.c"
+#line 6769 "Zend/zend_language_scanner.c"
 yy703:
                YYDEBUG(703, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6806,11 +6785,11 @@ yy705:
                }
                YYDEBUG(706, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 958 "Zend/zend_language_scanner.l"
+#line 937 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 6814 "Zend/zend_language_scanner.c"
+#line 6793 "Zend/zend_language_scanner.c"
 yy707:
                YYDEBUG(707, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6829,11 +6808,11 @@ yy709:
                }
                YYDEBUG(710, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 966 "Zend/zend_language_scanner.l"
+#line 945 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 6837 "Zend/zend_language_scanner.c"
+#line 6816 "Zend/zend_language_scanner.c"
 yy711:
                YYDEBUG(711, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6894,11 +6873,11 @@ yy717:
 yy718:
                YYDEBUG(718, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1176 "Zend/zend_language_scanner.l"
+#line 1155 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 6902 "Zend/zend_language_scanner.c"
+#line 6881 "Zend/zend_language_scanner.c"
 yy719:
                YYDEBUG(719, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6927,11 +6906,11 @@ yy723:
                }
                YYDEBUG(724, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1180 "Zend/zend_language_scanner.l"
+#line 1159 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 6935 "Zend/zend_language_scanner.c"
+#line 6914 "Zend/zend_language_scanner.c"
 yy725:
                YYDEBUG(725, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6950,11 +6929,11 @@ yy727:
                }
                YYDEBUG(728, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 954 "Zend/zend_language_scanner.l"
+#line 933 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 6958 "Zend/zend_language_scanner.c"
+#line 6937 "Zend/zend_language_scanner.c"
 yy729:
                YYDEBUG(729, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7035,11 +7014,11 @@ yy738:
                }
                YYDEBUG(739, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1050 "Zend/zend_language_scanner.l"
+#line 1029 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 7043 "Zend/zend_language_scanner.c"
+#line 7022 "Zend/zend_language_scanner.c"
 yy740:
                YYDEBUG(740, *YYCURSOR);
                ++YYCURSOR;
@@ -7048,11 +7027,11 @@ yy740:
                }
                YYDEBUG(741, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 950 "Zend/zend_language_scanner.l"
+#line 929 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 7056 "Zend/zend_language_scanner.c"
+#line 7035 "Zend/zend_language_scanner.c"
 yy742:
                YYDEBUG(742, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7077,11 +7056,11 @@ yy745:
                }
                YYDEBUG(746, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1124 "Zend/zend_language_scanner.l"
+#line 1103 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 7085 "Zend/zend_language_scanner.c"
+#line 7064 "Zend/zend_language_scanner.c"
 yy747:
                YYDEBUG(747, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7095,11 +7074,11 @@ yy748:
                }
                YYDEBUG(749, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1066 "Zend/zend_language_scanner.l"
+#line 1045 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 7103 "Zend/zend_language_scanner.c"
+#line 7082 "Zend/zend_language_scanner.c"
 yy750:
                YYDEBUG(750, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7119,11 +7098,11 @@ yy752:
                }
                YYDEBUG(753, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1038 "Zend/zend_language_scanner.l"
+#line 1017 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 7127 "Zend/zend_language_scanner.c"
+#line 7106 "Zend/zend_language_scanner.c"
 yy754:
                YYDEBUG(754, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7137,11 +7116,11 @@ yy755:
                }
                YYDEBUG(756, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 962 "Zend/zend_language_scanner.l"
+#line 941 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 7145 "Zend/zend_language_scanner.c"
+#line 7124 "Zend/zend_language_scanner.c"
 yy757:
                YYDEBUG(757, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7192,11 +7171,11 @@ yy765:
                }
                YYDEBUG(766, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 946 "Zend/zend_language_scanner.l"
+#line 925 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 7200 "Zend/zend_language_scanner.c"
+#line 7179 "Zend/zend_language_scanner.c"
 yy767:
                YYDEBUG(767, *YYCURSOR);
                ++YYCURSOR;
@@ -7220,11 +7199,11 @@ yy767:
 yy768:
                YYDEBUG(768, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 998 "Zend/zend_language_scanner.l"
+#line 977 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 7228 "Zend/zend_language_scanner.c"
+#line 7207 "Zend/zend_language_scanner.c"
 yy769:
                YYDEBUG(769, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7248,11 +7227,11 @@ yy772:
                }
                YYDEBUG(773, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1006 "Zend/zend_language_scanner.l"
+#line 985 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 7256 "Zend/zend_language_scanner.c"
+#line 7235 "Zend/zend_language_scanner.c"
 yy774:
                YYDEBUG(774, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7271,11 +7250,11 @@ yy776:
                }
                YYDEBUG(777, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1216 "Zend/zend_language_scanner.l"
+#line 1195 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 7279 "Zend/zend_language_scanner.c"
+#line 7258 "Zend/zend_language_scanner.c"
 yy778:
                YYDEBUG(778, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7306,11 +7285,11 @@ yy780:
                }
                YYDEBUG(781, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 994 "Zend/zend_language_scanner.l"
+#line 973 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 7314 "Zend/zend_language_scanner.c"
+#line 7293 "Zend/zend_language_scanner.c"
 yy782:
                YYDEBUG(782, *YYCURSOR);
                ++YYCURSOR;
@@ -7319,11 +7298,11 @@ yy782:
                }
                YYDEBUG(783, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 942 "Zend/zend_language_scanner.l"
+#line 921 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7327 "Zend/zend_language_scanner.c"
+#line 7306 "Zend/zend_language_scanner.c"
 yy784:
                YYDEBUG(784, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7358,11 +7337,11 @@ yy789:
                }
                YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1042 "Zend/zend_language_scanner.l"
+#line 1021 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 7366 "Zend/zend_language_scanner.c"
+#line 7345 "Zend/zend_language_scanner.c"
 yy791:
                YYDEBUG(791, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7386,11 +7365,11 @@ yy794:
                }
                YYDEBUG(795, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1014 "Zend/zend_language_scanner.l"
+#line 993 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 7394 "Zend/zend_language_scanner.c"
+#line 7373 "Zend/zend_language_scanner.c"
 yy796:
                YYDEBUG(796, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7470,11 +7449,11 @@ yy807:
                }
                YYDEBUG(808, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1074 "Zend/zend_language_scanner.l"
+#line 1053 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 7478 "Zend/zend_language_scanner.c"
+#line 7457 "Zend/zend_language_scanner.c"
 yy809:
                YYDEBUG(809, *YYCURSOR);
                ++YYCURSOR;
@@ -7483,11 +7462,11 @@ yy809:
                }
                YYDEBUG(810, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 938 "Zend/zend_language_scanner.l"
+#line 917 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7491 "Zend/zend_language_scanner.c"
+#line 7470 "Zend/zend_language_scanner.c"
 yy811:
                YYDEBUG(811, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7501,11 +7480,11 @@ yy812:
                }
                YYDEBUG(813, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1164 "Zend/zend_language_scanner.l"
+#line 1143 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 7509 "Zend/zend_language_scanner.c"
+#line 7488 "Zend/zend_language_scanner.c"
 yy814:
                YYDEBUG(814, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7575,11 +7554,11 @@ yy823:
                }
                YYDEBUG(824, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 990 "Zend/zend_language_scanner.l"
+#line 969 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 7583 "Zend/zend_language_scanner.c"
+#line 7562 "Zend/zend_language_scanner.c"
 yy825:
                YYDEBUG(825, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7608,11 +7587,11 @@ yy829:
                }
                YYDEBUG(830, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1034 "Zend/zend_language_scanner.l"
+#line 1013 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 7616 "Zend/zend_language_scanner.c"
+#line 7595 "Zend/zend_language_scanner.c"
 yy831:
                YYDEBUG(831, *YYCURSOR);
                ++YYCURSOR;
@@ -7621,11 +7600,11 @@ yy831:
                }
                YYDEBUG(832, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 978 "Zend/zend_language_scanner.l"
+#line 957 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 7629 "Zend/zend_language_scanner.c"
+#line 7608 "Zend/zend_language_scanner.c"
 yy833:
                YYDEBUG(833, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7654,11 +7633,11 @@ yy834:
 yy835:
                YYDEBUG(835, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1002 "Zend/zend_language_scanner.l"
+#line 981 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 7662 "Zend/zend_language_scanner.c"
+#line 7641 "Zend/zend_language_scanner.c"
 yy836:
                YYDEBUG(836, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7682,11 +7661,11 @@ yy839:
                }
                YYDEBUG(840, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1010 "Zend/zend_language_scanner.l"
+#line 989 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 7690 "Zend/zend_language_scanner.c"
+#line 7669 "Zend/zend_language_scanner.c"
 yy841:
                YYDEBUG(841, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7720,11 +7699,11 @@ yy846:
                }
                YYDEBUG(847, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1018 "Zend/zend_language_scanner.l"
+#line 997 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 7728 "Zend/zend_language_scanner.c"
+#line 7707 "Zend/zend_language_scanner.c"
 yy848:
                YYDEBUG(848, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7743,11 +7722,11 @@ yy850:
                }
                YYDEBUG(851, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1200 "Zend/zend_language_scanner.l"
+#line 1179 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 7751 "Zend/zend_language_scanner.c"
+#line 7730 "Zend/zend_language_scanner.c"
 yy852:
                YYDEBUG(852, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7776,11 +7755,11 @@ yy853:
 yy854:
                YYDEBUG(854, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 982 "Zend/zend_language_scanner.l"
+#line 961 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 7784 "Zend/zend_language_scanner.c"
+#line 7763 "Zend/zend_language_scanner.c"
 yy855:
                YYDEBUG(855, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7794,11 +7773,11 @@ yy856:
                }
                YYDEBUG(857, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 974 "Zend/zend_language_scanner.l"
+#line 953 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 7802 "Zend/zend_language_scanner.c"
+#line 7781 "Zend/zend_language_scanner.c"
 yy858:
                YYDEBUG(858, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7812,11 +7791,11 @@ yy859:
                }
                YYDEBUG(860, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1058 "Zend/zend_language_scanner.l"
+#line 1037 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 7820 "Zend/zend_language_scanner.c"
+#line 7799 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7889,7 +7868,7 @@ yy863:
 yy864:
                YYDEBUG(864, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1087 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -7897,7 +7876,7 @@ yy864:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 7901 "Zend/zend_language_scanner.c"
+#line 7880 "Zend/zend_language_scanner.c"
 yy865:
                YYDEBUG(865, *YYCURSOR);
                ++YYCURSOR;
@@ -7905,13 +7884,13 @@ yy865:
 yy866:
                YYDEBUG(866, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1106 "Zend/zend_language_scanner.l"
+#line 1085 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 7915 "Zend/zend_language_scanner.c"
+#line 7894 "Zend/zend_language_scanner.c"
 yy867:
                YYDEBUG(867, *YYCURSOR);
                ++YYCURSOR;
@@ -7920,14 +7899,14 @@ yy867:
 yy868:
                YYDEBUG(868, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1078 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 7931 "Zend/zend_language_scanner.c"
+#line 7910 "Zend/zend_language_scanner.c"
 yy869:
                YYDEBUG(869, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7948,11 +7927,11 @@ yy872:
                ++YYCURSOR;
                YYDEBUG(873, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1095 "Zend/zend_language_scanner.l"
+#line 1074 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 7956 "Zend/zend_language_scanner.c"
+#line 7935 "Zend/zend_language_scanner.c"
 yy874:
                YYDEBUG(874, *YYCURSOR);
                ++YYCURSOR;
@@ -8022,7 +8001,7 @@ yy878:
 yy879:
                YYDEBUG(879, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1378 "Zend/zend_language_scanner.l"
+#line 1357 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -8030,20 +8009,20 @@ yy879:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8034 "Zend/zend_language_scanner.c"
+#line 8013 "Zend/zend_language_scanner.c"
 yy880:
                YYDEBUG(880, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(881, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1387 "Zend/zend_language_scanner.l"
+#line 1366 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8047 "Zend/zend_language_scanner.c"
+#line 8026 "Zend/zend_language_scanner.c"
 yy882:
                YYDEBUG(882, *YYCURSOR);
                ++YYCURSOR;
@@ -8192,7 +8171,7 @@ yy895:
                ++YYCURSOR;
                YYDEBUG(896, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2077 "Zend/zend_language_scanner.l"
+#line 2056 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -8232,7 +8211,7 @@ yy895:
                yymore();
        }
 }
-#line 8236 "Zend/zend_language_scanner.c"
+#line 8215 "Zend/zend_language_scanner.c"
 yy897:
                YYDEBUG(897, *YYCURSOR);
                ++YYCURSOR;
@@ -8339,11 +8318,11 @@ yy903:
 yy904:
                YYDEBUG(904, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1745 "Zend/zend_language_scanner.l"
+#line 1724 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 8347 "Zend/zend_language_scanner.c"
+#line 8326 "Zend/zend_language_scanner.c"
 yy905:
                YYDEBUG(905, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8366,7 +8345,7 @@ yy907:
 yy909:
                YYDEBUG(909, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1749 "Zend/zend_language_scanner.l"
+#line 1728 "Zend/zend_language_scanner.l"
                {
        switch (yytext[yyleng-1]) {
                case '?': case '%': case '>':
@@ -8384,7 +8363,7 @@ yy909:
                        return T_COMMENT;
        }
 }
-#line 8388 "Zend/zend_language_scanner.c"
+#line 8367 "Zend/zend_language_scanner.c"
 yy910:
                YYDEBUG(910, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8397,7 +8376,7 @@ yy911:
                ++YYCURSOR;
                YYDEBUG(913, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1767 "Zend/zend_language_scanner.l"
+#line 1746 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -8406,7 +8385,7 @@ yy911:
        CG(zend_lineno)++;
        return T_COMMENT;
 }
-#line 8410 "Zend/zend_language_scanner.c"
+#line 8389 "Zend/zend_language_scanner.c"
 yy914:
                YYDEBUG(914, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8416,7 +8395,7 @@ yy915:
                ++YYCURSOR;
                YYDEBUG(916, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1776 "Zend/zend_language_scanner.l"
+#line 1755 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -8429,7 +8408,7 @@ yy915:
                yymore();
        }
 }
-#line 8433 "Zend/zend_language_scanner.c"
+#line 8412 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -8530,7 +8509,7 @@ yy919:
 yy920:
                YYDEBUG(920, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1437 "Zend/zend_language_scanner.l"
+#line 1416 "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);
@@ -8542,7 +8521,7 @@ yy920:
        }
        return T_NUM_STRING;
 }
-#line 8546 "Zend/zend_language_scanner.c"
+#line 8525 "Zend/zend_language_scanner.c"
 yy921:
                YYDEBUG(921, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8562,23 +8541,23 @@ yy922:
 yy923:
                YYDEBUG(923, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1720 "Zend/zend_language_scanner.l"
+#line 1699 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 8571 "Zend/zend_language_scanner.c"
+#line 8550 "Zend/zend_language_scanner.c"
 yy924:
                YYDEBUG(924, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(925, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1694 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 8582 "Zend/zend_language_scanner.c"
+#line 8561 "Zend/zend_language_scanner.c"
 yy926:
                YYDEBUG(926, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8588,7 +8567,7 @@ yy927:
                ++YYCURSOR;
                YYDEBUG(928, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1704 "Zend/zend_language_scanner.l"
                {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
@@ -8596,7 +8575,7 @@ yy927:
        ZVAL_EMPTY_STRING(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8600 "Zend/zend_language_scanner.c"
+#line 8579 "Zend/zend_language_scanner.c"
 yy929:
                YYDEBUG(929, *YYCURSOR);
                ++YYCURSOR;
@@ -8605,24 +8584,24 @@ yy929:
 yy930:
                YYDEBUG(930, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8615 "Zend/zend_language_scanner.c"
+#line 8594 "Zend/zend_language_scanner.c"
 yy931:
                YYDEBUG(931, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(932, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2130 "Zend/zend_language_scanner.l"
+#line 2109 "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 8626 "Zend/zend_language_scanner.c"
+#line 8605 "Zend/zend_language_scanner.c"
 yy933:
                YYDEBUG(933, *YYCURSOR);
                ++YYCURSOR;
@@ -8658,13 +8637,13 @@ yy935:
 yy937:
                YYDEBUG(937, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 8668 "Zend/zend_language_scanner.c"
+#line 8647 "Zend/zend_language_scanner.c"
 yy938:
                YYDEBUG(938, *YYCURSOR);
                ++YYCURSOR;
@@ -8696,14 +8675,14 @@ yy942:
 yy944:
                YYDEBUG(944, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1449 "Zend/zend_language_scanner.l"
+#line 1428 "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 8707 "Zend/zend_language_scanner.c"
+#line 8686 "Zend/zend_language_scanner.c"
 yy945:
                YYDEBUG(945, *YYCURSOR);
                ++YYCURSOR;
@@ -8716,6 +8695,6 @@ yy945:
                goto yy944;
        }
 }
-#line 2135 "Zend/zend_language_scanner.l"
+#line 2114 "Zend/zend_language_scanner.l"
 
 }
index 5496de2f5fce62f1b1abbfa40cc844a35bec56c6..053770139a10c9c26e707a69cb562d469f90c097 100644 (file)
@@ -843,27 +843,6 @@ yymore_restart:
                return 0;
        }
 
-       /* ignore first line when it's started with a #! */
-       if (YYCURSOR == SCNG(yy_start) && *YYCURSOR == '#' && *(YYCURSOR + 1) == '!') {
-               while (++YYCURSOR < YYLIMIT) {
-                       if (*YYCURSOR == '\n') {
-                               ++YYCURSOR;
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-
-                       if (*YYCURSOR == '\r') {
-                               if (++YYCURSOR < YYLIMIT && *YYCURSOR == '\n') { /* match \r\n as single newline */
-                                       ++YYCURSOR;
-                               }
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-               }
-
-               return 0; /* EOF */
-       }
-
 /*!re2c
 re2c:yyfill:check = 0;
 LNUM   [0-9]+
index 3b2d270fd07ec8e6c0ac405336812be4d16d2c29..e3d556fdaf6dfb8229c250ec1a29d879ce3119b4 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Tue Nov  4 01:40:34 2008 */
+/* Generated by re2c 0.13.5 on Fri Jan  9 12:08:49 2009 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {
index 6e5f3f3836eb189fa42c17f82e0de9bf5ecd0811..10183d664bdcc42d6a6088d2a9795970e9b3f9d8 100644 (file)
@@ -214,7 +214,7 @@ ZEND_API int zend_stream_fixup(zend_file_handle *file_handle, char **buf, size_t
 #if HAVE_MMAP
                if (file_handle->handle.fp) {
                        /*  *buf[size] is zeroed automatically by the kernel */
-                       *buf = mmap(0, size + ZEND_MMAP_AHEAD, PROT_READ, MAP_PRIVATE, fileno(file_handle->handle.fp), 0);
+                       *buf = mmap(0, size + ZEND_MMAP_AHEAD, PROT_READ, MAP_PRIVATE, fileno(file_handle->handle.fp), ftell(file_handle->handle.fp));
                        if (*buf != MAP_FAILED) {
                                file_handle->handle.stream.mmap.len = size;
                                file_handle->handle.stream.mmap.map = *buf;
index 3b72f9469f8dc1f1b3f21057420740d8a3f5deba..373c39f2c91b3ab0baf48190ac553a46d28c318f 100644 (file)
@@ -570,6 +570,8 @@ static const char *param_mode_conflict = "Either execute direct code, process st
  */
 static int cli_seek_file_begin(zend_file_handle *file_handle, char *script_file, int *lineno TSRMLS_DC)
 {
+       char c;
+
        *lineno = 1;
 
        file_handle->type = ZEND_HANDLE_FP;
@@ -580,6 +582,25 @@ static int cli_seek_file_begin(zend_file_handle *file_handle, char *script_file,
                return FAILURE;
        }
        file_handle->filename = script_file;
+
+       /* #!php support */
+       c = fgetc(file_handle->handle.fp);
+       if (c == '#' && (c = fgetc(file_handle->handle.fp)) == '!') {
+               while (c != '\n' && c != '\r' && c != EOF) {
+                       c = fgetc(file_handle->handle.fp);      /* skip to end of line */
+               }
+               /* handle situations where line is terminated by \r\n */
+               if (c == '\r') {
+                       if (fgetc(file_handle->handle.fp) != '\n') {
+                               long pos = ftell(file_handle->handle.fp);
+                               fseek(file_handle->handle.fp, pos - 1, SEEK_SET);
+                       }
+               }
+               *lineno = 2;
+       } else {
+               rewind(file_handle->handle.fp);
+       }
+
        return SUCCESS;
 }
 /* }}} */