]> granicus.if.org Git - php/commitdiff
Allow arbitrary number of space characters between type-hint and method/function...
authorIlia Alshanetsky <iliaa@php.net>
Sun, 23 May 2010 18:09:32 +0000 (18:09 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 23 May 2010 18:09:32 +0000 (18:09 +0000)
Zend/tests/hint/param_type_hint_018.phpt [new file with mode: 0644]
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h

diff --git a/Zend/tests/hint/param_type_hint_018.phpt b/Zend/tests/hint/param_type_hint_018.phpt
new file mode 100644 (file)
index 0000000..9276fef
--- /dev/null
@@ -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
index 7fd457f7c65d5e22c405a424e9e3b7fbaf59c17f..ef043cae01c8ac7b670132b6a2e3b79747431b96 100644 (file)
@@ -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 @@ yyc_ST_IN_SCRIPTING:
        {
                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 @@ yy290:
                        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 @@ yy295:
        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 @@ yy300:
                        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 @@ yy303:
                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 @@ yy305:
        }
        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 @@ yy308:
                {
        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 @@ yy310:
                {
        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 @@ yy312:
                {
        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 @@ yy314:
                {
        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 @@ yy331:
        }
        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 @@ yy336:
        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 @@ yy342:
        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 @@ yy350:
        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 @@ yy361:
        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 @@ yy366:
        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 @@ yy373:
        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 @@ yy388:
                {
        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 @@ yy392:
                {
        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 @@ yy396:
                {
        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 @@ yy413:
                {
        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 @@ yy421:
                {
        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 @@ yy435:
                {
        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 @@ yy442:
                {
        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 @@ yy450:
                {
        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 @@ yy459:
                {
        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 @@ yy467:
                {
        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 @@ yy474:
                {
        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 @@ yy479:
                {
        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 @@ yy483:
                {
        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 @@ yy491:
                {
        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 @@ yy493:
                {
        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 @@ yy497:
                {
        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 @@ yy499:
                {
        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 @@ yy501:
        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 @@ yy508:
                {
        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 @@ yy517:
                {
        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 @@ yy523:
                {
        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 @@ yy525:
                {
        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 @@ yy530:
                {
        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 @@ yy535:
                {
        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 @@ yy545:
                {
        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 @@ yy548:
                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;
-                                       goto yy185;
+                       if (yych <= '_') {
+                               if (yych <= 'E') {
+                                       if (yych <= '@') goto yy124;
+                                       if (yych <= 'D') goto yy185;
+                                       goto yy555;
                                } else {
-                                       if (yych == '_') goto yy185;
-                                       goto yy124;
+                                       if (yych <= 'Z') goto yy185;
+                                       if (yych <= '^') goto yy124;
+                                       goto yy185;
                                }
                        } 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 @@ yy549:
                ++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 @@ yy551:
                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 @@ yy551:
                }
 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 @@ yy561:
                        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 @@ yy564:
                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 @@ yy566:
        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 @@ yy574:
                {
        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 @@ yy582:
                {
        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 @@ yy587:
                {
        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 @@ yy591:
                {
        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 @@ yy593:
                {
        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 @@ yy600:
                {
        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 @@ yy605:
                {
        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 @@ yy607:
                {
        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 @@ yy614:
                {
        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 @@ yy617:
                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;
-                               } else {
-                                       if (yych == ' ') goto yy301;
+                                       if (yych <= '\n') goto yy302;
                                        goto yy124;
+                               } else {
+                                       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;
-                                       goto yy185;
+                       if (yych <= '_') {
+                               if (yych <= 'E') {
+                                       if (yych <= '@') goto yy124;
+                                       if (yych <= 'D') goto yy185;
+                                       goto yy630;
                                } else {
-                                       if (yych == '_') goto yy185;
-                                       goto yy124;
+                                       if (yych <= 'Z') goto yy185;
+                                       if (yych <= '^') goto yy124;
+                                       goto yy185;
                                }
                        } else {
                                if (yych <= 'e') {
+                                       if (yych <= '`') goto yy124;
                                        if (yych <= 'd') goto yy185;
                                        goto yy630;
                                } else {
@@ -6072,7 +6161,7 @@ yy623:
                {
        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 @@ yy628:
                {
        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 @@ yy637:
                {
        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 @@ yy645:
                {
         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 @@ yy651:
                {
        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 @@ yy660:
                {
        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 @@ yy663:
                {
        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 @@ yy668:
                {
        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 @@ yy672:
                {
        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 @@ yy683:
                        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 @@ yy686:
                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 @@ yy688:
        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 @@ yy690:
                        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 @@ yy693:
                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 @@ yy695:
        }
        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 @@ yy701:
                {
        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 @@ yy706:
                {
        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 @@ yy710:
                {
        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 @@ yy721:
                {
        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 @@ yy723:
                {
        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 @@ yy728:
                {
        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 @@ yy731:
                {
        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 @@ yy735:
                {
        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 @@ yy738:
                {
        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 @@ yy749:
                {
        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 @@ yy752:
                {
        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 @@ yy756:
                {
        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 @@ yy762:
                {
        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 @@ yy767:
                {
        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 @@ yy771:
                {
        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 @@ yy778:
                {
        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 @@ yy783:
                {
        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 @@ yy796:
                {
        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 @@ yy798:
                {
        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 @@ yy801:
                {
        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 @@ yy812:
                {
        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 @@ yy818:
                {
        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 @@ yy820:
                {
        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 @@ yy824:
                {
        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 @@ yy828:
                {
        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 @@ yy835:
                {
        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 @@ yy839:
                {
        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 @@ yy843:
                {
        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 @@ yy845:
                {
        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 @@ yy848:
                {
        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 @@ yy853:
        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 @@ yy855:
        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 @@ yy857:
        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 @@ yy861:
                {
        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 @@ yy868:
        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 @@ yy869:
        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 @@ nowdoc_scan_done:
        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 @@ yy880:
        }
        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 @@ yy883:
        /* 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 @@ yy884:
        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 @@ yy887:
        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 @@ yy890:
        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 @@ yy891:
        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 @@ yy897:
        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 @@ yy904:
        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;
index 979dd04e20a908d4f782906decee875ed7e9b053..2a3f8490f249f0cf151b19a088fdf7fdb8608f96 100644 (file)
@@ -1172,7 +1172,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
        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 @@ NEWLINE ("\r"|"\n"|"\r\n")
        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 @@ NEWLINE ("\r"|"\n"|"\r\n")
        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 @@ NEWLINE ("\r"|"\n"|"\r\n")
        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;
 }
index 568fcc93953242f67a454b7cc7440b659cc5a98a..7c875fca0a9b537029baf5598888415c256fc9fe 100644 (file)
@@ -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 {