cvs: ZendEngine2(PHP_5_3) / zend_language_scanner.c zend_language_scanner.l zend_language_scanner_defs.h zend_stream.c php-src/sapi/cli php_cli.c

[email protected] ("Ilia Alshanetsky") Fri, 09 Jan 2009 17:21:15 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsiliaa1231521675@cvsserver>
iliaa		Fri Jan  9 17:21:15 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/sapi/cli	php_cli.c 
    /ZendEngine2	zend_language_scanner.l zend_stream.c 
                	zend_language_scanner_defs.h zend_language_scanner.c 
  Log:
  
  MFH: Corrected fix for bug #46844 to only trigger on the 1st line of CLI
  opened files.
iliaa-20090109172115.txt (text/plain, 75.6 KB)
http://cvs.php.net/viewvc.cgi/php-src/sapi/cli/php_cli.c?r1=1.129.2.13.2.22.2.20&r2=1.129.2.13.2.22.2.21&diff_format=u
Index: php-src/sapi/cli/php_cli.c
diff -u php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.20 php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.21
--- php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.20	Fri Jan  2 13:14:49 2009
+++ php-src/sapi/cli/php_cli.c	Fri Jan  9 17:21:11 2009
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_cli.c,v 1.129.2.13.2.22.2.20 2009/01/02 13:14:49 helly Exp $ */
+/* $Id: php_cli.c,v 1.129.2.13.2.22.2.21 2009/01/09 17:21:11 iliaa Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -570,6 +570,8 @@
  */
 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 @@
 		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;
 }
 /* }}} */
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.131.2.11.2.13.2.34&r2=1.131.2.11.2.13.2.35&diff_format=u
Index: ZendEngine2/zend_language_scanner.l
diff -u ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.34 ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.35
--- ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.34	Fri Jan  2 20:45:43 2009
+++ ZendEngine2/zend_language_scanner.l	Fri Jan  9 17:21:12 2009
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.34 2009/01/02 20:45:43 felipe Exp $ */
+/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.35 2009/01/09 17:21:12 iliaa Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -843,27 +843,6 @@
 		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]+
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_stream.c?r1=1.13.2.1.2.1.2.8&r2=1.13.2.1.2.1.2.9&diff_format=u
Index: ZendEngine2/zend_stream.c
diff -u ZendEngine2/zend_stream.c:1.13.2.1.2.1.2.8 ZendEngine2/zend_stream.c:1.13.2.1.2.1.2.9
--- ZendEngine2/zend_stream.c:1.13.2.1.2.1.2.8	Wed Dec 31 11:15:32 2008
+++ ZendEngine2/zend_stream.c	Fri Jan  9 17:21:12 2009
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_stream.c,v 1.13.2.1.2.1.2.8 2008/12/31 11:15:32 sebastian Exp $ */
+/* $Id: zend_stream.c,v 1.13.2.1.2.1.2.9 2009/01/09 17:21:12 iliaa Exp $ */
 
 
 #include "zend.h"
@@ -214,7 +214,7 @@
 #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;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner_defs.h?r1=1.1.2.20&r2=1.1.2.21&diff_format=u
Index: ZendEngine2/zend_language_scanner_defs.h
diff -u ZendEngine2/zend_language_scanner_defs.h:1.1.2.20 ZendEngine2/zend_language_scanner_defs.h:1.1.2.21
--- ZendEngine2/zend_language_scanner_defs.h:1.1.2.20	Tue Nov  4 15:58:51 2008
+++ ZendEngine2/zend_language_scanner_defs.h	Fri Jan  9 17:21:12 2009
@@ -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 {
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.c?r1=1.1.2.30&r2=1.1.2.31&diff_format=u
Index: ZendEngine2/zend_language_scanner.c
diff -u ZendEngine2/zend_language_scanner.c:1.1.2.30 ZendEngine2/zend_language_scanner.c:1.1.2.31
--- ZendEngine2/zend_language_scanner.c:1.1.2.30	Fri Jan  2 20:45:41 2009
+++ ZendEngine2/zend_language_scanner.c	Fri Jan  9 17:21:12 2009
@@ -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"
 /*
    +----------------------------------------------------------------------+
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.c,v 1.1.2.30 2009/01/02 20:45:41 felipe Exp $ */
+/* $Id: zend_language_scanner.c,v 1.1.2.31 2009/01/09 17:21:12 iliaa Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -845,29 +845,8 @@
 		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 @@
 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 @@
 	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 @@
 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 @@
 		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 @@
 		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 @@
 		++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 @@
 	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 @@
 		++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 @@
 		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 @@
 		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 @@
 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 @@
 	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 @@
 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 @@
 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 @@
 		++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 @@
 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 @@
 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 @@
 		++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 @@
 	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 @@
 		++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 @@
 	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 @@
 		}
 		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 @@
 		}
 		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 @@
 	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 @@
 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 @@
 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 @@
 		++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 @@
 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 @@
 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 @@
 		++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 @@
 	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 @@
 		++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 @@
 	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 @@
 	++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 @@
 	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 @@
 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 @@
 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 @@
 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 @@
 		++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 @@
 		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 @@
 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 @@
 		++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 @@
 	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 @@
 		++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 @@
 	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 @@
 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 @@
 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 @@
 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 @@
 	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 @@
 		++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 @@
 		++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 @@
 	}
 	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 @@
 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 @@
 	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 @@
 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 @@
 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 @@
 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 @@
 		++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 @@
 #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 @@
 		++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 @@
 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 @@
 		}
 		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 @@
 		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 @@
 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 @@
 	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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		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 @@
 		++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 @@
 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 @@
 		++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 @@
 		}
 		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 @@
 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 @@
 		++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 @@
 		++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 @@
 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 @@
 
 	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 @@
 		++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 @@
 		}
 		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 @@
 		}
 		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 @@
 	}
 	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 @@
 		}
 		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 @@
 	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 @@
 		}
 		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 @@
 		}
 		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 @@
 	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 @@
 		}
 		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 @@
 	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 @@
 		}
 		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 @@
 	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 @@
 		}
 		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 @@
 	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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		++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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		++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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 		}
 		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 @@
 		}
 		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 @@
 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 @@
 	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 @@
 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 @@
 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 @@
 		++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 @@
 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 @@
 	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 @@
 		++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 @@
 		yymore();
 	}
 }
-#line 8236 "Zend/zend_language_scanner.c"
+#line 8215 "Zend/zend_language_scanner.c"
 yy897:
 		YYDEBUG(897, *YYCURSOR);
 		++YYCURSOR;
@@ -8339,11 +8318,11 @@
 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 @@
 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 @@
 			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 @@
 		++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 @@
 	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 @@
 		++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 @@
 		yymore();
 	}
 }
-#line 8433 "Zend/zend_language_scanner.c"
+#line 8412 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -8530,7 +8509,7 @@
 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 @@
 	}
 	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 @@
 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 @@
 		++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 @@
 	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 @@
 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 @@
 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 @@
 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 @@
 		goto yy944;
 	}
 }
-#line 2135 "Zend/zend_language_scanner.l"
+#line 2114 "Zend/zend_language_scanner.l"
 
 }