]> granicus.if.org Git - php/commitdiff
- Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3)
authorFelipe Pena <felipe@php.net>
Sun, 27 Jun 2010 21:46:16 +0000 (21:46 +0000)
committerFelipe Pena <felipe@php.net>
Sun, 27 Jun 2010 21:46:16 +0000 (21:46 +0000)
NEWS
Zend/tests/bug48930.phpt [new file with mode: 0644]
Zend/zend_globals.h
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
sapi/cgi/cgi_main.c
sapi/cli/php_cli.c

diff --git a/NEWS b/NEWS
index 3577a12b66b014ab9fca9e799f7d3cebfb93dee3..e62f66612b2c77c5a1989e16ac57085311e237f1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ PHP                                                                        NEWS
   (Andrey)
 - Fixed bug #51421 (Abstract __construct constructor argument list not
   enforced). (Felipe)
+- Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3). (Felipe)
 
 17 Jun 2010, PHP 5.3.3 RC1
 - Upgraded bundled sqlite to version 3.6.23.1. (Ilia)
diff --git a/Zend/tests/bug48930.phpt b/Zend/tests/bug48930.phpt
new file mode 100644 (file)
index 0000000..13b67f2
--- /dev/null
@@ -0,0 +1,16 @@
+--TEST--
+Bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP>=5.3)
+--FILE--
+#!php
+<?php
+
+/*
+ * Test
+ */
+printf("__COMPILER_HALT_OFFSET__ is %d\n",__COMPILER_HALT_OFFSET__);
+
+__halt_compiler();
+
+?>
+--EXPECT--
+__COMPILER_HALT_OFFSET__ is 116
index 368e88ec39a6b6f3c767d8c84ceaf4adfc974fec..9f6dea0466392f102459083b6afd20a052944121 100644 (file)
@@ -88,6 +88,7 @@ struct _zend_compiler_globals {
        char *compiled_filename;
 
        int zend_lineno;
+       int shebang_len;
 
        char *heredoc;
        int heredoc_len;
index 38163108456be52c2d27fc21a54197c811110ddc..84637bb86c895ccb4740bda330540a33c5157448 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon Jan 11 14:20:20 2010 */
+/* Generated by re2c 0.13.5 on Sun Jun 27 18:29:37 2010 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -301,6 +301,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
                CG(start_lineno) = 0;
        } else {
                CG(zend_lineno) = 1;
+               CG(shebang_len) = 0;
        }
 
        CG(increment_lineno) = 0;
@@ -444,7 +445,7 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D
 
 ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
 {
-       size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
+       size_t offset = (SCNG(yy_cursor) - SCNG(yy_start)) + CG(shebang_len);
 #ifdef ZEND_MULTIBYTE
        if (SCNG(input_filter)) {
                size_t original_offset = offset, length = 0; do {
@@ -834,7 +835,7 @@ restart:
 yymore_restart:
 
 
-#line 838 "Zend/zend_language_scanner.c"
+#line 839 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -933,7 +934,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1562 "Zend/zend_language_scanner.l"
+#line 1563 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -998,7 +999,7 @@ inline_html:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 1002 "Zend/zend_language_scanner.c"
+#line 1003 "Zend/zend_language_scanner.c"
 yy4:
                YYDEBUG(4, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1016,7 +1017,7 @@ yy5:
 yy6:
                YYDEBUG(6, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1550 "Zend/zend_language_scanner.l"
+#line 1551 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1028,14 +1029,14 @@ yy6:
                goto inline_char_handler;
        }
 }
-#line 1032 "Zend/zend_language_scanner.c"
+#line 1033 "Zend/zend_language_scanner.c"
 yy7:
                YYDEBUG(7, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy43;
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1527 "Zend/zend_language_scanner.l"
+#line 1528 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1047,7 +1048,7 @@ yy7:
                goto inline_char_handler;
        }
 }
-#line 1051 "Zend/zend_language_scanner.c"
+#line 1052 "Zend/zend_language_scanner.c"
 yy9:
                YYDEBUG(9, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1233,7 +1234,7 @@ yy35:
                ++YYCURSOR;
                YYDEBUG(38, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1483 "Zend/zend_language_scanner.l"
+#line 1484 "Zend/zend_language_scanner.l"
                {
        YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
 
@@ -1250,7 +1251,7 @@ yy35:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1254 "Zend/zend_language_scanner.c"
+#line 1255 "Zend/zend_language_scanner.c"
 yy39:
                YYDEBUG(39, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1277,7 +1278,7 @@ yy43:
                ++YYCURSOR;
                YYDEBUG(44, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1501 "Zend/zend_language_scanner.l"
+#line 1502 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1289,13 +1290,13 @@ yy43:
                goto inline_char_handler;
        }
 }
-#line 1293 "Zend/zend_language_scanner.c"
+#line 1294 "Zend/zend_language_scanner.c"
 yy45:
                YYDEBUG(45, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1514 "Zend/zend_language_scanner.l"
+#line 1515 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1307,7 +1308,7 @@ yy45:
                goto inline_char_handler;
        }
 }
-#line 1311 "Zend/zend_language_scanner.c"
+#line 1312 "Zend/zend_language_scanner.c"
 yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1334,7 +1335,7 @@ yy50:
 yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1540 "Zend/zend_language_scanner.l"
+#line 1541 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1343,7 +1344,7 @@ yy51:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1347 "Zend/zend_language_scanner.c"
+#line 1348 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
@@ -1414,7 +1415,7 @@ yyc_ST_BACKQUOTE:
 yy56:
                YYDEBUG(56, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2020 "Zend/zend_language_scanner.l"
+#line 2021 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -1455,7 +1456,7 @@ yy56:
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1459 "Zend/zend_language_scanner.c"
+#line 1460 "Zend/zend_language_scanner.c"
 yy57:
                YYDEBUG(57, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1466,12 +1467,12 @@ yy58:
                ++YYCURSOR;
                YYDEBUG(59, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1964 "Zend/zend_language_scanner.l"
+#line 1965 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1475 "Zend/zend_language_scanner.c"
+#line 1476 "Zend/zend_language_scanner.c"
 yy60:
                YYDEBUG(60, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1481,14 +1482,14 @@ yy61:
                ++YYCURSOR;
                YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1951 "Zend/zend_language_scanner.l"
+#line 1952 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1492 "Zend/zend_language_scanner.c"
+#line 1493 "Zend/zend_language_scanner.c"
 yy63:
                YYDEBUG(63, *YYCURSOR);
                yyaccept = 0;
@@ -1504,24 +1505,24 @@ yy63:
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1514 "Zend/zend_language_scanner.c"
+#line 1515 "Zend/zend_language_scanner.c"
 yy66:
                YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1277 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1525 "Zend/zend_language_scanner.c"
+#line 1526 "Zend/zend_language_scanner.c"
 yy68:
                YYDEBUG(68, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1535,7 +1536,7 @@ yy70:
                ++YYCURSOR;
                YYDEBUG(71, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1641 "Zend/zend_language_scanner.l"
+#line 1642 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1543,7 +1544,7 @@ yy70:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1547 "Zend/zend_language_scanner.c"
+#line 1548 "Zend/zend_language_scanner.c"
 yy72:
                YYDEBUG(72, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1561,7 +1562,7 @@ yy73:
                ++YYCURSOR;
                YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1631 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1569,7 +1570,7 @@ yy73:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1573 "Zend/zend_language_scanner.c"
+#line 1574 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -1637,7 +1638,7 @@ yy77:
 yy78:
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1970 "Zend/zend_language_scanner.l"
+#line 1971 "Zend/zend_language_scanner.l"
                {
        if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
                YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1686,7 +1687,7 @@ double_quotes_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1690 "Zend/zend_language_scanner.c"
+#line 1691 "Zend/zend_language_scanner.c"
 yy79:
                YYDEBUG(79, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1697,12 +1698,12 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1959 "Zend/zend_language_scanner.l"
+#line 1960 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 1706 "Zend/zend_language_scanner.c"
+#line 1707 "Zend/zend_language_scanner.c"
 yy82:
                YYDEBUG(82, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1712,14 +1713,14 @@ yy83:
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1951 "Zend/zend_language_scanner.l"
+#line 1952 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1723 "Zend/zend_language_scanner.c"
+#line 1724 "Zend/zend_language_scanner.c"
 yy85:
                YYDEBUG(85, *YYCURSOR);
                yyaccept = 0;
@@ -1735,24 +1736,24 @@ yy85:
 yy87:
                YYDEBUG(87, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1745 "Zend/zend_language_scanner.c"
+#line 1746 "Zend/zend_language_scanner.c"
 yy88:
                YYDEBUG(88, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1277 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1756 "Zend/zend_language_scanner.c"
+#line 1757 "Zend/zend_language_scanner.c"
 yy90:
                YYDEBUG(90, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1766,7 +1767,7 @@ yy92:
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1641 "Zend/zend_language_scanner.l"
+#line 1642 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1774,7 +1775,7 @@ yy92:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1778 "Zend/zend_language_scanner.c"
+#line 1779 "Zend/zend_language_scanner.c"
 yy94:
                YYDEBUG(94, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1792,7 +1793,7 @@ yy95:
                ++YYCURSOR;
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1631 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1800,7 +1801,7 @@ yy95:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1804 "Zend/zend_language_scanner.c"
+#line 1805 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -1811,7 +1812,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(100, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 1938 "Zend/zend_language_scanner.l"
+#line 1939 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -1823,7 +1824,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 1827 "Zend/zend_language_scanner.c"
+#line 1828 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -1885,7 +1886,7 @@ yy103:
 yy104:
                YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2062 "Zend/zend_language_scanner.l"
+#line 2063 "Zend/zend_language_scanner.l"
                {
        int newline = 0;
 
@@ -1956,7 +1957,7 @@ heredoc_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1960 "Zend/zend_language_scanner.c"
+#line 1961 "Zend/zend_language_scanner.c"
 yy105:
                YYDEBUG(105, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1971,14 +1972,14 @@ yy107:
                ++YYCURSOR;
                YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1951 "Zend/zend_language_scanner.l"
+#line 1952 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1982 "Zend/zend_language_scanner.c"
+#line 1983 "Zend/zend_language_scanner.c"
 yy109:
                YYDEBUG(109, *YYCURSOR);
                yyaccept = 0;
@@ -1994,24 +1995,24 @@ yy109:
 yy111:
                YYDEBUG(111, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2004 "Zend/zend_language_scanner.c"
+#line 2005 "Zend/zend_language_scanner.c"
 yy112:
                YYDEBUG(112, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1276 "Zend/zend_language_scanner.l"
+#line 1277 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2015 "Zend/zend_language_scanner.c"
+#line 2016 "Zend/zend_language_scanner.c"
 yy114:
                YYDEBUG(114, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2025,7 +2026,7 @@ yy116:
                ++YYCURSOR;
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1641 "Zend/zend_language_scanner.l"
+#line 1642 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2033,7 +2034,7 @@ yy116:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2037 "Zend/zend_language_scanner.c"
+#line 2038 "Zend/zend_language_scanner.c"
 yy118:
                YYDEBUG(118, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2051,7 +2052,7 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1631 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2059,7 +2060,7 @@ yy119:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2063 "Zend/zend_language_scanner.c"
+#line 2064 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -2240,13 +2241,13 @@ yy123:
 yy124:
                YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1672 "Zend/zend_language_scanner.l"
+#line 1673 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 2250 "Zend/zend_language_scanner.c"
+#line 2251 "Zend/zend_language_scanner.c"
 yy125:
                YYDEBUG(125, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2472,11 +2473,11 @@ yy137:
 yy138:
                YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1265 "Zend/zend_language_scanner.l"
+#line 1266 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 2480 "Zend/zend_language_scanner.c"
+#line 2481 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                ++YYCURSOR;
@@ -2485,7 +2486,7 @@ yy139:
 yy140:
                YYDEBUG(140, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1000 "Zend/zend_language_scanner.l"
+#line 1001 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -2493,7 +2494,7 @@ yy140:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 2497 "Zend/zend_language_scanner.c"
+#line 2498 "Zend/zend_language_scanner.c"
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2504,11 +2505,11 @@ yy142:
                ++YYCURSOR;
                YYDEBUG(143, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1029 "Zend/zend_language_scanner.l"
+#line 1030 "Zend/zend_language_scanner.l"
                {
        return T_NS_SEPARATOR;
 }
-#line 2512 "Zend/zend_language_scanner.c"
+#line 2513 "Zend/zend_language_scanner.c"
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2736,18 +2737,18 @@ yy167:
                ++YYCURSOR;
                YYDEBUG(168, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1270 "Zend/zend_language_scanner.l"
+#line 1271 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 2745 "Zend/zend_language_scanner.c"
+#line 2746 "Zend/zend_language_scanner.c"
 yy169:
                YYDEBUG(169, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(170, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1282 "Zend/zend_language_scanner.l"
+#line 1283 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2755,7 +2756,7 @@ yy169:
        }
        return '}';
 }
-#line 2759 "Zend/zend_language_scanner.c"
+#line 2760 "Zend/zend_language_scanner.c"
 yy171:
                YYDEBUG(171, *YYCURSOR);
                yyaccept = 2;
@@ -2778,7 +2779,7 @@ yy171:
 yy172:
                YYDEBUG(172, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1308 "Zend/zend_language_scanner.l"
+#line 1309 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -2799,7 +2800,7 @@ yy172:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 2803 "Zend/zend_language_scanner.c"
+#line 2804 "Zend/zend_language_scanner.c"
 yy173:
                YYDEBUG(173, *YYCURSOR);
                yyaccept = 2;
@@ -2827,7 +2828,7 @@ yy175:
 yy176:
                YYDEBUG(176, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1679 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
        while (YYCURSOR < YYLIMIT) {
                switch (*YYCURSOR++) {
@@ -2861,14 +2862,14 @@ yy176:
 
        return T_COMMENT;
 }
-#line 2865 "Zend/zend_language_scanner.c"
+#line 2866 "Zend/zend_language_scanner.c"
 yy177:
                YYDEBUG(177, *YYCURSOR);
                ++YYCURSOR;
 yy178:
                YYDEBUG(178, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1770 "Zend/zend_language_scanner.l"
+#line 1771 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -2938,14 +2939,14 @@ yy178:
 #endif /* ZEND_MULTIBYTE */
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 2942 "Zend/zend_language_scanner.c"
+#line 2943 "Zend/zend_language_scanner.c"
 yy179:
                YYDEBUG(179, *YYCURSOR);
                ++YYCURSOR;
 yy180:
                YYDEBUG(180, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1841 "Zend/zend_language_scanner.l"
+#line 1842 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
 
@@ -2986,24 +2987,24 @@ yy180:
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 2990 "Zend/zend_language_scanner.c"
+#line 2991 "Zend/zend_language_scanner.c"
 yy181:
                YYDEBUG(181, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1932 "Zend/zend_language_scanner.l"
+#line 1933 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3001 "Zend/zend_language_scanner.c"
+#line 3002 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(184, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2190 "Zend/zend_language_scanner.l"
+#line 2191 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -3012,7 +3013,7 @@ yy183:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 3016 "Zend/zend_language_scanner.c"
+#line 3017 "Zend/zend_language_scanner.c"
 yy185:
                YYDEBUG(185, *YYCURSOR);
                ++YYCURSOR;
@@ -3039,13 +3040,13 @@ yy187:
 yy189:
                YYDEBUG(189, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1369 "Zend/zend_language_scanner.l"
+#line 1370 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 3049 "Zend/zend_language_scanner.c"
+#line 3050 "Zend/zend_language_scanner.c"
 yy190:
                YYDEBUG(190, *YYCURSOR);
                yyaccept = 2;
@@ -3130,7 +3131,7 @@ yy198:
                }
                YYDEBUG(200, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1329 "Zend/zend_language_scanner.l"
+#line 1330 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -3151,7 +3152,7 @@ yy198:
                return T_DNUMBER;
        }
 }
-#line 3155 "Zend/zend_language_scanner.c"
+#line 3156 "Zend/zend_language_scanner.c"
 yy201:
                YYDEBUG(201, *YYCURSOR);
                ++YYCURSOR;
@@ -3160,7 +3161,7 @@ yy201:
 yy202:
                YYDEBUG(202, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1747 "Zend/zend_language_scanner.l"
+#line 1748 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3168,7 +3169,7 @@ yy202:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 3172 "Zend/zend_language_scanner.c"
+#line 3173 "Zend/zend_language_scanner.c"
 yy203:
                YYDEBUG(203, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3202,13 +3203,13 @@ yy205:
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3212 "Zend/zend_language_scanner.c"
+#line 3213 "Zend/zend_language_scanner.c"
 yy208:
                YYDEBUG(208, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3222,11 +3223,11 @@ yy209:
                }
                YYDEBUG(210, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1253 "Zend/zend_language_scanner.l"
+#line 1254 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 3230 "Zend/zend_language_scanner.c"
+#line 3231 "Zend/zend_language_scanner.c"
 yy211:
                YYDEBUG(211, *YYCURSOR);
                ++YYCURSOR;
@@ -3235,61 +3236,61 @@ yy211:
                }
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1245 "Zend/zend_language_scanner.l"
+#line 1246 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 3243 "Zend/zend_language_scanner.c"
+#line 3244 "Zend/zend_language_scanner.c"
 yy213:
                YYDEBUG(213, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(214, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1233 "Zend/zend_language_scanner.l"
+#line 1234 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 3253 "Zend/zend_language_scanner.c"
+#line 3254 "Zend/zend_language_scanner.c"
 yy215:
                YYDEBUG(215, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1237 "Zend/zend_language_scanner.l"
+#line 1238 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 3263 "Zend/zend_language_scanner.c"
+#line 3264 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(218, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1229 "Zend/zend_language_scanner.l"
+#line 1230 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 3273 "Zend/zend_language_scanner.c"
+#line 3274 "Zend/zend_language_scanner.c"
 yy219:
                YYDEBUG(219, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(220, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1241 "Zend/zend_language_scanner.l"
+#line 1242 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 3283 "Zend/zend_language_scanner.c"
+#line 3284 "Zend/zend_language_scanner.c"
 yy221:
                YYDEBUG(221, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(222, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1225 "Zend/zend_language_scanner.l"
+#line 1226 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 3293 "Zend/zend_language_scanner.c"
+#line 3294 "Zend/zend_language_scanner.c"
 yy223:
                YYDEBUG(223, *YYCURSOR);
                ++YYCURSOR;
@@ -3298,7 +3299,7 @@ yy223:
 yy224:
                YYDEBUG(224, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1756 "Zend/zend_language_scanner.l"
+#line 1757 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -3311,17 +3312,17 @@ yy224:
                return yytext[0];
        }
 }
-#line 3315 "Zend/zend_language_scanner.c"
+#line 3316 "Zend/zend_language_scanner.c"
 yy225:
                YYDEBUG(225, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(226, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1213 "Zend/zend_language_scanner.l"
+#line 1214 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 3325 "Zend/zend_language_scanner.c"
+#line 3326 "Zend/zend_language_scanner.c"
 yy227:
                YYDEBUG(227, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3352,11 +3353,11 @@ yy231:
                ++YYCURSOR;
                YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1209 "Zend/zend_language_scanner.l"
+#line 1210 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 3360 "Zend/zend_language_scanner.c"
+#line 3361 "Zend/zend_language_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yyaccept = 4;
@@ -3365,7 +3366,7 @@ yy233:
 yy234:
                YYDEBUG(234, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1713 "Zend/zend_language_scanner.l"
+#line 1714 "Zend/zend_language_scanner.l"
                {
        int doc_com;
 
@@ -3399,7 +3400,7 @@ yy234:
 
        return T_COMMENT;
 }
-#line 3403 "Zend/zend_language_scanner.c"
+#line 3404 "Zend/zend_language_scanner.c"
 yy235:
                YYDEBUG(235, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3409,11 +3410,11 @@ yy236:
                ++YYCURSOR;
                YYDEBUG(237, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1205 "Zend/zend_language_scanner.l"
+#line 1206 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 3417 "Zend/zend_language_scanner.c"
+#line 3418 "Zend/zend_language_scanner.c"
 yy238:
                YYDEBUG(238, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3436,42 +3437,42 @@ yy241:
                ++YYCURSOR;
                YYDEBUG(242, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1201 "Zend/zend_language_scanner.l"
+#line 1202 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 3444 "Zend/zend_language_scanner.c"
+#line 3445 "Zend/zend_language_scanner.c"
 yy243:
                YYDEBUG(243, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy247;
                YYDEBUG(244, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1262 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 3455 "Zend/zend_language_scanner.c"
+#line 3456 "Zend/zend_language_scanner.c"
 yy245:
                YYDEBUG(245, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(246, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1189 "Zend/zend_language_scanner.l"
+#line 1190 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 3465 "Zend/zend_language_scanner.c"
+#line 3466 "Zend/zend_language_scanner.c"
 yy247:
                YYDEBUG(247, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(248, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1221 "Zend/zend_language_scanner.l"
+#line 1222 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 3475 "Zend/zend_language_scanner.c"
+#line 3476 "Zend/zend_language_scanner.c"
 yy249:
                YYDEBUG(249, *YYCURSOR);
                yyaccept = 5;
@@ -3482,11 +3483,11 @@ yy249:
 yy250:
                YYDEBUG(250, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 3490 "Zend/zend_language_scanner.c"
+#line 3491 "Zend/zend_language_scanner.c"
 yy251:
                YYDEBUG(251, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3498,22 +3499,22 @@ yy252:
                ++YYCURSOR;
                YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1186 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 3506 "Zend/zend_language_scanner.c"
+#line 3507 "Zend/zend_language_scanner.c"
 yy254:
                YYDEBUG(254, *YYCURSOR);
                ++YYCURSOR;
 yy255:
                YYDEBUG(255, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1181 "Zend/zend_language_scanner.l"
+#line 1182 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 3517 "Zend/zend_language_scanner.c"
+#line 3518 "Zend/zend_language_scanner.c"
 yy256:
                YYDEBUG(256, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3564,11 +3565,11 @@ yy263:
                ++YYCURSOR;
                YYDEBUG(264, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1217 "Zend/zend_language_scanner.l"
+#line 1218 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 3572 "Zend/zend_language_scanner.c"
+#line 3573 "Zend/zend_language_scanner.c"
 yy265:
                YYDEBUG(265, *YYCURSOR);
                ++YYCURSOR;
@@ -3673,7 +3674,7 @@ yy274:
 yy275:
                YYDEBUG(275, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1883 "Zend/zend_language_scanner.l"
+#line 1884 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3721,7 +3722,7 @@ yy275:
 
        return T_START_HEREDOC;
 }
-#line 3725 "Zend/zend_language_scanner.c"
+#line 3726 "Zend/zend_language_scanner.c"
 yy276:
                YYDEBUG(276, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3761,31 +3762,31 @@ yy279:
                ++YYCURSOR;
                YYDEBUG(281, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1173 "Zend/zend_language_scanner.l"
+#line 1174 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 3769 "Zend/zend_language_scanner.c"
+#line 3770 "Zend/zend_language_scanner.c"
 yy282:
                YYDEBUG(282, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(283, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1193 "Zend/zend_language_scanner.l"
+#line 1194 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 3779 "Zend/zend_language_scanner.c"
+#line 3780 "Zend/zend_language_scanner.c"
 yy284:
                YYDEBUG(284, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(285, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1161 "Zend/zend_language_scanner.l"
+#line 1162 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 3789 "Zend/zend_language_scanner.c"
+#line 3790 "Zend/zend_language_scanner.c"
 yy286:
                YYDEBUG(286, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3804,42 +3805,42 @@ yy288:
                }
                YYDEBUG(289, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1153 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 3812 "Zend/zend_language_scanner.c"
+#line 3813 "Zend/zend_language_scanner.c"
 yy290:
                YYDEBUG(290, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy294;
                YYDEBUG(291, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1177 "Zend/zend_language_scanner.l"
+#line 1178 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 3823 "Zend/zend_language_scanner.c"
+#line 3824 "Zend/zend_language_scanner.c"
 yy292:
                YYDEBUG(292, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(293, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1149 "Zend/zend_language_scanner.l"
+#line 1150 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 3833 "Zend/zend_language_scanner.c"
+#line 3834 "Zend/zend_language_scanner.c"
 yy294:
                YYDEBUG(294, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(295, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1169 "Zend/zend_language_scanner.l"
+#line 1170 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 3843 "Zend/zend_language_scanner.c"
+#line 3844 "Zend/zend_language_scanner.c"
 yy296:
                YYDEBUG(296, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3961,7 +3962,7 @@ yy311:
                }
                YYDEBUG(314, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1473 "Zend/zend_language_scanner.l"
+#line 1474 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -3971,7 +3972,7 @@ yy311:
        }
        return T_NS_C;
 }
-#line 3975 "Zend/zend_language_scanner.c"
+#line 3976 "Zend/zend_language_scanner.c"
 yy315:
                YYDEBUG(315, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3991,7 +3992,7 @@ yy316:
                }
                YYDEBUG(319, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1446 "Zend/zend_language_scanner.l"
+#line 1447 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -4018,7 +4019,7 @@ yy316:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 4022 "Zend/zend_language_scanner.c"
+#line 4023 "Zend/zend_language_scanner.c"
 yy320:
                YYDEBUG(320, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4043,13 +4044,13 @@ yy322:
                }
                YYDEBUG(325, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1428 "Zend/zend_language_scanner.l"
+#line 1429 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 4053 "Zend/zend_language_scanner.c"
+#line 4054 "Zend/zend_language_scanner.c"
 yy326:
                YYDEBUG(326, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4084,7 +4085,7 @@ yy330:
                }
                YYDEBUG(333, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1407 "Zend/zend_language_scanner.l"
+#line 1408 "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;
@@ -4105,7 +4106,7 @@ yy330:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 4109 "Zend/zend_language_scanner.c"
+#line 4110 "Zend/zend_language_scanner.c"
 yy334:
                YYDEBUG(334, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4156,7 +4157,7 @@ yy341:
                }
                YYDEBUG(344, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1391 "Zend/zend_language_scanner.l"
+#line 1392 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -4172,7 +4173,7 @@ yy341:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 4176 "Zend/zend_language_scanner.c"
+#line 4177 "Zend/zend_language_scanner.c"
 yy345:
                YYDEBUG(345, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4192,7 +4193,7 @@ yy346:
                }
                YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1435 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -4204,7 +4205,7 @@ yy346:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 4208 "Zend/zend_language_scanner.c"
+#line 4209 "Zend/zend_language_scanner.c"
 yy350:
                YYDEBUG(350, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4234,7 +4235,7 @@ yy353:
                }
                YYDEBUG(356, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1375 "Zend/zend_language_scanner.l"
+#line 1376 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -4250,7 +4251,7 @@ yy353:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 4254 "Zend/zend_language_scanner.c"
+#line 4255 "Zend/zend_language_scanner.c"
 yy357:
                YYDEBUG(357, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4312,11 +4313,11 @@ yy368:
                }
                YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1117 "Zend/zend_language_scanner.l"
+#line 1118 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 4320 "Zend/zend_language_scanner.c"
+#line 4321 "Zend/zend_language_scanner.c"
 yy370:
                YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4336,11 +4337,11 @@ yy372:
                }
                YYDEBUG(373, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1101 "Zend/zend_language_scanner.l"
+#line 1102 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 4344 "Zend/zend_language_scanner.c"
+#line 4345 "Zend/zend_language_scanner.c"
 yy374:
                YYDEBUG(374, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4359,11 +4360,11 @@ yy376:
                }
                YYDEBUG(377, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1145 "Zend/zend_language_scanner.l"
+#line 1146 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 4367 "Zend/zend_language_scanner.c"
+#line 4368 "Zend/zend_language_scanner.c"
 yy378:
                YYDEBUG(378, *YYCURSOR);
                ++YYCURSOR;
@@ -4535,11 +4536,11 @@ yy393:
                ++YYCURSOR;
                YYDEBUG(395, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1045 "Zend/zend_language_scanner.l"
+#line 1046 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 4543 "Zend/zend_language_scanner.c"
+#line 4544 "Zend/zend_language_scanner.c"
 yy396:
                YYDEBUG(396, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4583,11 +4584,11 @@ yy401:
                ++YYCURSOR;
                YYDEBUG(404, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1049 "Zend/zend_language_scanner.l"
+#line 1050 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 4591 "Zend/zend_language_scanner.c"
+#line 4592 "Zend/zend_language_scanner.c"
 yy405:
                YYDEBUG(405, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4657,11 +4658,11 @@ yy415:
                ++YYCURSOR;
                YYDEBUG(418, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1053 "Zend/zend_language_scanner.l"
+#line 1054 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 4665 "Zend/zend_language_scanner.c"
+#line 4666 "Zend/zend_language_scanner.c"
 yy419:
                YYDEBUG(419, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4694,11 +4695,11 @@ yy422:
                ++YYCURSOR;
                YYDEBUG(425, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1061 "Zend/zend_language_scanner.l"
+#line 1062 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 4702 "Zend/zend_language_scanner.c"
+#line 4703 "Zend/zend_language_scanner.c"
 yy426:
                YYDEBUG(426, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4736,11 +4737,11 @@ yy430:
                ++YYCURSOR;
                YYDEBUG(433, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1065 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 4744 "Zend/zend_language_scanner.c"
+#line 4745 "Zend/zend_language_scanner.c"
 yy434:
                YYDEBUG(434, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4781,11 +4782,11 @@ yy439:
                ++YYCURSOR;
                YYDEBUG(441, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1069 "Zend/zend_language_scanner.l"
+#line 1070 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 4789 "Zend/zend_language_scanner.c"
+#line 4790 "Zend/zend_language_scanner.c"
 yy442:
                YYDEBUG(442, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4829,11 +4830,11 @@ yy447:
                ++YYCURSOR;
                YYDEBUG(450, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1057 "Zend/zend_language_scanner.l"
+#line 1058 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 4837 "Zend/zend_language_scanner.c"
+#line 4838 "Zend/zend_language_scanner.c"
 yy451:
                YYDEBUG(451, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4866,11 +4867,11 @@ yy454:
                ++YYCURSOR;
                YYDEBUG(457, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1073 "Zend/zend_language_scanner.l"
+#line 1074 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 4874 "Zend/zend_language_scanner.c"
+#line 4875 "Zend/zend_language_scanner.c"
 yy458:
                YYDEBUG(458, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4884,11 +4885,11 @@ yy459:
                }
                YYDEBUG(460, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1041 "Zend/zend_language_scanner.l"
+#line 1042 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 4892 "Zend/zend_language_scanner.c"
+#line 4893 "Zend/zend_language_scanner.c"
 yy461:
                YYDEBUG(461, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4908,11 +4909,11 @@ yy463:
                }
                YYDEBUG(464, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1033 "Zend/zend_language_scanner.l"
+#line 1034 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 4916 "Zend/zend_language_scanner.c"
+#line 4917 "Zend/zend_language_scanner.c"
 yy465:
                YYDEBUG(465, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4951,21 +4952,21 @@ yy471:
                }
                YYDEBUG(472, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1097 "Zend/zend_language_scanner.l"
+#line 1098 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 4959 "Zend/zend_language_scanner.c"
+#line 4960 "Zend/zend_language_scanner.c"
 yy473:
                YYDEBUG(473, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(474, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1025 "Zend/zend_language_scanner.l"
+#line 1026 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 4969 "Zend/zend_language_scanner.c"
+#line 4970 "Zend/zend_language_scanner.c"
 yy475:
                YYDEBUG(475, *YYCURSOR);
                ++YYCURSOR;
@@ -4987,32 +4988,32 @@ yy477:
                ++YYCURSOR;
                YYDEBUG(478, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1197 "Zend/zend_language_scanner.l"
+#line 1198 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 4995 "Zend/zend_language_scanner.c"
+#line 4996 "Zend/zend_language_scanner.c"
 yy479:
                YYDEBUG(479, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(480, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1165 "Zend/zend_language_scanner.l"
+#line 1166 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 5005 "Zend/zend_language_scanner.c"
+#line 5006 "Zend/zend_language_scanner.c"
 yy481:
                YYDEBUG(481, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(482, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 995 "Zend/zend_language_scanner.l"
+#line 996 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 5016 "Zend/zend_language_scanner.c"
+#line 5017 "Zend/zend_language_scanner.c"
 yy483:
                YYDEBUG(483, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5057,11 +5058,11 @@ yy488:
                }
                YYDEBUG(489, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1141 "Zend/zend_language_scanner.l"
+#line 1142 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 5065 "Zend/zend_language_scanner.c"
+#line 5066 "Zend/zend_language_scanner.c"
 yy490:
                YYDEBUG(490, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5116,11 +5117,11 @@ yy497:
                }
                YYDEBUG(498, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1137 "Zend/zend_language_scanner.l"
+#line 1138 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 5124 "Zend/zend_language_scanner.c"
+#line 5125 "Zend/zend_language_scanner.c"
 yy499:
                YYDEBUG(499, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5150,11 +5151,11 @@ yy503:
                }
                YYDEBUG(504, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1133 "Zend/zend_language_scanner.l"
+#line 1134 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 5158 "Zend/zend_language_scanner.c"
+#line 5159 "Zend/zend_language_scanner.c"
 yy505:
                YYDEBUG(505, *YYCURSOR);
                ++YYCURSOR;
@@ -5163,11 +5164,11 @@ yy505:
                }
                YYDEBUG(506, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 975 "Zend/zend_language_scanner.l"
+#line 976 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 5171 "Zend/zend_language_scanner.c"
+#line 5172 "Zend/zend_language_scanner.c"
 yy507:
                YYDEBUG(507, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5192,11 +5193,11 @@ yy510:
                }
                YYDEBUG(511, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 967 "Zend/zend_language_scanner.l"
+#line 968 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 5200 "Zend/zend_language_scanner.c"
+#line 5201 "Zend/zend_language_scanner.c"
 yy512:
                YYDEBUG(512, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5220,11 +5221,11 @@ yy515:
                }
                YYDEBUG(516, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1105 "Zend/zend_language_scanner.l"
+#line 1106 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 5228 "Zend/zend_language_scanner.c"
+#line 5229 "Zend/zend_language_scanner.c"
 yy517:
                YYDEBUG(517, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5261,11 +5262,11 @@ yy523:
                }
                YYDEBUG(524, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 959 "Zend/zend_language_scanner.l"
+#line 960 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 5269 "Zend/zend_language_scanner.c"
+#line 5270 "Zend/zend_language_scanner.c"
 yy525:
                YYDEBUG(525, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5305,11 +5306,11 @@ yy531:
                }
                YYDEBUG(532, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 943 "Zend/zend_language_scanner.l"
+#line 944 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 5313 "Zend/zend_language_scanner.c"
+#line 5314 "Zend/zend_language_scanner.c"
 yy533:
                YYDEBUG(533, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5333,11 +5334,11 @@ yy536:
                }
                YYDEBUG(537, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1121 "Zend/zend_language_scanner.l"
+#line 1122 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 5341 "Zend/zend_language_scanner.c"
+#line 5342 "Zend/zend_language_scanner.c"
 yy538:
                YYDEBUG(538, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5364,11 +5365,11 @@ yy541:
                }
                YYDEBUG(542, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 939 "Zend/zend_language_scanner.l"
+#line 940 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 5372 "Zend/zend_language_scanner.c"
+#line 5373 "Zend/zend_language_scanner.c"
 yy543:
                YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5387,11 +5388,11 @@ yy545:
                }
                YYDEBUG(546, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1157 "Zend/zend_language_scanner.l"
+#line 1158 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 5395 "Zend/zend_language_scanner.c"
+#line 5396 "Zend/zend_language_scanner.c"
 yy547:
                YYDEBUG(547, *YYCURSOR);
                ++YYCURSOR;
@@ -5400,11 +5401,11 @@ yy547:
                }
                YYDEBUG(548, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1249 "Zend/zend_language_scanner.l"
+#line 1250 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 5408 "Zend/zend_language_scanner.c"
+#line 5409 "Zend/zend_language_scanner.c"
 yy549:
                YYDEBUG(549, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5438,11 +5439,11 @@ yy554:
                }
                YYDEBUG(555, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1125 "Zend/zend_language_scanner.l"
+#line 1126 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 5446 "Zend/zend_language_scanner.c"
+#line 5447 "Zend/zend_language_scanner.c"
 yy556:
                YYDEBUG(556, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5466,11 +5467,11 @@ yy559:
                }
                YYDEBUG(560, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 899 "Zend/zend_language_scanner.l"
+#line 900 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 5474 "Zend/zend_language_scanner.c"
+#line 5475 "Zend/zend_language_scanner.c"
 yy561:
                YYDEBUG(561, *YYCURSOR);
                ++YYCURSOR;
@@ -5479,11 +5480,11 @@ yy561:
                }
                YYDEBUG(562, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 883 "Zend/zend_language_scanner.l"
+#line 884 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 5487 "Zend/zend_language_scanner.c"
+#line 5488 "Zend/zend_language_scanner.c"
 yy563:
                YYDEBUG(563, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5535,11 +5536,11 @@ yy568:
                }
                YYDEBUG(569, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1109 "Zend/zend_language_scanner.l"
+#line 1110 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 5543 "Zend/zend_language_scanner.c"
+#line 5544 "Zend/zend_language_scanner.c"
 yy570:
                YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5593,11 +5594,11 @@ yy576:
 yy577:
                YYDEBUG(577, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1081 "Zend/zend_language_scanner.l"
+#line 1082 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 5601 "Zend/zend_language_scanner.c"
+#line 5602 "Zend/zend_language_scanner.c"
 yy578:
                YYDEBUG(578, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5626,11 +5627,11 @@ yy582:
                }
                YYDEBUG(583, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1085 "Zend/zend_language_scanner.l"
+#line 1086 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 5634 "Zend/zend_language_scanner.c"
+#line 5635 "Zend/zend_language_scanner.c"
 yy584:
                YYDEBUG(584, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5664,11 +5665,11 @@ yy589:
                }
                YYDEBUG(590, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 983 "Zend/zend_language_scanner.l"
+#line 984 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 5672 "Zend/zend_language_scanner.c"
+#line 5673 "Zend/zend_language_scanner.c"
 yy591:
                YYDEBUG(591, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5707,11 +5708,11 @@ yy597:
                }
                YYDEBUG(598, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 935 "Zend/zend_language_scanner.l"
+#line 936 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 5715 "Zend/zend_language_scanner.c"
+#line 5716 "Zend/zend_language_scanner.c"
 yy599:
                YYDEBUG(599, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5755,11 +5756,11 @@ yy606:
                }
                YYDEBUG(607, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 991 "Zend/zend_language_scanner.l"
+#line 992 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 5763 "Zend/zend_language_scanner.c"
+#line 5764 "Zend/zend_language_scanner.c"
 yy608:
                YYDEBUG(608, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5779,11 +5780,11 @@ yy610:
                }
                YYDEBUG(611, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 871 "Zend/zend_language_scanner.l"
+#line 872 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 5787 "Zend/zend_language_scanner.c"
+#line 5788 "Zend/zend_language_scanner.c"
 yy612:
                YYDEBUG(612, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5802,11 +5803,11 @@ yy614:
                }
                YYDEBUG(615, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 879 "Zend/zend_language_scanner.l"
+#line 880 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 5810 "Zend/zend_language_scanner.c"
+#line 5811 "Zend/zend_language_scanner.c"
 yy616:
                YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5867,11 +5868,11 @@ yy622:
 yy623:
                YYDEBUG(623, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1089 "Zend/zend_language_scanner.l"
+#line 1090 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 5875 "Zend/zend_language_scanner.c"
+#line 5876 "Zend/zend_language_scanner.c"
 yy624:
                YYDEBUG(624, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5900,11 +5901,11 @@ yy628:
                }
                YYDEBUG(629, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1093 "Zend/zend_language_scanner.l"
+#line 1094 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 5908 "Zend/zend_language_scanner.c"
+#line 5909 "Zend/zend_language_scanner.c"
 yy630:
                YYDEBUG(630, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5923,11 +5924,11 @@ yy632:
                }
                YYDEBUG(633, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 867 "Zend/zend_language_scanner.l"
+#line 868 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 5931 "Zend/zend_language_scanner.c"
+#line 5932 "Zend/zend_language_scanner.c"
 yy634:
                YYDEBUG(634, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6008,11 +6009,11 @@ yy643:
                }
                YYDEBUG(644, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 963 "Zend/zend_language_scanner.l"
+#line 964 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 6016 "Zend/zend_language_scanner.c"
+#line 6017 "Zend/zend_language_scanner.c"
 yy645:
                YYDEBUG(645, *YYCURSOR);
                ++YYCURSOR;
@@ -6021,11 +6022,11 @@ yy645:
                }
                YYDEBUG(646, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 863 "Zend/zend_language_scanner.l"
+#line 864 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 6029 "Zend/zend_language_scanner.c"
+#line 6030 "Zend/zend_language_scanner.c"
 yy647:
                YYDEBUG(647, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6050,11 +6051,11 @@ yy650:
                }
                YYDEBUG(651, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1037 "Zend/zend_language_scanner.l"
+#line 1038 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 6058 "Zend/zend_language_scanner.c"
+#line 6059 "Zend/zend_language_scanner.c"
 yy652:
                YYDEBUG(652, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6068,11 +6069,11 @@ yy653:
                }
                YYDEBUG(654, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 979 "Zend/zend_language_scanner.l"
+#line 980 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 6076 "Zend/zend_language_scanner.c"
+#line 6077 "Zend/zend_language_scanner.c"
 yy655:
                YYDEBUG(655, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6092,11 +6093,11 @@ yy657:
                }
                YYDEBUG(658, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 951 "Zend/zend_language_scanner.l"
+#line 952 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 6100 "Zend/zend_language_scanner.c"
+#line 6101 "Zend/zend_language_scanner.c"
 yy659:
                YYDEBUG(659, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6110,11 +6111,11 @@ yy660:
                }
                YYDEBUG(661, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 875 "Zend/zend_language_scanner.l"
+#line 876 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 6118 "Zend/zend_language_scanner.c"
+#line 6119 "Zend/zend_language_scanner.c"
 yy662:
                YYDEBUG(662, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6165,11 +6166,11 @@ yy670:
                }
                YYDEBUG(671, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 859 "Zend/zend_language_scanner.l"
+#line 860 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 6173 "Zend/zend_language_scanner.c"
+#line 6174 "Zend/zend_language_scanner.c"
 yy672:
                YYDEBUG(672, *YYCURSOR);
                ++YYCURSOR;
@@ -6193,11 +6194,11 @@ yy672:
 yy673:
                YYDEBUG(673, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 911 "Zend/zend_language_scanner.l"
+#line 912 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 6201 "Zend/zend_language_scanner.c"
+#line 6202 "Zend/zend_language_scanner.c"
 yy674:
                YYDEBUG(674, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6221,11 +6222,11 @@ yy677:
                }
                YYDEBUG(678, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 919 "Zend/zend_language_scanner.l"
+#line 920 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 6229 "Zend/zend_language_scanner.c"
+#line 6230 "Zend/zend_language_scanner.c"
 yy679:
                YYDEBUG(679, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6244,11 +6245,11 @@ yy681:
                }
                YYDEBUG(682, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1129 "Zend/zend_language_scanner.l"
+#line 1130 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 6252 "Zend/zend_language_scanner.c"
+#line 6253 "Zend/zend_language_scanner.c"
 yy683:
                YYDEBUG(683, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6279,11 +6280,11 @@ yy685:
                }
                YYDEBUG(686, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 907 "Zend/zend_language_scanner.l"
+#line 908 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 6287 "Zend/zend_language_scanner.c"
+#line 6288 "Zend/zend_language_scanner.c"
 yy687:
                YYDEBUG(687, *YYCURSOR);
                ++YYCURSOR;
@@ -6292,11 +6293,11 @@ yy687:
                }
                YYDEBUG(688, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 855 "Zend/zend_language_scanner.l"
+#line 856 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 6300 "Zend/zend_language_scanner.c"
+#line 6301 "Zend/zend_language_scanner.c"
 yy689:
                YYDEBUG(689, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6331,11 +6332,11 @@ yy694:
                }
                YYDEBUG(695, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 955 "Zend/zend_language_scanner.l"
+#line 956 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 6339 "Zend/zend_language_scanner.c"
+#line 6340 "Zend/zend_language_scanner.c"
 yy696:
                YYDEBUG(696, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6359,11 +6360,11 @@ yy699:
                }
                YYDEBUG(700, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 927 "Zend/zend_language_scanner.l"
+#line 928 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 6367 "Zend/zend_language_scanner.c"
+#line 6368 "Zend/zend_language_scanner.c"
 yy701:
                YYDEBUG(701, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6443,11 +6444,11 @@ yy712:
                }
                YYDEBUG(713, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 987 "Zend/zend_language_scanner.l"
+#line 988 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 6451 "Zend/zend_language_scanner.c"
+#line 6452 "Zend/zend_language_scanner.c"
 yy714:
                YYDEBUG(714, *YYCURSOR);
                ++YYCURSOR;
@@ -6456,11 +6457,11 @@ yy714:
                }
                YYDEBUG(715, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 851 "Zend/zend_language_scanner.l"
+#line 852 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 6464 "Zend/zend_language_scanner.c"
+#line 6465 "Zend/zend_language_scanner.c"
 yy716:
                YYDEBUG(716, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6474,11 +6475,11 @@ yy717:
                }
                YYDEBUG(718, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1077 "Zend/zend_language_scanner.l"
+#line 1078 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 6482 "Zend/zend_language_scanner.c"
+#line 6483 "Zend/zend_language_scanner.c"
 yy719:
                YYDEBUG(719, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6548,11 +6549,11 @@ yy728:
                }
                YYDEBUG(729, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 903 "Zend/zend_language_scanner.l"
+#line 904 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 6556 "Zend/zend_language_scanner.c"
+#line 6557 "Zend/zend_language_scanner.c"
 yy730:
                YYDEBUG(730, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6581,11 +6582,11 @@ yy734:
                }
                YYDEBUG(735, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 947 "Zend/zend_language_scanner.l"
+#line 948 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 6589 "Zend/zend_language_scanner.c"
+#line 6590 "Zend/zend_language_scanner.c"
 yy736:
                YYDEBUG(736, *YYCURSOR);
                ++YYCURSOR;
@@ -6594,11 +6595,11 @@ yy736:
                }
                YYDEBUG(737, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 891 "Zend/zend_language_scanner.l"
+#line 892 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 6602 "Zend/zend_language_scanner.c"
+#line 6603 "Zend/zend_language_scanner.c"
 yy738:
                YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6627,11 +6628,11 @@ yy739:
 yy740:
                YYDEBUG(740, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 915 "Zend/zend_language_scanner.l"
+#line 916 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 6635 "Zend/zend_language_scanner.c"
+#line 6636 "Zend/zend_language_scanner.c"
 yy741:
                YYDEBUG(741, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6655,11 +6656,11 @@ yy744:
                }
                YYDEBUG(745, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 923 "Zend/zend_language_scanner.l"
+#line 924 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 6663 "Zend/zend_language_scanner.c"
+#line 6664 "Zend/zend_language_scanner.c"
 yy746:
                YYDEBUG(746, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6693,11 +6694,11 @@ yy751:
                }
                YYDEBUG(752, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 931 "Zend/zend_language_scanner.l"
+#line 932 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 6701 "Zend/zend_language_scanner.c"
+#line 6702 "Zend/zend_language_scanner.c"
 yy753:
                YYDEBUG(753, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6716,11 +6717,11 @@ yy755:
                }
                YYDEBUG(756, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1113 "Zend/zend_language_scanner.l"
+#line 1114 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 6724 "Zend/zend_language_scanner.c"
+#line 6725 "Zend/zend_language_scanner.c"
 yy757:
                YYDEBUG(757, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6749,11 +6750,11 @@ yy758:
 yy759:
                YYDEBUG(759, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 895 "Zend/zend_language_scanner.l"
+#line 896 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 6757 "Zend/zend_language_scanner.c"
+#line 6758 "Zend/zend_language_scanner.c"
 yy760:
                YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6767,11 +6768,11 @@ yy761:
                }
                YYDEBUG(762, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 887 "Zend/zend_language_scanner.l"
+#line 888 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 6775 "Zend/zend_language_scanner.c"
+#line 6776 "Zend/zend_language_scanner.c"
 yy763:
                YYDEBUG(763, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6785,11 +6786,11 @@ yy764:
                }
                YYDEBUG(765, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 971 "Zend/zend_language_scanner.l"
+#line 972 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 6793 "Zend/zend_language_scanner.c"
+#line 6794 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -6862,7 +6863,7 @@ yy768:
 yy769:
                YYDEBUG(769, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1000 "Zend/zend_language_scanner.l"
+#line 1001 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -6870,7 +6871,7 @@ yy769:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 6874 "Zend/zend_language_scanner.c"
+#line 6875 "Zend/zend_language_scanner.c"
 yy770:
                YYDEBUG(770, *YYCURSOR);
                ++YYCURSOR;
@@ -6878,13 +6879,13 @@ yy770:
 yy771:
                YYDEBUG(771, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1019 "Zend/zend_language_scanner.l"
+#line 1020 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 6888 "Zend/zend_language_scanner.c"
+#line 6889 "Zend/zend_language_scanner.c"
 yy772:
                YYDEBUG(772, *YYCURSOR);
                ++YYCURSOR;
@@ -6893,14 +6894,14 @@ yy772:
 yy773:
                YYDEBUG(773, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1012 "Zend/zend_language_scanner.l"
+#line 1013 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 6904 "Zend/zend_language_scanner.c"
+#line 6905 "Zend/zend_language_scanner.c"
 yy774:
                YYDEBUG(774, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6921,11 +6922,11 @@ yy777:
                ++YYCURSOR;
                YYDEBUG(778, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1008 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 6929 "Zend/zend_language_scanner.c"
+#line 6930 "Zend/zend_language_scanner.c"
 yy779:
                YYDEBUG(779, *YYCURSOR);
                ++YYCURSOR;
@@ -6995,7 +6996,7 @@ yy783:
 yy784:
                YYDEBUG(784, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1291 "Zend/zend_language_scanner.l"
+#line 1292 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -7003,20 +7004,20 @@ yy784:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 7007 "Zend/zend_language_scanner.c"
+#line 7008 "Zend/zend_language_scanner.c"
 yy785:
                YYDEBUG(785, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(786, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
+#line 1301 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 7020 "Zend/zend_language_scanner.c"
+#line 7021 "Zend/zend_language_scanner.c"
 yy787:
                YYDEBUG(787, *YYCURSOR);
                ++YYCURSOR;
@@ -7038,7 +7039,7 @@ yyc_ST_NOWDOC:
        ++YYCURSOR;
        YYDEBUG(792, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2134 "Zend/zend_language_scanner.l"
+#line 2135 "Zend/zend_language_scanner.l"
        {
        int newline = 0;
 
@@ -7093,7 +7094,7 @@ nowdoc_scan_done:
        HANDLE_NEWLINES(yytext, yyleng - newline);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 7097 "Zend/zend_language_scanner.c"
+#line 7098 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
        {
@@ -7193,7 +7194,7 @@ yy795:
 yy796:
                YYDEBUG(796, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1350 "Zend/zend_language_scanner.l"
+#line 1351 "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);
@@ -7205,7 +7206,7 @@ yy796:
        }
        return T_NUM_STRING;
 }
-#line 7209 "Zend/zend_language_scanner.c"
+#line 7210 "Zend/zend_language_scanner.c"
 yy797:
                YYDEBUG(797, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7225,23 +7226,23 @@ yy798:
 yy799:
                YYDEBUG(799, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1660 "Zend/zend_language_scanner.l"
+#line 1661 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 7234 "Zend/zend_language_scanner.c"
+#line 7235 "Zend/zend_language_scanner.c"
 yy800:
                YYDEBUG(800, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(801, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1655 "Zend/zend_language_scanner.l"
+#line 1656 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 7245 "Zend/zend_language_scanner.c"
+#line 7246 "Zend/zend_language_scanner.c"
 yy802:
                YYDEBUG(802, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7251,14 +7252,14 @@ yy803:
                ++YYCURSOR;
                YYDEBUG(804, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1665 "Zend/zend_language_scanner.l"
+#line 1666 "Zend/zend_language_scanner.l"
                {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
        yy_pop_state(TSRMLS_C);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 7262 "Zend/zend_language_scanner.c"
+#line 7263 "Zend/zend_language_scanner.c"
 yy805:
                YYDEBUG(805, *YYCURSOR);
                ++YYCURSOR;
@@ -7267,19 +7268,19 @@ yy805:
 yy806:
                YYDEBUG(806, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1672 "Zend/zend_language_scanner.l"
+#line 1673 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 7277 "Zend/zend_language_scanner.c"
+#line 7278 "Zend/zend_language_scanner.c"
 yy807:
                YYDEBUG(807, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(808, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2190 "Zend/zend_language_scanner.l"
+#line 2191 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -7288,7 +7289,7 @@ yy807:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 7292 "Zend/zend_language_scanner.c"
+#line 7293 "Zend/zend_language_scanner.c"
 yy809:
                YYDEBUG(809, *YYCURSOR);
                ++YYCURSOR;
@@ -7324,13 +7325,13 @@ yy811:
 yy813:
                YYDEBUG(813, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
+#line 1650 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 7334 "Zend/zend_language_scanner.c"
+#line 7335 "Zend/zend_language_scanner.c"
 yy814:
                YYDEBUG(814, *YYCURSOR);
                ++YYCURSOR;
@@ -7362,14 +7363,14 @@ yy818:
 yy820:
                YYDEBUG(820, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1362 "Zend/zend_language_scanner.l"
+#line 1363 "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 7373 "Zend/zend_language_scanner.c"
+#line 7374 "Zend/zend_language_scanner.c"
 yy821:
                YYDEBUG(821, *YYCURSOR);
                ++YYCURSOR;
@@ -7382,6 +7383,6 @@ yy821:
                goto yy820;
        }
 }
-#line 2199 "Zend/zend_language_scanner.l"
+#line 2200 "Zend/zend_language_scanner.l"
 
 }
index a4faff38253d56385a94f23b5d896551e602136d..e0a9cf1292b15c28b6c7dfc7c7ca5ed48e7a0f0f 100644 (file)
@@ -299,6 +299,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
                CG(start_lineno) = 0;
        } else {
                CG(zend_lineno) = 1;
+               CG(shebang_len) = 0;
        }
 
        CG(increment_lineno) = 0;
@@ -442,7 +443,7 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D
 
 ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
 {
-       size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
+       size_t offset = (SCNG(yy_cursor) - SCNG(yy_start)) + CG(shebang_len);
 #ifdef ZEND_MULTIBYTE
        if (SCNG(input_filter)) {
                size_t original_offset = offset, length = 0; do {
index da8fed108f41c00ee75c55d33414a5cbf17fac3f..09c5b1fd1d80d8dea10db77cd589c1edc86d93fe 100644 (file)
@@ -2098,8 +2098,10 @@ consult the installation file that came with this distribution, or visit \n\
                                                        fseek(file_handle.handle.fp, pos - 1, SEEK_SET);
                                                }
                                        }
+                                       CG(shebang_len) = ftell(file_handle.handle.fp);
                                        CG(start_lineno) = 2;
                                } else {
+                                       CG(shebang_len) = 0;
                                        rewind(file_handle.handle.fp);
                                }
                        }
index 635445e92fc1f507004af57398485aa64c2c0d9f..cf2d2d55823e42367657cbf5561d83249814070f 100644 (file)
@@ -627,8 +627,10 @@ static int cli_seek_file_begin(zend_file_handle *file_handle, char *script_file,
                                fseek(file_handle->handle.fp, pos - 1, SEEK_SET);
                        }
                }
+               CG(shebang_len) = ftell(file_handle->handle.fp);
                *lineno = 2;
        } else {
+               CG(shebang_len) = 0;
                rewind(file_handle->handle.fp);
        }