iliaa                                    Sun, 23 May 2010 18:09:32 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=299667

Log:
Allow arbitrary number of space characters between type-hint and 
method/function parameter

Changed paths:
    A   php/php-src/trunk/Zend/tests/hint/param_type_hint_018.phpt
    U   php/php-src/trunk/Zend/zend_language_scanner.c
    U   php/php-src/trunk/Zend/zend_language_scanner.l
    U   php/php-src/trunk/Zend/zend_language_scanner_defs.h

Added: php/php-src/trunk/Zend/tests/hint/param_type_hint_018.phpt
===================================================================
--- php/php-src/trunk/Zend/tests/hint/param_type_hint_018.phpt	                        (rev 0)
+++ php/php-src/trunk/Zend/tests/hint/param_type_hint_018.phpt	2010-05-23 18:09:32 UTC (rev 299667)
@@ -0,0 +1,18 @@
+--TEST--
+Parameter type hint - formatting
+--FILE--
+<?php
+
+function test(int$foo) { print "ok\n";}
+test(1);
+
+function test2(int
+
+
+$foo) { print "ok\n";}
+test2(1);
+
+?>
+--EXPECT--
+ok
+ok

Modified: php/php-src/trunk/Zend/zend_language_scanner.c
===================================================================
--- php/php-src/trunk/Zend/zend_language_scanner.c	2010-05-23 16:57:11 UTC (rev 299666)
+++ php/php-src/trunk/Zend/zend_language_scanner.c	2010-05-23 18:09:32 UTC (rev 299667)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu May 20 09:19:36 2010 */
+/* Generated by re2c 0.13.5 on Sun May 23 14:06:04 2010 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -2072,7 +2072,7 @@
 	{
 		static const unsigned char yybm[] = {
 			  0,   0,   0,   0,   0,   0,   0,   0,
-			  0, 224,  32,   0,   0,  32,   0,   0,
+			  0, 224, 160,   0,   0, 160,   0,   0,
 			  0,   0,   0,   0,   0,   0,   0,   0,
 			  0,   0,   0,   0,   0,   0,   0,   0,
 			224,   0,   0,   0,   0,   0, 128,   0,
@@ -3863,24 +3863,40 @@
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych != '\t') goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy292;
+			} else {
+				if (yych == '\r') goto yy292;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy291;
-			if (yych == '&') goto yy293;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy292;
+				if (yych <= '#') goto yy124;
+				goto yy292;
+			} else {
+				if (yych == '&') goto yy292;
+				goto yy124;
+			}
 		}
 yy291:
 		YYDEBUG(291, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy292:
 		YYDEBUG(292, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy291;
-			if (yych <= 0x1F) goto yy193;
-			goto yy291;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy291;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy291;
 				if (yych <= '#') goto yy193;
 				goto yy295;
 			} else {
@@ -3907,7 +3923,7 @@
 	yyless((sizeof("object") - 1));
 	return T_OBJECT_HINT;
 }
-#line 3911 "Zend/zend_language_scanner.c"
+#line 3927 "Zend/zend_language_scanner.c"
 yy297:
 		YYDEBUG(297, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -3932,24 +3948,40 @@
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych != '\t') goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy302;
+			} else {
+				if (yych == '\r') goto yy302;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy301;
-			if (yych == '&') goto yy303;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy302;
+				if (yych <= '#') goto yy124;
+				goto yy302;
+			} else {
+				if (yych == '&') goto yy302;
+				goto yy124;
+			}
 		}
 yy301:
 		YYDEBUG(301, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy302:
 		YYDEBUG(302, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy301;
-			if (yych <= 0x1F) goto yy193;
-			goto yy301;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy301;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy301;
 				if (yych <= '#') goto yy193;
 				goto yy305;
 			} else {
@@ -3962,12 +3994,17 @@
 		YYFILL(1);
 		yych = *YYCURSOR;
 		YYDEBUG(304, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy303;
-			if (yych <= 0x1F) goto yy193;
-			goto yy303;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				goto yy303;
+			} else {
+				if (yych == '\r') goto yy303;
+				goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy303;
 				if (yych <= '#') goto yy193;
 			} else {
 				if (yych == '&') goto yy303;
@@ -3990,7 +4027,7 @@
 	}
 	return T_INT_HINT;
 }
-#line 3994 "Zend/zend_language_scanner.c"
+#line 4031 "Zend/zend_language_scanner.c"
 yy307:
 		YYDEBUG(307, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4008,7 +4045,7 @@
 		{
 	return T_LIST;
 }
-#line 4012 "Zend/zend_language_scanner.c"
+#line 4049 "Zend/zend_language_scanner.c"
 yy310:
 		YYDEBUG(310, *YYCURSOR);
 		++YYCURSOR;
@@ -4019,7 +4056,7 @@
 		{
 	return T_IS_EQUAL;
 }
-#line 4023 "Zend/zend_language_scanner.c"
+#line 4060 "Zend/zend_language_scanner.c"
 yy312:
 		YYDEBUG(312, *YYCURSOR);
 		++YYCURSOR;
@@ -4029,7 +4066,7 @@
 		{
 	return T_DOUBLE_ARROW;
 }
-#line 4033 "Zend/zend_language_scanner.c"
+#line 4070 "Zend/zend_language_scanner.c"
 yy314:
 		YYDEBUG(314, *YYCURSOR);
 		++YYCURSOR;
@@ -4039,7 +4076,7 @@
 		{
 	return T_IS_IDENTICAL;
 }
-#line 4043 "Zend/zend_language_scanner.c"
+#line 4080 "Zend/zend_language_scanner.c"
 yy316:
 		YYDEBUG(316, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4171,7 +4208,7 @@
 	}
 	return T_NS_C;
 }
-#line 4175 "Zend/zend_language_scanner.c"
+#line 4212 "Zend/zend_language_scanner.c"
 yy335:
 		YYDEBUG(335, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4218,7 +4255,7 @@
 	zendlval->type = IS_STRING;
 	return T_DIR;
 }
-#line 4222 "Zend/zend_language_scanner.c"
+#line 4259 "Zend/zend_language_scanner.c"
 yy340:
 		YYDEBUG(340, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4249,7 +4286,7 @@
 	zendlval->type = IS_LONG;
 	return T_LINE;
 }
-#line 4253 "Zend/zend_language_scanner.c"
+#line 4290 "Zend/zend_language_scanner.c"
 yy346:
 		YYDEBUG(346, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4305,7 +4342,7 @@
 	zendlval->type = IS_STRING;
 	return T_METHOD_C;
 }
-#line 4309 "Zend/zend_language_scanner.c"
+#line 4346 "Zend/zend_language_scanner.c"
 yy354:
 		YYDEBUG(354, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4372,7 +4409,7 @@
 	zendlval->type = IS_STRING;
 	return T_FUNC_C;
 }
-#line 4376 "Zend/zend_language_scanner.c"
+#line 4413 "Zend/zend_language_scanner.c"
 yy365:
 		YYDEBUG(365, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4404,7 +4441,7 @@
 	zendlval->type = IS_STRING;
 	return T_FILE;
 }
-#line 4408 "Zend/zend_language_scanner.c"
+#line 4445 "Zend/zend_language_scanner.c"
 yy370:
 		YYDEBUG(370, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4450,7 +4487,7 @@
 	zendlval->type = IS_STRING;
 	return T_CLASS_C;
 }
-#line 4454 "Zend/zend_language_scanner.c"
+#line 4491 "Zend/zend_language_scanner.c"
 yy377:
 		YYDEBUG(377, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4516,7 +4553,7 @@
 		{
 	return T_HALT_COMPILER;
 }
-#line 4520 "Zend/zend_language_scanner.c"
+#line 4557 "Zend/zend_language_scanner.c"
 yy390:
 		YYDEBUG(390, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4540,7 +4577,7 @@
 		{
 	return T_USE;
 }
-#line 4544 "Zend/zend_language_scanner.c"
+#line 4581 "Zend/zend_language_scanner.c"
 yy394:
 		YYDEBUG(394, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4563,7 +4600,7 @@
 		{
 	return T_UNSET;
 }
-#line 4567 "Zend/zend_language_scanner.c"
+#line 4604 "Zend/zend_language_scanner.c"
 yy398:
 		YYDEBUG(398, *YYCURSOR);
 		++YYCURSOR;
@@ -4739,7 +4776,7 @@
 		{
 	return T_INT_CAST;
 }
-#line 4743 "Zend/zend_language_scanner.c"
+#line 4780 "Zend/zend_language_scanner.c"
 yy416:
 		YYDEBUG(416, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4787,7 +4824,7 @@
 		{
 	return T_DOUBLE_CAST;
 }
-#line 4791 "Zend/zend_language_scanner.c"
+#line 4828 "Zend/zend_language_scanner.c"
 yy425:
 		YYDEBUG(425, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4861,7 +4898,7 @@
 		{
 	return T_STRING_CAST;
 }
-#line 4865 "Zend/zend_language_scanner.c"
+#line 4902 "Zend/zend_language_scanner.c"
 yy439:
 		YYDEBUG(439, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4898,7 +4935,7 @@
 		{
 	return T_ARRAY_CAST;
 }
-#line 4902 "Zend/zend_language_scanner.c"
+#line 4939 "Zend/zend_language_scanner.c"
 yy446:
 		YYDEBUG(446, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4940,7 +4977,7 @@
 		{
 	return T_OBJECT_CAST;
 }
-#line 4944 "Zend/zend_language_scanner.c"
+#line 4981 "Zend/zend_language_scanner.c"
 yy454:
 		YYDEBUG(454, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4985,7 +5022,7 @@
 		{
 	return T_BOOL_CAST;
 }
-#line 4989 "Zend/zend_language_scanner.c"
+#line 5026 "Zend/zend_language_scanner.c"
 yy462:
 		YYDEBUG(462, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5033,7 +5070,7 @@
 		{
 	return T_STRING_CAST;
 }
-#line 5037 "Zend/zend_language_scanner.c"
+#line 5074 "Zend/zend_language_scanner.c"
 yy471:
 		YYDEBUG(471, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5070,7 +5107,7 @@
 		{
 	return T_UNSET_CAST;
 }
-#line 5074 "Zend/zend_language_scanner.c"
+#line 5111 "Zend/zend_language_scanner.c"
 yy478:
 		YYDEBUG(478, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5088,7 +5125,7 @@
 		{
 	return T_VAR;
 }
-#line 5092 "Zend/zend_language_scanner.c"
+#line 5129 "Zend/zend_language_scanner.c"
 yy481:
 		YYDEBUG(481, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5112,7 +5149,7 @@
 		{
 	return T_NEW;
 }
-#line 5116 "Zend/zend_language_scanner.c"
+#line 5153 "Zend/zend_language_scanner.c"
 yy485:
 		YYDEBUG(485, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5155,7 +5192,7 @@
 		{
 	return T_NAMESPACE;
 }
-#line 5159 "Zend/zend_language_scanner.c"
+#line 5196 "Zend/zend_language_scanner.c"
 yy493:
 		YYDEBUG(493, *YYCURSOR);
 		++YYCURSOR;
@@ -5165,7 +5202,7 @@
 		{
 	return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5169 "Zend/zend_language_scanner.c"
+#line 5206 "Zend/zend_language_scanner.c"
 yy495:
 		YYDEBUG(495, *YYCURSOR);
 		++YYCURSOR;
@@ -5191,7 +5228,7 @@
 		{
 	return T_MINUS_EQUAL;
 }
-#line 5195 "Zend/zend_language_scanner.c"
+#line 5232 "Zend/zend_language_scanner.c"
 yy499:
 		YYDEBUG(499, *YYCURSOR);
 		++YYCURSOR;
@@ -5201,7 +5238,7 @@
 		{
 	return T_DEC;
 }
-#line 5205 "Zend/zend_language_scanner.c"
+#line 5242 "Zend/zend_language_scanner.c"
 yy501:
 		YYDEBUG(501, *YYCURSOR);
 		++YYCURSOR;
@@ -5212,7 +5249,7 @@
 	yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 	return T_OBJECT_OPERATOR;
 }
-#line 5216 "Zend/zend_language_scanner.c"
+#line 5253 "Zend/zend_language_scanner.c"
 yy503:
 		YYDEBUG(503, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5261,7 +5298,7 @@
 		{
 	return T_PUBLIC;
 }
-#line 5265 "Zend/zend_language_scanner.c"
+#line 5302 "Zend/zend_language_scanner.c"
 yy510:
 		YYDEBUG(510, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5320,7 +5357,7 @@
 		{
 	return T_PROTECTED;
 }
-#line 5324 "Zend/zend_language_scanner.c"
+#line 5361 "Zend/zend_language_scanner.c"
 yy519:
 		YYDEBUG(519, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5354,7 +5391,7 @@
 		{
 	return T_PRIVATE;
 }
-#line 5358 "Zend/zend_language_scanner.c"
+#line 5395 "Zend/zend_language_scanner.c"
 yy525:
 		YYDEBUG(525, *YYCURSOR);
 		++YYCURSOR;
@@ -5367,7 +5404,7 @@
 		{
 	return T_PRINT;
 }
-#line 5371 "Zend/zend_language_scanner.c"
+#line 5408 "Zend/zend_language_scanner.c"
 yy527:
 		YYDEBUG(527, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5396,7 +5433,7 @@
 		{
 	return T_GOTO;
 }
-#line 5400 "Zend/zend_language_scanner.c"
+#line 5437 "Zend/zend_language_scanner.c"
 yy532:
 		YYDEBUG(532, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5424,7 +5461,7 @@
 		{
 	return T_GLOBAL;
 }
-#line 5428 "Zend/zend_language_scanner.c"
+#line 5465 "Zend/zend_language_scanner.c"
 yy537:
 		YYDEBUG(537, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5477,7 +5514,7 @@
 		{
 	return T_BREAK;
 }
-#line 5481 "Zend/zend_language_scanner.c"
+#line 5518 "Zend/zend_language_scanner.c"
 yy547:
 		YYDEBUG(547, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5487,36 +5524,43 @@
 		YYDEBUG(548, *YYCURSOR);
 		yyaccept = 0;
 		yych = *(YYMARKER = ++YYCURSOR);
-		if (yych <= 'D') {
-			if (yych <= '%') {
-				if (yych <= '\t') {
+		if (yych <= '9') {
+			if (yych <= ' ') {
+				if (yych <= '\f') {
 					if (yych <= 0x08) goto yy124;
+					if (yych <= '\n') goto yy550;
+					goto yy124;
 				} else {
-					if (yych != ' ') goto yy124;
+					if (yych <= '\r') goto yy550;
+					if (yych <= 0x1F) goto yy124;
+					goto yy550;
 				}
 			} else {
-				if (yych <= '/') {
-					if (yych <= '&') goto yy551;
+				if (yych <= '%') {
+					if (yych == '$') goto yy550;
 					goto yy124;
 				} else {
-					if (yych <= '9') goto yy185;
-					if (yych <= '@') goto yy124;
+					if (yych <= '&') goto yy550;
+					if (yych <= '/') goto yy124;
 					goto yy185;
 				}
 			}
 		} else {
-			if (yych <= '`') {
-				if (yych <= 'Z') {
-					if (yych <= 'E') goto yy553;
+			if (yych <= '_') {
+				if (yych <= 'E') {
+					if (yych <= '@') goto yy124;
+					if (yych <= 'D') goto yy185;
+					goto yy555;
+				} else {
+					if (yych <= 'Z') goto yy185;
+					if (yych <= '^') goto yy124;
 					goto yy185;
-				} else {
-					if (yych == '_') goto yy185;
-					goto yy124;
 				}
 			} else {
 				if (yych <= 'e') {
+					if (yych <= '`') goto yy124;
 					if (yych <= 'd') goto yy185;
-					goto yy553;
+					goto yy555;
 				} else {
 					if (yych <= 'z') goto yy185;
 					if (yych <= '~') goto yy124;
@@ -5529,15 +5573,20 @@
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy550:
 		YYDEBUG(550, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy549;
-			if (yych <= 0x1F) goto yy193;
-			goto yy549;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy549;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy549;
 				if (yych <= '#') goto yy193;
-				goto yy556;
+				goto yy553;
 			} else {
 				if (yych != '&') goto yy193;
 			}
@@ -5548,14 +5597,18 @@
 		YYFILL(1);
 		yych = *YYCURSOR;
 		YYDEBUG(552, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy551;
-			if (yych <= 0x1F) goto yy193;
-			goto yy551;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				goto yy551;
+			} else {
+				if (yych == '\r') goto yy551;
+				goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy551;
 				if (yych <= '#') goto yy193;
-				goto yy556;
 			} else {
 				if (yych == '&') goto yy551;
 				goto yy193;
@@ -5563,44 +5616,54 @@
 		}
 yy553:
 		YYDEBUG(553, *YYCURSOR);
+		++YYCURSOR;
+		YYDEBUG(554, *YYCURSOR);
+		yyleng = YYCURSOR - SCNG(yy_text);
+#line 1175 "Zend/zend_language_scanner.l"
+		{
+	if (yytext[4] == 'e') {
+		yyless((sizeof("boolean") - 1));
+	} else {
+		yyless((sizeof("bool") - 1));
+	}
+	return T_BOOL_HINT;
+}
+#line 5632 "Zend/zend_language_scanner.c"
+yy555:
+		YYDEBUG(555, *YYCURSOR);
 		yych = *++YYCURSOR;
-		if (yych == 'A') goto yy554;
+		if (yych == 'A') goto yy556;
 		if (yych != 'a') goto yy186;
-yy554:
-		YYDEBUG(554, *YYCURSOR);
+yy556:
+		YYDEBUG(556, *YYCURSOR);
 		yych = *++YYCURSOR;
-		if (yych == 'N') goto yy555;
+		if (yych == 'N') goto yy557;
 		if (yych != 'n') goto yy186;
-yy555:
-		YYDEBUG(555, *YYCURSOR);
+yy557:
+		YYDEBUG(557, *YYCURSOR);
 		yyaccept = 0;
 		yych = *(YYMARKER = ++YYCURSOR);
 		if (yybm[0+yych] & 4) {
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych == '\t') goto yy549;
-			goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy550;
+			} else {
+				if (yych == '\r') goto yy550;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy549;
-			if (yych == '&') goto yy551;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy550;
+				if (yych <= '#') goto yy124;
+				goto yy550;
+			} else {
+				if (yych == '&') goto yy550;
+				goto yy124;
+			}
 		}
-yy556:
-		YYDEBUG(556, *YYCURSOR);
-		++YYCURSOR;
-		YYDEBUG(557, *YYCURSOR);
-		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1175 "Zend/zend_language_scanner.l"
-		{
-	if (yytext[4] == 'e') {
-		yyless((sizeof("boolean") - 1));
-	} else {
-		yyless((sizeof("bool") - 1));
-	}
-	return T_BOOL_HINT;
-}
-#line 5604 "Zend/zend_language_scanner.c"
 yy558:
 		YYDEBUG(558, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5624,24 +5687,40 @@
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych != '\t') goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy563;
+			} else {
+				if (yych == '\r') goto yy563;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy562;
-			if (yych == '&') goto yy564;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy563;
+				if (yych <= '#') goto yy124;
+				goto yy563;
+			} else {
+				if (yych == '&') goto yy563;
+				goto yy124;
+			}
 		}
 yy562:
 		YYDEBUG(562, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy563:
 		YYDEBUG(563, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy562;
-			if (yych <= 0x1F) goto yy193;
-			goto yy562;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy562;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy562;
 				if (yych <= '#') goto yy193;
 				goto yy566;
 			} else {
@@ -5654,12 +5733,17 @@
 		YYFILL(1);
 		yych = *YYCURSOR;
 		YYDEBUG(565, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy564;
-			if (yych <= 0x1F) goto yy193;
-			goto yy564;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				goto yy564;
+			} else {
+				if (yych == '\r') goto yy564;
+				goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy564;
 				if (yych <= '#') goto yy193;
 			} else {
 				if (yych == '&') goto yy564;
@@ -5676,7 +5760,7 @@
 	yyless(6);
 	return T_STRING_HINT;
 }
-#line 5680 "Zend/zend_language_scanner.c"
+#line 5764 "Zend/zend_language_scanner.c"
 yy568:
 		YYDEBUG(568, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5730,7 +5814,7 @@
 		{
 	return T_SWITCH;
 }
-#line 5734 "Zend/zend_language_scanner.c"
+#line 5818 "Zend/zend_language_scanner.c"
 yy576:
 		YYDEBUG(576, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5775,7 +5859,7 @@
 		{
 	return T_STATIC;
 }
-#line 5779 "Zend/zend_language_scanner.c"
+#line 5863 "Zend/zend_language_scanner.c"
 yy584:
 		YYDEBUG(584, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5806,7 +5890,7 @@
 		{
 	return T_AS;
 }
-#line 5810 "Zend/zend_language_scanner.c"
+#line 5894 "Zend/zend_language_scanner.c"
 yy589:
 		YYDEBUG(589, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5829,7 +5913,7 @@
 		{
 	return T_ARRAY;
 }
-#line 5833 "Zend/zend_language_scanner.c"
+#line 5917 "Zend/zend_language_scanner.c"
 yy593:
 		YYDEBUG(593, *YYCURSOR);
 		++YYCURSOR;
@@ -5842,7 +5926,7 @@
 		{
 	return T_LOGICAL_AND;
 }
-#line 5846 "Zend/zend_language_scanner.c"
+#line 5930 "Zend/zend_language_scanner.c"
 yy595:
 		YYDEBUG(595, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5880,7 +5964,7 @@
 		{
 	return T_ABSTRACT;
 }
-#line 5884 "Zend/zend_language_scanner.c"
+#line 5968 "Zend/zend_language_scanner.c"
 yy602:
 		YYDEBUG(602, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5908,7 +5992,7 @@
 		{
 	return T_WHILE;
 }
-#line 5912 "Zend/zend_language_scanner.c"
+#line 5996 "Zend/zend_language_scanner.c"
 yy607:
 		YYDEBUG(607, *YYCURSOR);
 		++YYCURSOR;
@@ -5921,7 +6005,7 @@
 		{
 	return T_IF;
 }
-#line 5925 "Zend/zend_language_scanner.c"
+#line 6009 "Zend/zend_language_scanner.c"
 yy609:
 		YYDEBUG(609, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5977,7 +6061,7 @@
 		{
 	return T_ISSET;
 }
-#line 5981 "Zend/zend_language_scanner.c"
+#line 6065 "Zend/zend_language_scanner.c"
 yy616:
 		YYDEBUG(616, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5988,36 +6072,41 @@
 		YYDEBUG(617, *YYCURSOR);
 		yyaccept = 0;
 		yych = *(YYMARKER = ++YYCURSOR);
-		if (yych <= 'D') {
-			if (yych <= '%') {
-				if (yych <= '\t') {
+		if (yych <= '9') {
+			if (yych <= ' ') {
+				if (yych <= '\f') {
 					if (yych <= 0x08) goto yy124;
-					goto yy301;
+					if (yych <= '\n') goto yy302;
+					goto yy124;
 				} else {
-					if (yych == ' ') goto yy301;
-					goto yy124;
+					if (yych <= '\r') goto yy302;
+					if (yych <= 0x1F) goto yy124;
+					goto yy302;
 				}
 			} else {
-				if (yych <= '/') {
-					if (yych <= '&') goto yy303;
+				if (yych <= '%') {
+					if (yych == '$') goto yy302;
 					goto yy124;
 				} else {
-					if (yych <= '9') goto yy185;
-					if (yych <= '@') goto yy124;
+					if (yych <= '&') goto yy302;
+					if (yych <= '/') goto yy124;
 					goto yy185;
 				}
 			}
 		} else {
-			if (yych <= '`') {
-				if (yych <= 'Z') {
-					if (yych <= 'E') goto yy630;
+			if (yych <= '_') {
+				if (yych <= 'E') {
+					if (yych <= '@') goto yy124;
+					if (yych <= 'D') goto yy185;
+					goto yy630;
+				} else {
+					if (yych <= 'Z') goto yy185;
+					if (yych <= '^') goto yy124;
 					goto yy185;
-				} else {
-					if (yych == '_') goto yy185;
-					goto yy124;
 				}
 			} else {
 				if (yych <= 'e') {
+					if (yych <= '`') goto yy124;
 					if (yych <= 'd') goto yy185;
 					goto yy630;
 				} else {
@@ -6072,7 +6161,7 @@
 		{
 	return T_INCLUDE;
 }
-#line 6076 "Zend/zend_language_scanner.c"
+#line 6165 "Zend/zend_language_scanner.c"
 yy624:
 		YYDEBUG(624, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6105,7 +6194,7 @@
 		{
 	return T_INCLUDE_ONCE;
 }
-#line 6109 "Zend/zend_language_scanner.c"
+#line 6198 "Zend/zend_language_scanner.c"
 yy630:
 		YYDEBUG(630, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6163,7 +6252,7 @@
 		{
 	return T_INTERFACE;
 }
-#line 6167 "Zend/zend_language_scanner.c"
+#line 6256 "Zend/zend_language_scanner.c"
 yy639:
 		YYDEBUG(639, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6217,7 +6306,7 @@
 		{
         return T_INSTEADOF;
 }
-#line 6221 "Zend/zend_language_scanner.c"
+#line 6310 "Zend/zend_language_scanner.c"
 yy647:
 		YYDEBUG(647, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6250,7 +6339,7 @@
 		{
 	return T_INSTANCEOF;
 }
-#line 6254 "Zend/zend_language_scanner.c"
+#line 6343 "Zend/zend_language_scanner.c"
 yy653:
 		YYDEBUG(653, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6298,7 +6387,7 @@
 		{
 	return T_IMPLEMENTS;
 }
-#line 6302 "Zend/zend_language_scanner.c"
+#line 6391 "Zend/zend_language_scanner.c"
 yy662:
 		YYDEBUG(662, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6330,7 +6419,7 @@
 		{
 	return T_TRY;
 }
-#line 6334 "Zend/zend_language_scanner.c"
+#line 6423 "Zend/zend_language_scanner.c"
 yy666:
 		YYDEBUG(666, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6353,7 +6442,7 @@
 		{
 	return T_TRAIT;
 }
-#line 6357 "Zend/zend_language_scanner.c"
+#line 6446 "Zend/zend_language_scanner.c"
 yy670:
 		YYDEBUG(670, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6376,7 +6465,7 @@
 		{
 	return T_THROW;
 }
-#line 6380 "Zend/zend_language_scanner.c"
+#line 6469 "Zend/zend_language_scanner.c"
 yy674:
 		YYDEBUG(674, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6450,24 +6539,40 @@
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych != '\t') goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy685;
+			} else {
+				if (yych == '\r') goto yy685;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy684;
-			if (yych == '&') goto yy686;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy685;
+				if (yych <= '#') goto yy124;
+				goto yy685;
+			} else {
+				if (yych == '&') goto yy685;
+				goto yy124;
+			}
 		}
 yy684:
 		YYDEBUG(684, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy685:
 		YYDEBUG(685, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy684;
-			if (yych <= 0x1F) goto yy193;
-			goto yy684;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy684;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy684;
 				if (yych <= '#') goto yy193;
 				goto yy688;
 			} else {
@@ -6480,12 +6585,17 @@
 		YYFILL(1);
 		yych = *YYCURSOR;
 		YYDEBUG(687, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy686;
-			if (yych <= 0x1F) goto yy193;
-			goto yy686;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				goto yy686;
+			} else {
+				if (yych == '\r') goto yy686;
+				goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy686;
 				if (yych <= '#') goto yy193;
 			} else {
 				if (yych == '&') goto yy686;
@@ -6502,7 +6612,7 @@
 	yyless((sizeof("resource") - 1));
 	return T_RESOURCE_HINT;
 }
-#line 6506 "Zend/zend_language_scanner.c"
+#line 6616 "Zend/zend_language_scanner.c"
 yy690:
 		YYDEBUG(690, *YYCURSOR);
 		yyaccept = 0;
@@ -6511,24 +6621,40 @@
 			goto yy185;
 		}
 		if (yych <= 0x1F) {
-			if (yych != '\t') goto yy124;
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy124;
+				goto yy692;
+			} else {
+				if (yych == '\r') goto yy692;
+				goto yy124;
+			}
 		} else {
-			if (yych <= ' ') goto yy691;
-			if (yych == '&') goto yy693;
-			goto yy124;
+			if (yych <= '$') {
+				if (yych <= ' ') goto yy692;
+				if (yych <= '#') goto yy124;
+				goto yy692;
+			} else {
+				if (yych == '&') goto yy692;
+				goto yy124;
+			}
 		}
 yy691:
 		YYDEBUG(691, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
+yy692:
 		YYDEBUG(692, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy691;
-			if (yych <= 0x1F) goto yy193;
-			goto yy691;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				if (yych <= '\t') goto yy691;
+			} else {
+				if (yych != '\r') goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy691;
 				if (yych <= '#') goto yy193;
 				goto yy695;
 			} else {
@@ -6541,12 +6667,17 @@
 		YYFILL(1);
 		yych = *YYCURSOR;
 		YYDEBUG(694, *YYCURSOR);
-		if (yych <= ' ') {
-			if (yych == '\t') goto yy693;
-			if (yych <= 0x1F) goto yy193;
-			goto yy693;
+		if (yych <= 0x1F) {
+			if (yych <= '\n') {
+				if (yych <= 0x08) goto yy193;
+				goto yy693;
+			} else {
+				if (yych == '\r') goto yy693;
+				goto yy193;
+			}
 		} else {
 			if (yych <= '$') {
+				if (yych <= ' ') goto yy693;
 				if (yych <= '#') goto yy193;
 			} else {
 				if (yych == '&') goto yy693;
@@ -6569,7 +6700,7 @@
 	}
 	return T_DOUBLE_HINT;
 }
-#line 6573 "Zend/zend_language_scanner.c"
+#line 6704 "Zend/zend_language_scanner.c"
 yy697:
 		YYDEBUG(697, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6610,7 +6741,7 @@
 		{
 	return T_REQUIRE;
 }
-#line 6614 "Zend/zend_language_scanner.c"
+#line 6745 "Zend/zend_language_scanner.c"
 yy702:
 		YYDEBUG(702, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6643,7 +6774,7 @@
 		{
 	return T_REQUIRE_ONCE;
 }
-#line 6647 "Zend/zend_language_scanner.c"
+#line 6778 "Zend/zend_language_scanner.c"
 yy708:
 		YYDEBUG(708, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6666,7 +6797,7 @@
 		{
 	return T_RETURN;
 }
-#line 6670 "Zend/zend_language_scanner.c"
+#line 6801 "Zend/zend_language_scanner.c"
 yy712:
 		YYDEBUG(712, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6751,7 +6882,7 @@
 		{
 	return T_CONTINUE;
 }
-#line 6755 "Zend/zend_language_scanner.c"
+#line 6886 "Zend/zend_language_scanner.c"
 yy723:
 		YYDEBUG(723, *YYCURSOR);
 		++YYCURSOR;
@@ -6764,7 +6895,7 @@
 		{
 	return T_CONST;
 }
-#line 6768 "Zend/zend_language_scanner.c"
+#line 6899 "Zend/zend_language_scanner.c"
 yy725:
 		YYDEBUG(725, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6793,7 +6924,7 @@
 		{
 	return T_CLONE;
 }
-#line 6797 "Zend/zend_language_scanner.c"
+#line 6928 "Zend/zend_language_scanner.c"
 yy730:
 		YYDEBUG(730, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6811,7 +6942,7 @@
 		{
 	return T_CLASS;
 }
-#line 6815 "Zend/zend_language_scanner.c"
+#line 6946 "Zend/zend_language_scanner.c"
 yy733:
 		YYDEBUG(733, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6835,7 +6966,7 @@
 		{
 	return T_CASE;
 }
-#line 6839 "Zend/zend_language_scanner.c"
+#line 6970 "Zend/zend_language_scanner.c"
 yy737:
 		YYDEBUG(737, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6853,7 +6984,7 @@
 		{
 	return T_CATCH;
 }
-#line 6857 "Zend/zend_language_scanner.c"
+#line 6988 "Zend/zend_language_scanner.c"
 yy740:
 		YYDEBUG(740, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6914,7 +7045,7 @@
 		{
 	return T_FUNCTION;
 }
-#line 6918 "Zend/zend_language_scanner.c"
+#line 7049 "Zend/zend_language_scanner.c"
 yy751:
 		YYDEBUG(751, *YYCURSOR);
 		++YYCURSOR;
@@ -6942,7 +7073,7 @@
 		{
 	return T_FOR;
 }
-#line 6946 "Zend/zend_language_scanner.c"
+#line 7077 "Zend/zend_language_scanner.c"
 yy753:
 		YYDEBUG(753, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6970,7 +7101,7 @@
 		{
 	return T_FOREACH;
 }
-#line 6974 "Zend/zend_language_scanner.c"
+#line 7105 "Zend/zend_language_scanner.c"
 yy758:
 		YYDEBUG(758, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7004,7 +7135,7 @@
 		{
 	return T_FINAL;
 }
-#line 7008 "Zend/zend_language_scanner.c"
+#line 7139 "Zend/zend_language_scanner.c"
 yy764:
 		YYDEBUG(764, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7054,7 +7185,7 @@
 		{
 	return T_DO;
 }
-#line 7058 "Zend/zend_language_scanner.c"
+#line 7189 "Zend/zend_language_scanner.c"
 yy768:
 		YYDEBUG(768, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7083,7 +7214,7 @@
 		{
 	return T_EXIT;
 }
-#line 7087 "Zend/zend_language_scanner.c"
+#line 7218 "Zend/zend_language_scanner.c"
 yy773:
 		YYDEBUG(773, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7122,7 +7253,7 @@
 		{
 	return T_DEFAULT;
 }
-#line 7126 "Zend/zend_language_scanner.c"
+#line 7257 "Zend/zend_language_scanner.c"
 yy780:
 		YYDEBUG(780, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7150,7 +7281,7 @@
 		{
 	return T_DECLARE;
 }
-#line 7154 "Zend/zend_language_scanner.c"
+#line 7285 "Zend/zend_language_scanner.c"
 yy785:
 		YYDEBUG(785, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7234,7 +7365,7 @@
 		{
 	return T_EXTENDS;
 }
-#line 7238 "Zend/zend_language_scanner.c"
+#line 7369 "Zend/zend_language_scanner.c"
 yy798:
 		YYDEBUG(798, *YYCURSOR);
 		++YYCURSOR;
@@ -7247,7 +7378,7 @@
 		{
 	return T_EXIT;
 }
-#line 7251 "Zend/zend_language_scanner.c"
+#line 7382 "Zend/zend_language_scanner.c"
 yy800:
 		YYDEBUG(800, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7265,7 +7396,7 @@
 		{
 	return T_EVAL;
 }
-#line 7269 "Zend/zend_language_scanner.c"
+#line 7400 "Zend/zend_language_scanner.c"
 yy803:
 		YYDEBUG(803, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7339,7 +7470,7 @@
 		{
 	return T_ENDWHILE;
 }
-#line 7343 "Zend/zend_language_scanner.c"
+#line 7474 "Zend/zend_language_scanner.c"
 yy814:
 		YYDEBUG(814, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7372,7 +7503,7 @@
 		{
 	return T_ENDSWITCH;
 }
-#line 7376 "Zend/zend_language_scanner.c"
+#line 7507 "Zend/zend_language_scanner.c"
 yy820:
 		YYDEBUG(820, *YYCURSOR);
 		++YYCURSOR;
@@ -7385,7 +7516,7 @@
 		{
 	return T_ENDIF;
 }
-#line 7389 "Zend/zend_language_scanner.c"
+#line 7520 "Zend/zend_language_scanner.c"
 yy822:
 		YYDEBUG(822, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7418,7 +7549,7 @@
 		{
 	return T_ENDFOR;
 }
-#line 7422 "Zend/zend_language_scanner.c"
+#line 7553 "Zend/zend_language_scanner.c"
 yy825:
 		YYDEBUG(825, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7446,7 +7577,7 @@
 		{
 	return T_ENDFOREACH;
 }
-#line 7450 "Zend/zend_language_scanner.c"
+#line 7581 "Zend/zend_language_scanner.c"
 yy830:
 		YYDEBUG(830, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7484,7 +7615,7 @@
 		{
 	return T_ENDDECLARE;
 }
-#line 7488 "Zend/zend_language_scanner.c"
+#line 7619 "Zend/zend_language_scanner.c"
 yy837:
 		YYDEBUG(837, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7507,7 +7638,7 @@
 		{
 	return T_EMPTY;
 }
-#line 7511 "Zend/zend_language_scanner.c"
+#line 7642 "Zend/zend_language_scanner.c"
 yy841:
 		YYDEBUG(841, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7540,7 +7671,7 @@
 		{
 	return T_ELSE;
 }
-#line 7544 "Zend/zend_language_scanner.c"
+#line 7675 "Zend/zend_language_scanner.c"
 yy844:
 		YYDEBUG(844, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7558,7 +7689,7 @@
 		{
 	return T_ELSEIF;
 }
-#line 7562 "Zend/zend_language_scanner.c"
+#line 7693 "Zend/zend_language_scanner.c"
 yy847:
 		YYDEBUG(847, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7576,7 +7707,7 @@
 		{
 	return T_ECHO;
 }
-#line 7580 "Zend/zend_language_scanner.c"
+#line 7711 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7657,7 +7788,7 @@
 	HANDLE_NEWLINES(yytext, yyleng);
 	return T_WHITESPACE;
 }
-#line 7661 "Zend/zend_language_scanner.c"
+#line 7792 "Zend/zend_language_scanner.c"
 yy854:
 		YYDEBUG(854, *YYCURSOR);
 		++YYCURSOR;
@@ -7671,7 +7802,7 @@
 	yy_pop_state(TSRMLS_C);
 	goto restart;
 }
-#line 7675 "Zend/zend_language_scanner.c"
+#line 7806 "Zend/zend_language_scanner.c"
 yy856:
 		YYDEBUG(856, *YYCURSOR);
 		++YYCURSOR;
@@ -7687,7 +7818,7 @@
 	zendlval->type = IS_STRING;
 	return T_STRING;
 }
-#line 7691 "Zend/zend_language_scanner.c"
+#line 7822 "Zend/zend_language_scanner.c"
 yy858:
 		YYDEBUG(858, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7712,7 +7843,7 @@
 		{
 	return T_OBJECT_OPERATOR;
 }
-#line 7716 "Zend/zend_language_scanner.c"
+#line 7847 "Zend/zend_language_scanner.c"
 yy863:
 		YYDEBUG(863, *YYCURSOR);
 		++YYCURSOR;
@@ -7790,7 +7921,7 @@
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_STRING_VARNAME;
 }
-#line 7794 "Zend/zend_language_scanner.c"
+#line 7925 "Zend/zend_language_scanner.c"
 yy869:
 		YYDEBUG(869, *YYCURSOR);
 		++YYCURSOR;
@@ -7803,7 +7934,7 @@
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	goto restart;
 }
-#line 7807 "Zend/zend_language_scanner.c"
+#line 7938 "Zend/zend_language_scanner.c"
 yy871:
 		YYDEBUG(871, *YYCURSOR);
 		++YYCURSOR;
@@ -7880,7 +8011,7 @@
 	HANDLE_NEWLINES(yytext, yyleng - newline);
 	return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 7884 "Zend/zend_language_scanner.c"
+#line 8015 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
 	{
@@ -7992,7 +8123,7 @@
 	}
 	return T_NUM_STRING;
 }
-#line 7996 "Zend/zend_language_scanner.c"
+#line 8127 "Zend/zend_language_scanner.c"
 yy881:
 		YYDEBUG(881, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8017,7 +8148,7 @@
 	/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
 	return yytext[0];
 }
-#line 8021 "Zend/zend_language_scanner.c"
+#line 8152 "Zend/zend_language_scanner.c"
 yy884:
 		YYDEBUG(884, *YYCURSOR);
 		++YYCURSOR;
@@ -8028,7 +8159,7 @@
 	yy_pop_state(TSRMLS_C);
 	return ']';
 }
-#line 8032 "Zend/zend_language_scanner.c"
+#line 8163 "Zend/zend_language_scanner.c"
 yy886:
 		YYDEBUG(886, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8045,7 +8176,7 @@
 	yy_pop_state(TSRMLS_C);
 	return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8049 "Zend/zend_language_scanner.c"
+#line 8180 "Zend/zend_language_scanner.c"
 yy889:
 		YYDEBUG(889, *YYCURSOR);
 		++YYCURSOR;
@@ -8060,7 +8191,7 @@
 	zendlval->type = IS_STRING;
 	return T_STRING;
 }
-#line 8064 "Zend/zend_language_scanner.c"
+#line 8195 "Zend/zend_language_scanner.c"
 yy891:
 		YYDEBUG(891, *YYCURSOR);
 		++YYCURSOR;
@@ -8075,7 +8206,7 @@
 	zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
 	goto restart;
 }
-#line 8079 "Zend/zend_language_scanner.c"
+#line 8210 "Zend/zend_language_scanner.c"
 yy893:
 		YYDEBUG(893, *YYCURSOR);
 		++YYCURSOR;
@@ -8117,7 +8248,7 @@
 	zendlval->type = IS_STRING;
 	return T_VARIABLE;
 }
-#line 8121 "Zend/zend_language_scanner.c"
+#line 8252 "Zend/zend_language_scanner.c"
 yy898:
 		YYDEBUG(898, *YYCURSOR);
 		++YYCURSOR;
@@ -8156,7 +8287,7 @@
 	zendlval->type = IS_STRING;
 	return T_NUM_STRING;
 }
-#line 8160 "Zend/zend_language_scanner.c"
+#line 8291 "Zend/zend_language_scanner.c"
 yy905:
 		YYDEBUG(905, *YYCURSOR);
 		++YYCURSOR;

Modified: php/php-src/trunk/Zend/zend_language_scanner.l
===================================================================
--- php/php-src/trunk/Zend/zend_language_scanner.l	2010-05-23 16:57:11 UTC (rev 299666)
+++ php/php-src/trunk/Zend/zend_language_scanner.l	2010-05-23 18:09:32 UTC (rev 299667)
@@ -1172,7 +1172,7 @@
 	return T_ARRAY;
 }

-<ST_IN_SCRIPTING>("bool"|"boolean"){TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>("bool"|"boolean"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
 	if (yytext[4] == 'e') {
 		yyless((sizeof("boolean") - 1));
 	} else {
@@ -1181,12 +1181,12 @@
 	return T_BOOL_HINT;
 }

-<ST_IN_SCRIPTING>("string"|"binary"){TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>("string"|"binary"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
 	yyless(6);
 	return T_STRING_HINT;
 }

-<ST_IN_SCRIPTING>("int"|"integer"|"long"){TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>("int"|"integer"|"long"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
 	if (yytext[3] == 'e') {
 		yyless((sizeof("integer") - 1));
 	} else 	if (yytext[3] == 'g') {
@@ -1197,7 +1197,7 @@
 	return T_INT_HINT;
 }

-<ST_IN_SCRIPTING>("real"|"double"|"float"){TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>("real"|"double"|"float"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
 	if (yytext[4] == 'l') {
 		yyless((sizeof("double") - 1));
 	} else 	if (yytext[4] == 't') {
@@ -1208,12 +1208,12 @@
 	return T_DOUBLE_HINT;
 }

-<ST_IN_SCRIPTING>"resource"{TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>"resource"{TABS_AND_SPACES}[ \t\r\n&]*"$" {
 	yyless((sizeof("resource") - 1));
 	return T_RESOURCE_HINT;
 }

-<ST_IN_SCRIPTING>"object"{TABS_AND_SPACES}[ \t&]+"$" {
+<ST_IN_SCRIPTING>"object"{TABS_AND_SPACES}[ \t\r\n&]*"$" {
 	yyless((sizeof("object") - 1));
 	return T_OBJECT_HINT;
 }

Modified: php/php-src/trunk/Zend/zend_language_scanner_defs.h
===================================================================
--- php/php-src/trunk/Zend/zend_language_scanner_defs.h	2010-05-23 16:57:11 UTC (rev 299666)
+++ php/php-src/trunk/Zend/zend_language_scanner_defs.h	2010-05-23 18:09:32 UTC (rev 299667)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu May 20 09:19:36 2010 */
+/* Generated by re2c 0.13.5 on Sun May 23 14:06:04 2010 */
 #line 3 "Zend/zend_language_scanner_defs.h"

 enum YYCONDTYPE {
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to