cvs: ZendEngine2 / zend_language_scanner.c zend_language_scanner.l

[email protected] ("Matt Wilmas")
Newsgroups php.zend-engine.cvs
Message-ID <cvsmattwil1210410917@cvsserver>
mattwil		Sat May 10 09:15:17 2008 UTC

  Modified files:              
    /ZendEngine2	zend_language_scanner.c zend_language_scanner.l 
  Log:
  Restore end check for "escape" strings (not needed for single-quoted strings as they can't have an unescaped backslash at the end)
mattwil-20080510091517.txt (text/plain, 77 KB)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.c?r1=1.6&r2=1.7&diff_format=u
Index: ZendEngine2/zend_language_scanner.c
diff -u ZendEngine2/zend_language_scanner.c:1.6 ZendEngine2/zend_language_scanner.c:1.7
--- ZendEngine2/zend_language_scanner.c:1.6	Fri May  9 10:25:42 2008
+++ ZendEngine2/zend_language_scanner.c	Sat May 10 09:15:17 2008
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4 on Fri May 09 05:04:01 2008 */
+/* Generated by re2c 0.13.4 on Sat May 10 04:04:00 2008 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.c,v 1.6 2008/05/09 10:25:42 mattwil Exp $ */
+/* $Id: zend_language_scanner.c,v 1.7 2008/05/10 09:15:17 mattwil Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -988,6 +988,10 @@
 		if (*s==0x5C /*'\\'*/) {
 			s++;
 			c = *s;
+			if (s >= end) {
+				*t++ = 0x5C; /*'\\'*/
+				break;
+			}
 
 			min_digits = 0;
 			codepoint = 0;
@@ -1188,6 +1192,10 @@
 	while (s<end) {
 		if (*s=='\\') {
 			s++;
+			if (s >= end) {
+				*t++ = '\\';
+				break;
+			}
 
 			switch(*s) {
 				case 'n':
@@ -1330,7 +1338,7 @@
 	}
 
 
-#line 1334 "Zend/zend_language_scanner.c"
+#line 1342 "Zend/zend_language_scanner.c"
 {
 	YYCTYPE yych;
 	unsigned int yyaccept = 0;
@@ -1454,7 +1462,7 @@
 yy3:
 		YYDEBUG(3, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2157 "Zend/zend_language_scanner.l"
+#line 2165 "Zend/zend_language_scanner.l"
 		{
 
 	while (1) {
@@ -1485,7 +1493,7 @@
 	HANDLE_NEWLINES(yytext, yyleng);
 	return T_INLINE_HTML;
 }
-#line 1489 "Zend/zend_language_scanner.c"
+#line 1497 "Zend/zend_language_scanner.c"
 yy4:
 		YYDEBUG(4, *YYCURSOR);
 		yyaccept = 0;
@@ -1512,7 +1520,7 @@
 yy9:
 		YYDEBUG(9, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2148 "Zend/zend_language_scanner.l"
+#line 2156 "Zend/zend_language_scanner.l"
 		{
 	if ((YYCTYPE*)yytext == SCNG(yy_start)) {
 		/* ignore first line when it's started with a # */
@@ -1521,7 +1529,7 @@
 		goto inline_char_handler;
 	}
 }
-#line 1525 "Zend/zend_language_scanner.c"
+#line 1533 "Zend/zend_language_scanner.c"
 yy10:
 		YYDEBUG(10, *YYCURSOR);
 		yyaccept = 1;
@@ -1547,7 +1555,7 @@
 yy13:
 		YYDEBUG(13, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2132 "Zend/zend_language_scanner.l"
+#line 2140 "Zend/zend_language_scanner.l"
 		{
 	HANDLE_NEWLINES(yytext, yyleng);
 	if (CG(short_tags)) {
@@ -1563,14 +1571,14 @@
 		return T_INLINE_HTML;
 	}
 }
-#line 1567 "Zend/zend_language_scanner.c"
+#line 1575 "Zend/zend_language_scanner.c"
 yy14:
 		YYDEBUG(14, *YYCURSOR);
 		++YYCURSOR;
 		if ((yych = *YYCURSOR) == '=') goto yy50;
 		YYDEBUG(15, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2106 "Zend/zend_language_scanner.l"
+#line 2114 "Zend/zend_language_scanner.l"
 		{
 	if (CG(asp_tags)) {
 		Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1585,7 +1593,7 @@
 		return T_INLINE_HTML;
 	}
 }
-#line 1589 "Zend/zend_language_scanner.c"
+#line 1597 "Zend/zend_language_scanner.c"
 yy16:
 		YYDEBUG(16, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1775,7 +1783,7 @@
 		++YYCURSOR;
 		YYDEBUG(45, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2065 "Zend/zend_language_scanner.l"
+#line 2073 "Zend/zend_language_scanner.l"
 		{
 	HANDLE_NEWLINES(yytext, yyleng);
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1784,7 +1792,7 @@
 	BEGIN(ST_IN_SCRIPTING);
 	return T_OPEN_TAG;
 }
-#line 1788 "Zend/zend_language_scanner.c"
+#line 1796 "Zend/zend_language_scanner.c"
 yy46:
 		YYDEBUG(46, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1811,7 +1819,7 @@
 		++YYCURSOR;
 		YYDEBUG(51, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2074 "Zend/zend_language_scanner.l"
+#line 2082 "Zend/zend_language_scanner.l"
 		{
 	if (CG(asp_tags)) {
 		Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1826,13 +1834,13 @@
 		return T_INLINE_HTML;
 	}
 }
-#line 1830 "Zend/zend_language_scanner.c"
+#line 1838 "Zend/zend_language_scanner.c"
 yy52:
 		YYDEBUG(52, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(53, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2090 "Zend/zend_language_scanner.l"
+#line 2098 "Zend/zend_language_scanner.l"
 		{
 	if (CG(short_tags)) {
 		Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1847,7 +1855,7 @@
 		return T_INLINE_HTML;
 	}
 }
-#line 1851 "Zend/zend_language_scanner.c"
+#line 1859 "Zend/zend_language_scanner.c"
 yy54:
 		YYDEBUG(54, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1874,7 +1882,7 @@
 yy58:
 		YYDEBUG(58, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2122 "Zend/zend_language_scanner.l"
+#line 2130 "Zend/zend_language_scanner.l"
 		{
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
 	Z_STRLEN_P(zendlval) = yyleng;
@@ -1883,7 +1891,7 @@
 	BEGIN(ST_IN_SCRIPTING);
 	return T_OPEN_TAG;
 }
-#line 1887 "Zend/zend_language_scanner.c"
+#line 1895 "Zend/zend_language_scanner.c"
 yy59:
 		YYDEBUG(59, *YYCURSOR);
 		++YYCURSOR;
@@ -1974,13 +1982,13 @@
 yy64:
 		YYDEBUG(64, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2564 "Zend/zend_language_scanner.l"
+#line 2572 "Zend/zend_language_scanner.l"
 		{
 	Z_LVAL_P(zendlval) = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_CURLY_OPEN;
 }
-#line 1984 "Zend/zend_language_scanner.c"
+#line 1992 "Zend/zend_language_scanner.c"
 yy65:
 		YYDEBUG(65, *YYCURSOR);
 		yyaccept = 1;
@@ -1998,7 +2006,7 @@
 yy67:
 		YYDEBUG(67, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2599 "Zend/zend_language_scanner.l"
+#line 2607 "Zend/zend_language_scanner.l"
 		{
 	if (CG(literal_type) == IS_UNICODE) {
 		return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2007,7 +2015,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 2011 "Zend/zend_language_scanner.c"
+#line 2019 "Zend/zend_language_scanner.c"
 yy68:
 		YYDEBUG(68, *YYCURSOR);
 		++YYCURSOR;
@@ -2019,12 +2027,12 @@
 		++YYCURSOR;
 		YYDEBUG(70, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2762 "Zend/zend_language_scanner.l"
+#line 2770 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_IN_SCRIPTING);
 	return '`';
 }
-#line 2028 "Zend/zend_language_scanner.c"
+#line 2036 "Zend/zend_language_scanner.c"
 yy71:
 		YYDEBUG(71, *YYCURSOR);
 		++YYCURSOR;
@@ -2112,7 +2120,7 @@
 yy77:
 		YYDEBUG(77, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2608 "Zend/zend_language_scanner.l"
+#line 2616 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -2124,7 +2132,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 2128 "Zend/zend_language_scanner.c"
+#line 2136 "Zend/zend_language_scanner.c"
 yy78:
 		YYDEBUG(78, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2158,7 +2166,7 @@
 yy83:
 		YYDEBUG(83, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2221 "Zend/zend_language_scanner.l"
+#line 2229 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -2168,18 +2176,18 @@
 	}
 	return T_VARIABLE;
 }
-#line 2172 "Zend/zend_language_scanner.c"
+#line 2180 "Zend/zend_language_scanner.c"
 yy84:
 		YYDEBUG(84, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(85, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1830 "Zend/zend_language_scanner.l"
+#line 1838 "Zend/zend_language_scanner.l"
 		{
 	yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
 	return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2183 "Zend/zend_language_scanner.c"
+#line 2191 "Zend/zend_language_scanner.c"
 yy86:
 		YYDEBUG(86, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2190,7 +2198,7 @@
 		++YYCURSOR;
 		YYDEBUG(88, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2207 "Zend/zend_language_scanner.l"
+#line 2215 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -2204,7 +2212,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 2208 "Zend/zend_language_scanner.c"
+#line 2216 "Zend/zend_language_scanner.c"
 yy89:
 		YYDEBUG(89, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2222,7 +2230,7 @@
 		++YYCURSOR;
 		YYDEBUG(91, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2191 "Zend/zend_language_scanner.l"
+#line 2199 "Zend/zend_language_scanner.l"
 		{
 	yyleng -= 3;
 	yyless(yyleng);
@@ -2236,7 +2244,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 2240 "Zend/zend_language_scanner.c"
+#line 2248 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_COMMENT:
@@ -2293,34 +2301,34 @@
 		}
 		YYDEBUG(96, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2330 "Zend/zend_language_scanner.l"
+#line 2338 "Zend/zend_language_scanner.l"
 		{
 	yymore();
 }
-#line 2301 "Zend/zend_language_scanner.c"
+#line 2309 "Zend/zend_language_scanner.c"
 yy97:
 		YYDEBUG(97, *YYCURSOR);
 		++YYCURSOR;
 		if ((yych = *YYCURSOR) == '/') goto yy99;
 		YYDEBUG(98, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2353 "Zend/zend_language_scanner.l"
+#line 2361 "Zend/zend_language_scanner.l"
 		{
 	yymore();
 }
-#line 2312 "Zend/zend_language_scanner.c"
+#line 2320 "Zend/zend_language_scanner.c"
 yy99:
 		YYDEBUG(99, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(100, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2347 "Zend/zend_language_scanner.l"
+#line 2355 "Zend/zend_language_scanner.l"
 		{
 	HANDLE_NEWLINES(yytext, yyleng);
 	BEGIN(ST_IN_SCRIPTING);
 	return T_COMMENT;
 }
-#line 2324 "Zend/zend_language_scanner.c"
+#line 2332 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_DOC_COMMENT:
@@ -2377,28 +2385,28 @@
 		}
 		YYDEBUG(105, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2330 "Zend/zend_language_scanner.l"
+#line 2338 "Zend/zend_language_scanner.l"
 		{
 	yymore();
 }
-#line 2385 "Zend/zend_language_scanner.c"
+#line 2393 "Zend/zend_language_scanner.c"
 yy106:
 		YYDEBUG(106, *YYCURSOR);
 		++YYCURSOR;
 		if ((yych = *YYCURSOR) == '/') goto yy108;
 		YYDEBUG(107, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2353 "Zend/zend_language_scanner.l"
+#line 2361 "Zend/zend_language_scanner.l"
 		{
 	yymore();
 }
-#line 2396 "Zend/zend_language_scanner.c"
+#line 2404 "Zend/zend_language_scanner.c"
 yy108:
 		YYDEBUG(108, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(109, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2334 "Zend/zend_language_scanner.l"
+#line 2342 "Zend/zend_language_scanner.l"
 		{
 	zval temp;
 
@@ -2411,7 +2419,7 @@
 	BEGIN(ST_IN_SCRIPTING);
 	return T_DOC_COMMENT;
 }
-#line 2415 "Zend/zend_language_scanner.c"
+#line 2423 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -2498,13 +2506,13 @@
 yy114:
 		YYDEBUG(114, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2564 "Zend/zend_language_scanner.l"
+#line 2572 "Zend/zend_language_scanner.l"
 		{
 	Z_LVAL_P(zendlval) = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_CURLY_OPEN;
 }
-#line 2508 "Zend/zend_language_scanner.c"
+#line 2516 "Zend/zend_language_scanner.c"
 yy115:
 		YYDEBUG(115, *YYCURSOR);
 		yyaccept = 1;
@@ -2523,7 +2531,7 @@
 yy117:
 		YYDEBUG(117, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2571 "Zend/zend_language_scanner.l"
+#line 2579 "Zend/zend_language_scanner.l"
 		{
 	if (CG(literal_type) == IS_UNICODE) {
 		return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2532,7 +2540,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 2536 "Zend/zend_language_scanner.c"
+#line 2544 "Zend/zend_language_scanner.c"
 yy118:
 		YYDEBUG(118, *YYCURSOR);
 		++YYCURSOR;
@@ -2544,12 +2552,12 @@
 		++YYCURSOR;
 		YYDEBUG(120, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2756 "Zend/zend_language_scanner.l"
+#line 2764 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_IN_SCRIPTING);
 	return '"';
 }
-#line 2553 "Zend/zend_language_scanner.c"
+#line 2561 "Zend/zend_language_scanner.c"
 yy121:
 		YYDEBUG(121, *YYCURSOR);
 		++YYCURSOR;
@@ -2640,7 +2648,7 @@
 yy127:
 		YYDEBUG(127, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2586 "Zend/zend_language_scanner.l"
+#line 2594 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -2652,7 +2660,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 2656 "Zend/zend_language_scanner.c"
+#line 2664 "Zend/zend_language_scanner.c"
 yy128:
 		YYDEBUG(128, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2686,7 +2694,7 @@
 yy133:
 		YYDEBUG(133, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2221 "Zend/zend_language_scanner.l"
+#line 2229 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -2696,18 +2704,18 @@
 	}
 	return T_VARIABLE;
 }
-#line 2700 "Zend/zend_language_scanner.c"
+#line 2708 "Zend/zend_language_scanner.c"
 yy134:
 		YYDEBUG(134, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(135, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1830 "Zend/zend_language_scanner.l"
+#line 1838 "Zend/zend_language_scanner.l"
 		{
 	yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
 	return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2711 "Zend/zend_language_scanner.c"
+#line 2719 "Zend/zend_language_scanner.c"
 yy136:
 		YYDEBUG(136, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2718,7 +2726,7 @@
 		++YYCURSOR;
 		YYDEBUG(138, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2207 "Zend/zend_language_scanner.l"
+#line 2215 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -2732,7 +2740,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 2736 "Zend/zend_language_scanner.c"
+#line 2744 "Zend/zend_language_scanner.c"
 yy139:
 		YYDEBUG(139, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2750,7 +2758,7 @@
 		++YYCURSOR;
 		YYDEBUG(141, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2191 "Zend/zend_language_scanner.l"
+#line 2199 "Zend/zend_language_scanner.l"
 		{
 	yyleng -= 3;
 	yyless(yyleng);
@@ -2764,7 +2772,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 2768 "Zend/zend_language_scanner.c"
+#line 2776 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -2775,7 +2783,7 @@
 	++YYCURSOR;
 	YYDEBUG(145, *YYCURSOR);
 	yyleng = YYCURSOR - SCNG(yy_text);
-#line 2553 "Zend/zend_language_scanner.l"
+#line 2561 "Zend/zend_language_scanner.l"
 	{
 	SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
 	SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2784,7 +2792,7 @@
 	BEGIN(ST_IN_SCRIPTING);
 	return T_END_HEREDOC;
 }
-#line 2788 "Zend/zend_language_scanner.c"
+#line 2796 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_END_NOWDOC:
 	YYDEBUG(146, *YYCURSOR);
@@ -2794,7 +2802,7 @@
 	++YYCURSOR;
 	YYDEBUG(149, *YYCURSOR);
 	yyleng = YYCURSOR - SCNG(yy_text);
-#line 2745 "Zend/zend_language_scanner.l"
+#line 2753 "Zend/zend_language_scanner.l"
 	{
 	SCNG(yy_text) = Z_STRVAL_P(zendlval) = CG(heredoc);
 	SCNG(yy_leng) = Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2803,7 +2811,7 @@
 	BEGIN(ST_IN_SCRIPTING);
 	return T_END_NOWDOC;
 }
-#line 2807 "Zend/zend_language_scanner.c"
+#line 2815 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
 	{
@@ -2860,7 +2868,7 @@
 yy152:
 		YYDEBUG(152, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2628 "Zend/zend_language_scanner.l"
+#line 2636 "Zend/zend_language_scanner.l"
 		{
 	if (CG(literal_type) == IS_UNICODE) {
 		return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2869,7 +2877,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 2873 "Zend/zend_language_scanner.c"
+#line 2881 "Zend/zend_language_scanner.c"
 yy153:
 		YYDEBUG(153, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2915,13 +2923,13 @@
 yy155:
 		YYDEBUG(155, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2564 "Zend/zend_language_scanner.l"
+#line 2572 "Zend/zend_language_scanner.l"
 		{
 	Z_LVAL_P(zendlval) = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_CURLY_OPEN;
 }
-#line 2925 "Zend/zend_language_scanner.c"
+#line 2933 "Zend/zend_language_scanner.c"
 yy156:
 		YYDEBUG(156, *YYCURSOR);
 		yyaccept = 0;
@@ -3172,7 +3180,7 @@
 yy174:
 		YYDEBUG(174, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2637 "Zend/zend_language_scanner.l"
+#line 2645 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -3184,7 +3192,7 @@
 		return T_ENCAPSED_AND_WHITESPACE;
 	}
 }
-#line 3188 "Zend/zend_language_scanner.c"
+#line 3196 "Zend/zend_language_scanner.c"
 yy175:
 		YYDEBUG(175, *YYCURSOR);
 		yyaccept = 2;
@@ -3283,7 +3291,7 @@
 		++YYCURSOR;
 		YYDEBUG(182, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2508 "Zend/zend_language_scanner.l"
+#line 2516 "Zend/zend_language_scanner.l"
 		{
 	char *end = yytext + yyleng - 1;
 
@@ -3328,7 +3336,7 @@
 		yymore();
 	}
 }
-#line 3332 "Zend/zend_language_scanner.c"
+#line 3340 "Zend/zend_language_scanner.c"
 yy183:
 		YYDEBUG(183, *YYCURSOR);
 		yyaccept = 2;
@@ -3588,7 +3596,7 @@
 yy204:
 		YYDEBUG(204, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2221 "Zend/zend_language_scanner.l"
+#line 2229 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -3598,18 +3606,18 @@
 	}
 	return T_VARIABLE;
 }
-#line 3602 "Zend/zend_language_scanner.c"
+#line 3610 "Zend/zend_language_scanner.c"
 yy205:
 		YYDEBUG(205, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(206, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1830 "Zend/zend_language_scanner.l"
+#line 1838 "Zend/zend_language_scanner.l"
 		{
 	yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
 	return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 3613 "Zend/zend_language_scanner.c"
+#line 3621 "Zend/zend_language_scanner.c"
 yy207:
 		YYDEBUG(207, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -3620,7 +3628,7 @@
 		++YYCURSOR;
 		YYDEBUG(209, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2207 "Zend/zend_language_scanner.l"
+#line 2215 "Zend/zend_language_scanner.l"
 		{
 	yyleng--;
 	yyless(yyleng);
@@ -3634,7 +3642,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 3638 "Zend/zend_language_scanner.c"
+#line 3646 "Zend/zend_language_scanner.c"
 yy210:
 		YYDEBUG(210, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -3652,7 +3660,7 @@
 		++YYCURSOR;
 		YYDEBUG(212, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2191 "Zend/zend_language_scanner.l"
+#line 2199 "Zend/zend_language_scanner.l"
 		{
 	yyleng -= 3;
 	yyless(yyleng);
@@ -3666,7 +3674,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 3670 "Zend/zend_language_scanner.c"
+#line 3678 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -3881,7 +3889,7 @@
 yy216:
 		YYDEBUG(216, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2250 "Zend/zend_language_scanner.l"
+#line 2258 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -3891,7 +3899,7 @@
 	}
 	return T_STRING;
 }
-#line 3895 "Zend/zend_language_scanner.c"
+#line 3903 "Zend/zend_language_scanner.c"
 yy217:
 		YYDEBUG(217, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4138,11 +4146,11 @@
 yy230:
 		YYDEBUG(230, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1819 "Zend/zend_language_scanner.l"
+#line 1827 "Zend/zend_language_scanner.l"
 		{
 	return yytext[0];
 }
-#line 4146 "Zend/zend_language_scanner.c"
+#line 4154 "Zend/zend_language_scanner.c"
 yy231:
 		YYDEBUG(231, *YYCURSOR);
 		++YYCURSOR;
@@ -4151,7 +4159,7 @@
 yy232:
 		YYDEBUG(232, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1550 "Zend/zend_language_scanner.l"
+#line 1558 "Zend/zend_language_scanner.l"
 		{
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
 	Z_STRLEN_P(zendlval) = yyleng;
@@ -4159,7 +4167,7 @@
 	HANDLE_NEWLINES(yytext, yyleng);
 	return T_WHITESPACE;
 }
-#line 4163 "Zend/zend_language_scanner.c"
+#line 4171 "Zend/zend_language_scanner.c"
 yy233:
 		YYDEBUG(233, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4392,18 +4400,18 @@
 		++YYCURSOR;
 		YYDEBUG(258, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1824 "Zend/zend_language_scanner.l"
+#line 1832 "Zend/zend_language_scanner.l"
 		{
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return '{';
 }
-#line 4401 "Zend/zend_language_scanner.c"
+#line 4409 "Zend/zend_language_scanner.c"
 yy259:
 		YYDEBUG(259, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(260, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1836 "Zend/zend_language_scanner.l"
+#line 1844 "Zend/zend_language_scanner.l"
 		{
 	RESET_DOC_COMMENT();
 	if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -4411,7 +4419,7 @@
 	}
 	return '}';
 }
-#line 4415 "Zend/zend_language_scanner.c"
+#line 4423 "Zend/zend_language_scanner.c"
 yy261:
 		YYDEBUG(261, *YYCURSOR);
 		yyaccept = 2;
@@ -4434,7 +4442,7 @@
 yy262:
 		YYDEBUG(262, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1866 "Zend/zend_language_scanner.l"
+#line 1874 "Zend/zend_language_scanner.l"
 		{
 	if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
 		Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
@@ -4455,7 +4463,7 @@
 	Z_TYPE_P(zendlval) = IS_LONG;
 	return T_LNUMBER;
 }
-#line 4459 "Zend/zend_language_scanner.c"
+#line 4467 "Zend/zend_language_scanner.c"
 yy263:
 		YYDEBUG(263, *YYCURSOR);
 		yyaccept = 2;
@@ -4483,12 +4491,12 @@
 yy266:
 		YYDEBUG(266, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2268 "Zend/zend_language_scanner.l"
+#line 2276 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_ONE_LINE_COMMENT);
 	yymore();
 }
-#line 4492 "Zend/zend_language_scanner.c"
+#line 4500 "Zend/zend_language_scanner.c"
 yy267:
 		YYDEBUG(267, *YYCURSOR);
 		yyaccept = 3;
@@ -4497,12 +4505,12 @@
 yy268:
 		YYDEBUG(268, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2415 "Zend/zend_language_scanner.l"
+#line 2423 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_DOUBLE_QUOTES);
 	return '"';
 }
-#line 4506 "Zend/zend_language_scanner.c"
+#line 4514 "Zend/zend_language_scanner.c"
 yy269:
 		YYDEBUG(269, *YYCURSOR);
 		yyaccept = 4;
@@ -4511,23 +4519,23 @@
 yy270:
 		YYDEBUG(270, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2768 "Zend/zend_language_scanner.l"
+#line 2776 "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 4520 "Zend/zend_language_scanner.c"
+#line 4528 "Zend/zend_language_scanner.c"
 yy271:
 		YYDEBUG(271, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(272, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2467 "Zend/zend_language_scanner.l"
+#line 2475 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_BACKQUOTE);
 	return '`';
 }
-#line 4531 "Zend/zend_language_scanner.c"
+#line 4539 "Zend/zend_language_scanner.c"
 yy273:
 		YYDEBUG(273, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4553,7 +4561,7 @@
 		++YYCURSOR;
 		YYDEBUG(278, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2399 "Zend/zend_language_scanner.l"
+#line 2407 "Zend/zend_language_scanner.l"
 		{
 	if (UG(unicode)) {
 		return zend_scan_unicode_single_string(zendlval TSRMLS_CC);
@@ -4562,7 +4570,7 @@
 		return T_CONSTANT_ENCAPSED_STRING;
 	}
 }
-#line 4566 "Zend/zend_language_scanner.c"
+#line 4574 "Zend/zend_language_scanner.c"
 yy279:
 		YYDEBUG(279, *YYCURSOR);
 		++YYCURSOR;
@@ -4663,7 +4671,7 @@
 		++YYCURSOR;
 		YYDEBUG(288, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2383 "Zend/zend_language_scanner.l"
+#line 2391 "Zend/zend_language_scanner.l"
 		{
 	if (UG(unicode)) {
 		return zend_scan_unicode_escape_string(zendlval, yytext+1, yyleng-2, 0x22 /*'"'*/, T_CONSTANT_ENCAPSED_STRING TSRMLS_CC);
@@ -4672,7 +4680,7 @@
 		return T_CONSTANT_ENCAPSED_STRING;
 	}
 }
-#line 4676 "Zend/zend_language_scanner.c"
+#line 4684 "Zend/zend_language_scanner.c"
 yy289:
 		YYDEBUG(289, *YYCURSOR);
 		++YYCURSOR;
@@ -4705,13 +4713,13 @@
 yy294:
 		YYDEBUG(294, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1927 "Zend/zend_language_scanner.l"
+#line 1935 "Zend/zend_language_scanner.l"
 		{
 	Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);
 	Z_TYPE_P(zendlval) = IS_DOUBLE;
 	return T_DNUMBER;
 }
-#line 4715 "Zend/zend_language_scanner.c"
+#line 4723 "Zend/zend_language_scanner.c"
 yy295:
 		YYDEBUG(295, *YYCURSOR);
 		yyaccept = 2;
@@ -4773,7 +4781,7 @@
 		}
 		YYDEBUG(304, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1887 "Zend/zend_language_scanner.l"
+#line 1895 "Zend/zend_language_scanner.l"
 		{
 	char *hex = yytext + 2; /* Skip "0x" */
 	int len = yyleng - 2;
@@ -4794,7 +4802,7 @@
 		return T_DNUMBER;
 	}
 }
-#line 4798 "Zend/zend_language_scanner.c"
+#line 4806 "Zend/zend_language_scanner.c"
 yy305:
 		YYDEBUG(305, *YYCURSOR);
 		++YYCURSOR;
@@ -4803,7 +4811,7 @@
 yy306:
 		YYDEBUG(306, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2357 "Zend/zend_language_scanner.l"
+#line 2365 "Zend/zend_language_scanner.l"
 		{
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
 	Z_STRLEN_P(zendlval) = yyleng;
@@ -4811,7 +4819,7 @@
 	BEGIN(INITIAL);
 	return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 4815 "Zend/zend_language_scanner.c"
+#line 4823 "Zend/zend_language_scanner.c"
 yy307:
 		YYDEBUG(307, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4845,7 +4853,7 @@
 yy311:
 		YYDEBUG(311, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2221 "Zend/zend_language_scanner.l"
+#line 2229 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -4855,7 +4863,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 4859 "Zend/zend_language_scanner.c"
+#line 4867 "Zend/zend_language_scanner.c"
 yy312:
 		YYDEBUG(312, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4869,11 +4877,11 @@
 		}
 		YYDEBUG(314, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1807 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
 		{
 	return T_LOGICAL_XOR;
 }
-#line 4877 "Zend/zend_language_scanner.c"
+#line 4885 "Zend/zend_language_scanner.c"
 yy315:
 		YYDEBUG(315, *YYCURSOR);
 		++YYCURSOR;
@@ -4882,61 +4890,61 @@
 		}
 		YYDEBUG(316, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1799 "Zend/zend_language_scanner.l"
+#line 1807 "Zend/zend_language_scanner.l"
 		{
 	return T_LOGICAL_OR;
 }
-#line 4890 "Zend/zend_language_scanner.c"
+#line 4898 "Zend/zend_language_scanner.c"
 yy317:
 		YYDEBUG(317, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(318, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1787 "Zend/zend_language_scanner.l"
+#line 1795 "Zend/zend_language_scanner.l"
 		{
 	return T_XOR_EQUAL;
 }
-#line 4900 "Zend/zend_language_scanner.c"
+#line 4908 "Zend/zend_language_scanner.c"
 yy319:
 		YYDEBUG(319, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(320, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1791 "Zend/zend_language_scanner.l"
+#line 1799 "Zend/zend_language_scanner.l"
 		{
 	return T_BOOLEAN_OR;
 }
-#line 4910 "Zend/zend_language_scanner.c"
+#line 4918 "Zend/zend_language_scanner.c"
 yy321:
 		YYDEBUG(321, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(322, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1783 "Zend/zend_language_scanner.l"
+#line 1791 "Zend/zend_language_scanner.l"
 		{
 	return T_OR_EQUAL;
 }
-#line 4920 "Zend/zend_language_scanner.c"
+#line 4928 "Zend/zend_language_scanner.c"
 yy323:
 		YYDEBUG(323, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(324, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1795 "Zend/zend_language_scanner.l"
+#line 1803 "Zend/zend_language_scanner.l"
 		{
 	return T_BOOLEAN_AND;
 }
-#line 4930 "Zend/zend_language_scanner.c"
+#line 4938 "Zend/zend_language_scanner.c"
 yy325:
 		YYDEBUG(325, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(326, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1779 "Zend/zend_language_scanner.l"
+#line 1787 "Zend/zend_language_scanner.l"
 		{
 	return T_AND_EQUAL;
 }
-#line 4940 "Zend/zend_language_scanner.c"
+#line 4948 "Zend/zend_language_scanner.c"
 yy327:
 		YYDEBUG(327, *YYCURSOR);
 		++YYCURSOR;
@@ -4945,7 +4953,7 @@
 yy328:
 		YYDEBUG(328, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2366 "Zend/zend_language_scanner.l"
+#line 2374 "Zend/zend_language_scanner.l"
 		{
 	if (CG(asp_tags)) {
 		BEGIN(INITIAL);
@@ -4959,17 +4967,17 @@
 		return yytext[0];
 	}
 }
-#line 4963 "Zend/zend_language_scanner.c"
+#line 4971 "Zend/zend_language_scanner.c"
 yy329:
 		YYDEBUG(329, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(330, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1767 "Zend/zend_language_scanner.l"
+#line 1775 "Zend/zend_language_scanner.l"
 		{
 	return T_MOD_EQUAL;
 }
-#line 4973 "Zend/zend_language_scanner.c"
+#line 4981 "Zend/zend_language_scanner.c"
 yy331:
 		YYDEBUG(331, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5000,11 +5008,11 @@
 		++YYCURSOR;
 		YYDEBUG(336, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1763 "Zend/zend_language_scanner.l"
+#line 1771 "Zend/zend_language_scanner.l"
 		{
 	return T_CONCAT_EQUAL;
 }
-#line 5008 "Zend/zend_language_scanner.c"
+#line 5016 "Zend/zend_language_scanner.c"
 yy337:
 		YYDEBUG(337, *YYCURSOR);
 		yyaccept = 6;
@@ -5013,12 +5021,12 @@
 yy338:
 		YYDEBUG(338, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2324 "Zend/zend_language_scanner.l"
+#line 2332 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_COMMENT);
 	yymore();
 }
-#line 5022 "Zend/zend_language_scanner.c"
+#line 5030 "Zend/zend_language_scanner.c"
 yy339:
 		YYDEBUG(339, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5028,11 +5036,11 @@
 		++YYCURSOR;
 		YYDEBUG(341, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1759 "Zend/zend_language_scanner.l"
+#line 1767 "Zend/zend_language_scanner.l"
 		{
 	return T_DIV_EQUAL;
 }
-#line 5036 "Zend/zend_language_scanner.c"
+#line 5044 "Zend/zend_language_scanner.c"
 yy342:
 		YYDEBUG(342, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5051,54 +5059,54 @@
 		}
 		YYDEBUG(345, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2318 "Zend/zend_language_scanner.l"
+#line 2326 "Zend/zend_language_scanner.l"
 		{
 	RESET_DOC_COMMENT();
 	BEGIN(ST_DOC_COMMENT);
 	yymore();
 }
-#line 5061 "Zend/zend_language_scanner.c"
+#line 5069 "Zend/zend_language_scanner.c"
 yy346:
 		YYDEBUG(346, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(347, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1755 "Zend/zend_language_scanner.l"
+#line 1763 "Zend/zend_language_scanner.l"
 		{
 	return T_MUL_EQUAL;
 }
-#line 5071 "Zend/zend_language_scanner.c"
+#line 5079 "Zend/zend_language_scanner.c"
 yy348:
 		YYDEBUG(348, *YYCURSOR);
 		++YYCURSOR;
 		if ((yych = *YYCURSOR) == '=') goto yy352;
 		YYDEBUG(349, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1815 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
 		{
 	return T_SR;
 }
-#line 5082 "Zend/zend_language_scanner.c"
+#line 5090 "Zend/zend_language_scanner.c"
 yy350:
 		YYDEBUG(350, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(351, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1743 "Zend/zend_language_scanner.l"
+#line 1751 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_GREATER_OR_EQUAL;
 }
-#line 5092 "Zend/zend_language_scanner.c"
+#line 5100 "Zend/zend_language_scanner.c"
 yy352:
 		YYDEBUG(352, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(353, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1775 "Zend/zend_language_scanner.l"
+#line 1783 "Zend/zend_language_scanner.l"
 		{
 	return T_SR_EQUAL;
 }
-#line 5102 "Zend/zend_language_scanner.c"
+#line 5110 "Zend/zend_language_scanner.c"
 yy354:
 		YYDEBUG(354, *YYCURSOR);
 		yyaccept = 7;
@@ -5109,11 +5117,11 @@
 yy355:
 		YYDEBUG(355, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1811 "Zend/zend_language_scanner.l"
+#line 1819 "Zend/zend_language_scanner.l"
 		{
 	return T_SL;
 }
-#line 5117 "Zend/zend_language_scanner.c"
+#line 5125 "Zend/zend_language_scanner.c"
 yy356:
 		YYDEBUG(356, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5125,22 +5133,22 @@
 		++YYCURSOR;
 		YYDEBUG(358, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1739 "Zend/zend_language_scanner.l"
+#line 1747 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_SMALLER_OR_EQUAL;
 }
-#line 5133 "Zend/zend_language_scanner.c"
+#line 5141 "Zend/zend_language_scanner.c"
 yy359:
 		YYDEBUG(359, *YYCURSOR);
 		++YYCURSOR;
 yy360:
 		YYDEBUG(360, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1735 "Zend/zend_language_scanner.l"
+#line 1743 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_NOT_EQUAL;
 }
-#line 5144 "Zend/zend_language_scanner.c"
+#line 5152 "Zend/zend_language_scanner.c"
 yy361:
 		YYDEBUG(361, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5191,11 +5199,11 @@
 		++YYCURSOR;
 		YYDEBUG(369, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1771 "Zend/zend_language_scanner.l"
+#line 1779 "Zend/zend_language_scanner.l"
 		{
 	return T_SL_EQUAL;
 }
-#line 5199 "Zend/zend_language_scanner.c"
+#line 5207 "Zend/zend_language_scanner.c"
 yy370:
 		YYDEBUG(370, *YYCURSOR);
 		++YYCURSOR;
@@ -5302,7 +5310,7 @@
 yy380:
 		YYDEBUG(380, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2446 "Zend/zend_language_scanner.l"
+#line 2454 "Zend/zend_language_scanner.l"
 		{
 	char *s;
 
@@ -5322,7 +5330,7 @@
 	BEGIN(ST_START_HEREDOC);
 	return T_START_HEREDOC;
 }
-#line 5326 "Zend/zend_language_scanner.c"
+#line 5334 "Zend/zend_language_scanner.c"
 yy381:
 		YYDEBUG(381, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5364,7 +5372,7 @@
 yy386:
 		YYDEBUG(386, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2652 "Zend/zend_language_scanner.l"
+#line 2660 "Zend/zend_language_scanner.l"
 		{
 	int bprefix = (yytext[0] != '<') ? 1 : 0;
 	char *s;
@@ -5383,7 +5391,7 @@
 	BEGIN(ST_START_NOWDOC);
 	return T_START_NOWDOC;
 }
-#line 5387 "Zend/zend_language_scanner.c"
+#line 5395 "Zend/zend_language_scanner.c"
 yy387:
 		YYDEBUG(387, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5397,31 +5405,31 @@
 		++YYCURSOR;
 		YYDEBUG(390, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1727 "Zend/zend_language_scanner.l"
+#line 1735 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_NOT_IDENTICAL;
 }
-#line 5405 "Zend/zend_language_scanner.c"
+#line 5413 "Zend/zend_language_scanner.c"
 yy391:
 		YYDEBUG(391, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(392, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1747 "Zend/zend_language_scanner.l"
+#line 1755 "Zend/zend_language_scanner.l"
 		{
 	return T_PLUS_EQUAL;
 }
-#line 5415 "Zend/zend_language_scanner.c"
+#line 5423 "Zend/zend_language_scanner.c"
 yy393:
 		YYDEBUG(393, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(394, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1723 "Zend/zend_language_scanner.l"
 		{
 	return T_INC;
 }
-#line 5425 "Zend/zend_language_scanner.c"
+#line 5433 "Zend/zend_language_scanner.c"
 yy395:
 		YYDEBUG(395, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5440,42 +5448,42 @@
 		}
 		YYDEBUG(398, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1707 "Zend/zend_language_scanner.l"
+#line 1715 "Zend/zend_language_scanner.l"
 		{
 	return T_LIST;
 }
-#line 5448 "Zend/zend_language_scanner.c"
+#line 5456 "Zend/zend_language_scanner.c"
 yy399:
 		YYDEBUG(399, *YYCURSOR);
 		++YYCURSOR;
 		if ((yych = *YYCURSOR) == '=') goto yy403;
 		YYDEBUG(400, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1731 "Zend/zend_language_scanner.l"
+#line 1739 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_EQUAL;
 }
-#line 5459 "Zend/zend_language_scanner.c"
+#line 5467 "Zend/zend_language_scanner.c"
 yy401:
 		YYDEBUG(401, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(402, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1703 "Zend/zend_language_scanner.l"
+#line 1711 "Zend/zend_language_scanner.l"
 		{
 	return T_DOUBLE_ARROW;
 }
-#line 5469 "Zend/zend_language_scanner.c"
+#line 5477 "Zend/zend_language_scanner.c"
 yy403:
 		YYDEBUG(403, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(404, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1723 "Zend/zend_language_scanner.l"
+#line 1731 "Zend/zend_language_scanner.l"
 		{
 	return T_IS_IDENTICAL;
 }
-#line 5479 "Zend/zend_language_scanner.c"
+#line 5487 "Zend/zend_language_scanner.c"
 yy405:
 		YYDEBUG(405, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5567,7 +5575,7 @@
 		}
 		YYDEBUG(423, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2055 "Zend/zend_language_scanner.l"
+#line 2063 "Zend/zend_language_scanner.l"
 		{
 	if (CG(current_namespace)) {
 		*zendlval = *CG(current_namespace);
@@ -5577,7 +5585,7 @@
 	}
 	return T_NS_C;
 }
-#line 5581 "Zend/zend_language_scanner.c"
+#line 5589 "Zend/zend_language_scanner.c"
 yy424:
 		YYDEBUG(424, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5595,7 +5603,7 @@
 		}
 		YYDEBUG(428, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2028 "Zend/zend_language_scanner.l"
+#line 2036 "Zend/zend_language_scanner.l"
 		{
 	char *filename = zend_get_compiled_filename(TSRMLS_C);
 	const size_t filename_len = strlen(filename);
@@ -5622,7 +5630,7 @@
 	zendlval->type = IS_STRING;
 	return T_DIR;
 }
-#line 5626 "Zend/zend_language_scanner.c"
+#line 5634 "Zend/zend_language_scanner.c"
 yy429:
 		YYDEBUG(429, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5643,13 +5651,13 @@
 		}
 		YYDEBUG(434, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2012 "Zend/zend_language_scanner.l"
+#line 2020 "Zend/zend_language_scanner.l"
 		{
 	Z_LVAL_P(zendlval) = CG(zend_lineno);
 	Z_TYPE_P(zendlval) = IS_LONG;
 	return T_LINE;
 }
-#line 5653 "Zend/zend_language_scanner.c"
+#line 5661 "Zend/zend_language_scanner.c"
 yy435:
 		YYDEBUG(435, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5676,7 +5684,7 @@
 		}
 		YYDEBUG(442, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1963 "Zend/zend_language_scanner.l"
+#line 1971 "Zend/zend_language_scanner.l"
 		{
 	zstr class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL_ZSTR;
 	zstr func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL_ZSTR;
@@ -5725,7 +5733,7 @@
 	}
 	return T_METHOD_C;
 }
-#line 5729 "Zend/zend_language_scanner.c"
+#line 5737 "Zend/zend_language_scanner.c"
 yy443:
 		YYDEBUG(443, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5763,7 +5771,7 @@
 		}
 		YYDEBUG(453, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1948 "Zend/zend_language_scanner.l"
+#line 1956 "Zend/zend_language_scanner.l"
 		{
 	zstr func_name = NULL_ZSTR;
 
@@ -5778,7 +5786,7 @@
 	}
 	return T_FUNC_C;
 }
-#line 5782 "Zend/zend_language_scanner.c"
+#line 5790 "Zend/zend_language_scanner.c"
 yy454:
 		YYDEBUG(454, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5796,7 +5804,7 @@
 		}
 		YYDEBUG(458, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2018 "Zend/zend_language_scanner.l"
+#line 2026 "Zend/zend_language_scanner.l"
 		{
 	char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -5806,7 +5814,7 @@
 	ZVAL_RT_STRING(zendlval, filename, 1);
 	return T_FILE;
 }
-#line 5810 "Zend/zend_language_scanner.c"
+#line 5818 "Zend/zend_language_scanner.c"
 yy459:
 		YYDEBUG(459, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5830,7 +5838,7 @@
 		}
 		YYDEBUG(465, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1933 "Zend/zend_language_scanner.l"
+#line 1941 "Zend/zend_language_scanner.l"
 		{
 	zstr class_name = NULL_ZSTR;
 
@@ -5845,7 +5853,7 @@
 	}
 	return T_CLASS_C;
 }
-#line 5849 "Zend/zend_language_scanner.c"
+#line 5857 "Zend/zend_language_scanner.c"
 yy466:
 		YYDEBUG(466, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5907,11 +5915,11 @@
 		}
 		YYDEBUG(478, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1671 "Zend/zend_language_scanner.l"
+#line 1679 "Zend/zend_language_scanner.l"
 		{
 	return T_HALT_COMPILER;
 }
-#line 5915 "Zend/zend_language_scanner.c"
+#line 5923 "Zend/zend_language_scanner.c"
 yy479:
 		YYDEBUG(479, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5931,11 +5939,11 @@
 		}
 		YYDEBUG(482, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1655 "Zend/zend_language_scanner.l"
+#line 1663 "Zend/zend_language_scanner.l"
 		{
 	return T_USE;
 }
-#line 5939 "Zend/zend_language_scanner.c"
+#line 5947 "Zend/zend_language_scanner.c"
 yy483:
 		YYDEBUG(483, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5954,11 +5962,11 @@
 		}
 		YYDEBUG(486, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1699 "Zend/zend_language_scanner.l"
+#line 1707 "Zend/zend_language_scanner.l"
 		{
 	return T_UNSET;
 }
-#line 5962 "Zend/zend_language_scanner.c"
+#line 5970 "Zend/zend_language_scanner.c"
 yy487:
 		YYDEBUG(487, *YYCURSOR);
 		++YYCURSOR;
@@ -6130,11 +6138,11 @@
 		++YYCURSOR;
 		YYDEBUG(504, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1595 "Zend/zend_language_scanner.l"
+#line 1603 "Zend/zend_language_scanner.l"
 		{
 	return T_INT_CAST;
 }
-#line 6138 "Zend/zend_language_scanner.c"
+#line 6146 "Zend/zend_language_scanner.c"
 yy505:
 		YYDEBUG(505, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6178,11 +6186,11 @@
 		++YYCURSOR;
 		YYDEBUG(513, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1599 "Zend/zend_language_scanner.l"
+#line 1607 "Zend/zend_language_scanner.l"
 		{
 	return T_DOUBLE_CAST;
 }
-#line 6186 "Zend/zend_language_scanner.c"
+#line 6194 "Zend/zend_language_scanner.c"
 yy514:
 		YYDEBUG(514, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6252,11 +6260,11 @@
 		++YYCURSOR;
 		YYDEBUG(527, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1603 "Zend/zend_language_scanner.l"
+#line 1611 "Zend/zend_language_scanner.l"
 		{
 	return T_STRING_CAST;
 }
-#line 6260 "Zend/zend_language_scanner.c"
+#line 6268 "Zend/zend_language_scanner.c"
 yy528:
 		YYDEBUG(528, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6289,11 +6297,11 @@
 		++YYCURSOR;
 		YYDEBUG(534, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1615 "Zend/zend_language_scanner.l"
+#line 1623 "Zend/zend_language_scanner.l"
 		{
 	return T_ARRAY_CAST;
 }
-#line 6297 "Zend/zend_language_scanner.c"
+#line 6305 "Zend/zend_language_scanner.c"
 yy535:
 		YYDEBUG(535, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6331,11 +6339,11 @@
 		++YYCURSOR;
 		YYDEBUG(542, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1619 "Zend/zend_language_scanner.l"
+#line 1627 "Zend/zend_language_scanner.l"
 		{
 	return T_OBJECT_CAST;
 }
-#line 6339 "Zend/zend_language_scanner.c"
+#line 6347 "Zend/zend_language_scanner.c"
 yy543:
 		YYDEBUG(543, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6376,11 +6384,11 @@
 		++YYCURSOR;
 		YYDEBUG(550, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1623 "Zend/zend_language_scanner.l"
+#line 1631 "Zend/zend_language_scanner.l"
 		{
 	return T_BOOL_CAST;
 }
-#line 6384 "Zend/zend_language_scanner.c"
+#line 6392 "Zend/zend_language_scanner.c"
 yy551:
 		YYDEBUG(551, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6424,11 +6432,11 @@
 		++YYCURSOR;
 		YYDEBUG(559, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1611 "Zend/zend_language_scanner.l"
+#line 1619 "Zend/zend_language_scanner.l"
 		{
 	return T_BINARY_CAST;
 }
-#line 6432 "Zend/zend_language_scanner.c"
+#line 6440 "Zend/zend_language_scanner.c"
 yy560:
 		YYDEBUG(560, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6485,11 +6493,11 @@
 		++YYCURSOR;
 		YYDEBUG(569, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1607 "Zend/zend_language_scanner.l"
+#line 1615 "Zend/zend_language_scanner.l"
 		{
 	return T_UNICODE_CAST;
 }
-#line 6493 "Zend/zend_language_scanner.c"
+#line 6501 "Zend/zend_language_scanner.c"
 yy570:
 		YYDEBUG(570, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6512,11 +6520,11 @@
 		++YYCURSOR;
 		YYDEBUG(574, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1627 "Zend/zend_language_scanner.l"
+#line 1635 "Zend/zend_language_scanner.l"
 		{
 	return T_UNSET_CAST;
 }
-#line 6520 "Zend/zend_language_scanner.c"
+#line 6528 "Zend/zend_language_scanner.c"
 yy575:
 		YYDEBUG(575, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6530,11 +6538,11 @@
 		}
 		YYDEBUG(577, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1591 "Zend/zend_language_scanner.l"
+#line 1599 "Zend/zend_language_scanner.l"
 		{
 	return T_VAR;
 }
-#line 6538 "Zend/zend_language_scanner.c"
+#line 6546 "Zend/zend_language_scanner.c"
 yy578:
 		YYDEBUG(578, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6554,11 +6562,11 @@
 		}
 		YYDEBUG(581, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1583 "Zend/zend_language_scanner.l"
+#line 1591 "Zend/zend_language_scanner.l"
 		{
 	return T_NEW;
 }
-#line 6562 "Zend/zend_language_scanner.c"
+#line 6570 "Zend/zend_language_scanner.c"
 yy582:
 		YYDEBUG(582, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6597,21 +6605,21 @@
 		}
 		YYDEBUG(589, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1651 "Zend/zend_language_scanner.l"
+#line 1659 "Zend/zend_language_scanner.l"
 		{
 	return T_NAMESPACE;
 }
-#line 6605 "Zend/zend_language_scanner.c"
+#line 6613 "Zend/zend_language_scanner.c"
 yy590:
 		YYDEBUG(590, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(591, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1579 "Zend/zend_language_scanner.l"
+#line 1587 "Zend/zend_language_scanner.l"
 		{
 	return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 6615 "Zend/zend_language_scanner.c"
+#line 6623 "Zend/zend_language_scanner.c"
 yy592:
 		YYDEBUG(592, *YYCURSOR);
 		++YYCURSOR;
@@ -6633,32 +6641,32 @@
 		++YYCURSOR;
 		YYDEBUG(595, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1751 "Zend/zend_language_scanner.l"
+#line 1759 "Zend/zend_language_scanner.l"
 		{
 	return T_MINUS_EQUAL;
 }
-#line 6641 "Zend/zend_language_scanner.c"
+#line 6649 "Zend/zend_language_scanner.c"
 yy596:
 		YYDEBUG(596, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(597, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1719 "Zend/zend_language_scanner.l"
+#line 1727 "Zend/zend_language_scanner.l"
 		{
 	return T_DEC;
 }
-#line 6651 "Zend/zend_language_scanner.c"
+#line 6659 "Zend/zend_language_scanner.c"
 yy598:
 		YYDEBUG(598, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(599, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1545 "Zend/zend_language_scanner.l"
+#line 1553 "Zend/zend_language_scanner.l"
 		{
 	yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 	return T_OBJECT_OPERATOR;
 }
-#line 6662 "Zend/zend_language_scanner.c"
+#line 6670 "Zend/zend_language_scanner.c"
 yy600:
 		YYDEBUG(600, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6703,11 +6711,11 @@
 		}
 		YYDEBUG(606, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1695 "Zend/zend_language_scanner.l"
+#line 1703 "Zend/zend_language_scanner.l"
 		{
 	return T_PUBLIC;
 }
-#line 6711 "Zend/zend_language_scanner.c"
+#line 6719 "Zend/zend_language_scanner.c"
 yy607:
 		YYDEBUG(607, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6762,11 +6770,11 @@
 		}
 		YYDEBUG(615, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1699 "Zend/zend_language_scanner.l"
 		{
 	return T_PROTECTED;
 }
-#line 6770 "Zend/zend_language_scanner.c"
+#line 6778 "Zend/zend_language_scanner.c"
 yy616:
 		YYDEBUG(616, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6796,11 +6804,11 @@
 		}
 		YYDEBUG(621, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1687 "Zend/zend_language_scanner.l"
+#line 1695 "Zend/zend_language_scanner.l"
 		{
 	return T_PRIVATE;
 }
-#line 6804 "Zend/zend_language_scanner.c"
+#line 6812 "Zend/zend_language_scanner.c"
 yy622:
 		YYDEBUG(622, *YYCURSOR);
 		++YYCURSOR;
@@ -6809,11 +6817,11 @@
 		}
 		YYDEBUG(623, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1525 "Zend/zend_language_scanner.l"
+#line 1533 "Zend/zend_language_scanner.l"
 		{
 	return T_PRINT;
 }
-#line 6817 "Zend/zend_language_scanner.c"
+#line 6825 "Zend/zend_language_scanner.c"
 yy624:
 		YYDEBUG(624, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6838,11 +6846,11 @@
 		}
 		YYDEBUG(628, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1517 "Zend/zend_language_scanner.l"
+#line 1525 "Zend/zend_language_scanner.l"
 		{
 	return T_GOTO;
 }
-#line 6846 "Zend/zend_language_scanner.c"
+#line 6854 "Zend/zend_language_scanner.c"
 yy629:
 		YYDEBUG(629, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6866,11 +6874,11 @@
 		}
 		YYDEBUG(633, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1659 "Zend/zend_language_scanner.l"
+#line 1667 "Zend/zend_language_scanner.l"
 		{
 	return T_GLOBAL;
 }
-#line 6874 "Zend/zend_language_scanner.c"
+#line 6882 "Zend/zend_language_scanner.c"
 yy634:
 		YYDEBUG(634, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6884,12 +6892,12 @@
 yy636:
 		YYDEBUG(636, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2420 "Zend/zend_language_scanner.l"
+#line 2428 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_DOUBLE_QUOTES);
 	return T_BINARY_DOUBLE;
 }
-#line 6893 "Zend/zend_language_scanner.c"
+#line 6901 "Zend/zend_language_scanner.c"
 yy637:
 		YYDEBUG(637, *YYCURSOR);
 		++YYCURSOR;
@@ -6922,11 +6930,11 @@
 		}
 		YYDEBUG(643, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1509 "Zend/zend_language_scanner.l"
+#line 1517 "Zend/zend_language_scanner.l"
 		{
 	return T_BREAK;
 }
-#line 6930 "Zend/zend_language_scanner.c"
+#line 6938 "Zend/zend_language_scanner.c"
 yy644:
 		YYDEBUG(644, *YYCURSOR);
 		++YYCURSOR;
@@ -6938,12 +6946,12 @@
 		++YYCURSOR;
 		YYDEBUG(646, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2409 "Zend/zend_language_scanner.l"
+#line 2417 "Zend/zend_language_scanner.l"
 		{
 	zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC);
 	return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 6947 "Zend/zend_language_scanner.c"
+#line 6955 "Zend/zend_language_scanner.c"
 yy647:
 		YYDEBUG(647, *YYCURSOR);
 		++YYCURSOR;
@@ -7017,12 +7025,12 @@
 		++YYCURSOR;
 		YYDEBUG(655, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2393 "Zend/zend_language_scanner.l"
+#line 2401 "Zend/zend_language_scanner.l"
 		{
 	zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC);
 	return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 7026 "Zend/zend_language_scanner.c"
+#line 7034 "Zend/zend_language_scanner.c"
 yy656:
 		YYDEBUG(656, *YYCURSOR);
 		++YYCURSOR;
@@ -7131,7 +7139,7 @@
 yy667:
 		YYDEBUG(667, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2425 "Zend/zend_language_scanner.l"
+#line 2433 "Zend/zend_language_scanner.l"
 		{
 	char *s;
 
@@ -7151,7 +7159,7 @@
 	BEGIN(ST_START_HEREDOC);
 	return T_BINARY_HEREDOC;
 }
-#line 7155 "Zend/zend_language_scanner.c"
+#line 7163 "Zend/zend_language_scanner.c"
 yy668:
 		YYDEBUG(668, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7191,11 +7199,11 @@
 		}
 		YYDEBUG(675, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1493 "Zend/zend_language_scanner.l"
+#line 1501 "Zend/zend_language_scanner.l"
 		{
 	return T_SWITCH;
 }
-#line 7199 "Zend/zend_language_scanner.c"
+#line 7207 "Zend/zend_language_scanner.c"
 yy676:
 		YYDEBUG(676, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7219,11 +7227,11 @@
 		}
 		YYDEBUG(680, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1675 "Zend/zend_language_scanner.l"
+#line 1683 "Zend/zend_language_scanner.l"
 		{
 	return T_STATIC;
 }
-#line 7227 "Zend/zend_language_scanner.c"
+#line 7235 "Zend/zend_language_scanner.c"
 yy681:
 		YYDEBUG(681, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7250,11 +7258,11 @@
 		}
 		YYDEBUG(685, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1489 "Zend/zend_language_scanner.l"
+#line 1497 "Zend/zend_language_scanner.l"
 		{
 	return T_AS;
 }
-#line 7258 "Zend/zend_language_scanner.c"
+#line 7266 "Zend/zend_language_scanner.c"
 yy686:
 		YYDEBUG(686, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7273,11 +7281,11 @@
 		}
 		YYDEBUG(689, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1711 "Zend/zend_language_scanner.l"
+#line 1719 "Zend/zend_language_scanner.l"
 		{
 	return T_ARRAY;
 }
-#line 7281 "Zend/zend_language_scanner.c"
+#line 7289 "Zend/zend_language_scanner.c"
 yy690:
 		YYDEBUG(690, *YYCURSOR);
 		++YYCURSOR;
@@ -7286,11 +7294,11 @@
 		}
 		YYDEBUG(691, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1803 "Zend/zend_language_scanner.l"
+#line 1811 "Zend/zend_language_scanner.l"
 		{
 	return T_LOGICAL_AND;
 }
-#line 7294 "Zend/zend_language_scanner.c"
+#line 7302 "Zend/zend_language_scanner.c"
 yy692:
 		YYDEBUG(692, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7324,11 +7332,11 @@
 		}
 		YYDEBUG(698, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1679 "Zend/zend_language_scanner.l"
+#line 1687 "Zend/zend_language_scanner.l"
 		{
 	return T_ABSTRACT;
 }
-#line 7332 "Zend/zend_language_scanner.c"
+#line 7340 "Zend/zend_language_scanner.c"
 yy699:
 		YYDEBUG(699, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7352,11 +7360,11 @@
 		}
 		YYDEBUG(703, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1449 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
 		{
 	return T_WHILE;
 }
-#line 7360 "Zend/zend_language_scanner.c"
+#line 7368 "Zend/zend_language_scanner.c"
 yy704:
 		YYDEBUG(704, *YYCURSOR);
 		++YYCURSOR;
@@ -7365,11 +7373,11 @@
 		}
 		YYDEBUG(705, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1433 "Zend/zend_language_scanner.l"
+#line 1441 "Zend/zend_language_scanner.l"
 		{
 	return T_IF;
 }
-#line 7373 "Zend/zend_language_scanner.c"
+#line 7381 "Zend/zend_language_scanner.c"
 yy706:
 		YYDEBUG(706, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7421,11 +7429,11 @@
 		}
 		YYDEBUG(712, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1663 "Zend/zend_language_scanner.l"
+#line 1671 "Zend/zend_language_scanner.l"
 		{
 	return T_ISSET;
 }
-#line 7429 "Zend/zend_language_scanner.c"
+#line 7437 "Zend/zend_language_scanner.c"
 yy713:
 		YYDEBUG(713, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7479,11 +7487,11 @@
 yy720:
 		YYDEBUG(720, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1635 "Zend/zend_language_scanner.l"
+#line 1643 "Zend/zend_language_scanner.l"
 		{
 	return T_INCLUDE;
 }
-#line 7487 "Zend/zend_language_scanner.c"
+#line 7495 "Zend/zend_language_scanner.c"
 yy721:
 		YYDEBUG(721, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7512,11 +7520,11 @@
 		}
 		YYDEBUG(726, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1639 "Zend/zend_language_scanner.l"
+#line 1647 "Zend/zend_language_scanner.l"
 		{
 	return T_INCLUDE_ONCE;
 }
-#line 7520 "Zend/zend_language_scanner.c"
+#line 7528 "Zend/zend_language_scanner.c"
 yy727:
 		YYDEBUG(727, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7550,11 +7558,11 @@
 		}
 		YYDEBUG(733, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1533 "Zend/zend_language_scanner.l"
+#line 1541 "Zend/zend_language_scanner.l"
 		{
 	return T_INTERFACE;
 }
-#line 7558 "Zend/zend_language_scanner.c"
+#line 7566 "Zend/zend_language_scanner.c"
 yy734:
 		YYDEBUG(734, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7593,11 +7601,11 @@
 		}
 		YYDEBUG(741, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1485 "Zend/zend_language_scanner.l"
+#line 1493 "Zend/zend_language_scanner.l"
 		{
 	return T_INSTANCEOF;
 }
-#line 7601 "Zend/zend_language_scanner.c"
+#line 7609 "Zend/zend_language_scanner.c"
 yy742:
 		YYDEBUG(742, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7641,11 +7649,11 @@
 		}
 		YYDEBUG(750, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1541 "Zend/zend_language_scanner.l"
+#line 1549 "Zend/zend_language_scanner.l"
 		{
 	return T_IMPLEMENTS;
 }
-#line 7649 "Zend/zend_language_scanner.c"
+#line 7657 "Zend/zend_language_scanner.c"
 yy751:
 		YYDEBUG(751, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7665,11 +7673,11 @@
 		}
 		YYDEBUG(754, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1421 "Zend/zend_language_scanner.l"
+#line 1429 "Zend/zend_language_scanner.l"
 		{
 	return T_TRY;
 }
-#line 7673 "Zend/zend_language_scanner.c"
+#line 7681 "Zend/zend_language_scanner.c"
 yy755:
 		YYDEBUG(755, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7688,11 +7696,11 @@
 		}
 		YYDEBUG(758, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1429 "Zend/zend_language_scanner.l"
+#line 1437 "Zend/zend_language_scanner.l"
 		{
 	return T_THROW;
 }
-#line 7696 "Zend/zend_language_scanner.c"
+#line 7704 "Zend/zend_language_scanner.c"
 yy759:
 		YYDEBUG(759, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7753,11 +7761,11 @@
 yy766:
 		YYDEBUG(766, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1643 "Zend/zend_language_scanner.l"
+#line 1651 "Zend/zend_language_scanner.l"
 		{
 	return T_REQUIRE;
 }
-#line 7761 "Zend/zend_language_scanner.c"
+#line 7769 "Zend/zend_language_scanner.c"
 yy767:
 		YYDEBUG(767, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7786,11 +7794,11 @@
 		}
 		YYDEBUG(772, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1647 "Zend/zend_language_scanner.l"
+#line 1655 "Zend/zend_language_scanner.l"
 		{
 	return T_REQUIRE_ONCE;
 }
-#line 7794 "Zend/zend_language_scanner.c"
+#line 7802 "Zend/zend_language_scanner.c"
 yy773:
 		YYDEBUG(773, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7809,11 +7817,11 @@
 		}
 		YYDEBUG(776, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1417 "Zend/zend_language_scanner.l"
+#line 1425 "Zend/zend_language_scanner.l"
 		{
 	return T_RETURN;
 }
-#line 7817 "Zend/zend_language_scanner.c"
+#line 7825 "Zend/zend_language_scanner.c"
 yy777:
 		YYDEBUG(777, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7894,11 +7902,11 @@
 		}
 		YYDEBUG(787, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1513 "Zend/zend_language_scanner.l"
+#line 1521 "Zend/zend_language_scanner.l"
 		{
 	return T_CONTINUE;
 }
-#line 7902 "Zend/zend_language_scanner.c"
+#line 7910 "Zend/zend_language_scanner.c"
 yy788:
 		YYDEBUG(788, *YYCURSOR);
 		++YYCURSOR;
@@ -7907,11 +7915,11 @@
 		}
 		YYDEBUG(789, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
+#line 1421 "Zend/zend_language_scanner.l"
 		{
 	return T_CONST;
 }
-#line 7915 "Zend/zend_language_scanner.c"
+#line 7923 "Zend/zend_language_scanner.c"
 yy790:
 		YYDEBUG(790, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7936,11 +7944,11 @@
 		}
 		YYDEBUG(794, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1595 "Zend/zend_language_scanner.l"
 		{
 	return T_CLONE;
 }
-#line 7944 "Zend/zend_language_scanner.c"
+#line 7952 "Zend/zend_language_scanner.c"
 yy795:
 		YYDEBUG(795, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7954,11 +7962,11 @@
 		}
 		YYDEBUG(797, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1529 "Zend/zend_language_scanner.l"
+#line 1537 "Zend/zend_language_scanner.l"
 		{
 	return T_CLASS;
 }
-#line 7962 "Zend/zend_language_scanner.c"
+#line 7970 "Zend/zend_language_scanner.c"
 yy798:
 		YYDEBUG(798, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7978,11 +7986,11 @@
 		}
 		YYDEBUG(801, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1501 "Zend/zend_language_scanner.l"
+#line 1509 "Zend/zend_language_scanner.l"
 		{
 	return T_CASE;
 }
-#line 7986 "Zend/zend_language_scanner.c"
+#line 7994 "Zend/zend_language_scanner.c"
 yy802:
 		YYDEBUG(802, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7996,11 +8004,11 @@
 		}
 		YYDEBUG(804, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1425 "Zend/zend_language_scanner.l"
+#line 1433 "Zend/zend_language_scanner.l"
 		{
 	return T_CATCH;
 }
-#line 8004 "Zend/zend_language_scanner.c"
+#line 8012 "Zend/zend_language_scanner.c"
 yy805:
 		YYDEBUG(805, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8051,11 +8059,11 @@
 		}
 		YYDEBUG(814, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1409 "Zend/zend_language_scanner.l"
+#line 1417 "Zend/zend_language_scanner.l"
 		{
 	return T_FUNCTION;
 }
-#line 8059 "Zend/zend_language_scanner.c"
+#line 8067 "Zend/zend_language_scanner.c"
 yy815:
 		YYDEBUG(815, *YYCURSOR);
 		++YYCURSOR;
@@ -8079,11 +8087,11 @@
 yy816:
 		YYDEBUG(816, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1461 "Zend/zend_language_scanner.l"
+#line 1469 "Zend/zend_language_scanner.l"
 		{
 	return T_FOR;
 }
-#line 8087 "Zend/zend_language_scanner.c"
+#line 8095 "Zend/zend_language_scanner.c"
 yy817:
 		YYDEBUG(817, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8107,11 +8115,11 @@
 		}
 		YYDEBUG(821, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1469 "Zend/zend_language_scanner.l"
+#line 1477 "Zend/zend_language_scanner.l"
 		{
 	return T_FOREACH;
 }
-#line 8115 "Zend/zend_language_scanner.c"
+#line 8123 "Zend/zend_language_scanner.c"
 yy822:
 		YYDEBUG(822, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8130,11 +8138,11 @@
 		}
 		YYDEBUG(825, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
+#line 1691 "Zend/zend_language_scanner.l"
 		{
 	return T_FINAL;
 }
-#line 8138 "Zend/zend_language_scanner.c"
+#line 8146 "Zend/zend_language_scanner.c"
 yy826:
 		YYDEBUG(826, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8165,11 +8173,11 @@
 		}
 		YYDEBUG(829, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1457 "Zend/zend_language_scanner.l"
+#line 1465 "Zend/zend_language_scanner.l"
 		{
 	return T_DO;
 }
-#line 8173 "Zend/zend_language_scanner.c"
+#line 8181 "Zend/zend_language_scanner.c"
 yy830:
 		YYDEBUG(830, *YYCURSOR);
 		++YYCURSOR;
@@ -8178,11 +8186,11 @@
 		}
 		YYDEBUG(831, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1405 "Zend/zend_language_scanner.l"
+#line 1413 "Zend/zend_language_scanner.l"
 		{
 	return T_EXIT;
 }
-#line 8186 "Zend/zend_language_scanner.c"
+#line 8194 "Zend/zend_language_scanner.c"
 yy832:
 		YYDEBUG(832, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8217,11 +8225,11 @@
 		}
 		YYDEBUG(838, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1505 "Zend/zend_language_scanner.l"
+#line 1513 "Zend/zend_language_scanner.l"
 		{
 	return T_DEFAULT;
 }
-#line 8225 "Zend/zend_language_scanner.c"
+#line 8233 "Zend/zend_language_scanner.c"
 yy839:
 		YYDEBUG(839, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8245,11 +8253,11 @@
 		}
 		YYDEBUG(843, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1477 "Zend/zend_language_scanner.l"
+#line 1485 "Zend/zend_language_scanner.l"
 		{
 	return T_DECLARE;
 }
-#line 8253 "Zend/zend_language_scanner.c"
+#line 8261 "Zend/zend_language_scanner.c"
 yy844:
 		YYDEBUG(844, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8329,11 +8337,11 @@
 		}
 		YYDEBUG(856, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1537 "Zend/zend_language_scanner.l"
+#line 1545 "Zend/zend_language_scanner.l"
 		{
 	return T_EXTENDS;
 }
-#line 8337 "Zend/zend_language_scanner.c"
+#line 8345 "Zend/zend_language_scanner.c"
 yy857:
 		YYDEBUG(857, *YYCURSOR);
 		++YYCURSOR;
@@ -8342,11 +8350,11 @@
 		}
 		YYDEBUG(858, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1401 "Zend/zend_language_scanner.l"
+#line 1409 "Zend/zend_language_scanner.l"
 		{
 	return T_EXIT;
 }
-#line 8350 "Zend/zend_language_scanner.c"
+#line 8358 "Zend/zend_language_scanner.c"
 yy859:
 		YYDEBUG(859, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8360,11 +8368,11 @@
 		}
 		YYDEBUG(861, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1631 "Zend/zend_language_scanner.l"
+#line 1639 "Zend/zend_language_scanner.l"
 		{
 	return T_EVAL;
 }
-#line 8368 "Zend/zend_language_scanner.c"
+#line 8376 "Zend/zend_language_scanner.c"
 yy862:
 		YYDEBUG(862, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8434,11 +8442,11 @@
 		}
 		YYDEBUG(872, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1453 "Zend/zend_language_scanner.l"
+#line 1461 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDWHILE;
 }
-#line 8442 "Zend/zend_language_scanner.c"
+#line 8450 "Zend/zend_language_scanner.c"
 yy873:
 		YYDEBUG(873, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8467,11 +8475,11 @@
 		}
 		YYDEBUG(878, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1497 "Zend/zend_language_scanner.l"
+#line 1505 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDSWITCH;
 }
-#line 8475 "Zend/zend_language_scanner.c"
+#line 8483 "Zend/zend_language_scanner.c"
 yy879:
 		YYDEBUG(879, *YYCURSOR);
 		++YYCURSOR;
@@ -8480,11 +8488,11 @@
 		}
 		YYDEBUG(880, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1441 "Zend/zend_language_scanner.l"
+#line 1449 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDIF;
 }
-#line 8488 "Zend/zend_language_scanner.c"
+#line 8496 "Zend/zend_language_scanner.c"
 yy881:
 		YYDEBUG(881, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8513,11 +8521,11 @@
 yy883:
 		YYDEBUG(883, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1473 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDFOR;
 }
-#line 8521 "Zend/zend_language_scanner.c"
+#line 8529 "Zend/zend_language_scanner.c"
 yy884:
 		YYDEBUG(884, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8541,11 +8549,11 @@
 		}
 		YYDEBUG(888, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1473 "Zend/zend_language_scanner.l"
+#line 1481 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDFOREACH;
 }
-#line 8549 "Zend/zend_language_scanner.c"
+#line 8557 "Zend/zend_language_scanner.c"
 yy889:
 		YYDEBUG(889, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8579,11 +8587,11 @@
 		}
 		YYDEBUG(895, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1481 "Zend/zend_language_scanner.l"
+#line 1489 "Zend/zend_language_scanner.l"
 		{
 	return T_ENDDECLARE;
 }
-#line 8587 "Zend/zend_language_scanner.c"
+#line 8595 "Zend/zend_language_scanner.c"
 yy896:
 		YYDEBUG(896, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8602,11 +8610,11 @@
 		}
 		YYDEBUG(899, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1667 "Zend/zend_language_scanner.l"
+#line 1675 "Zend/zend_language_scanner.l"
 		{
 	return T_EMPTY;
 }
-#line 8610 "Zend/zend_language_scanner.c"
+#line 8618 "Zend/zend_language_scanner.c"
 yy900:
 		YYDEBUG(900, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8635,11 +8643,11 @@
 yy902:
 		YYDEBUG(902, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1445 "Zend/zend_language_scanner.l"
+#line 1453 "Zend/zend_language_scanner.l"
 		{
 	return T_ELSE;
 }
-#line 8643 "Zend/zend_language_scanner.c"
+#line 8651 "Zend/zend_language_scanner.c"
 yy903:
 		YYDEBUG(903, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8653,11 +8661,11 @@
 		}
 		YYDEBUG(905, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1437 "Zend/zend_language_scanner.l"
+#line 1445 "Zend/zend_language_scanner.l"
 		{
 	return T_ELSEIF;
 }
-#line 8661 "Zend/zend_language_scanner.c"
+#line 8669 "Zend/zend_language_scanner.c"
 yy906:
 		YYDEBUG(906, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8671,11 +8679,11 @@
 		}
 		YYDEBUG(908, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1521 "Zend/zend_language_scanner.l"
+#line 1529 "Zend/zend_language_scanner.l"
 		{
 	return T_ECHO;
 }
-#line 8679 "Zend/zend_language_scanner.c"
+#line 8687 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8748,7 +8756,7 @@
 yy912:
 		YYDEBUG(912, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1550 "Zend/zend_language_scanner.l"
+#line 1558 "Zend/zend_language_scanner.l"
 		{
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
 	Z_STRLEN_P(zendlval) = yyleng;
@@ -8756,7 +8764,7 @@
 	HANDLE_NEWLINES(yytext, yyleng);
 	return T_WHITESPACE;
 }
-#line 8760 "Zend/zend_language_scanner.c"
+#line 8768 "Zend/zend_language_scanner.c"
 yy913:
 		YYDEBUG(913, *YYCURSOR);
 		++YYCURSOR;
@@ -8764,13 +8772,13 @@
 yy914:
 		YYDEBUG(914, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1573 "Zend/zend_language_scanner.l"
+#line 1581 "Zend/zend_language_scanner.l"
 		{
 	yyless(0);
 	yy_pop_state(TSRMLS_C);
 	goto restart;
 }
-#line 8774 "Zend/zend_language_scanner.c"
+#line 8782 "Zend/zend_language_scanner.c"
 yy915:
 		YYDEBUG(915, *YYCURSOR);
 		++YYCURSOR;
@@ -8779,7 +8787,7 @@
 yy916:
 		YYDEBUG(916, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1562 "Zend/zend_language_scanner.l"
+#line 1570 "Zend/zend_language_scanner.l"
 		{
 	yy_pop_state(TSRMLS_C);
 	if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -8790,7 +8798,7 @@
 	}
 	return T_STRING;
 }
-#line 8794 "Zend/zend_language_scanner.c"
+#line 8802 "Zend/zend_language_scanner.c"
 yy917:
 		YYDEBUG(917, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8811,11 +8819,11 @@
 		++YYCURSOR;
 		YYDEBUG(921, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1558 "Zend/zend_language_scanner.l"
+#line 1566 "Zend/zend_language_scanner.l"
 		{
 	return T_OBJECT_OPERATOR;
 }
-#line 8819 "Zend/zend_language_scanner.c"
+#line 8827 "Zend/zend_language_scanner.c"
 yy922:
 		YYDEBUG(922, *YYCURSOR);
 		++YYCURSOR;
@@ -8885,7 +8893,7 @@
 yy927:
 		YYDEBUG(927, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1845 "Zend/zend_language_scanner.l"
+#line 1853 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -8897,20 +8905,20 @@
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_STRING_VARNAME;
 }
-#line 8901 "Zend/zend_language_scanner.c"
+#line 8909 "Zend/zend_language_scanner.c"
 yy928:
 		YYDEBUG(928, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(929, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1858 "Zend/zend_language_scanner.l"
+#line 1866 "Zend/zend_language_scanner.l"
 		{
 	yyless(0);
 	yy_pop_state(TSRMLS_C);
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	goto restart;
 }
-#line 8914 "Zend/zend_language_scanner.c"
+#line 8922 "Zend/zend_language_scanner.c"
 yy930:
 		YYDEBUG(930, *YYCURSOR);
 		++YYCURSOR;
@@ -9372,7 +9380,7 @@
 		++YYCURSOR;
 		YYDEBUG(968, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2701 "Zend/zend_language_scanner.l"
+#line 2709 "Zend/zend_language_scanner.l"
 		{
 	char *end = yytext + yyleng - 1;
 
@@ -9416,7 +9424,7 @@
 		yymore();
 	}
 }
-#line 9420 "Zend/zend_language_scanner.c"
+#line 9428 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_ONE_LINE_COMMENT:
@@ -9473,11 +9481,11 @@
 yy972:
 		YYDEBUG(972, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2273 "Zend/zend_language_scanner.l"
+#line 2281 "Zend/zend_language_scanner.l"
 		{
 	yymore();
 }
-#line 9481 "Zend/zend_language_scanner.c"
+#line 9489 "Zend/zend_language_scanner.c"
 yy973:
 		YYDEBUG(973, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -9500,7 +9508,7 @@
 yy977:
 		YYDEBUG(977, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2277 "Zend/zend_language_scanner.l"
+#line 2285 "Zend/zend_language_scanner.l"
 		{
 	switch (yytext[yyleng-1]) {
 		case '?': case '%': case '>':
@@ -9518,7 +9526,7 @@
 			return T_COMMENT;
 	}
 }
-#line 9522 "Zend/zend_language_scanner.c"
+#line 9530 "Zend/zend_language_scanner.c"
 yy978:
 		YYDEBUG(978, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -9531,7 +9539,7 @@
 		++YYCURSOR;
 		YYDEBUG(981, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2295 "Zend/zend_language_scanner.l"
+#line 2303 "Zend/zend_language_scanner.l"
 		{
 	Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
 	Z_STRLEN_P(zendlval) = yyleng;
@@ -9540,7 +9548,7 @@
 	CG(zend_lineno)++;
 	return T_COMMENT;
 }
-#line 9544 "Zend/zend_language_scanner.c"
+#line 9552 "Zend/zend_language_scanner.c"
 yy982:
 		YYDEBUG(982, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -9550,7 +9558,7 @@
 		++YYCURSOR;
 		YYDEBUG(984, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2304 "Zend/zend_language_scanner.l"
+#line 2312 "Zend/zend_language_scanner.l"
 		{
     if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
 		Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -9564,7 +9572,7 @@
 		yymore();
 	}
 }
-#line 9568 "Zend/zend_language_scanner.c"
+#line 9576 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_START_HEREDOC:
@@ -9621,13 +9629,13 @@
 yy988:
 		YYDEBUG(988, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2473 "Zend/zend_language_scanner.l"
+#line 2481 "Zend/zend_language_scanner.l"
 		{
 	yyless(0);
 	BEGIN(ST_HEREDOC);
 	goto restart;
 }
-#line 9631 "Zend/zend_language_scanner.c"
+#line 9639 "Zend/zend_language_scanner.c"
 yy989:
 		YYDEBUG(989, *YYCURSOR);
 		yyaccept = 0;
@@ -9672,7 +9680,7 @@
 		++YYCURSOR;
 		YYDEBUG(995, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2479 "Zend/zend_language_scanner.l"
+#line 2487 "Zend/zend_language_scanner.l"
 		{
 	int label_len = yyleng - 1;
 
@@ -9695,7 +9703,7 @@
 		yymore();
 	}
 }
-#line 9699 "Zend/zend_language_scanner.c"
+#line 9707 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_START_NOWDOC:
@@ -9752,13 +9760,13 @@
 yy999:
 		YYDEBUG(999, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2671 "Zend/zend_language_scanner.l"
+#line 2679 "Zend/zend_language_scanner.l"
 		{
 	yyless(0);
 	BEGIN(ST_NOWDOC);
 	goto restart;
 }
-#line 9762 "Zend/zend_language_scanner.c"
+#line 9770 "Zend/zend_language_scanner.c"
 yy1000:
 		YYDEBUG(1000, *YYCURSOR);
 		yyaccept = 0;
@@ -9803,7 +9811,7 @@
 		++YYCURSOR;
 		YYDEBUG(1006, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2677 "Zend/zend_language_scanner.l"
+#line 2685 "Zend/zend_language_scanner.l"
 		{
 	int label_len = yyleng - 1;
 
@@ -9827,7 +9835,7 @@
 		yymore();
 	}
 }
-#line 9831 "Zend/zend_language_scanner.c"
+#line 9839 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -9928,7 +9936,7 @@
 yy1010:
 		YYDEBUG(1010, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1908 "Zend/zend_language_scanner.l"
+#line 1916 "Zend/zend_language_scanner.l"
 		{ /* Offset could be treated as a long */
 	if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
 		Z_LVAL_P(zendlval) = strtol(yytext, NULL, 10);
@@ -9940,7 +9948,7 @@
 	}
 	return T_NUM_STRING;
 }
-#line 9944 "Zend/zend_language_scanner.c"
+#line 9952 "Zend/zend_language_scanner.c"
 yy1011:
 		YYDEBUG(1011, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -9960,23 +9968,23 @@
 yy1013:
 		YYDEBUG(1013, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2236 "Zend/zend_language_scanner.l"
+#line 2244 "Zend/zend_language_scanner.l"
 		{
 	/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
 	return yytext[0];
 }
-#line 9969 "Zend/zend_language_scanner.c"
+#line 9977 "Zend/zend_language_scanner.c"
 yy1014:
 		YYDEBUG(1014, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(1015, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2239 "Zend/zend_language_scanner.l"
 		{
 	yy_pop_state(TSRMLS_C);
 	return ']';
 }
-#line 9980 "Zend/zend_language_scanner.c"
+#line 9988 "Zend/zend_language_scanner.c"
 yy1016:
 		YYDEBUG(1016, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -9986,7 +9994,7 @@
 		++YYCURSOR;
 		YYDEBUG(1018, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2241 "Zend/zend_language_scanner.l"
+#line 2249 "Zend/zend_language_scanner.l"
 		{
 	/* Invalid rule to return a more explicit parse error with proper line number */
 	yyless(0);
@@ -9995,7 +10003,7 @@
 	ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */
 	return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 9999 "Zend/zend_language_scanner.c"
+#line 10007 "Zend/zend_language_scanner.c"
 yy1019:
 		YYDEBUG(1019, *YYCURSOR);
 		++YYCURSOR;
@@ -10004,25 +10012,25 @@
 yy1020:
 		YYDEBUG(1020, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2260 "Zend/zend_language_scanner.l"
+#line 2268 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
 	}
 	return T_STRING;
 }
-#line 10015 "Zend/zend_language_scanner.c"
+#line 10023 "Zend/zend_language_scanner.c"
 yy1021:
 		YYDEBUG(1021, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(1022, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2768 "Zend/zend_language_scanner.l"
+#line 2776 "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 10026 "Zend/zend_language_scanner.c"
+#line 10034 "Zend/zend_language_scanner.c"
 yy1023:
 		YYDEBUG(1023, *YYCURSOR);
 		++YYCURSOR;
@@ -10058,7 +10066,7 @@
 yy1027:
 		YYDEBUG(1027, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2221 "Zend/zend_language_scanner.l"
+#line 2229 "Zend/zend_language_scanner.l"
 		{
 	if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
@@ -10068,7 +10076,7 @@
 	}
 	return T_VARIABLE;
 }
-#line 10072 "Zend/zend_language_scanner.c"
+#line 10080 "Zend/zend_language_scanner.c"
 yy1028:
 		YYDEBUG(1028, *YYCURSOR);
 		++YYCURSOR;
@@ -10100,14 +10108,14 @@
 yy1034:
 		YYDEBUG(1034, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1920 "Zend/zend_language_scanner.l"
+#line 1928 "Zend/zend_language_scanner.l"
 		{ /* Offset must be treated as a string */
 	if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
 		return 0;
 	}
 	return T_NUM_STRING;
 }
-#line 10111 "Zend/zend_language_scanner.c"
+#line 10119 "Zend/zend_language_scanner.c"
 yy1035:
 		YYDEBUG(1035, *YYCURSOR);
 		++YYCURSOR;
@@ -10120,6 +10128,6 @@
 		goto yy1034;
 	}
 }
-#line 2773 "Zend/zend_language_scanner.l"
+#line 2781 "Zend/zend_language_scanner.l"
 
 }
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.183&r2=1.184&diff_format=u
Index: ZendEngine2/zend_language_scanner.l
diff -u ZendEngine2/zend_language_scanner.l:1.183 ZendEngine2/zend_language_scanner.l:1.184
--- ZendEngine2/zend_language_scanner.l:1.183	Fri May  9 10:25:42 2008
+++ ZendEngine2/zend_language_scanner.l	Sat May 10 09:15:17 2008
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.l,v 1.183 2008/05/09 10:25:42 mattwil Exp $ */
+/* $Id: zend_language_scanner.l,v 1.184 2008/05/10 09:15:17 mattwil Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -986,6 +986,10 @@
 		if (*s==0x5C /*'\\'*/) {
 			s++;
 			c = *s;
+			if (s >= end) {
+				*t++ = 0x5C; /*'\\'*/
+				break;
+			}
 
 			min_digits = 0;
 			codepoint = 0;
@@ -1186,6 +1190,10 @@
 	while (s<end) {
 		if (*s=='\\') {
 			s++;
+			if (s >= end) {
+				*t++ = '\\';
+				break;
+			}
 
 			switch(*s) {
 				case 'n':
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.