]> granicus.if.org Git - php/commitdiff
Add proper EOF handling for language scanner. Fixes bug #46817. Removes dos newline...
authorBrian Shire <shire@php.net>
Wed, 11 Mar 2009 22:11:41 +0000 (22:11 +0000)
committerBrian Shire <shire@php.net>
Wed, 11 Mar 2009 22:11:41 +0000 (22:11 +0000)
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
Zend/zend_stream.h
ext/standard/tests/strings/highlight_file.phpt

index 71da2309a9b044f066e09c72784d680301c35e2b..dd5d9d4475ca246a47c6c499610ccb496267f84f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Tue Dec  2 17:02:51 2008 */
+/* Generated by re2c 0.13.5 on Wed Mar 11 14:39:25 2009 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -50,7 +50,7 @@
 #include "tsrm_config_common.h"
 
 #define YYCTYPE   unsigned char
-#define YYFILL(n) { if (YYCURSOR >= YYLIMIT) return 0; }
+#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { zend_error(E_COMPILE_ERROR, "Exceeded YYLIMIT bounds during scanning.  Please report this."); return 0; } }
 #define YYCURSOR  SCNG(yy_cursor)
 #define YYLIMIT   SCNG(yy_limit)
 #define YYMARKER  SCNG(yy_marker)
@@ -1329,38 +1329,8 @@ restart:
 
 yymore_restart:
 
-       /* detect EOF */
-       if (YYCURSOR >= YYLIMIT) {
-               /* special case */
-               if (YYSTATE == STATE(ST_COMMENT) || YYSTATE == STATE(ST_DOC_COMMENT)) {
-                       zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
-               }
-               return 0;
-       }
-
-       /* ignore first line when it's started with a #! */
-       if (YYCURSOR == SCNG(yy_start) && *YYCURSOR == '#' && *(YYCURSOR + 1) == '!') {
-               while (++YYCURSOR < YYLIMIT) {
-                       if (*YYCURSOR == '\n') {
-                               ++YYCURSOR;
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-
-                       if (*YYCURSOR == '\r') {
-                               if (++YYCURSOR < YYLIMIT && *YYCURSOR == '\n') { /* match \r\n as single newline */
-                                       ++YYCURSOR;
-                               }
-                               CG(zend_lineno)++;
-                               goto restart;
-                       }
-               }
-
-               return 0; /* EOF */
-       }
-
 
-#line 1364 "Zend/zend_language_scanner.c"
+#line 1334 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -1454,24 +1424,35 @@ yyc_INITIAL:
                YYDEBUG(0, *YYCURSOR);
                YYFILL(8);
                yych = *YYCURSOR;
-               if (yych != '<') goto yy4;
+               if (yych <= 0x00) goto yy2;
+               if (yych == '<') goto yy4;
+               goto yy6;
+yy2:
                YYDEBUG(2, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(3, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 1438 "Zend/zend_language_scanner.c"
+yy4:
+               YYDEBUG(4, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= '?') {
-                       if (yych == '%') goto yy7;
-                       if (yych >= '?') goto yy5;
+                       if (yych == '%') goto yy9;
+                       if (yych >= '?') goto yy7;
                } else {
                        if (yych <= 'S') {
-                               if (yych >= 'S') goto yy9;
+                               if (yych >= 'S') goto yy11;
                        } else {
-                               if (yych == 's') goto yy9;
+                               if (yych == 's') goto yy11;
                        }
                }
-yy3:
-               YYDEBUG(3, *YYCURSOR);
+yy5:
+               YYDEBUG(5, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2169 "Zend/zend_language_scanner.l"
+#line 2140 "Zend/zend_language_scanner.l"
                {
 
 inline_char_handler:
@@ -1502,25 +1483,25 @@ inline_char_handler:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 1506 "Zend/zend_language_scanner.c"
-yy4:
-               YYDEBUG(4, *YYCURSOR);
+#line 1487 "Zend/zend_language_scanner.c"
+yy6:
+               YYDEBUG(6, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy3;
-yy5:
-               YYDEBUG(5, *YYCURSOR);
+               goto yy5;
+yy7:
+               YYDEBUG(7, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'O') {
-                       if (yych == '=') goto yy45;
+                       if (yych == '=') goto yy47;
                } else {
-                       if (yych <= 'P') goto yy47;
-                       if (yych == 'p') goto yy47;
+                       if (yych <= 'P') goto yy49;
+                       if (yych == 'p') goto yy49;
                }
-yy6:
-               YYDEBUG(6, *YYCURSOR);
+yy8:
+               YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2157 "Zend/zend_language_scanner.l"
+#line 2128 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1532,14 +1513,14 @@ yy6:
                goto inline_char_handler;
        }
 }
-#line 1536 "Zend/zend_language_scanner.c"
-yy7:
-               YYDEBUG(7, *YYCURSOR);
+#line 1517 "Zend/zend_language_scanner.c"
+yy9:
+               YYDEBUG(9, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy43;
-               YYDEBUG(8, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '=') goto yy45;
+               YYDEBUG(10, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2134 "Zend/zend_language_scanner.l"
+#line 2105 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1551,193 +1532,193 @@ yy7:
                goto inline_char_handler;
        }
 }
-#line 1555 "Zend/zend_language_scanner.c"
-yy9:
-               YYDEBUG(9, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy11;
-               if (yych == 'c') goto yy11;
-yy10:
-               YYDEBUG(10, *YYCURSOR);
-               YYCURSOR = YYMARKER;
-               if (yyaccept <= 0) {
-                       goto yy3;
-               } else {
-                       goto yy6;
-               }
+#line 1536 "Zend/zend_language_scanner.c"
 yy11:
                YYDEBUG(11, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy12;
-               if (yych != 'r') goto yy10;
+               if (yych == 'C') goto yy13;
+               if (yych == 'c') goto yy13;
 yy12:
                YYDEBUG(12, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy13;
-               if (yych != 'i') goto yy10;
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 0) {
+                       goto yy5;
+               } else {
+                       goto yy8;
+               }
 yy13:
                YYDEBUG(13, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy14;
-               if (yych != 'p') goto yy10;
+               if (yych == 'R') goto yy14;
+               if (yych != 'r') goto yy12;
 yy14:
                YYDEBUG(14, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy15;
-               if (yych != 't') goto yy10;
+               if (yych == 'I') goto yy15;
+               if (yych != 'i') goto yy12;
 yy15:
                YYDEBUG(15, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy10;
-               if (yych == 'l') goto yy10;
-               goto yy17;
+               if (yych == 'P') goto yy16;
+               if (yych != 'p') goto yy12;
 yy16:
                YYDEBUG(16, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(8);
-               yych = *YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy17;
+               if (yych != 't') goto yy12;
 yy17:
                YYDEBUG(17, *YYCURSOR);
-               if (yybm[0+yych] & 128) {
-                       goto yy16;
-               }
-               if (yych == 'L') goto yy18;
-               if (yych != 'l') goto yy10;
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy12;
+               if (yych == 'l') goto yy12;
+               goto yy19;
 yy18:
                YYDEBUG(18, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy19;
-               if (yych != 'a') goto yy10;
+               ++YYCURSOR;
+               YYFILL(8);
+               yych = *YYCURSOR;
 yy19:
                YYDEBUG(19, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy20;
-               if (yych != 'n') goto yy10;
+               if (yybm[0+yych] & 128) {
+                       goto yy18;
+               }
+               if (yych == 'L') goto yy20;
+               if (yych != 'l') goto yy12;
 yy20:
                YYDEBUG(20, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy21;
-               if (yych != 'g') goto yy10;
+               if (yych == 'A') goto yy21;
+               if (yych != 'a') goto yy12;
 yy21:
                YYDEBUG(21, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy22;
-               if (yych != 'u') goto yy10;
+               if (yych == 'N') goto yy22;
+               if (yych != 'n') goto yy12;
 yy22:
                YYDEBUG(22, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy23;
-               if (yych != 'a') goto yy10;
+               if (yych == 'G') goto yy23;
+               if (yych != 'g') goto yy12;
 yy23:
                YYDEBUG(23, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy24;
-               if (yych != 'g') goto yy10;
+               if (yych == 'U') goto yy24;
+               if (yych != 'u') goto yy12;
 yy24:
                YYDEBUG(24, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy25;
-               if (yych != 'e') goto yy10;
+               if (yych == 'A') goto yy25;
+               if (yych != 'a') goto yy12;
 yy25:
                YYDEBUG(25, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'G') goto yy26;
+               if (yych != 'g') goto yy12;
+yy26:
+               YYDEBUG(26, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy27;
+               if (yych != 'e') goto yy12;
+yy27:
+               YYDEBUG(27, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(26, *YYCURSOR);
+               YYDEBUG(28, *YYCURSOR);
                if (yych <= '\r') {
-                       if (yych <= 0x08) goto yy10;
-                       if (yych <= '\n') goto yy25;
-                       if (yych <= '\f') goto yy10;
-                       goto yy25;
+                       if (yych <= 0x08) goto yy12;
+                       if (yych <= '\n') goto yy27;
+                       if (yych <= '\f') goto yy12;
+                       goto yy27;
                } else {
                        if (yych <= ' ') {
-                               if (yych <= 0x1F) goto yy10;
-                               goto yy25;
+                               if (yych <= 0x1F) goto yy12;
+                               goto yy27;
                        } else {
-                               if (yych != '=') goto yy10;
+                               if (yych != '=') goto yy12;
                        }
                }
-yy27:
-               YYDEBUG(27, *YYCURSOR);
+yy29:
+               YYDEBUG(29, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(5);
                yych = *YYCURSOR;
-               YYDEBUG(28, *YYCURSOR);
+               YYDEBUG(30, *YYCURSOR);
                if (yych <= '!') {
                        if (yych <= '\f') {
-                               if (yych <= 0x08) goto yy10;
-                               if (yych <= '\n') goto yy27;
-                               goto yy10;
+                               if (yych <= 0x08) goto yy12;
+                               if (yych <= '\n') goto yy29;
+                               goto yy12;
                        } else {
-                               if (yych <= '\r') goto yy27;
-                               if (yych == ' ') goto yy27;
-                               goto yy10;
+                               if (yych <= '\r') goto yy29;
+                               if (yych == ' ') goto yy29;
+                               goto yy12;
                        }
                } else {
                        if (yych <= 'O') {
-                               if (yych <= '"') goto yy30;
-                               if (yych == '\'') goto yy31;
-                               goto yy10;
+                               if (yych <= '"') goto yy32;
+                               if (yych == '\'') goto yy33;
+                               goto yy12;
                        } else {
-                               if (yych <= 'P') goto yy29;
-                               if (yych != 'p') goto yy10;
+                               if (yych <= 'P') goto yy31;
+                               if (yych != 'p') goto yy12;
                        }
                }
-yy29:
-               YYDEBUG(29, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy42;
-               if (yych == 'h') goto yy42;
-               goto yy10;
-yy30:
-               YYDEBUG(30, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy39;
-               if (yych == 'p') goto yy39;
-               goto yy10;
 yy31:
                YYDEBUG(31, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy32;
-               if (yych != 'p') goto yy10;
+               if (yych == 'H') goto yy44;
+               if (yych == 'h') goto yy44;
+               goto yy12;
 yy32:
                YYDEBUG(32, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy33;
-               if (yych != 'h') goto yy10;
+               if (yych == 'P') goto yy41;
+               if (yych == 'p') goto yy41;
+               goto yy12;
 yy33:
                YYDEBUG(33, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'P') goto yy34;
-               if (yych != 'p') goto yy10;
+               if (yych != 'p') goto yy12;
 yy34:
                YYDEBUG(34, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '\'') goto yy10;
+               if (yych == 'H') goto yy35;
+               if (yych != 'h') goto yy12;
 yy35:
                YYDEBUG(35, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'P') goto yy36;
+               if (yych != 'p') goto yy12;
+yy36:
+               YYDEBUG(36, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych != '\'') goto yy12;
+yy37:
+               YYDEBUG(37, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(36, *YYCURSOR);
+               YYDEBUG(38, *YYCURSOR);
                if (yych <= '\r') {
-                       if (yych <= 0x08) goto yy10;
-                       if (yych <= '\n') goto yy35;
-                       if (yych <= '\f') goto yy10;
-                       goto yy35;
+                       if (yych <= 0x08) goto yy12;
+                       if (yych <= '\n') goto yy37;
+                       if (yych <= '\f') goto yy12;
+                       goto yy37;
                } else {
                        if (yych <= ' ') {
-                               if (yych <= 0x1F) goto yy10;
-                               goto yy35;
+                               if (yych <= 0x1F) goto yy12;
+                               goto yy37;
                        } else {
-                               if (yych != '>') goto yy10;
+                               if (yych != '>') goto yy12;
                        }
                }
-               YYDEBUG(37, *YYCURSOR);
+               YYDEBUG(39, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(38, *YYCURSOR);
+               YYDEBUG(40, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2099 "Zend/zend_language_scanner.l"
+#line 2070 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1746,34 +1727,34 @@ yy35:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1750 "Zend/zend_language_scanner.c"
-yy39:
-               YYDEBUG(39, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy40;
-               if (yych != 'h') goto yy10;
-yy40:
-               YYDEBUG(40, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy41;
-               if (yych != 'p') goto yy10;
+#line 1731 "Zend/zend_language_scanner.c"
 yy41:
                YYDEBUG(41, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '"') goto yy35;
-               goto yy10;
+               if (yych == 'H') goto yy42;
+               if (yych != 'h') goto yy12;
 yy42:
                YYDEBUG(42, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy35;
-               if (yych == 'p') goto yy35;
-               goto yy10;
+               if (yych == 'P') goto yy43;
+               if (yych != 'p') goto yy12;
 yy43:
                YYDEBUG(43, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == '"') goto yy37;
+               goto yy12;
+yy44:
                YYDEBUG(44, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'P') goto yy37;
+               if (yych == 'p') goto yy37;
+               goto yy12;
+yy45:
+               YYDEBUG(45, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2108 "Zend/zend_language_scanner.l"
+#line 2079 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1785,13 +1766,13 @@ yy43:
                goto inline_char_handler;
        }
 }
-#line 1789 "Zend/zend_language_scanner.c"
-yy45:
-               YYDEBUG(45, *YYCURSOR);
+#line 1770 "Zend/zend_language_scanner.c"
+yy47:
+               YYDEBUG(47, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(46, *YYCURSOR);
+               YYDEBUG(48, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2121 "Zend/zend_language_scanner.l"
+#line 2092 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -1803,34 +1784,34 @@ yy45:
                goto inline_char_handler;
        }
 }
-#line 1807 "Zend/zend_language_scanner.c"
-yy47:
-               YYDEBUG(47, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy48;
-               if (yych != 'h') goto yy10;
-yy48:
-               YYDEBUG(48, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy49;
-               if (yych != 'p') goto yy10;
+#line 1788 "Zend/zend_language_scanner.c"
 yy49:
                YYDEBUG(49, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '\f') {
-                       if (yych <= 0x08) goto yy10;
-                       if (yych >= '\v') goto yy10;
-               } else {
-                       if (yych <= '\r') goto yy52;
-                       if (yych != ' ') goto yy10;
-               }
+               if (yych == 'H') goto yy50;
+               if (yych != 'h') goto yy12;
 yy50:
                YYDEBUG(50, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'P') goto yy51;
+               if (yych != 'p') goto yy12;
 yy51:
                YYDEBUG(51, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= '\f') {
+                       if (yych <= 0x08) goto yy12;
+                       if (yych >= '\v') goto yy12;
+               } else {
+                       if (yych <= '\r') goto yy54;
+                       if (yych != ' ') goto yy12;
+               }
+yy52:
+               YYDEBUG(52, *YYCURSOR);
+               ++YYCURSOR;
+yy53:
+               YYDEBUG(53, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2147 "Zend/zend_language_scanner.l"
+#line 2118 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -1839,18 +1820,18 @@ yy51:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1843 "Zend/zend_language_scanner.c"
-yy52:
-               YYDEBUG(52, *YYCURSOR);
+#line 1824 "Zend/zend_language_scanner.c"
+yy54:
+               YYDEBUG(54, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '\n') goto yy50;
-               goto yy51;
+               if ((yych = *YYCURSOR) == '\n') goto yy52;
+               goto yy53;
        }
 /* *********************************** */
 yyc_ST_BACKQUOTE:
        {
                static const unsigned char yybm[] = {
-                        16,  16,  16,  16,  16,  16,  16,  16, 
+                         0,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
@@ -1883,78 +1864,109 @@ yyc_ST_BACKQUOTE:
                        144, 144, 144, 144, 144, 144, 144, 144, 
                        144, 144, 144, 144, 144, 144, 144, 144, 
                };
-               YYDEBUG(53, *YYCURSOR);
+               YYDEBUG(55, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy58;
+                       goto yy63;
                }
-               if (yych <= '[') goto yy55;
-               if (yych <= '\\') goto yy61;
-               if (yych <= 'z') goto yy62;
-               goto yy56;
-yy55:
-               YYDEBUG(55, *YYCURSOR);
+               if (yych <= 0x00) goto yy57;
+               if (yych <= '[') goto yy59;
+               if (yych <= '\\') goto yy66;
+               if (yych <= 'z') goto yy67;
+               goto yy61;
+yy57:
+               YYDEBUG(57, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(58, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 1886 "Zend/zend_language_scanner.c"
+yy59:
+               YYDEBUG(59, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy68;
+                       goto yy72;
                }
                if (yych <= '^') {
                        if (yych <= 'Z') {
-                               if (yych <= '@') goto yy58;
-                               goto yy74;
+                               if (yych <= 0x00) goto yy60;
+                               if (yych <= '@') goto yy63;
+                               goto yy78;
                        } else {
-                               if (yych == '\\') goto yy67;
-                               goto yy58;
+                               if (yych == '\\') goto yy71;
+                               goto yy63;
                        }
                } else {
                        if (yych <= 'z') {
-                               if (yych == '`') goto yy71;
-                               goto yy74;
+                               if (yych == '`') goto yy75;
+                               goto yy78;
+                       } else {
+                               if (yych <= '{') goto yy81;
+                               if (yych <= '~') goto yy63;
+                               goto yy78;
+                       }
+               }
+yy60:
+               YYDEBUG(60, *YYCURSOR);
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 1) {
+                       if (yyaccept <= 0) {
+                               goto yy62;
                        } else {
-                               if (yych <= '{') goto yy77;
-                               if (yych <= '~') goto yy58;
+                               goto yy65;
+                       }
+               } else {
+                       if (yyaccept <= 2) {
                                goto yy74;
+                       } else {
+                               goto yy80;
                        }
                }
-yy56:
-               YYDEBUG(56, *YYCURSOR);
+yy61:
+               YYDEBUG(61, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy72;
+                       goto yy76;
                }
-               if (yych == '$') goto yy57;
-               if (yych == '`') goto yy71;
-               goto yy59;
-yy57:
-               YYDEBUG(57, *YYCURSOR);
+               if (yych <= '$') {
+                       if (yych <= 0x00) goto yy62;
+                       if (yych <= '#') goto yy64;
+               } else {
+                       if (yych == '`') goto yy75;
+                       goto yy64;
+               }
+yy62:
+               YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2545 "Zend/zend_language_scanner.l"
+#line 2521 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 1940 "Zend/zend_language_scanner.c"
-yy58:
-               YYDEBUG(58, *YYCURSOR);
+#line 1951 "Zend/zend_language_scanner.c"
+yy63:
+               YYDEBUG(63, *YYCURSOR);
                yyaccept = 1;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy59:
-               YYDEBUG(59, *YYCURSOR);
+yy64:
+               YYDEBUG(64, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy58;
+                       goto yy63;
                }
-               if (yych <= '[') goto yy66;
-               if (yych <= '\\') goto yy61;
-               if (yych >= '{') goto yy64;
-yy60:
-               YYDEBUG(60, *YYCURSOR);
+               if (yych <= 0x00) goto yy65;
+               if (yych <= '[') goto yy70;
+               if (yych <= '\\') goto yy66;
+               if (yych >= '{') goto yy69;
+yy65:
+               YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2579 "Zend/zend_language_scanner.l"
+#line 2555 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x60 /*'`'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -1963,112 +1975,102 @@ yy60:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 1967 "Zend/zend_language_scanner.c"
-yy61:
-               YYDEBUG(61, *YYCURSOR);
+#line 1979 "Zend/zend_language_scanner.c"
+yy66:
+               YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy58;
-yy62:
-               YYDEBUG(62, *YYCURSOR);
+               if (yych <= 0x00) goto yy60;
+               goto yy63;
+yy67:
+               YYDEBUG(67, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(63, *YYCURSOR);
+               YYDEBUG(68, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2676 "Zend/zend_language_scanner.l"
+#line 2652 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1984 "Zend/zend_language_scanner.c"
-yy64:
-               YYDEBUG(64, *YYCURSOR);
+#line 1997 "Zend/zend_language_scanner.c"
+yy69:
+               YYDEBUG(69, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy58;
-               }
-               if (yych <= '[') goto yy65;
-               if (yych <= '\\') goto yy61;
-               if (yych <= 'z') goto yy71;
-               goto yy72;
-yy65:
-               YYDEBUG(65, *YYCURSOR);
-               YYCURSOR = YYMARKER;
-               if (yyaccept <= 1) {
-                       if (yyaccept <= 0) {
-                               goto yy57;
-                       } else {
-                               goto yy60;
-                       }
-               } else {
-                       if (yyaccept <= 2) {
-                               goto yy70;
-                       } else {
-                               goto yy76;
-                       }
+                       goto yy63;
                }
-yy66:
-               YYDEBUG(66, *YYCURSOR);
+               if (yych <= '[') goto yy60;
+               if (yych <= '\\') goto yy66;
+               if (yych <= 'z') goto yy75;
+               goto yy76;
+yy70:
+               YYDEBUG(70, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy68;
+                       goto yy72;
                }
-               if (yych <= '^') {
-                       if (yych <= 'Z') {
-                               if (yych <= '@') goto yy58;
-                               goto yy65;
+               if (yych <= '\\') {
+                       if (yych <= '@') {
+                               if (yych <= 0x00) goto yy60;
+                               goto yy63;
                        } else {
-                               if (yych != '\\') goto yy58;
+                               if (yych <= 'Z') goto yy60;
+                               if (yych <= '[') goto yy63;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy65;
-                               goto yy71;
+                               if (yych <= '^') goto yy63;
+                               if (yych <= '_') goto yy60;
+                               goto yy75;
                        } else {
-                               if (yych <= '{') goto yy65;
-                               if (yych <= '~') goto yy58;
-                               goto yy65;
+                               if (yych <= '{') goto yy60;
+                               if (yych <= '~') goto yy63;
+                               goto yy60;
                        }
                }
-yy67:
-               YYDEBUG(67, *YYCURSOR);
+yy71:
+               YYDEBUG(71, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy58;
-yy68:
-               YYDEBUG(68, *YYCURSOR);
+               if (yych <= 0x00) goto yy60;
+               goto yy63;
+yy72:
+               YYDEBUG(72, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(69, *YYCURSOR);
+               YYDEBUG(73, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy68;
+                       goto yy72;
                }
-               if (yych <= '^') {
-                       if (yych <= 'Z') {
-                               if (yych <= '@') goto yy58;
+               if (yych <= '\\') {
+                       if (yych <= '@') {
+                               if (yych >= 0x01) goto yy63;
                        } else {
-                               if (yych == '\\') goto yy67;
-                               goto yy58;
+                               if (yych <= 'Z') goto yy74;
+                               if (yych <= '[') goto yy63;
+                               goto yy71;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych >= '`') goto yy71;
+                               if (yych <= '^') goto yy63;
+                               if (yych >= '`') goto yy75;
                        } else {
-                               if (yych <= '{') goto yy70;
-                               if (yych <= '~') goto yy58;
+                               if (yych <= '{') goto yy74;
+                               if (yych <= '~') goto yy63;
                        }
                }
-yy70:
-               YYDEBUG(70, *YYCURSOR);
+yy74:
+               YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2588 "Zend/zend_language_scanner.l"
+#line 2564 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
 
@@ -2079,41 +2081,41 @@ yy70:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2083 "Zend/zend_language_scanner.c"
-yy71:
-               YYDEBUG(71, *YYCURSOR);
+#line 2085 "Zend/zend_language_scanner.c"
+yy75:
+               YYDEBUG(75, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy70;
-yy72:
-               YYDEBUG(72, *YYCURSOR);
+               goto yy74;
+yy76:
+               YYDEBUG(76, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(73, *YYCURSOR);
+               YYDEBUG(77, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy58;
+                       goto yy63;
                }
-               if (yych <= '[') goto yy70;
-               if (yych <= '\\') goto yy61;
-               if (yych <= 'z') goto yy71;
-               goto yy72;
-yy74:
-               YYDEBUG(74, *YYCURSOR);
+               if (yych <= '[') goto yy74;
+               if (yych <= '\\') goto yy66;
+               if (yych <= 'z') goto yy75;
+               goto yy76;
+yy78:
+               YYDEBUG(78, *YYCURSOR);
                yyaccept = 3;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(75, *YYCURSOR);
+               YYDEBUG(79, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy74;
+                       goto yy78;
                }
-               if (yych == '-') goto yy79;
-               if (yych == '[') goto yy80;
-yy76:
-               YYDEBUG(76, *YYCURSOR);
+               if (yych == '-') goto yy83;
+               if (yych == '[') goto yy84;
+yy80:
+               YYDEBUG(80, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2202 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -2123,29 +2125,29 @@ yy76:
        }
        return T_VARIABLE;
 }
-#line 2127 "Zend/zend_language_scanner.c"
-yy77:
-               YYDEBUG(77, *YYCURSOR);
+#line 2129 "Zend/zend_language_scanner.c"
+yy81:
+               YYDEBUG(81, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(78, *YYCURSOR);
+               YYDEBUG(82, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1864 "Zend/zend_language_scanner.l"
+#line 1835 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2138 "Zend/zend_language_scanner.c"
-yy79:
-               YYDEBUG(79, *YYCURSOR);
+#line 2140 "Zend/zend_language_scanner.c"
+yy83:
+               YYDEBUG(83, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy82;
-               goto yy65;
-yy80:
-               YYDEBUG(80, *YYCURSOR);
+               if (yych == '>') goto yy86;
+               goto yy60;
+yy84:
+               YYDEBUG(84, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(81, *YYCURSOR);
+               YYDEBUG(85, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "Zend/zend_language_scanner.l"
+#line 2189 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2158,25 +2160,25 @@ yy80:
        }
        return T_VARIABLE;
 }
-#line 2162 "Zend/zend_language_scanner.c"
-yy82:
-               YYDEBUG(82, *YYCURSOR);
+#line 2164 "Zend/zend_language_scanner.c"
+yy86:
+               YYDEBUG(86, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy65;
-                       if (yych <= 'Z') goto yy83;
-                       if (yych <= '^') goto yy65;
+                       if (yych <= '@') goto yy60;
+                       if (yych <= 'Z') goto yy87;
+                       if (yych <= '^') goto yy60;
                } else {
-                       if (yych <= '`') goto yy65;
-                       if (yych <= 'z') goto yy83;
-                       if (yych <= '~') goto yy65;
+                       if (yych <= '`') goto yy60;
+                       if (yych <= 'z') goto yy87;
+                       if (yych <= '~') goto yy60;
                }
-yy83:
-               YYDEBUG(83, *YYCURSOR);
+yy87:
+               YYDEBUG(87, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(84, *YYCURSOR);
+               YYDEBUG(88, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2203 "Zend/zend_language_scanner.l"
+#line 2174 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2189,13 +2191,13 @@ yy83:
        }
        return T_VARIABLE;
 }
-#line 2193 "Zend/zend_language_scanner.c"
+#line 2195 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_COMMENT:
        {
                static const unsigned char yybm[] = {
-                       128, 128, 128, 128, 128, 128, 128, 128, 
+                         0, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
@@ -2228,58 +2230,68 @@ yyc_ST_COMMENT:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(85, *YYCURSOR);
+               YYDEBUG(89, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy87;
+                       goto yy93;
                }
-               goto yy90;
-yy87:
-               YYDEBUG(87, *YYCURSOR);
+               if (yych >= 0x01) goto yy96;
+               YYDEBUG(91, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(92, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2303 "Zend/zend_language_scanner.l"
+               {
+       zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
+       return 0;
+}
+#line 2250 "Zend/zend_language_scanner.c"
+yy93:
+               YYDEBUG(93, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(88, *YYCURSOR);
+               YYDEBUG(94, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy87;
+                       goto yy93;
                }
-               YYDEBUG(89, *YYCURSOR);
+               YYDEBUG(95, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2338 "Zend/zend_language_scanner.l"
+#line 2314 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2254 "Zend/zend_language_scanner.c"
-yy90:
-               YYDEBUG(90, *YYCURSOR);
+#line 2266 "Zend/zend_language_scanner.c"
+yy96:
+               YYDEBUG(96, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '/') goto yy92;
-               YYDEBUG(91, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '/') goto yy98;
+               YYDEBUG(97, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2361 "Zend/zend_language_scanner.l"
+#line 2337 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2265 "Zend/zend_language_scanner.c"
-yy92:
-               YYDEBUG(92, *YYCURSOR);
+#line 2277 "Zend/zend_language_scanner.c"
+yy98:
+               YYDEBUG(98, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(93, *YYCURSOR);
+               YYDEBUG(99, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2355 "Zend/zend_language_scanner.l"
+#line 2331 "Zend/zend_language_scanner.l"
                {
        HANDLE_NEWLINES(yytext, yyleng);
        BEGIN(ST_IN_SCRIPTING);
        return T_COMMENT;
 }
-#line 2277 "Zend/zend_language_scanner.c"
+#line 2289 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOC_COMMENT:
        {
                static const unsigned char yybm[] = {
-                       128, 128, 128, 128, 128, 128, 128, 128, 
+                         0, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
@@ -2312,46 +2324,56 @@ yyc_ST_DOC_COMMENT:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(94, *YYCURSOR);
+               YYDEBUG(100, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy96;
+                       goto yy104;
                }
-               goto yy99;
-yy96:
-               YYDEBUG(96, *YYCURSOR);
+               if (yych >= 0x01) goto yy107;
+               YYDEBUG(102, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(103, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2303 "Zend/zend_language_scanner.l"
+               {
+       zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
+       return 0;
+}
+#line 2344 "Zend/zend_language_scanner.c"
+yy104:
+               YYDEBUG(104, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(97, *YYCURSOR);
+               YYDEBUG(105, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy96;
+                       goto yy104;
                }
-               YYDEBUG(98, *YYCURSOR);
+               YYDEBUG(106, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2338 "Zend/zend_language_scanner.l"
+#line 2314 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2338 "Zend/zend_language_scanner.c"
-yy99:
-               YYDEBUG(99, *YYCURSOR);
+#line 2360 "Zend/zend_language_scanner.c"
+yy107:
+               YYDEBUG(107, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '/') goto yy101;
-               YYDEBUG(100, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '/') goto yy109;
+               YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2361 "Zend/zend_language_scanner.l"
+#line 2337 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 2349 "Zend/zend_language_scanner.c"
-yy101:
-               YYDEBUG(101, *YYCURSOR);
+#line 2371 "Zend/zend_language_scanner.c"
+yy109:
+               YYDEBUG(109, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(102, *YYCURSOR);
+               YYDEBUG(110, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2342 "Zend/zend_language_scanner.l"
+#line 2318 "Zend/zend_language_scanner.l"
                {
        zval temp;
 
@@ -2364,13 +2386,13 @@ yy101:
        BEGIN(ST_IN_SCRIPTING);
        return T_DOC_COMMENT;
 }
-#line 2368 "Zend/zend_language_scanner.c"
+#line 2390 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
        {
                static const unsigned char yybm[] = {
-                        16,  16,  16,  16,  16,  16,  16,  16, 
+                         0,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
@@ -2403,80 +2425,112 @@ yyc_ST_DOUBLE_QUOTES:
                        144, 144, 144, 144, 144, 144, 144, 144, 
                        144, 144, 144, 144, 144, 144, 144, 144, 
                };
-               YYDEBUG(103, *YYCURSOR);
+               YYDEBUG(111, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy108;
+                       goto yy119;
                }
-               if (yych <= '#') goto yy112;
-               if (yych <= '$') goto yy105;
-               if (yych <= 'z') goto yy111;
-               goto yy106;
-yy105:
-               YYDEBUG(105, *YYCURSOR);
+               if (yych <= 0x00) goto yy113;
+               if (yych <= '#') goto yy123;
+               if (yych <= '$') goto yy115;
+               if (yych <= 'z') goto yy122;
+               goto yy117;
+yy113:
+               YYDEBUG(113, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(114, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 2447 "Zend/zend_language_scanner.c"
+yy115:
+               YYDEBUG(115, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy118;
+                       goto yy128;
                }
                if (yych <= '\\') {
-                       if (yych <= '@') {
-                               if (yych == '"') goto yy121;
-                               goto yy108;
+                       if (yych <= '"') {
+                               if (yych <= 0x00) goto yy116;
+                               if (yych <= '!') goto yy119;
+                               goto yy131;
                        } else {
-                               if (yych <= 'Z') goto yy124;
-                               if (yych <= '[') goto yy108;
-                               goto yy117;
+                               if (yych <= '@') goto yy119;
+                               if (yych <= 'Z') goto yy134;
+                               if (yych <= '[') goto yy119;
+                               goto yy127;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy124;
-                               goto yy108;
+                               if (yych == '_') goto yy134;
+                               goto yy119;
                        } else {
-                               if (yych <= 'z') goto yy124;
-                               if (yych <= '{') goto yy127;
-                               if (yych <= '~') goto yy108;
-                               goto yy124;
+                               if (yych <= 'z') goto yy134;
+                               if (yych <= '{') goto yy137;
+                               if (yych <= '~') goto yy119;
+                               goto yy134;
                        }
                }
-yy106:
-               YYDEBUG(106, *YYCURSOR);
+yy116:
+               YYDEBUG(116, *YYCURSOR);
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 1) {
+                       if (yyaccept <= 0) {
+                               goto yy118;
+                       } else {
+                               goto yy121;
+                       }
+               } else {
+                       if (yyaccept <= 2) {
+                               goto yy130;
+                       } else {
+                               goto yy136;
+                       }
+               }
+yy117:
+               YYDEBUG(117, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy122;
+                       goto yy132;
                }
-               if (yych == '"') goto yy121;
-               if (yych != '$') goto yy109;
-yy107:
-               YYDEBUG(107, *YYCURSOR);
+               if (yych <= '"') {
+                       if (yych <= 0x00) goto yy118;
+                       if (yych <= '!') goto yy120;
+                       goto yy131;
+               } else {
+                       if (yych != '$') goto yy120;
+               }
+yy118:
+               YYDEBUG(118, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2545 "Zend/zend_language_scanner.l"
+#line 2521 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2461 "Zend/zend_language_scanner.c"
-yy108:
-               YYDEBUG(108, *YYCURSOR);
+#line 2515 "Zend/zend_language_scanner.c"
+yy119:
+               YYDEBUG(119, *YYCURSOR);
                yyaccept = 1;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy109:
-               YYDEBUG(109, *YYCURSOR);
+yy120:
+               YYDEBUG(120, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy108;
+                       goto yy119;
                }
-               if (yych <= '#') goto yy110;
-               if (yych <= '$') goto yy116;
-               if (yych <= 'z') goto yy111;
-               goto yy114;
-yy110:
-               YYDEBUG(110, *YYCURSOR);
+               if (yych <= '#') goto yy121;
+               if (yych <= '$') goto yy126;
+               if (yych <= 'z') goto yy122;
+               goto yy125;
+yy121:
+               YYDEBUG(121, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2552 "Zend/zend_language_scanner.l"
+#line 2528 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0x22 /*'"'*/, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2485,115 +2539,108 @@ yy110:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2489 "Zend/zend_language_scanner.c"
-yy111:
-               YYDEBUG(111, *YYCURSOR);
+#line 2543 "Zend/zend_language_scanner.c"
+yy122:
+               YYDEBUG(122, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy108;
-yy112:
-               YYDEBUG(112, *YYCURSOR);
+               if (yych <= 0x00) goto yy116;
+               goto yy119;
+yy123:
+               YYDEBUG(123, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(113, *YYCURSOR);
+               YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2670 "Zend/zend_language_scanner.l"
+#line 2646 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 2506 "Zend/zend_language_scanner.c"
-yy114:
-               YYDEBUG(114, *YYCURSOR);
+#line 2561 "Zend/zend_language_scanner.c"
+yy125:
+               YYDEBUG(125, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy108;
+                       goto yy119;
                }
-               if (yych <= '#') goto yy121;
-               if (yych <= '$') goto yy115;
-               if (yych <= 'z') goto yy111;
-               goto yy122;
-yy115:
-               YYDEBUG(115, *YYCURSOR);
-               YYCURSOR = YYMARKER;
-               if (yyaccept <= 1) {
-                       if (yyaccept <= 0) {
-                               goto yy107;
-                       } else {
-                               goto yy110;
-                       }
-               } else {
-                       if (yyaccept <= 2) {
-                               goto yy120;
-                       } else {
-                               goto yy126;
-                       }
-               }
-yy116:
-               YYDEBUG(116, *YYCURSOR);
+               if (yych <= 0x00) goto yy116;
+               if (yych <= '#') goto yy131;
+               if (yych <= '$') goto yy116;
+               if (yych <= 'z') goto yy122;
+               goto yy132;
+yy126:
+               YYDEBUG(126, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy118;
+                       goto yy128;
                }
-               if (yych <= '\\') {
-                       if (yych <= '@') {
-                               if (yych == '"') goto yy121;
-                               goto yy108;
+               if (yych <= '[') {
+                       if (yych <= '"') {
+                               if (yych <= 0x00) goto yy116;
+                               if (yych <= '!') goto yy119;
+                               goto yy131;
                        } else {
-                               if (yych <= 'Z') goto yy115;
-                               if (yych <= '[') goto yy108;
+                               if (yych <= '@') goto yy119;
+                               if (yych <= 'Z') goto yy116;
+                               goto yy119;
                        }
                } else {
-                       if (yych <= '`') {
-                               if (yych == '_') goto yy115;
-                               goto yy108;
+                       if (yych <= '_') {
+                               if (yych <= '\\') goto yy127;
+                               if (yych <= '^') goto yy119;
+                               goto yy116;
                        } else {
-                               if (yych <= '{') goto yy115;
-                               if (yych <= '~') goto yy108;
-                               goto yy115;
+                               if (yych <= '`') goto yy119;
+                               if (yych <= '{') goto yy116;
+                               if (yych <= '~') goto yy119;
+                               goto yy116;
                        }
                }
-yy117:
-               YYDEBUG(117, *YYCURSOR);
+yy127:
+               YYDEBUG(127, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy108;
-yy118:
-               YYDEBUG(118, *YYCURSOR);
+               if (yych <= 0x00) goto yy116;
+               goto yy119;
+yy128:
+               YYDEBUG(128, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(119, *YYCURSOR);
+               YYDEBUG(129, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy118;
+                       goto yy128;
                }
-               if (yych <= '\\') {
-                       if (yych <= '@') {
-                               if (yych == '"') goto yy121;
-                               goto yy108;
+               if (yych <= '[') {
+                       if (yych <= '"') {
+                               if (yych <= 0x00) goto yy130;
+                               if (yych <= '!') goto yy119;
+                               goto yy131;
                        } else {
-                               if (yych <= 'Z') goto yy120;
-                               if (yych <= '[') goto yy108;
-                               goto yy117;
+                               if (yych <= '@') goto yy119;
+                               if (yych >= '[') goto yy119;
                        }
                } else {
-                       if (yych <= '`') {
-                               if (yych != '_') goto yy108;
+                       if (yych <= '_') {
+                               if (yych <= '\\') goto yy127;
+                               if (yych <= '^') goto yy119;
                        } else {
-                               if (yych <= '{') goto yy120;
-                               if (yych <= '~') goto yy108;
+                               if (yych <= '`') goto yy119;
+                               if (yych <= '{') goto yy130;
+                               if (yych <= '~') goto yy119;
                        }
                }
-yy120:
-               YYDEBUG(120, *YYCURSOR);
+yy130:
+               YYDEBUG(130, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2567 "Zend/zend_language_scanner.l"
+#line 2543 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
 
@@ -2604,41 +2651,42 @@ yy120:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2608 "Zend/zend_language_scanner.c"
-yy121:
-               YYDEBUG(121, *YYCURSOR);
+#line 2655 "Zend/zend_language_scanner.c"
+yy131:
+               YYDEBUG(131, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy120;
-yy122:
-               YYDEBUG(122, *YYCURSOR);
+               goto yy130;
+yy132:
+               YYDEBUG(132, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(123, *YYCURSOR);
+               YYDEBUG(133, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy108;
-               }
-               if (yych <= '#') goto yy121;
-               if (yych <= '$') goto yy120;
-               if (yych <= 'z') goto yy111;
-               goto yy122;
-yy124:
-               YYDEBUG(124, *YYCURSOR);
+                       goto yy119;
+               }
+               if (yych <= 0x00) goto yy130;
+               if (yych <= '#') goto yy131;
+               if (yych <= '$') goto yy130;
+               if (yych <= 'z') goto yy122;
+               goto yy132;
+yy134:
+               YYDEBUG(134, *YYCURSOR);
                yyaccept = 3;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(125, *YYCURSOR);
+               YYDEBUG(135, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy124;
+                       goto yy134;
                }
-               if (yych == '-') goto yy129;
-               if (yych == '[') goto yy130;
-yy126:
-               YYDEBUG(126, *YYCURSOR);
+               if (yych == '-') goto yy139;
+               if (yych == '[') goto yy140;
+yy136:
+               YYDEBUG(136, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2202 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -2648,29 +2696,29 @@ yy126:
        }
        return T_VARIABLE;
 }
-#line 2652 "Zend/zend_language_scanner.c"
-yy127:
-               YYDEBUG(127, *YYCURSOR);
+#line 2700 "Zend/zend_language_scanner.c"
+yy137:
+               YYDEBUG(137, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(128, *YYCURSOR);
+               YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1864 "Zend/zend_language_scanner.l"
+#line 1835 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2663 "Zend/zend_language_scanner.c"
-yy129:
-               YYDEBUG(129, *YYCURSOR);
+#line 2711 "Zend/zend_language_scanner.c"
+yy139:
+               YYDEBUG(139, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy132;
-               goto yy115;
-yy130:
-               YYDEBUG(130, *YYCURSOR);
+               if (yych == '>') goto yy142;
+               goto yy116;
+yy140:
+               YYDEBUG(140, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(131, *YYCURSOR);
+               YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "Zend/zend_language_scanner.l"
+#line 2189 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2683,25 +2731,25 @@ yy130:
        }
        return T_VARIABLE;
 }
-#line 2687 "Zend/zend_language_scanner.c"
-yy132:
-               YYDEBUG(132, *YYCURSOR);
+#line 2735 "Zend/zend_language_scanner.c"
+yy142:
+               YYDEBUG(142, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy115;
-                       if (yych <= 'Z') goto yy133;
-                       if (yych <= '^') goto yy115;
+                       if (yych <= '@') goto yy116;
+                       if (yych <= 'Z') goto yy143;
+                       if (yych <= '^') goto yy116;
                } else {
-                       if (yych <= '`') goto yy115;
-                       if (yych <= 'z') goto yy133;
-                       if (yych <= '~') goto yy115;
+                       if (yych <= '`') goto yy116;
+                       if (yych <= 'z') goto yy143;
+                       if (yych <= '~') goto yy116;
                }
-yy133:
-               YYDEBUG(133, *YYCURSOR);
+yy143:
+               YYDEBUG(143, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(134, *YYCURSOR);
+               YYDEBUG(144, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2203 "Zend/zend_language_scanner.l"
+#line 2174 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2714,18 +2762,27 @@ yy133:
        }
        return T_VARIABLE;
 }
-#line 2718 "Zend/zend_language_scanner.c"
+#line 2766 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
-       YYDEBUG(135, *YYCURSOR);
+       YYDEBUG(145, *YYCURSOR);
        YYFILL(1);
        yych = *YYCURSOR;
-       YYDEBUG(137, *YYCURSOR);
+       if (yych >= 0x01) goto yy149;
+       YYDEBUG(147, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(138, *YYCURSOR);
+       YYDEBUG(148, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2531 "Zend/zend_language_scanner.l"
+#line 2657 "Zend/zend_language_scanner.l"
+       { return 0; }
+#line 2780 "Zend/zend_language_scanner.c"
+yy149:
+       YYDEBUG(149, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(150, *YYCURSOR);
+       yyleng = YYCURSOR - SCNG(yy_text);
+#line 2507 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -2737,12 +2794,12 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 2741 "Zend/zend_language_scanner.c"
+#line 2798 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
                static const unsigned char yybm[] = {
-                         4,   4,   4,   4,   4,   4,   4,   4, 
+                         0,   4,   4,   4,   4,   4,   4,   4, 
                          4,   4,  16,   4,   4,  32,   4,   4, 
                          4,   4,   4,   4,   4,   4,   4,   4, 
                          4,   4,   4,   4,   4,   4,   4,   4, 
@@ -2775,26 +2832,30 @@ yyc_ST_HEREDOC:
                          8,   8,   8,   8,   8,   8,   8,   8, 
                          8,   8,   8,   8,   8,   8,   8,   8, 
                };
-               YYDEBUG(139, *YYCURSOR);
+               YYDEBUG(151, *YYCURSOR);
                YYFILL(2);
                yych = *(YYMARKER = YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '[') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       if (yych <= '@') goto yy142;
-                       goto yy147;
+               if (yych <= '@') {
+                       if (yych <= 0x00) goto yy154;
+                       if (yych <= '\f') goto yy165;
+                       if (yych <= '\r') goto yy167;
+                       goto yy156;
                } else {
-                       if (yych <= '\\') goto yy149;
-                       if (yych == '{') goto yy143;
-                       goto yy147;
+                       if (yych <= '\\') {
+                               if (yych <= '[') goto yy162;
+                               goto yy164;
+                       } else {
+                               if (yych == '{') goto yy158;
+                               goto yy162;
+                       }
                }
-yy141:
-               YYDEBUG(141, *YYCURSOR);
+yy153:
+               YYDEBUG(153, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2607 "Zend/zend_language_scanner.l"
+#line 2583 "Zend/zend_language_scanner.l"
                {
        if (CG(literal_type) == IS_UNICODE) {
                return zend_scan_unicode_escape_string(zendlval, yytext, yyleng, 0, T_ENCAPSED_AND_WHITESPACE TSRMLS_CC);
@@ -2803,310 +2864,352 @@ yy141:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 2807 "Zend/zend_language_scanner.c"
-yy142:
-               YYDEBUG(142, *YYCURSOR);
+#line 2868 "Zend/zend_language_scanner.c"
+yy154:
+               YYDEBUG(154, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(155, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 2876 "Zend/zend_language_scanner.c"
+yy156:
+               YYDEBUG(156, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '\\') {
-                       if (yych <= '@') {
-                               if (yych == '$') goto yy187;
-                               goto yy146;
+                       if (yych <= '$') {
+                               if (yych <= 0x00) goto yy157;
+                               if (yych <= '#') goto yy161;
+                               goto yy201;
                        } else {
-                               if (yych <= 'Z') goto yy191;
-                               if (yych <= '[') goto yy146;
-                               goto yy180;
+                               if (yych <= '@') goto yy161;
+                               if (yych <= 'Z') goto yy205;
+                               if (yych <= '[') goto yy161;
+                               goto yy194;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy191;
-                               goto yy146;
+                               if (yych == '_') goto yy205;
+                               goto yy161;
                        } else {
-                               if (yych <= 'z') goto yy191;
-                               if (yych <= '{') goto yy194;
-                               if (yych <= '~') goto yy146;
-                               goto yy191;
+                               if (yych <= 'z') goto yy205;
+                               if (yych <= '{') goto yy208;
+                               if (yych <= '~') goto yy161;
+                               goto yy205;
                        }
                }
-yy143:
-               YYDEBUG(143, *YYCURSOR);
+yy157:
+               YYDEBUG(157, *YYCURSOR);
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 1) {
+                       if (yyaccept <= 0) {
+                               goto yy153;
+                       } else {
+                               goto yy159;
+                       }
+               } else {
+                       if (yyaccept <= 2) {
+                               goto yy177;
+                       } else {
+                               goto yy207;
+                       }
+               }
+yy158:
+               YYDEBUG(158, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
+                       if (yych <= '\f') {
+                               if (yych >= 0x01) goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy149;
+                               if (yych <= '[') goto yy160;
+                               goto yy164;
                        } else {
-                               if (yych == '{') goto yy189;
-                               goto yy145;
+                               if (yych == '{') goto yy203;
+                               goto yy160;
                        }
                }
-yy144:
-               YYDEBUG(144, *YYCURSOR);
+yy159:
+               YYDEBUG(159, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2545 "Zend/zend_language_scanner.l"
+#line 2521 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_CURLY_OPEN;
 }
-#line 2859 "Zend/zend_language_scanner.c"
-yy145:
-               YYDEBUG(145, *YYCURSOR);
+#line 2950 "Zend/zend_language_scanner.c"
+yy160:
+               YYDEBUG(160, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy146:
-               YYDEBUG(146, *YYCURSOR);
+yy161:
+               YYDEBUG(161, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '[') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       if (yych <= '@') goto yy186;
+               if (yych <= '@') {
+                       if (yych <= 0x00) goto yy153;
+                       if (yych <= '\f') goto yy165;
+                       if (yych <= '\r') goto yy167;
+                       goto yy200;
                } else {
-                       if (yych <= '\\') goto yy149;
-                       if (yych == '{') goto yy185;
+                       if (yych <= '\\') {
+                               if (yych >= '\\') goto yy164;
+                       } else {
+                               if (yych == '{') goto yy199;
+                       }
                }
-yy147:
-               YYDEBUG(147, *YYCURSOR);
+yy162:
+               YYDEBUG(162, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(148, *YYCURSOR);
+               YYDEBUG(163, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '@') {
                        if (yych <= '$') {
-                               if (yych == '\r') goto yy152;
-                               if (yych <= '#') goto yy145;
-                               goto yy179;
+                               if (yych <= '\f') {
+                                       if (yych <= 0x00) goto yy153;
+                                       goto yy160;
+                               } else {
+                                       if (yych <= '\r') goto yy167;
+                                       if (yych <= '#') goto yy160;
+                                       goto yy193;
+                               }
                        } else {
                                if (yych <= '9') {
-                                       if (yych <= '/') goto yy145;
-                                       goto yy147;
+                                       if (yych <= '/') goto yy160;
+                                       goto yy162;
                                } else {
-                                       if (yych == ';') goto yy177;
-                                       goto yy145;
+                                       if (yych == ';') goto yy191;
+                                       goto yy160;
                                }
                        }
                } else {
                        if (yych <= '_') {
                                if (yych <= '[') {
-                                       if (yych <= 'Z') goto yy147;
-                                       goto yy145;
+                                       if (yych <= 'Z') goto yy162;
+                                       goto yy160;
                                } else {
-                                       if (yych <= '\\') goto yy149;
-                                       if (yych <= '^') goto yy145;
-                                       goto yy147;
+                                       if (yych <= '\\') goto yy164;
+                                       if (yych <= '^') goto yy160;
+                                       goto yy162;
                                }
                        } else {
                                if (yych <= 'z') {
-                                       if (yych <= '`') goto yy145;
-                                       goto yy147;
+                                       if (yych <= '`') goto yy160;
+                                       goto yy162;
                                } else {
-                                       if (yych <= '{') goto yy178;
-                                       if (yych <= '~') goto yy145;
-                                       goto yy147;
+                                       if (yych <= '{') goto yy192;
+                                       if (yych <= '~') goto yy160;
+                                       goto yy162;
                                }
                        }
                }
-yy149:
-               YYDEBUG(149, *YYCURSOR);
+yy164:
+               YYDEBUG(164, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy150:
-               YYDEBUG(150, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy165:
+               YYDEBUG(165, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(151, *YYCURSOR);
+               YYDEBUG(166, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '[') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       if (yych <= '@') goto yy158;
-                       goto yy154;
+               if (yych <= '@') {
+                       if (yych <= 0x00) goto yy153;
+                       if (yych <= '\f') goto yy165;
+                       if (yych >= 0x0E) goto yy172;
                } else {
-                       if (yych <= '\\') goto yy159;
-                       if (yych == '{') goto yy156;
-                       goto yy154;
+                       if (yych <= '\\') {
+                               if (yych <= '[') goto yy169;
+                               goto yy173;
+                       } else {
+                               if (yych == '{') goto yy171;
+                               goto yy169;
+                       }
                }
-yy152:
-               YYDEBUG(152, *YYCURSOR);
+yy167:
+               YYDEBUG(167, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(153, *YYCURSOR);
+               YYDEBUG(168, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '[') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       if (yych <= '@') goto yy158;
+               if (yych <= '@') {
+                       if (yych <= 0x00) goto yy153;
+                       if (yych <= '\f') goto yy165;
+                       if (yych <= '\r') goto yy167;
+                       goto yy172;
                } else {
-                       if (yych <= '\\') goto yy159;
-                       if (yych == '{') goto yy156;
+                       if (yych <= '\\') {
+                               if (yych >= '\\') goto yy173;
+                       } else {
+                               if (yych == '{') goto yy171;
+                       }
                }
-yy154:
-               YYDEBUG(154, *YYCURSOR);
+yy169:
+               YYDEBUG(169, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(155, *YYCURSOR);
+               YYDEBUG(170, *YYCURSOR);
                if (yych <= ';') {
-                       if (yych <= '#') {
-                               if (yych <= '\n') {
-                                       if (yych <= '\t') goto yy145;
-                                       goto yy170;
+                       if (yych <= '\r') {
+                               if (yych <= '\t') {
+                                       if (yych <= 0x00) goto yy153;
+                                       goto yy160;
                                } else {
-                                       if (yych == '\r') goto yy170;
-                                       goto yy145;
+                                       if (yych <= '\n') goto yy184;
+                                       if (yych <= '\f') goto yy160;
+                                       goto yy184;
                                }
                        } else {
                                if (yych <= '/') {
-                                       if (yych <= '$') goto yy169;
-                                       goto yy145;
+                                       if (yych == '$') goto yy183;
+                                       goto yy160;
                                } else {
-                                       if (yych <= '9') goto yy154;
-                                       if (yych <= ':') goto yy145;
-                                       goto yy166;
+                                       if (yych <= '9') goto yy169;
+                                       if (yych <= ':') goto yy160;
+                                       goto yy180;
                                }
                        }
                } else {
                        if (yych <= '^') {
                                if (yych <= 'Z') {
-                                       if (yych <= '@') goto yy145;
-                                       goto yy154;
+                                       if (yych <= '@') goto yy160;
+                                       goto yy169;
                                } else {
-                                       if (yych == '\\') goto yy167;
-                                       goto yy145;
+                                       if (yych == '\\') goto yy181;
+                                       goto yy160;
                                }
                        } else {
                                if (yych <= 'z') {
-                                       if (yych == '`') goto yy145;
-                                       goto yy154;
+                                       if (yych == '`') goto yy160;
+                                       goto yy169;
                                } else {
-                                       if (yych <= '{') goto yy168;
-                                       if (yych <= '~') goto yy145;
-                                       goto yy154;
+                                       if (yych <= '{') goto yy182;
+                                       if (yych <= '~') goto yy160;
+                                       goto yy169;
                                }
                        }
                }
-yy156:
-               YYDEBUG(156, *YYCURSOR);
+yy171:
+               YYDEBUG(171, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-               } else {
-                       if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy159;
-                       } else {
-                               if (yych == '{') goto yy164;
-                               goto yy145;
-                       }
-               }
-yy157:
-               YYDEBUG(157, *YYCURSOR);
-               YYCURSOR = YYMARKER;
-               if (yyaccept <= 1) {
-                       if (yyaccept <= 0) {
-                               goto yy141;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy157;
+                               goto yy160;
                        } else {
-                               goto yy144;
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy157;
                        }
                } else {
-                       if (yyaccept <= 2) {
-                               goto yy163;
+                       if (yych <= '\\') {
+                               if (yych <= '[') goto yy160;
+                               goto yy173;
                        } else {
-                               goto yy193;
+                               if (yych == '{') goto yy178;
+                               goto yy160;
                        }
                }
-yy158:
-               YYDEBUG(158, *YYCURSOR);
+yy172:
+               YYDEBUG(172, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy161;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy157;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy160;
+                       if (yych <= '@') goto yy175;
+                       if (yych == '\\') goto yy174;
                        goto yy157;
                }
-yy159:
-               YYDEBUG(159, *YYCURSOR);
+yy173:
+               YYDEBUG(173, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy160:
-               YYDEBUG(160, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy174:
+               YYDEBUG(174, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy161:
-               YYDEBUG(161, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy175:
+               YYDEBUG(175, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(162, *YYCURSOR);
+               YYDEBUG(176, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy161;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy177;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy160;
+                       if (yych <= '@') goto yy175;
+                       if (yych == '\\') goto yy174;
                }
-yy163:
-               YYDEBUG(163, *YYCURSOR);
+yy177:
+               YYDEBUG(177, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2616 "Zend/zend_language_scanner.l"
+#line 2592 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
 
@@ -3117,106 +3220,119 @@ yy163:
                return T_ENCAPSED_AND_WHITESPACE;
        }
 }
-#line 3121 "Zend/zend_language_scanner.c"
-yy164:
-               YYDEBUG(164, *YYCURSOR);
+#line 3224 "Zend/zend_language_scanner.c"
+yy178:
+               YYDEBUG(178, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(165, *YYCURSOR);
+               YYDEBUG(179, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy163;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy177;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy177;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy159;
+                               if (yych <= '[') goto yy160;
+                               goto yy173;
                        } else {
-                               if (yych == '{') goto yy164;
-                               goto yy145;
+                               if (yych == '{') goto yy178;
+                               goto yy160;
                        }
                }
-yy166:
-               YYDEBUG(166, *YYCURSOR);
+yy180:
+               YYDEBUG(180, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yych <= '#') {
                        if (yych <= '\n') {
-                               if (yych <= '\t') goto yy145;
-                               goto yy170;
+                               if (yych <= 0x00) goto yy153;
+                               if (yych <= '\t') goto yy160;
+                               goto yy184;
                        } else {
-                               if (yych == '\r') goto yy170;
-                               goto yy145;
+                               if (yych == '\r') goto yy184;
+                               goto yy160;
                        }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '$') goto yy169;
-                               if (yych <= '[') goto yy145;
+                               if (yych <= '$') goto yy183;
+                               if (yych <= '[') goto yy160;
                        } else {
-                               if (yych == '{') goto yy168;
-                               goto yy145;
+                               if (yych == '{') goto yy182;
+                               goto yy160;
                        }
                }
-yy167:
-               YYDEBUG(167, *YYCURSOR);
+yy181:
+               YYDEBUG(181, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy168:
-               YYDEBUG(168, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy182:
+               YYDEBUG(182, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy157;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy157;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy157;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy167;
+                               if (yych <= '[') goto yy160;
+                               goto yy181;
                        } else {
-                               if (yych == '{') goto yy175;
-                               goto yy145;
+                               if (yych == '{') goto yy189;
+                               goto yy160;
                        }
                }
-yy169:
-               YYDEBUG(169, *YYCURSOR);
+yy183:
+               YYDEBUG(183, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy172;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy157;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy174;
+                       if (yych <= '@') goto yy186;
+                       if (yych == '\\') goto yy188;
                        goto yy157;
                }
-yy170:
-               YYDEBUG(170, *YYCURSOR);
+yy184:
+               YYDEBUG(184, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(171, *YYCURSOR);
+               YYDEBUG(185, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2489 "Zend/zend_language_scanner.l"
+#line 2465 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -3258,267 +3374,304 @@ yy170:
                yymore();
        }
 }
-#line 3262 "Zend/zend_language_scanner.c"
-yy172:
-               YYDEBUG(172, *YYCURSOR);
+#line 3378 "Zend/zend_language_scanner.c"
+yy186:
+               YYDEBUG(186, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(173, *YYCURSOR);
+               YYDEBUG(187, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy172;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy177;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych != '\\') goto yy163;
+                       if (yych <= '@') goto yy186;
+                       if (yych != '\\') goto yy177;
                }
-yy174:
-               YYDEBUG(174, *YYCURSOR);
+yy188:
+               YYDEBUG(188, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy175:
-               YYDEBUG(175, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy189:
+               YYDEBUG(189, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(176, *YYCURSOR);
+               YYDEBUG(190, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy163;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy177;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy177;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy167;
+                               if (yych <= '[') goto yy160;
+                               goto yy181;
                        } else {
-                               if (yych == '{') goto yy175;
-                               goto yy145;
+                               if (yych == '{') goto yy189;
+                               goto yy160;
                        }
                }
-yy177:
-               YYDEBUG(177, *YYCURSOR);
+yy191:
+               YYDEBUG(191, *YYCURSOR);
                yyaccept = 0;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '[') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       if (yych <= '@') goto yy179;
-                       goto yy147;
+               if (yych <= '@') {
+                       if (yych <= 0x00) goto yy153;
+                       if (yych <= '\f') goto yy165;
+                       if (yych <= '\r') goto yy167;
+                       goto yy193;
                } else {
-                       if (yych <= '\\') goto yy149;
-                       if (yych != '{') goto yy147;
+                       if (yych <= '\\') {
+                               if (yych <= '[') goto yy162;
+                               goto yy164;
+                       } else {
+                               if (yych != '{') goto yy162;
+                       }
                }
-yy178:
-               YYDEBUG(178, *YYCURSOR);
+yy192:
+               YYDEBUG(192, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy157;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy157;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy157;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy149;
+                               if (yych <= '[') goto yy160;
+                               goto yy164;
                        } else {
-                               if (yych == '{') goto yy183;
-                               goto yy145;
+                               if (yych == '{') goto yy197;
+                               goto yy160;
                        }
                }
-yy179:
-               YYDEBUG(179, *YYCURSOR);
+yy193:
+               YYDEBUG(193, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy181;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy157;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
+                       if (yych <= '@') goto yy195;
                        if (yych != '\\') goto yy157;
                }
-yy180:
-               YYDEBUG(180, *YYCURSOR);
+yy194:
+               YYDEBUG(194, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
-               if (yych == '\r') goto yy152;
-               goto yy145;
-yy181:
-               YYDEBUG(181, *YYCURSOR);
+               if (yych <= 0x00) goto yy157;
+               if (yych == '\r') goto yy167;
+               goto yy160;
+yy195:
+               YYDEBUG(195, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(182, *YYCURSOR);
+               YYDEBUG(196, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy181;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy177;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy180;
-                       goto yy163;
+                       if (yych <= '@') goto yy195;
+                       if (yych == '\\') goto yy194;
+                       goto yy177;
                }
-yy183:
-               YYDEBUG(183, *YYCURSOR);
+yy197:
+               YYDEBUG(197, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(184, *YYCURSOR);
+               YYDEBUG(198, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy163;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy177;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy177;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy149;
+                               if (yych <= '[') goto yy160;
+                               goto yy164;
                        } else {
-                               if (yych == '{') goto yy183;
-                               goto yy145;
+                               if (yych == '{') goto yy197;
+                               goto yy160;
                        }
                }
-yy185:
-               YYDEBUG(185, *YYCURSOR);
+yy199:
+               YYDEBUG(199, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy157;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy157;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy157;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy149;
+                               if (yych <= '[') goto yy160;
+                               goto yy164;
                        } else {
-                               if (yych == '{') goto yy189;
-                               goto yy145;
+                               if (yych == '{') goto yy203;
+                               goto yy160;
                        }
                }
-yy186:
-               YYDEBUG(186, *YYCURSOR);
+yy200:
+               YYDEBUG(200, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy157;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy180;
+                       if (yych <= '@') goto yy201;
+                       if (yych == '\\') goto yy194;
                        goto yy157;
                }
-yy187:
-               YYDEBUG(187, *YYCURSOR);
+yy201:
+               YYDEBUG(201, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(188, *YYCURSOR);
+               YYDEBUG(202, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy145;
+                       goto yy160;
                }
-               if (yych <= '@') {
-                       if (yych <= '\f') goto yy150;
-                       if (yych <= '\r') goto yy152;
-                       goto yy187;
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy177;
+                       if (yych <= '\f') goto yy165;
+                       goto yy167;
                } else {
-                       if (yych == '\\') goto yy180;
-                       goto yy163;
+                       if (yych <= '@') goto yy201;
+                       if (yych == '\\') goto yy194;
+                       goto yy177;
                }
-yy189:
-               YYDEBUG(189, *YYCURSOR);
+yy203:
+               YYDEBUG(203, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(190, *YYCURSOR);
+               YYDEBUG(204, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy150;
+                       goto yy165;
                }
                if (yych <= '$') {
-                       if (yych == '\r') goto yy152;
-                       if (yych <= '#') goto yy145;
-                       goto yy163;
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy177;
+                               goto yy160;
+                       } else {
+                               if (yych <= '\r') goto yy167;
+                               if (yych <= '#') goto yy160;
+                               goto yy177;
+                       }
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy145;
-                               goto yy149;
+                               if (yych <= '[') goto yy160;
+                               goto yy164;
                        } else {
-                               if (yych == '{') goto yy189;
-                               goto yy145;
+                               if (yych == '{') goto yy203;
+                               goto yy160;
                        }
                }
-yy191:
-               YYDEBUG(191, *YYCURSOR);
+yy205:
+               YYDEBUG(205, *YYCURSOR);
                yyaccept = 3;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(192, *YYCURSOR);
+               YYDEBUG(206, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
-                               if (yych == '-') goto yy196;
+                               if (yych == '-') goto yy210;
                        } else {
-                               if (yych <= '9') goto yy191;
-                               if (yych >= 'A') goto yy191;
+                               if (yych <= '9') goto yy205;
+                               if (yych >= 'A') goto yy205;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '[') goto yy197;
-                               if (yych >= '_') goto yy191;
+                               if (yych <= '[') goto yy211;
+                               if (yych >= '_') goto yy205;
                        } else {
-                               if (yych <= '`') goto yy193;
-                               if (yych <= 'z') goto yy191;
-                               if (yych >= 0x7F) goto yy191;
+                               if (yych <= '`') goto yy207;
+                               if (yych <= 'z') goto yy205;
+                               if (yych >= 0x7F) goto yy205;
                        }
                }
-yy193:
-               YYDEBUG(193, *YYCURSOR);
+yy207:
+               YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2202 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -3528,29 +3681,29 @@ yy193:
        }
        return T_VARIABLE;
 }
-#line 3532 "Zend/zend_language_scanner.c"
-yy194:
-               YYDEBUG(194, *YYCURSOR);
+#line 3685 "Zend/zend_language_scanner.c"
+yy208:
+               YYDEBUG(208, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(195, *YYCURSOR);
+               YYDEBUG(209, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1864 "Zend/zend_language_scanner.l"
+#line 1835 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 3543 "Zend/zend_language_scanner.c"
-yy196:
-               YYDEBUG(196, *YYCURSOR);
+#line 3696 "Zend/zend_language_scanner.c"
+yy210:
+               YYDEBUG(210, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy199;
+               if (yych == '>') goto yy213;
                goto yy157;
-yy197:
-               YYDEBUG(197, *YYCURSOR);
+yy211:
+               YYDEBUG(211, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(198, *YYCURSOR);
+               YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "Zend/zend_language_scanner.l"
+#line 2189 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -3563,25 +3716,25 @@ yy197:
        }
        return T_VARIABLE;
 }
-#line 3567 "Zend/zend_language_scanner.c"
-yy199:
-               YYDEBUG(199, *YYCURSOR);
+#line 3720 "Zend/zend_language_scanner.c"
+yy213:
+               YYDEBUG(213, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '_') {
                        if (yych <= '@') goto yy157;
-                       if (yych <= 'Z') goto yy200;
+                       if (yych <= 'Z') goto yy214;
                        if (yych <= '^') goto yy157;
                } else {
                        if (yych <= '`') goto yy157;
-                       if (yych <= 'z') goto yy200;
+                       if (yych <= 'z') goto yy214;
                        if (yych <= '~') goto yy157;
                }
-yy200:
-               YYDEBUG(200, *YYCURSOR);
+yy214:
+               YYDEBUG(214, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(201, *YYCURSOR);
+               YYDEBUG(215, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2203 "Zend/zend_language_scanner.l"
+#line 2174 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -3594,14 +3747,14 @@ yy200:
        }
        return T_VARIABLE;
 }
-#line 3598 "Zend/zend_language_scanner.c"
+#line 3751 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
        {
                static const unsigned char yybm[] = {
                        /* table 1 .. 8: 0 */
-                         2,   2,   2,   2,   2,   2,   2,   2, 
+                         0,   2,   2,   2,   2,   2,   2,   2, 
                          2, 194,  66,   2,   2,  66,   2,   2, 
                          2,   2,   2,   2,   2,   2,   2,   2, 
                          2,   2,   2,   2,   2,   2,   2,   2, 
@@ -3667,12 +3820,12 @@ yyc_ST_IN_SCRIPTING:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(202, *YYCURSOR);
+               YYDEBUG(216, *YYCURSOR);
                YYFILL(16);
                yych = *YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
-               case 0x00:
+               case 0x00:      goto yy218;
                case 0x01:
                case 0x02:
                case 0x03:
@@ -3700,32 +3853,32 @@ yyc_ST_IN_SCRIPTING:
                case 0x1C:
                case 0x1D:
                case 0x1E:
-               case 0x1F:      goto yy264;
+               case 0x1F:      goto yy280;
                case '\t':
                case '\n':
                case '\r':
-               case ' ':       goto yy220;
-               case '!':       goto yy233;
-               case '"':       goto yy258;
-               case '#':       goto yy256;
-               case '$':       goto yy245;
-               case '%':       goto yy239;
-               case '&':       goto yy240;
-               case '\'':      goto yy260;
-               case '(':       goto yy227;
+               case ' ':       goto yy236;
+               case '!':       goto yy249;
+               case '"':       goto yy274;
+               case '#':       goto yy272;
+               case '$':       goto yy261;
+               case '%':       goto yy255;
+               case '&':       goto yy256;
+               case '\'':      goto yy276;
+               case '(':       goto yy243;
                case ')':
                case ',':
                case ';':
                case '@':
                case '[':
                case ']':
-               case '~':       goto yy246;
-               case '*':       goto yy236;
-               case '+':       goto yy232;
-               case '-':       goto yy218;
-               case '.':       goto yy238;
-               case '/':       goto yy237;
-               case '0':       goto yy252;
+               case '~':       goto yy262;
+               case '*':       goto yy252;
+               case '+':       goto yy248;
+               case '-':       goto yy234;
+               case '.':       goto yy254;
+               case '/':       goto yy253;
+               case '0':       goto yy268;
                case '1':
                case '2':
                case '3':
@@ -3734,82 +3887,90 @@ yyc_ST_IN_SCRIPTING:
                case '6':
                case '7':
                case '8':
-               case '9':       goto yy254;
-               case ':':       goto yy222;
-               case '<':       goto yy234;
-               case '=':       goto yy230;
-               case '>':       goto yy235;
-               case '?':       goto yy247;
+               case '9':       goto yy270;
+               case ':':       goto yy238;
+               case '<':       goto yy250;
+               case '=':       goto yy246;
+               case '>':       goto yy251;
+               case '?':       goto yy263;
                case 'A':
-               case 'a':       goto yy213;
+               case 'a':       goto yy229;
                case 'B':
-               case 'b':       goto yy215;
+               case 'b':       goto yy231;
                case 'C':
-               case 'c':       goto yy208;
+               case 'c':       goto yy224;
                case 'D':
-               case 'd':       goto yy206;
+               case 'd':       goto yy222;
                case 'E':
-               case 'e':       goto yy204;
+               case 'e':       goto yy220;
                case 'F':
-               case 'f':       goto yy207;
+               case 'f':       goto yy223;
                case 'G':
-               case 'g':       goto yy216;
+               case 'g':       goto yy232;
                case 'I':
-               case 'i':       goto yy211;
+               case 'i':       goto yy227;
                case 'L':
-               case 'l':       goto yy231;
+               case 'l':       goto yy247;
                case 'N':
-               case 'n':       goto yy225;
+               case 'n':       goto yy241;
                case 'O':
-               case 'o':       goto yy243;
+               case 'o':       goto yy259;
                case 'P':
-               case 'p':       goto yy217;
+               case 'p':       goto yy233;
                case 'R':
-               case 'r':       goto yy209;
+               case 'r':       goto yy225;
                case 'S':
-               case 's':       goto yy214;
+               case 's':       goto yy230;
                case 'T':
-               case 't':       goto yy210;
+               case 't':       goto yy226;
                case 'U':
-               case 'u':       goto yy228;
+               case 'u':       goto yy244;
                case 'V':
-               case 'v':       goto yy226;
+               case 'v':       goto yy242;
                case 'W':
-               case 'w':       goto yy212;
+               case 'w':       goto yy228;
                case 'X':
-               case 'x':       goto yy244;
-               case '\\':      goto yy223;
-               case '^':       goto yy242;
-               case '_':       goto yy229;
-               case '`':       goto yy262;
-               case '{':       goto yy248;
-               case '|':       goto yy241;
-               case '}':       goto yy250;
-               default:        goto yy255;
-               }
-yy204:
-               YYDEBUG(204, *YYCURSOR);
+               case 'x':       goto yy260;
+               case '\\':      goto yy239;
+               case '^':       goto yy258;
+               case '_':       goto yy245;
+               case '`':       goto yy278;
+               case '{':       goto yy264;
+               case '|':       goto yy257;
+               case '}':       goto yy266;
+               default:        goto yy271;
+               }
+yy218:
+               YYDEBUG(218, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(-1, yych);
-               switch ((yych = *YYCURSOR)) {
+               YYDEBUG(219, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 3951 "Zend/zend_language_scanner.c"
+yy220:
+               YYDEBUG(220, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(-1, yych);
+               switch ((yych = *YYCURSOR)) {
                case 'C':
-               case 'c':       goto yy820;
+               case 'c':       goto yy836;
                case 'L':
-               case 'l':       goto yy821;
+               case 'l':       goto yy837;
                case 'M':
-               case 'm':       goto yy822;
+               case 'm':       goto yy838;
                case 'N':
-               case 'n':       goto yy823;
+               case 'n':       goto yy839;
                case 'V':
-               case 'v':       goto yy824;
+               case 'v':       goto yy840;
                case 'X':
-               case 'x':       goto yy825;
-               default:        goto yy282;
+               case 'x':       goto yy841;
+               default:        goto yy298;
                }
-yy205:
-               YYDEBUG(205, *YYCURSOR);
+yy221:
+               YYDEBUG(221, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2259 "Zend/zend_language_scanner.l"
+#line 2230 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -3819,267 +3980,267 @@ yy205:
        }
        return T_STRING;
 }
-#line 3823 "Zend/zend_language_scanner.c"
-yy206:
-               YYDEBUG(206, *YYCURSOR);
+#line 3984 "Zend/zend_language_scanner.c"
+yy222:
+               YYDEBUG(222, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'H') {
-                               if (yych == 'E') goto yy802;
-                               goto yy282;
+                               if (yych == 'E') goto yy818;
+                               goto yy298;
                        } else {
-                               if (yych <= 'I') goto yy803;
-                               if (yych <= 'N') goto yy282;
-                               goto yy804;
+                               if (yych <= 'I') goto yy819;
+                               if (yych <= 'N') goto yy298;
+                               goto yy820;
                        }
                } else {
                        if (yych <= 'h') {
-                               if (yych == 'e') goto yy802;
-                               goto yy282;
+                               if (yych == 'e') goto yy818;
+                               goto yy298;
                        } else {
-                               if (yych <= 'i') goto yy803;
-                               if (yych == 'o') goto yy804;
-                               goto yy282;
+                               if (yych <= 'i') goto yy819;
+                               if (yych == 'o') goto yy820;
+                               goto yy298;
                        }
                }
-yy207:
-               YYDEBUG(207, *YYCURSOR);
+yy223:
+               YYDEBUG(223, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
                        if (yych <= 'N') {
-                               if (yych == 'I') goto yy781;
-                               goto yy282;
+                               if (yych == 'I') goto yy797;
+                               goto yy298;
                        } else {
-                               if (yych <= 'O') goto yy782;
-                               if (yych <= 'T') goto yy282;
-                               goto yy783;
+                               if (yych <= 'O') goto yy798;
+                               if (yych <= 'T') goto yy298;
+                               goto yy799;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'i') goto yy781;
-                               goto yy282;
+                               if (yych == 'i') goto yy797;
+                               goto yy298;
                        } else {
-                               if (yych <= 'o') goto yy782;
-                               if (yych == 'u') goto yy783;
-                               goto yy282;
+                               if (yych <= 'o') goto yy798;
+                               if (yych == 'u') goto yy799;
+                               goto yy298;
                        }
                }
-yy208:
-               YYDEBUG(208, *YYCURSOR);
+yy224:
+               YYDEBUG(224, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'K') {
-                               if (yych == 'A') goto yy753;
-                               goto yy282;
+                               if (yych == 'A') goto yy769;
+                               goto yy298;
                        } else {
-                               if (yych <= 'L') goto yy754;
-                               if (yych <= 'N') goto yy282;
-                               goto yy755;
+                               if (yych <= 'L') goto yy770;
+                               if (yych <= 'N') goto yy298;
+                               goto yy771;
                        }
                } else {
                        if (yych <= 'k') {
-                               if (yych == 'a') goto yy753;
-                               goto yy282;
+                               if (yych == 'a') goto yy769;
+                               goto yy298;
                        } else {
-                               if (yych <= 'l') goto yy754;
-                               if (yych == 'o') goto yy755;
-                               goto yy282;
+                               if (yych <= 'l') goto yy770;
+                               if (yych == 'o') goto yy771;
+                               goto yy298;
                        }
                }
-yy209:
-               YYDEBUG(209, *YYCURSOR);
+yy225:
+               YYDEBUG(225, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy735;
-               if (yych == 'e') goto yy735;
-               goto yy282;
-yy210:
-               YYDEBUG(210, *YYCURSOR);
+               if (yych == 'E') goto yy751;
+               if (yych == 'e') goto yy751;
+               goto yy298;
+yy226:
+               YYDEBUG(226, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'R') {
-                       if (yych == 'H') goto yy727;
-                       if (yych <= 'Q') goto yy282;
-                       goto yy728;
+                       if (yych == 'H') goto yy743;
+                       if (yych <= 'Q') goto yy298;
+                       goto yy744;
                } else {
                        if (yych <= 'h') {
-                               if (yych <= 'g') goto yy282;
-                               goto yy727;
+                               if (yych <= 'g') goto yy298;
+                               goto yy743;
                        } else {
-                               if (yych == 'r') goto yy728;
-                               goto yy282;
+                               if (yych == 'r') goto yy744;
+                               goto yy298;
                        }
                }
-yy211:
-               YYDEBUG(211, *YYCURSOR);
+yy227:
+               YYDEBUG(227, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'L') {
-                               if (yych == 'F') goto yy680;
-                               goto yy282;
+                               if (yych == 'F') goto yy696;
+                               goto yy298;
                        } else {
-                               if (yych <= 'M') goto yy682;
-                               if (yych <= 'N') goto yy683;
-                               if (yych <= 'R') goto yy282;
-                               goto yy684;
+                               if (yych <= 'M') goto yy698;
+                               if (yych <= 'N') goto yy699;
+                               if (yych <= 'R') goto yy298;
+                               goto yy700;
                        }
                } else {
                        if (yych <= 'm') {
-                               if (yych == 'f') goto yy680;
-                               if (yych <= 'l') goto yy282;
-                               goto yy682;
+                               if (yych == 'f') goto yy696;
+                               if (yych <= 'l') goto yy298;
+                               goto yy698;
                        } else {
-                               if (yych <= 'n') goto yy683;
-                               if (yych == 's') goto yy684;
-                               goto yy282;
+                               if (yych <= 'n') goto yy699;
+                               if (yych == 's') goto yy700;
+                               goto yy298;
                        }
                }
-yy212:
-               YYDEBUG(212, *YYCURSOR);
+yy228:
+               YYDEBUG(228, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy675;
-               if (yych == 'h') goto yy675;
-               goto yy282;
-yy213:
-               YYDEBUG(213, *YYCURSOR);
+               if (yych == 'H') goto yy691;
+               if (yych == 'h') goto yy691;
+               goto yy298;
+yy229:
+               YYDEBUG(229, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'M') {
-                               if (yych == 'B') goto yy657;
-                               goto yy282;
+                               if (yych == 'B') goto yy673;
+                               goto yy298;
                        } else {
-                               if (yych <= 'N') goto yy658;
-                               if (yych <= 'Q') goto yy282;
-                               if (yych <= 'R') goto yy659;
-                               goto yy660;
+                               if (yych <= 'N') goto yy674;
+                               if (yych <= 'Q') goto yy298;
+                               if (yych <= 'R') goto yy675;
+                               goto yy676;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'b') goto yy657;
-                               if (yych <= 'm') goto yy282;
-                               goto yy658;
+                               if (yych == 'b') goto yy673;
+                               if (yych <= 'm') goto yy298;
+                               goto yy674;
                        } else {
-                               if (yych <= 'q') goto yy282;
-                               if (yych <= 'r') goto yy659;
-                               if (yych <= 's') goto yy660;
-                               goto yy282;
+                               if (yych <= 'q') goto yy298;
+                               if (yych <= 'r') goto yy675;
+                               if (yych <= 's') goto yy676;
+                               goto yy298;
                        }
                }
-yy214:
-               YYDEBUG(214, *YYCURSOR);
+yy230:
+               YYDEBUG(230, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'W') {
-                       if (yych == 'T') goto yy645;
-                       if (yych <= 'V') goto yy282;
-                       goto yy646;
+                       if (yych == 'T') goto yy661;
+                       if (yych <= 'V') goto yy298;
+                       goto yy662;
                } else {
                        if (yych <= 't') {
-                               if (yych <= 's') goto yy282;
-                               goto yy645;
+                               if (yych <= 's') goto yy298;
+                               goto yy661;
                        } else {
-                               if (yych == 'w') goto yy646;
-                               goto yy282;
+                               if (yych == 'w') goto yy662;
+                               goto yy298;
                        }
                }
-yy215:
-               YYDEBUG(215, *YYCURSOR);
+yy231:
+               YYDEBUG(231, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'Q') {
                        if (yych <= '/') {
                                if (yych <= '"') {
-                                       if (yych <= '!') goto yy205;
-                                       goto yy622;
+                                       if (yych <= '!') goto yy221;
+                                       goto yy638;
                                } else {
-                                       if (yych == '\'') goto yy624;
-                                       goto yy205;
+                                       if (yych == '\'') goto yy640;
+                                       goto yy221;
                                }
                        } else {
                                if (yych <= ';') {
-                                       if (yych <= '9') goto yy281;
-                                       goto yy205;
+                                       if (yych <= '9') goto yy297;
+                                       goto yy221;
                                } else {
-                                       if (yych <= '<') goto yy621;
-                                       if (yych <= '@') goto yy205;
-                                       goto yy281;
+                                       if (yych <= '<') goto yy637;
+                                       if (yych <= '@') goto yy221;
+                                       goto yy297;
                                }
                        }
                } else {
                        if (yych <= '`') {
                                if (yych <= 'Z') {
-                                       if (yych <= 'R') goto yy626;
-                                       goto yy281;
+                                       if (yych <= 'R') goto yy642;
+                                       goto yy297;
                                } else {
-                                       if (yych == '_') goto yy281;
-                                       goto yy205;
+                                       if (yych == '_') goto yy297;
+                                       goto yy221;
                                }
                        } else {
                                if (yych <= 'r') {
-                                       if (yych <= 'q') goto yy281;
-                                       goto yy626;
+                                       if (yych <= 'q') goto yy297;
+                                       goto yy642;
                                } else {
-                                       if (yych <= 'z') goto yy281;
-                                       if (yych <= '~') goto yy205;
-                                       goto yy281;
+                                       if (yych <= 'z') goto yy297;
+                                       if (yych <= '~') goto yy221;
+                                       goto yy297;
                                }
                        }
                }
-yy216:
-               YYDEBUG(216, *YYCURSOR);
+yy232:
+               YYDEBUG(232, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'L') goto yy611;
-                       if (yych <= 'N') goto yy282;
-                       goto yy612;
+                       if (yych == 'L') goto yy627;
+                       if (yych <= 'N') goto yy298;
+                       goto yy628;
                } else {
                        if (yych <= 'l') {
-                               if (yych <= 'k') goto yy282;
-                               goto yy611;
+                               if (yych <= 'k') goto yy298;
+                               goto yy627;
                        } else {
-                               if (yych == 'o') goto yy612;
-                               goto yy282;
+                               if (yych == 'o') goto yy628;
+                               goto yy298;
                        }
                }
-yy217:
-               YYDEBUG(217, *YYCURSOR);
+yy233:
+               YYDEBUG(233, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'R') goto yy587;
-                       if (yych <= 'T') goto yy282;
-                       goto yy588;
+                       if (yych == 'R') goto yy603;
+                       if (yych <= 'T') goto yy298;
+                       goto yy604;
                } else {
                        if (yych <= 'r') {
-                               if (yych <= 'q') goto yy282;
-                               goto yy587;
+                               if (yych <= 'q') goto yy298;
+                               goto yy603;
                        } else {
-                               if (yych == 'u') goto yy588;
-                               goto yy282;
+                               if (yych == 'u') goto yy604;
+                               goto yy298;
                        }
                }
-yy218:
-               YYDEBUG(218, *YYCURSOR);
+yy234:
+               YYDEBUG(234, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '<') {
-                       if (yych == '-') goto yy583;
+                       if (yych == '-') goto yy599;
                } else {
-                       if (yych <= '=') goto yy581;
-                       if (yych <= '>') goto yy585;
+                       if (yych <= '=') goto yy597;
+                       if (yych <= '>') goto yy601;
                }
-yy219:
-               YYDEBUG(219, *YYCURSOR);
+yy235:
+               YYDEBUG(235, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1853 "Zend/zend_language_scanner.l"
+#line 1824 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 4074 "Zend/zend_language_scanner.c"
-yy220:
-               YYDEBUG(220, *YYCURSOR);
+#line 4235 "Zend/zend_language_scanner.c"
+yy236:
+               YYDEBUG(236, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy580;
-yy221:
-               YYDEBUG(221, *YYCURSOR);
+               goto yy596;
+yy237:
+               YYDEBUG(237, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1580 "Zend/zend_language_scanner.l"
+#line 1551 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -4087,261 +4248,261 @@ yy221:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 4091 "Zend/zend_language_scanner.c"
-yy222:
-               YYDEBUG(222, *YYCURSOR);
+#line 4252 "Zend/zend_language_scanner.c"
+yy238:
+               YYDEBUG(238, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == ':') goto yy577;
-               goto yy219;
-yy223:
-               YYDEBUG(223, *YYCURSOR);
+               if (yych == ':') goto yy593;
+               goto yy235;
+yy239:
+               YYDEBUG(239, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(224, *YYCURSOR);
+               YYDEBUG(240, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1613 "Zend/zend_language_scanner.l"
+#line 1584 "Zend/zend_language_scanner.l"
                {
        return T_NS_SEPARATOR;
 }
-#line 4106 "Zend/zend_language_scanner.c"
-yy225:
-               YYDEBUG(225, *YYCURSOR);
+#line 4267 "Zend/zend_language_scanner.c"
+yy241:
+               YYDEBUG(241, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
-                       if (yych == 'A') goto yy565;
-                       if (yych <= 'D') goto yy282;
-                       goto yy566;
+                       if (yych == 'A') goto yy581;
+                       if (yych <= 'D') goto yy298;
+                       goto yy582;
                } else {
                        if (yych <= 'a') {
-                               if (yych <= '`') goto yy282;
-                               goto yy565;
+                               if (yych <= '`') goto yy298;
+                               goto yy581;
                        } else {
-                               if (yych == 'e') goto yy566;
-                               goto yy282;
+                               if (yych == 'e') goto yy582;
+                               goto yy298;
                        }
                }
-yy226:
-               YYDEBUG(226, *YYCURSOR);
+yy242:
+               YYDEBUG(242, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy562;
-               if (yych == 'a') goto yy562;
-               goto yy282;
-yy227:
-               YYDEBUG(227, *YYCURSOR);
+               if (yych == 'A') goto yy578;
+               if (yych == 'a') goto yy578;
+               goto yy298;
+yy243:
+               YYDEBUG(243, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy475;
-                                       if (yych <= 0x1F) goto yy219;
-                                       goto yy475;
+                                       if (yych == '\t') goto yy491;
+                                       if (yych <= 0x1F) goto yy235;
+                                       goto yy491;
                                } else {
-                                       if (yych <= '@') goto yy219;
-                                       if (yych == 'C') goto yy219;
-                                       goto yy475;
+                                       if (yych <= '@') goto yy235;
+                                       if (yych == 'C') goto yy235;
+                                       goto yy491;
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy475;
-                                       if (yych <= 'H') goto yy219;
-                                       goto yy475;
+                                       if (yych == 'F') goto yy491;
+                                       if (yych <= 'H') goto yy235;
+                                       goto yy491;
                                } else {
-                                       if (yych == 'O') goto yy475;
-                                       if (yych <= 'Q') goto yy219;
-                                       goto yy475;
+                                       if (yych == 'O') goto yy491;
+                                       if (yych <= 'Q') goto yy235;
+                                       goto yy491;
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'b') {
-                                       if (yych == 'U') goto yy475;
-                                       if (yych <= '`') goto yy219;
-                                       goto yy475;
+                                       if (yych == 'U') goto yy491;
+                                       if (yych <= '`') goto yy235;
+                                       goto yy491;
                                } else {
-                                       if (yych == 'd') goto yy475;
-                                       if (yych <= 'e') goto yy219;
-                                       goto yy475;
+                                       if (yych == 'd') goto yy491;
+                                       if (yych <= 'e') goto yy235;
+                                       goto yy491;
                                }
                        } else {
                                if (yych <= 'o') {
-                                       if (yych == 'i') goto yy475;
-                                       if (yych <= 'n') goto yy219;
-                                       goto yy475;
+                                       if (yych == 'i') goto yy491;
+                                       if (yych <= 'n') goto yy235;
+                                       goto yy491;
                                } else {
                                        if (yych <= 's') {
-                                               if (yych <= 'q') goto yy219;
-                                               goto yy475;
+                                               if (yych <= 'q') goto yy235;
+                                               goto yy491;
                                        } else {
-                                               if (yych == 'u') goto yy475;
-                                               goto yy219;
+                                               if (yych == 'u') goto yy491;
+                                               goto yy235;
                                        }
                                }
                        }
                }
-yy228:
-               YYDEBUG(228, *YYCURSOR);
+yy244:
+               YYDEBUG(244, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
-                       if (yych == 'N') goto yy466;
-                       if (yych <= 'R') goto yy282;
-                       goto yy467;
+                       if (yych == 'N') goto yy482;
+                       if (yych <= 'R') goto yy298;
+                       goto yy483;
                } else {
                        if (yych <= 'n') {
-                               if (yych <= 'm') goto yy282;
-                               goto yy466;
+                               if (yych <= 'm') goto yy298;
+                               goto yy482;
                        } else {
-                               if (yych == 's') goto yy467;
-                               goto yy282;
+                               if (yych == 's') goto yy483;
+                               goto yy298;
                        }
                }
-yy229:
-               YYDEBUG(229, *YYCURSOR);
+yy245:
+               YYDEBUG(245, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '_') goto yy392;
-               goto yy282;
-yy230:
-               YYDEBUG(230, *YYCURSOR);
+               if (yych == '_') goto yy408;
+               goto yy298;
+yy246:
+               YYDEBUG(246, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '<') goto yy219;
-               if (yych <= '=') goto yy386;
-               if (yych <= '>') goto yy388;
-               goto yy219;
-yy231:
-               YYDEBUG(231, *YYCURSOR);
+               if (yych <= '<') goto yy235;
+               if (yych <= '=') goto yy402;
+               if (yych <= '>') goto yy404;
+               goto yy235;
+yy247:
+               YYDEBUG(247, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy382;
-               if (yych == 'i') goto yy382;
-               goto yy282;
-yy232:
-               YYDEBUG(232, *YYCURSOR);
+               if (yych == 'I') goto yy398;
+               if (yych == 'i') goto yy398;
+               goto yy298;
+yy248:
+               YYDEBUG(248, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '+') goto yy380;
-               if (yych == '=') goto yy378;
-               goto yy219;
-yy233:
-               YYDEBUG(233, *YYCURSOR);
+               if (yych == '+') goto yy396;
+               if (yych == '=') goto yy394;
+               goto yy235;
+yy249:
+               YYDEBUG(249, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy375;
-               goto yy219;
-yy234:
-               YYDEBUG(234, *YYCURSOR);
+               if (yych == '=') goto yy391;
+               goto yy235;
+yy250:
+               YYDEBUG(250, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= ';') {
-                       if (yych == '/') goto yy347;
-                       goto yy219;
+                       if (yych == '/') goto yy363;
+                       goto yy235;
                } else {
-                       if (yych <= '<') goto yy345;
-                       if (yych <= '=') goto yy348;
-                       if (yych <= '>') goto yy350;
-                       goto yy219;
+                       if (yych <= '<') goto yy361;
+                       if (yych <= '=') goto yy364;
+                       if (yych <= '>') goto yy366;
+                       goto yy235;
                }
-yy235:
-               YYDEBUG(235, *YYCURSOR);
+yy251:
+               YYDEBUG(251, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '<') goto yy219;
-               if (yych <= '=') goto yy341;
-               if (yych <= '>') goto yy339;
-               goto yy219;
-yy236:
-               YYDEBUG(236, *YYCURSOR);
+               if (yych <= '<') goto yy235;
+               if (yych <= '=') goto yy357;
+               if (yych <= '>') goto yy355;
+               goto yy235;
+yy252:
+               YYDEBUG(252, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy337;
-               goto yy219;
-yy237:
-               YYDEBUG(237, *YYCURSOR);
+               if (yych == '=') goto yy353;
+               goto yy235;
+yy253:
+               YYDEBUG(253, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '.') {
-                       if (yych == '*') goto yy328;
-                       goto yy219;
+                       if (yych == '*') goto yy344;
+                       goto yy235;
                } else {
-                       if (yych <= '/') goto yy330;
-                       if (yych == '=') goto yy331;
-                       goto yy219;
+                       if (yych <= '/') goto yy346;
+                       if (yych == '=') goto yy347;
+                       goto yy235;
                }
-yy238:
-               YYDEBUG(238, *YYCURSOR);
+yy254:
+               YYDEBUG(254, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '/') goto yy219;
-               if (yych <= '9') goto yy324;
-               if (yych == '=') goto yy326;
-               goto yy219;
-yy239:
-               YYDEBUG(239, *YYCURSOR);
+               if (yych <= '/') goto yy235;
+               if (yych <= '9') goto yy340;
+               if (yych == '=') goto yy342;
+               goto yy235;
+yy255:
+               YYDEBUG(255, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '<') goto yy219;
-               if (yych <= '=') goto yy320;
-               if (yych <= '>') goto yy318;
-               goto yy219;
-yy240:
-               YYDEBUG(240, *YYCURSOR);
+               if (yych <= '<') goto yy235;
+               if (yych <= '=') goto yy336;
+               if (yych <= '>') goto yy334;
+               goto yy235;
+yy256:
+               YYDEBUG(256, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '&') goto yy314;
-               if (yych == '=') goto yy316;
-               goto yy219;
-yy241:
-               YYDEBUG(241, *YYCURSOR);
+               if (yych == '&') goto yy330;
+               if (yych == '=') goto yy332;
+               goto yy235;
+yy257:
+               YYDEBUG(257, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy312;
-               if (yych == '|') goto yy310;
-               goto yy219;
-yy242:
-               YYDEBUG(242, *YYCURSOR);
+               if (yych == '=') goto yy328;
+               if (yych == '|') goto yy326;
+               goto yy235;
+yy258:
+               YYDEBUG(258, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy308;
-               goto yy219;
-yy243:
-               YYDEBUG(243, *YYCURSOR);
+               if (yych == '=') goto yy324;
+               goto yy235;
+yy259:
+               YYDEBUG(259, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy306;
-               if (yych == 'r') goto yy306;
-               goto yy282;
-yy244:
-               YYDEBUG(244, *YYCURSOR);
+               if (yych == 'R') goto yy322;
+               if (yych == 'r') goto yy322;
+               goto yy298;
+yy260:
+               YYDEBUG(260, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy303;
-               if (yych == 'o') goto yy303;
-               goto yy282;
-yy245:
-               YYDEBUG(245, *YYCURSOR);
+               if (yych == 'O') goto yy319;
+               if (yych == 'o') goto yy319;
+               goto yy298;
+yy261:
+               YYDEBUG(261, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy219;
-                       if (yych <= 'Z') goto yy300;
-                       if (yych <= '^') goto yy219;
-                       goto yy300;
+                       if (yych <= '@') goto yy235;
+                       if (yych <= 'Z') goto yy316;
+                       if (yych <= '^') goto yy235;
+                       goto yy316;
                } else {
-                       if (yych <= '`') goto yy219;
-                       if (yych <= 'z') goto yy300;
-                       if (yych <= '~') goto yy219;
-                       goto yy300;
+                       if (yych <= '`') goto yy235;
+                       if (yych <= 'z') goto yy316;
+                       if (yych <= '~') goto yy235;
+                       goto yy316;
                }
-yy246:
-               YYDEBUG(246, *YYCURSOR);
+yy262:
+               YYDEBUG(262, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy219;
-yy247:
-               YYDEBUG(247, *YYCURSOR);
+               goto yy235;
+yy263:
+               YYDEBUG(263, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy296;
-               goto yy219;
-yy248:
-               YYDEBUG(248, *YYCURSOR);
+               if (yych == '>') goto yy312;
+               goto yy235;
+yy264:
+               YYDEBUG(264, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(249, *YYCURSOR);
+               YYDEBUG(265, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1858 "Zend/zend_language_scanner.l"
+#line 1829 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 4339 "Zend/zend_language_scanner.c"
-yy250:
-               YYDEBUG(250, *YYCURSOR);
+#line 4500 "Zend/zend_language_scanner.c"
+yy266:
+               YYDEBUG(266, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(251, *YYCURSOR);
+               YYDEBUG(267, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1870 "Zend/zend_language_scanner.l"
+#line 1841 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -4349,30 +4510,30 @@ yy250:
        }
        return '}';
 }
-#line 4353 "Zend/zend_language_scanner.c"
-yy252:
-               YYDEBUG(252, *YYCURSOR);
+#line 4514 "Zend/zend_language_scanner.c"
+yy268:
+               YYDEBUG(268, *YYCURSOR);
                yyaccept = 2;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'E') {
                        if (yych <= '/') {
-                               if (yych == '.') goto yy283;
+                               if (yych == '.') goto yy299;
                        } else {
-                               if (yych <= '9') goto yy286;
-                               if (yych >= 'E') goto yy288;
+                               if (yych <= '9') goto yy302;
+                               if (yych >= 'E') goto yy304;
                        }
                } else {
                        if (yych <= 'd') {
-                               if (yych == 'X') goto yy292;
+                               if (yych == 'X') goto yy308;
                        } else {
-                               if (yych <= 'e') goto yy288;
-                               if (yych == 'x') goto yy292;
+                               if (yych <= 'e') goto yy304;
+                               if (yych == 'x') goto yy308;
                        }
                }
-yy253:
-               YYDEBUG(253, *YYCURSOR);
+yy269:
+               YYDEBUG(269, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1900 "Zend/zend_language_scanner.l"
+#line 1871 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
@@ -4393,215 +4554,221 @@ yy253:
        Z_TYPE_P(zendlval) = IS_LONG;
        return T_LNUMBER;
 }
-#line 4397 "Zend/zend_language_scanner.c"
-yy254:
-               YYDEBUG(254, *YYCURSOR);
+#line 4558 "Zend/zend_language_scanner.c"
+yy270:
+               YYDEBUG(270, *YYCURSOR);
                yyaccept = 2;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= '9') {
-                       if (yych == '.') goto yy283;
-                       if (yych <= '/') goto yy253;
-                       goto yy286;
+                       if (yych == '.') goto yy299;
+                       if (yych <= '/') goto yy269;
+                       goto yy302;
                } else {
                        if (yych <= 'E') {
-                               if (yych <= 'D') goto yy253;
-                               goto yy288;
+                               if (yych <= 'D') goto yy269;
+                               goto yy304;
                        } else {
-                               if (yych == 'e') goto yy288;
-                               goto yy253;
+                               if (yych == 'e') goto yy304;
+                               goto yy269;
                        }
                }
-yy255:
-               YYDEBUG(255, *YYCURSOR);
+yy271:
+               YYDEBUG(271, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy282;
-yy256:
-               YYDEBUG(256, *YYCURSOR);
+               goto yy298;
+yy272:
+               YYDEBUG(272, *YYCURSOR);
                ++YYCURSOR;
-yy257:
-               YYDEBUG(257, *YYCURSOR);
+yy273:
+               YYDEBUG(273, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2277 "Zend/zend_language_scanner.l"
+#line 2248 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_ONE_LINE_COMMENT);
        yymore();
 }
-#line 4430 "Zend/zend_language_scanner.c"
-yy258:
-               YYDEBUG(258, *YYCURSOR);
+#line 4591 "Zend/zend_language_scanner.c"
+yy274:
+               YYDEBUG(274, *YYCURSOR);
                yyaccept = 3;
                yych = *(YYMARKER = ++YYCURSOR);
-               goto yy274;
-yy259:
-               YYDEBUG(259, *YYCURSOR);
+               if (yych >= 0x01) goto yy290;
+yy275:
+               YYDEBUG(275, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2422 "Zend/zend_language_scanner.l"
+#line 2398 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 4444 "Zend/zend_language_scanner.c"
-yy260:
-               YYDEBUG(260, *YYCURSOR);
+#line 4605 "Zend/zend_language_scanner.c"
+yy276:
+               YYDEBUG(276, *YYCURSOR);
                yyaccept = 4;
                yych = *(YYMARKER = ++YYCURSOR);
-               goto yy266;
-yy261:
-               YYDEBUG(261, *YYCURSOR);
+               goto yy282;
+yy277:
+               YYDEBUG(277, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2682 "Zend/zend_language_scanner.l"
+#line 2659 "Zend/zend_language_scanner.l"
                {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 4458 "Zend/zend_language_scanner.c"
-yy262:
-               YYDEBUG(262, *YYCURSOR);
+#line 4619 "Zend/zend_language_scanner.c"
+yy278:
+               YYDEBUG(278, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(263, *YYCURSOR);
+               YYDEBUG(279, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2477 "Zend/zend_language_scanner.l"
+#line 2453 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 4469 "Zend/zend_language_scanner.c"
-yy264:
-               YYDEBUG(264, *YYCURSOR);
+#line 4630 "Zend/zend_language_scanner.c"
+yy280:
+               YYDEBUG(280, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy261;
-yy265:
-               YYDEBUG(265, *YYCURSOR);
+               goto yy277;
+yy281:
+               YYDEBUG(281, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy266:
-               YYDEBUG(266, *YYCURSOR);
+yy282:
+               YYDEBUG(282, *YYCURSOR);
                if (yybm[256+yych] & 128) {
-                       goto yy265;
+                       goto yy281;
                }
-               if (yych <= '[') goto yy268;
-               YYDEBUG(267, *YYCURSOR);
+               if (yych <= '[') goto yy285;
+               YYDEBUG(283, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy265;
-yy268:
-               YYDEBUG(268, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(269, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 2406 "Zend/zend_language_scanner.l"
-               {
-       if (UG(unicode)) {
-               return zend_scan_unicode_single_string(zendlval TSRMLS_CC);
-       } else {
-               zend_scan_binary_single_string(zendlval, yytext+1, yyleng-2 TSRMLS_CC);
-               return T_CONSTANT_ENCAPSED_STRING;
-       }
-}
-#line 4504 "Zend/zend_language_scanner.c"
-yy270:
-               YYDEBUG(270, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(271, *YYCURSOR);
-               if (yybm[0+yych] & 2) {
-                       goto yy273;
-               }
-               if (yych <= '#') goto yy278;
-               if (yych <= '$') goto yy272;
-               if (yych <= 'z') goto yy275;
-               goto yy270;
-yy272:
-               YYDEBUG(272, *YYCURSOR);
+               if (yych >= 0x01) goto yy281;
+yy284:
+               YYDEBUG(284, *YYCURSOR);
                YYCURSOR = YYMARKER;
                if (yyaccept <= 4) {
                        if (yyaccept <= 2) {
                                if (yyaccept <= 1) {
                                        if (yyaccept <= 0) {
-                                               goto yy205;
+                                               goto yy221;
                                        } else {
-                                               goto yy219;
+                                               goto yy235;
                                        }
                                } else {
-                                       goto yy253;
+                                       goto yy269;
                                }
                        } else {
                                if (yyaccept <= 3) {
-                                       goto yy259;
+                                       goto yy275;
                                } else {
-                                       goto yy261;
+                                       goto yy277;
                                }
                        }
                } else {
                        if (yyaccept <= 6) {
                                if (yyaccept <= 5) {
-                                       goto yy285;
+                                       goto yy301;
                                } else {
-                                       goto yy329;
+                                       goto yy345;
                                }
                        } else {
                                if (yyaccept <= 7) {
-                                       goto yy346;
+                                       goto yy362;
                                } else {
-                                       goto yy623;
+                                       goto yy639;
                                }
                        }
                }
-yy273:
-               YYDEBUG(273, *YYCURSOR);
+yy285:
+               YYDEBUG(285, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(286, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2382 "Zend/zend_language_scanner.l"
+               {
+       if (UG(unicode)) {
+               return zend_scan_unicode_single_string(zendlval TSRMLS_CC);
+       } else {
+               zend_scan_binary_single_string(zendlval, yytext+1, yyleng-2 TSRMLS_CC);
+               return T_CONSTANT_ENCAPSED_STRING;
+       }
+}
+#line 4701 "Zend/zend_language_scanner.c"
+yy287:
+               YYDEBUG(287, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy274:
-               YYDEBUG(274, *YYCURSOR);
+               YYDEBUG(288, *YYCURSOR);
                if (yybm[0+yych] & 2) {
-                       goto yy273;
+                       goto yy289;
                }
-               if (yych <= '#') goto yy278;
-               if (yych <= '$') goto yy276;
-               if (yych >= '{') goto yy270;
-yy275:
-               YYDEBUG(275, *YYCURSOR);
+               if (yych <= 0x00) goto yy284;
+               if (yych <= '#') goto yy294;
+               if (yych <= '$') goto yy284;
+               if (yych <= 'z') goto yy291;
+               goto yy287;
+yy289:
+               YYDEBUG(289, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy273;
-yy276:
-               YYDEBUG(276, *YYCURSOR);
+yy290:
+               YYDEBUG(290, *YYCURSOR);
+               if (yybm[0+yych] & 2) {
+                       goto yy289;
+               }
+               if (yych <= 0x00) goto yy284;
+               if (yych <= '#') goto yy294;
+               if (yych <= '$') goto yy292;
+               if (yych >= '{') goto yy287;
+yy291:
+               YYDEBUG(291, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(277, *YYCURSOR);
+               if (yych <= 0x00) goto yy284;
+               goto yy289;
+yy292:
+               YYDEBUG(292, *YYCURSOR);
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               YYDEBUG(293, *YYCURSOR);
                if (yybm[0+yych] & 4) {
-                       goto yy276;
+                       goto yy292;
                }
-               if (yych <= '\\') {
-                       if (yych <= '@') {
-                               if (yych != '"') goto yy273;
+               if (yych <= '[') {
+                       if (yych <= '"') {
+                               if (yych <= 0x00) goto yy284;
+                               if (yych <= '!') goto yy289;
                        } else {
-                               if (yych <= 'Z') goto yy272;
-                               if (yych <= '[') goto yy273;
-                               goto yy280;
+                               if (yych <= '@') goto yy289;
+                               if (yych <= 'Z') goto yy284;
+                               goto yy289;
                        }
                } else {
-                       if (yych <= '`') {
-                               if (yych == '_') goto yy272;
-                               goto yy273;
+                       if (yych <= '_') {
+                               if (yych <= '\\') goto yy296;
+                               if (yych <= '^') goto yy289;
+                               goto yy284;
                        } else {
-                               if (yych <= '{') goto yy272;
-                               if (yych <= '~') goto yy273;
-                               goto yy272;
+                               if (yych <= '`') goto yy289;
+                               if (yych <= '{') goto yy284;
+                               if (yych <= '~') goto yy289;
+                               goto yy284;
                        }
                }
-yy278:
-               YYDEBUG(278, *YYCURSOR);
+yy294:
+               YYDEBUG(294, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(279, *YYCURSOR);
+               YYDEBUG(295, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2390 "Zend/zend_language_scanner.l"
+#line 2366 "Zend/zend_language_scanner.l"
                {
        if (UG(unicode)) {
                return zend_scan_unicode_escape_string(zendlval, yytext+1, yyleng-2, 0x22 /*'"'*/, T_CONSTANT_ENCAPSED_STRING TSRMLS_CC);
@@ -4610,108 +4777,109 @@ yy278:
                return T_CONSTANT_ENCAPSED_STRING;
        }
 }
-#line 4614 "Zend/zend_language_scanner.c"
-yy280:
-               YYDEBUG(280, *YYCURSOR);
+#line 4781 "Zend/zend_language_scanner.c"
+yy296:
+               YYDEBUG(296, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy273;
-yy281:
-               YYDEBUG(281, *YYCURSOR);
+               if (yych <= 0x00) goto yy284;
+               goto yy289;
+yy297:
+               YYDEBUG(297, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy282:
-               YYDEBUG(282, *YYCURSOR);
+yy298:
+               YYDEBUG(298, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               goto yy205;
-yy283:
-               YYDEBUG(283, *YYCURSOR);
+               goto yy221;
+yy299:
+               YYDEBUG(299, *YYCURSOR);
                yyaccept = 5;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(284, *YYCURSOR);
+               YYDEBUG(300, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy283;
+                       goto yy299;
                }
-               if (yych == 'E') goto yy288;
-               if (yych == 'e') goto yy288;
-yy285:
-               YYDEBUG(285, *YYCURSOR);
+               if (yych == 'E') goto yy304;
+               if (yych == 'e') goto yy304;
+yy301:
+               YYDEBUG(301, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1961 "Zend/zend_language_scanner.l"
+#line 1932 "Zend/zend_language_scanner.l"
                {
        Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);
        Z_TYPE_P(zendlval) = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 4653 "Zend/zend_language_scanner.c"
-yy286:
-               YYDEBUG(286, *YYCURSOR);
+#line 4821 "Zend/zend_language_scanner.c"
+yy302:
+               YYDEBUG(302, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(287, *YYCURSOR);
+               YYDEBUG(303, *YYCURSOR);
                if (yych <= '9') {
-                       if (yych == '.') goto yy283;
-                       if (yych <= '/') goto yy253;
-                       goto yy286;
+                       if (yych == '.') goto yy299;
+                       if (yych <= '/') goto yy269;
+                       goto yy302;
                } else {
                        if (yych <= 'E') {
-                               if (yych <= 'D') goto yy253;
+                               if (yych <= 'D') goto yy269;
                        } else {
-                               if (yych != 'e') goto yy253;
+                               if (yych != 'e') goto yy269;
                        }
                }
-yy288:
-               YYDEBUG(288, *YYCURSOR);
+yy304:
+               YYDEBUG(304, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= ',') {
-                       if (yych != '+') goto yy272;
+                       if (yych != '+') goto yy284;
                } else {
-                       if (yych <= '-') goto yy289;
-                       if (yych <= '/') goto yy272;
-                       if (yych <= '9') goto yy290;
-                       goto yy272;
+                       if (yych <= '-') goto yy305;
+                       if (yych <= '/') goto yy284;
+                       if (yych <= '9') goto yy306;
+                       goto yy284;
                }
-yy289:
-               YYDEBUG(289, *YYCURSOR);
+yy305:
+               YYDEBUG(305, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '/') goto yy272;
-               if (yych >= ':') goto yy272;
-yy290:
-               YYDEBUG(290, *YYCURSOR);
+               if (yych <= '/') goto yy284;
+               if (yych >= ':') goto yy284;
+yy306:
+               YYDEBUG(306, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(291, *YYCURSOR);
-               if (yych <= '/') goto yy285;
-               if (yych <= '9') goto yy290;
-               goto yy285;
-yy292:
-               YYDEBUG(292, *YYCURSOR);
+               YYDEBUG(307, *YYCURSOR);
+               if (yych <= '/') goto yy301;
+               if (yych <= '9') goto yy306;
+               goto yy301;
+yy308:
+               YYDEBUG(308, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy293;
+                       goto yy309;
                }
-               goto yy272;
-yy293:
-               YYDEBUG(293, *YYCURSOR);
+               goto yy284;
+yy309:
+               YYDEBUG(309, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(294, *YYCURSOR);
+               YYDEBUG(310, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy293;
+                       goto yy309;
                }
-               YYDEBUG(295, *YYCURSOR);
+               YYDEBUG(311, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1921 "Zend/zend_language_scanner.l"
+#line 1892 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -4732,16 +4900,16 @@ yy293:
                return T_DNUMBER;
        }
 }
-#line 4736 "Zend/zend_language_scanner.c"
-yy296:
-               YYDEBUG(296, *YYCURSOR);
+#line 4904 "Zend/zend_language_scanner.c"
+yy312:
+               YYDEBUG(312, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '\n') goto yy298;
-               if (yych == '\r') goto yy299;
-yy297:
-               YYDEBUG(297, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '\n') goto yy314;
+               if (yych == '\r') goto yy315;
+yy313:
+               YYDEBUG(313, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2365 "Zend/zend_language_scanner.l"
+#line 2341 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -4749,41 +4917,41 @@ yy297:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 4753 "Zend/zend_language_scanner.c"
-yy298:
-               YYDEBUG(298, *YYCURSOR);
+#line 4921 "Zend/zend_language_scanner.c"
+yy314:
+               YYDEBUG(314, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy297;
-yy299:
-               YYDEBUG(299, *YYCURSOR);
+               goto yy313;
+yy315:
+               YYDEBUG(315, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy298;
-               goto yy297;
-yy300:
-               YYDEBUG(300, *YYCURSOR);
+               if (yych == '\n') goto yy314;
+               goto yy313;
+yy316:
+               YYDEBUG(316, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(301, *YYCURSOR);
+               YYDEBUG(317, *YYCURSOR);
                if (yych <= '^') {
                        if (yych <= '9') {
-                               if (yych >= '0') goto yy300;
+                               if (yych >= '0') goto yy316;
                        } else {
-                               if (yych <= '@') goto yy302;
-                               if (yych <= 'Z') goto yy300;
+                               if (yych <= '@') goto yy318;
+                               if (yych <= 'Z') goto yy316;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy300;
+                               if (yych <= '_') goto yy316;
                        } else {
-                               if (yych <= 'z') goto yy300;
-                               if (yych >= 0x7F) goto yy300;
+                               if (yych <= 'z') goto yy316;
+                               if (yych >= 0x7F) goto yy316;
                        }
                }
-yy302:
-               YYDEBUG(302, *YYCURSOR);
+yy318:
+               YYDEBUG(318, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2202 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -4793,97 +4961,97 @@ yy302:
        }
        return T_VARIABLE;
 }
-#line 4797 "Zend/zend_language_scanner.c"
-yy303:
-               YYDEBUG(303, *YYCURSOR);
+#line 4965 "Zend/zend_language_scanner.c"
+yy319:
+               YYDEBUG(319, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy304;
-               if (yych != 'r') goto yy282;
-yy304:
-               YYDEBUG(304, *YYCURSOR);
+               if (yych == 'R') goto yy320;
+               if (yych != 'r') goto yy298;
+yy320:
+               YYDEBUG(320, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(305, *YYCURSOR);
+               YYDEBUG(321, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1841 "Zend/zend_language_scanner.l"
+#line 1812 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 4815 "Zend/zend_language_scanner.c"
-yy306:
-               YYDEBUG(306, *YYCURSOR);
+#line 4983 "Zend/zend_language_scanner.c"
+yy322:
+               YYDEBUG(322, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(307, *YYCURSOR);
+               YYDEBUG(323, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1833 "Zend/zend_language_scanner.l"
+#line 1804 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 4828 "Zend/zend_language_scanner.c"
-yy308:
-               YYDEBUG(308, *YYCURSOR);
+#line 4996 "Zend/zend_language_scanner.c"
+yy324:
+               YYDEBUG(324, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(309, *YYCURSOR);
+               YYDEBUG(325, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1821 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 4838 "Zend/zend_language_scanner.c"
-yy310:
-               YYDEBUG(310, *YYCURSOR);
+#line 5006 "Zend/zend_language_scanner.c"
+yy326:
+               YYDEBUG(326, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(311, *YYCURSOR);
+               YYDEBUG(327, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1825 "Zend/zend_language_scanner.l"
+#line 1796 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 4848 "Zend/zend_language_scanner.c"
-yy312:
-               YYDEBUG(312, *YYCURSOR);
+#line 5016 "Zend/zend_language_scanner.c"
+yy328:
+               YYDEBUG(328, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(313, *YYCURSOR);
+               YYDEBUG(329, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1817 "Zend/zend_language_scanner.l"
+#line 1788 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 4858 "Zend/zend_language_scanner.c"
-yy314:
-               YYDEBUG(314, *YYCURSOR);
+#line 5026 "Zend/zend_language_scanner.c"
+yy330:
+               YYDEBUG(330, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(315, *YYCURSOR);
+               YYDEBUG(331, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1829 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 4868 "Zend/zend_language_scanner.c"
-yy316:
-               YYDEBUG(316, *YYCURSOR);
+#line 5036 "Zend/zend_language_scanner.c"
+yy332:
+               YYDEBUG(332, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(317, *YYCURSOR);
+               YYDEBUG(333, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1813 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 4878 "Zend/zend_language_scanner.c"
-yy318:
-               YYDEBUG(318, *YYCURSOR);
+#line 5046 "Zend/zend_language_scanner.c"
+yy334:
+               YYDEBUG(334, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '\n') goto yy322;
-               if (yych == '\r') goto yy323;
-yy319:
-               YYDEBUG(319, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '\n') goto yy338;
+               if (yych == '\r') goto yy339;
+yy335:
+               YYDEBUG(335, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2374 "Zend/zend_language_scanner.l"
+#line 2350 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -4896,348 +5064,348 @@ yy319:
                return yytext[0];
        }
 }
-#line 4900 "Zend/zend_language_scanner.c"
-yy320:
-               YYDEBUG(320, *YYCURSOR);
+#line 5068 "Zend/zend_language_scanner.c"
+yy336:
+               YYDEBUG(336, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(321, *YYCURSOR);
+               YYDEBUG(337, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1801 "Zend/zend_language_scanner.l"
+#line 1772 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 4910 "Zend/zend_language_scanner.c"
-yy322:
-               YYDEBUG(322, *YYCURSOR);
+#line 5078 "Zend/zend_language_scanner.c"
+yy338:
+               YYDEBUG(338, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy319;
-yy323:
-               YYDEBUG(323, *YYCURSOR);
+               goto yy335;
+yy339:
+               YYDEBUG(339, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy322;
-               goto yy319;
-yy324:
-               YYDEBUG(324, *YYCURSOR);
+               if (yych == '\n') goto yy338;
+               goto yy335;
+yy340:
+               YYDEBUG(340, *YYCURSOR);
                yyaccept = 5;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(325, *YYCURSOR);
+               YYDEBUG(341, *YYCURSOR);
                if (yych <= 'D') {
-                       if (yych <= '/') goto yy285;
-                       if (yych <= '9') goto yy324;
-                       goto yy285;
+                       if (yych <= '/') goto yy301;
+                       if (yych <= '9') goto yy340;
+                       goto yy301;
                } else {
-                       if (yych <= 'E') goto yy288;
-                       if (yych == 'e') goto yy288;
-                       goto yy285;
+                       if (yych <= 'E') goto yy304;
+                       if (yych == 'e') goto yy304;
+                       goto yy301;
                }
-yy326:
-               YYDEBUG(326, *YYCURSOR);
+yy342:
+               YYDEBUG(342, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(327, *YYCURSOR);
+               YYDEBUG(343, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1797 "Zend/zend_language_scanner.l"
+#line 1768 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 4945 "Zend/zend_language_scanner.c"
-yy328:
-               YYDEBUG(328, *YYCURSOR);
+#line 5113 "Zend/zend_language_scanner.c"
+yy344:
+               YYDEBUG(344, *YYCURSOR);
                yyaccept = 6;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych == '*') goto yy333;
-yy329:
-               YYDEBUG(329, *YYCURSOR);
+               if (yych == '*') goto yy349;
+yy345:
+               YYDEBUG(345, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2332 "Zend/zend_language_scanner.l"
+#line 2308 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_COMMENT);
        yymore();
 }
-#line 4959 "Zend/zend_language_scanner.c"
-yy330:
-               YYDEBUG(330, *YYCURSOR);
+#line 5127 "Zend/zend_language_scanner.c"
+yy346:
+               YYDEBUG(346, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy257;
-yy331:
-               YYDEBUG(331, *YYCURSOR);
+               goto yy273;
+yy347:
+               YYDEBUG(347, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(332, *YYCURSOR);
+               YYDEBUG(348, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1793 "Zend/zend_language_scanner.l"
+#line 1764 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 4973 "Zend/zend_language_scanner.c"
-yy333:
-               YYDEBUG(333, *YYCURSOR);
+#line 5141 "Zend/zend_language_scanner.c"
+yy349:
+               YYDEBUG(349, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 64) {
-                       goto yy334;
+                       goto yy350;
                }
-               goto yy272;
-yy334:
-               YYDEBUG(334, *YYCURSOR);
+               goto yy284;
+yy350:
+               YYDEBUG(350, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(335, *YYCURSOR);
+               YYDEBUG(351, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy334;
+                       goto yy350;
                }
-               YYDEBUG(336, *YYCURSOR);
+               YYDEBUG(352, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2326 "Zend/zend_language_scanner.l"
+#line 2297 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        BEGIN(ST_DOC_COMMENT);
        yymore();
 }
-#line 4998 "Zend/zend_language_scanner.c"
-yy337:
-               YYDEBUG(337, *YYCURSOR);
+#line 5166 "Zend/zend_language_scanner.c"
+yy353:
+               YYDEBUG(353, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(338, *YYCURSOR);
+               YYDEBUG(354, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1789 "Zend/zend_language_scanner.l"
+#line 1760 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 5008 "Zend/zend_language_scanner.c"
-yy339:
-               YYDEBUG(339, *YYCURSOR);
+#line 5176 "Zend/zend_language_scanner.c"
+yy355:
+               YYDEBUG(355, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy343;
-               YYDEBUG(340, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '=') goto yy359;
+               YYDEBUG(356, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1849 "Zend/zend_language_scanner.l"
+#line 1820 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 5019 "Zend/zend_language_scanner.c"
-yy341:
-               YYDEBUG(341, *YYCURSOR);
+#line 5187 "Zend/zend_language_scanner.c"
+yy357:
+               YYDEBUG(357, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(342, *YYCURSOR);
+               YYDEBUG(358, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1777 "Zend/zend_language_scanner.l"
+#line 1748 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 5029 "Zend/zend_language_scanner.c"
-yy343:
-               YYDEBUG(343, *YYCURSOR);
+#line 5197 "Zend/zend_language_scanner.c"
+yy359:
+               YYDEBUG(359, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(344, *YYCURSOR);
+               YYDEBUG(360, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1809 "Zend/zend_language_scanner.l"
+#line 1780 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 5039 "Zend/zend_language_scanner.c"
-yy345:
-               YYDEBUG(345, *YYCURSOR);
+#line 5207 "Zend/zend_language_scanner.c"
+yy361:
+               YYDEBUG(361, *YYCURSOR);
                yyaccept = 7;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= ';') goto yy346;
-               if (yych <= '<') goto yy361;
-               if (yych <= '=') goto yy359;
-yy346:
-               YYDEBUG(346, *YYCURSOR);
+               if (yych <= ';') goto yy362;
+               if (yych <= '<') goto yy377;
+               if (yych <= '=') goto yy375;
+yy362:
+               YYDEBUG(362, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1845 "Zend/zend_language_scanner.l"
+#line 1816 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 5054 "Zend/zend_language_scanner.c"
-yy347:
-               YYDEBUG(347, *YYCURSOR);
+#line 5222 "Zend/zend_language_scanner.c"
+yy363:
+               YYDEBUG(363, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy352;
-               if (yych == 's') goto yy352;
-               goto yy272;
-yy348:
-               YYDEBUG(348, *YYCURSOR);
+               if (yych == 'S') goto yy368;
+               if (yych == 's') goto yy368;
+               goto yy284;
+yy364:
+               YYDEBUG(364, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(349, *YYCURSOR);
+               YYDEBUG(365, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1773 "Zend/zend_language_scanner.l"
+#line 1744 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 5070 "Zend/zend_language_scanner.c"
-yy350:
-               YYDEBUG(350, *YYCURSOR);
+#line 5238 "Zend/zend_language_scanner.c"
+yy366:
+               YYDEBUG(366, *YYCURSOR);
                ++YYCURSOR;
-yy351:
-               YYDEBUG(351, *YYCURSOR);
+yy367:
+               YYDEBUG(367, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1769 "Zend/zend_language_scanner.l"
+#line 1740 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 5081 "Zend/zend_language_scanner.c"
-yy352:
-               YYDEBUG(352, *YYCURSOR);
+#line 5249 "Zend/zend_language_scanner.c"
+yy368:
+               YYDEBUG(368, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy353;
-               if (yych != 'c') goto yy272;
-yy353:
-               YYDEBUG(353, *YYCURSOR);
+               if (yych == 'C') goto yy369;
+               if (yych != 'c') goto yy284;
+yy369:
+               YYDEBUG(369, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy354;
-               if (yych != 'r') goto yy272;
-yy354:
-               YYDEBUG(354, *YYCURSOR);
+               if (yych == 'R') goto yy370;
+               if (yych != 'r') goto yy284;
+yy370:
+               YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy355;
-               if (yych != 'i') goto yy272;
-yy355:
-               YYDEBUG(355, *YYCURSOR);
+               if (yych == 'I') goto yy371;
+               if (yych != 'i') goto yy284;
+yy371:
+               YYDEBUG(371, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy356;
-               if (yych != 'p') goto yy272;
-yy356:
-               YYDEBUG(356, *YYCURSOR);
+               if (yych == 'P') goto yy372;
+               if (yych != 'p') goto yy284;
+yy372:
+               YYDEBUG(372, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy357;
-               if (yych != 't') goto yy272;
-yy357:
-               YYDEBUG(357, *YYCURSOR);
+               if (yych == 'T') goto yy373;
+               if (yych != 't') goto yy284;
+yy373:
+               YYDEBUG(373, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(358, *YYCURSOR);
+               YYDEBUG(374, *YYCURSOR);
                if (yych <= '\r') {
-                       if (yych <= 0x08) goto yy272;
-                       if (yych <= '\n') goto yy357;
-                       if (yych <= '\f') goto yy272;
-                       goto yy357;
+                       if (yych <= 0x08) goto yy284;
+                       if (yych <= '\n') goto yy373;
+                       if (yych <= '\f') goto yy284;
+                       goto yy373;
                } else {
                        if (yych <= ' ') {
-                               if (yych <= 0x1F) goto yy272;
-                               goto yy357;
+                               if (yych <= 0x1F) goto yy284;
+                               goto yy373;
                        } else {
-                               if (yych == '>') goto yy296;
-                               goto yy272;
+                               if (yych == '>') goto yy312;
+                               goto yy284;
                        }
                }
-yy359:
-               YYDEBUG(359, *YYCURSOR);
+yy375:
+               YYDEBUG(375, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(360, *YYCURSOR);
+               YYDEBUG(376, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1805 "Zend/zend_language_scanner.l"
+#line 1776 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 5136 "Zend/zend_language_scanner.c"
-yy361:
-               YYDEBUG(361, *YYCURSOR);
+#line 5304 "Zend/zend_language_scanner.c"
+yy377:
+               YYDEBUG(377, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(362, *YYCURSOR);
+               YYDEBUG(378, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy361;
+                       goto yy377;
                }
                if (yych <= 'Z') {
                        if (yych <= '&') {
-                               if (yych == '"') goto yy366;
-                               goto yy272;
+                               if (yych == '"') goto yy382;
+                               goto yy284;
                        } else {
-                               if (yych <= '\'') goto yy365;
-                               if (yych <= '@') goto yy272;
+                               if (yych <= '\'') goto yy381;
+                               if (yych <= '@') goto yy284;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych != '_') goto yy272;
+                               if (yych != '_') goto yy284;
                        } else {
-                               if (yych <= 'z') goto yy363;
-                               if (yych <= '~') goto yy272;
+                               if (yych <= 'z') goto yy379;
+                               if (yych <= '~') goto yy284;
                        }
                }
-yy363:
-               YYDEBUG(363, *YYCURSOR);
+yy379:
+               YYDEBUG(379, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(364, *YYCURSOR);
+               YYDEBUG(380, *YYCURSOR);
                if (yych <= '@') {
                        if (yych <= '\f') {
-                               if (yych == '\n') goto yy370;
-                               goto yy272;
+                               if (yych == '\n') goto yy386;
+                               goto yy284;
                        } else {
-                               if (yych <= '\r') goto yy372;
-                               if (yych <= '/') goto yy272;
-                               if (yych <= '9') goto yy363;
-                               goto yy272;
+                               if (yych <= '\r') goto yy388;
+                               if (yych <= '/') goto yy284;
+                               if (yych <= '9') goto yy379;
+                               goto yy284;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy363;
-                               if (yych <= '^') goto yy272;
-                               goto yy363;
+                               if (yych <= 'Z') goto yy379;
+                               if (yych <= '^') goto yy284;
+                               goto yy379;
                        } else {
-                               if (yych <= '`') goto yy272;
-                               if (yych <= 'z') goto yy363;
-                               if (yych <= '~') goto yy272;
-                               goto yy363;
+                               if (yych <= '`') goto yy284;
+                               if (yych <= 'z') goto yy379;
+                               if (yych <= '~') goto yy284;
+                               goto yy379;
                        }
                }
-yy365:
-               YYDEBUG(365, *YYCURSOR);
+yy381:
+               YYDEBUG(381, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\'') goto yy272;
-               if (yych <= '/') goto yy374;
-               if (yych <= '9') goto yy272;
-               goto yy374;
-yy366:
-               YYDEBUG(366, *YYCURSOR);
+               if (yych == '\'') goto yy284;
+               if (yych <= '/') goto yy390;
+               if (yych <= '9') goto yy284;
+               goto yy390;
+yy382:
+               YYDEBUG(382, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '"') goto yy272;
-               if (yych <= '/') goto yy368;
-               if (yych <= '9') goto yy272;
-               goto yy368;
-yy367:
-               YYDEBUG(367, *YYCURSOR);
+               if (yych == '"') goto yy284;
+               if (yych <= '/') goto yy384;
+               if (yych <= '9') goto yy284;
+               goto yy384;
+yy383:
+               YYDEBUG(383, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-yy368:
-               YYDEBUG(368, *YYCURSOR);
+yy384:
+               YYDEBUG(384, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
-                               if (yych != '"') goto yy272;
+                               if (yych != '"') goto yy284;
                        } else {
-                               if (yych <= '9') goto yy367;
-                               if (yych <= '@') goto yy272;
-                               goto yy367;
+                               if (yych <= '9') goto yy383;
+                               if (yych <= '@') goto yy284;
+                               goto yy383;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy367;
-                               goto yy272;
+                               if (yych == '_') goto yy383;
+                               goto yy284;
                        } else {
-                               if (yych <= 'z') goto yy367;
-                               if (yych <= '~') goto yy272;
-                               goto yy367;
+                               if (yych <= 'z') goto yy383;
+                               if (yych <= '~') goto yy284;
+                               goto yy383;
                        }
                }
-yy369:
-               YYDEBUG(369, *YYCURSOR);
+yy385:
+               YYDEBUG(385, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy370;
-               if (yych == '\r') goto yy372;
-               goto yy272;
-yy370:
-               YYDEBUG(370, *YYCURSOR);
+               if (yych == '\n') goto yy386;
+               if (yych == '\r') goto yy388;
+               goto yy284;
+yy386:
+               YYDEBUG(386, *YYCURSOR);
                ++YYCURSOR;
-yy371:
-               YYDEBUG(371, *YYCURSOR);
+yy387:
+               YYDEBUG(387, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2432 "Zend/zend_language_scanner.l"
+#line 2408 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -5281,247 +5449,247 @@ yy371:
 
        return bprefix ? T_BINARY_HEREDOC : T_START_HEREDOC;
 }
-#line 5285 "Zend/zend_language_scanner.c"
-yy372:
-               YYDEBUG(372, *YYCURSOR);
+#line 5453 "Zend/zend_language_scanner.c"
+yy388:
+               YYDEBUG(388, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy370;
-               goto yy371;
-yy373:
-               YYDEBUG(373, *YYCURSOR);
+               if (yych == '\n') goto yy386;
+               goto yy387;
+yy389:
+               YYDEBUG(389, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-yy374:
-               YYDEBUG(374, *YYCURSOR);
+yy390:
+               YYDEBUG(390, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
-                               if (yych == '\'') goto yy369;
-                               goto yy272;
+                               if (yych == '\'') goto yy385;
+                               goto yy284;
                        } else {
-                               if (yych <= '9') goto yy373;
-                               if (yych <= '@') goto yy272;
-                               goto yy373;
+                               if (yych <= '9') goto yy389;
+                               if (yych <= '@') goto yy284;
+                               goto yy389;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy373;
-                               goto yy272;
+                               if (yych == '_') goto yy389;
+                               goto yy284;
                        } else {
-                               if (yych <= 'z') goto yy373;
-                               if (yych <= '~') goto yy272;
-                               goto yy373;
+                               if (yych <= 'z') goto yy389;
+                               if (yych <= '~') goto yy284;
+                               goto yy389;
                        }
                }
-yy375:
-               YYDEBUG(375, *YYCURSOR);
+yy391:
+               YYDEBUG(391, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '=') goto yy351;
-               YYDEBUG(376, *YYCURSOR);
+               if (yych != '=') goto yy367;
+               YYDEBUG(392, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(377, *YYCURSOR);
+               YYDEBUG(393, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1761 "Zend/zend_language_scanner.l"
+#line 1732 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 5329 "Zend/zend_language_scanner.c"
-yy378:
-               YYDEBUG(378, *YYCURSOR);
+#line 5497 "Zend/zend_language_scanner.c"
+yy394:
+               YYDEBUG(394, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(379, *YYCURSOR);
+               YYDEBUG(395, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1781 "Zend/zend_language_scanner.l"
+#line 1752 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 5339 "Zend/zend_language_scanner.c"
-yy380:
-               YYDEBUG(380, *YYCURSOR);
+#line 5507 "Zend/zend_language_scanner.c"
+yy396:
+               YYDEBUG(396, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(381, *YYCURSOR);
+               YYDEBUG(397, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1749 "Zend/zend_language_scanner.l"
+#line 1720 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 5349 "Zend/zend_language_scanner.c"
-yy382:
-               YYDEBUG(382, *YYCURSOR);
+#line 5517 "Zend/zend_language_scanner.c"
+yy398:
+               YYDEBUG(398, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy383;
-               if (yych != 's') goto yy282;
-yy383:
-               YYDEBUG(383, *YYCURSOR);
+               if (yych == 'S') goto yy399;
+               if (yych != 's') goto yy298;
+yy399:
+               YYDEBUG(399, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy384;
-               if (yych != 't') goto yy282;
-yy384:
-               YYDEBUG(384, *YYCURSOR);
+               if (yych == 'T') goto yy400;
+               if (yych != 't') goto yy298;
+yy400:
+               YYDEBUG(400, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(385, *YYCURSOR);
+               YYDEBUG(401, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1741 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 5372 "Zend/zend_language_scanner.c"
-yy386:
-               YYDEBUG(386, *YYCURSOR);
+#line 5540 "Zend/zend_language_scanner.c"
+yy402:
+               YYDEBUG(402, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy390;
-               YYDEBUG(387, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '=') goto yy406;
+               YYDEBUG(403, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1765 "Zend/zend_language_scanner.l"
+#line 1736 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 5383 "Zend/zend_language_scanner.c"
-yy388:
-               YYDEBUG(388, *YYCURSOR);
+#line 5551 "Zend/zend_language_scanner.c"
+yy404:
+               YYDEBUG(404, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(389, *YYCURSOR);
+               YYDEBUG(405, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1737 "Zend/zend_language_scanner.l"
+#line 1708 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 5393 "Zend/zend_language_scanner.c"
-yy390:
-               YYDEBUG(390, *YYCURSOR);
+#line 5561 "Zend/zend_language_scanner.c"
+yy406:
+               YYDEBUG(406, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(391, *YYCURSOR);
+               YYDEBUG(407, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1757 "Zend/zend_language_scanner.l"
+#line 1728 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 5403 "Zend/zend_language_scanner.c"
-yy392:
-               YYDEBUG(392, *YYCURSOR);
+#line 5571 "Zend/zend_language_scanner.c"
+yy408:
+               YYDEBUG(408, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'C':
-               case 'c':       goto yy394;
+               case 'c':       goto yy410;
                case 'D':
-               case 'd':       goto yy398;
+               case 'd':       goto yy414;
                case 'F':
-               case 'f':       goto yy395;
+               case 'f':       goto yy411;
                case 'H':
-               case 'h':       goto yy393;
+               case 'h':       goto yy409;
                case 'L':
-               case 'l':       goto yy397;
+               case 'l':       goto yy413;
                case 'M':
-               case 'm':       goto yy396;
+               case 'm':       goto yy412;
                case 'N':
-               case 'n':       goto yy399;
-               default:        goto yy282;
+               case 'n':       goto yy415;
+               default:        goto yy298;
                }
-yy393:
-               YYDEBUG(393, *YYCURSOR);
+yy409:
+               YYDEBUG(409, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy453;
-               if (yych == 'a') goto yy453;
-               goto yy282;
-yy394:
-               YYDEBUG(394, *YYCURSOR);
+               if (yych == 'A') goto yy469;
+               if (yych == 'a') goto yy469;
+               goto yy298;
+yy410:
+               YYDEBUG(410, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy446;
-               if (yych == 'l') goto yy446;
-               goto yy282;
-yy395:
-               YYDEBUG(395, *YYCURSOR);
+               if (yych == 'L') goto yy462;
+               if (yych == 'l') goto yy462;
+               goto yy298;
+yy411:
+               YYDEBUG(411, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'I') goto yy430;
-                       if (yych <= 'T') goto yy282;
-                       goto yy431;
+                       if (yych == 'I') goto yy446;
+                       if (yych <= 'T') goto yy298;
+                       goto yy447;
                } else {
                        if (yych <= 'i') {
-                               if (yych <= 'h') goto yy282;
-                               goto yy430;
+                               if (yych <= 'h') goto yy298;
+                               goto yy446;
                        } else {
-                               if (yych == 'u') goto yy431;
-                               goto yy282;
+                               if (yych == 'u') goto yy447;
+                               goto yy298;
                        }
                }
-yy396:
-               YYDEBUG(396, *YYCURSOR);
+yy412:
+               YYDEBUG(412, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy422;
-               if (yych == 'e') goto yy422;
-               goto yy282;
-yy397:
-               YYDEBUG(397, *YYCURSOR);
+               if (yych == 'E') goto yy438;
+               if (yych == 'e') goto yy438;
+               goto yy298;
+yy413:
+               YYDEBUG(413, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy416;
-               if (yych == 'i') goto yy416;
-               goto yy282;
-yy398:
-               YYDEBUG(398, *YYCURSOR);
+               if (yych == 'I') goto yy432;
+               if (yych == 'i') goto yy432;
+               goto yy298;
+yy414:
+               YYDEBUG(414, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy411;
-               if (yych == 'i') goto yy411;
-               goto yy282;
-yy399:
-               YYDEBUG(399, *YYCURSOR);
+               if (yych == 'I') goto yy427;
+               if (yych == 'i') goto yy427;
+               goto yy298;
+yy415:
+               YYDEBUG(415, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy400;
-               if (yych != 'a') goto yy282;
-yy400:
-               YYDEBUG(400, *YYCURSOR);
+               if (yych == 'A') goto yy416;
+               if (yych != 'a') goto yy298;
+yy416:
+               YYDEBUG(416, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy401;
-               if (yych != 'm') goto yy282;
-yy401:
-               YYDEBUG(401, *YYCURSOR);
+               if (yych == 'M') goto yy417;
+               if (yych != 'm') goto yy298;
+yy417:
+               YYDEBUG(417, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy402;
-               if (yych != 'e') goto yy282;
-yy402:
-               YYDEBUG(402, *YYCURSOR);
+               if (yych == 'E') goto yy418;
+               if (yych != 'e') goto yy298;
+yy418:
+               YYDEBUG(418, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy403;
-               if (yych != 's') goto yy282;
-yy403:
-               YYDEBUG(403, *YYCURSOR);
+               if (yych == 'S') goto yy419;
+               if (yych != 's') goto yy298;
+yy419:
+               YYDEBUG(419, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy404;
-               if (yych != 'p') goto yy282;
-yy404:
-               YYDEBUG(404, *YYCURSOR);
+               if (yych == 'P') goto yy420;
+               if (yych != 'p') goto yy298;
+yy420:
+               YYDEBUG(420, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy405;
-               if (yych != 'a') goto yy282;
-yy405:
-               YYDEBUG(405, *YYCURSOR);
+               if (yych == 'A') goto yy421;
+               if (yych != 'a') goto yy298;
+yy421:
+               YYDEBUG(421, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy406;
-               if (yych != 'c') goto yy282;
-yy406:
-               YYDEBUG(406, *YYCURSOR);
+               if (yych == 'C') goto yy422;
+               if (yych != 'c') goto yy298;
+yy422:
+               YYDEBUG(422, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy407;
-               if (yych != 'e') goto yy282;
-yy407:
-               YYDEBUG(407, *YYCURSOR);
+               if (yych == 'E') goto yy423;
+               if (yych != 'e') goto yy298;
+yy423:
+               YYDEBUG(423, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(408, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(424, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(409, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(425, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(410, *YYCURSOR);
+               YYDEBUG(426, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2089 "Zend/zend_language_scanner.l"
+#line 2060 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -5531,27 +5699,27 @@ yy407:
        }
        return T_NS_C;
 }
-#line 5535 "Zend/zend_language_scanner.c"
-yy411:
-               YYDEBUG(411, *YYCURSOR);
+#line 5703 "Zend/zend_language_scanner.c"
+yy427:
+               YYDEBUG(427, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy412;
-               if (yych != 'r') goto yy282;
-yy412:
-               YYDEBUG(412, *YYCURSOR);
+               if (yych == 'R') goto yy428;
+               if (yych != 'r') goto yy298;
+yy428:
+               YYDEBUG(428, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(413, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(414, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(430, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(415, *YYCURSOR);
+               YYDEBUG(431, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2062 "Zend/zend_language_scanner.l"
+#line 2033 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -5578,73 +5746,73 @@ yy412:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 5582 "Zend/zend_language_scanner.c"
-yy416:
-               YYDEBUG(416, *YYCURSOR);
+#line 5750 "Zend/zend_language_scanner.c"
+yy432:
+               YYDEBUG(432, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy417;
-               if (yych != 'n') goto yy282;
-yy417:
-               YYDEBUG(417, *YYCURSOR);
+               if (yych == 'N') goto yy433;
+               if (yych != 'n') goto yy298;
+yy433:
+               YYDEBUG(433, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy418;
-               if (yych != 'e') goto yy282;
-yy418:
-               YYDEBUG(418, *YYCURSOR);
+               if (yych == 'E') goto yy434;
+               if (yych != 'e') goto yy298;
+yy434:
+               YYDEBUG(434, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(419, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(420, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(436, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(421, *YYCURSOR);
+               YYDEBUG(437, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2046 "Zend/zend_language_scanner.l"
+#line 2017 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = CG(zend_lineno);
        Z_TYPE_P(zendlval) = IS_LONG;
        return T_LINE;
 }
-#line 5613 "Zend/zend_language_scanner.c"
-yy422:
-               YYDEBUG(422, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy423;
-               if (yych != 't') goto yy282;
-yy423:
-               YYDEBUG(423, *YYCURSOR);
+#line 5781 "Zend/zend_language_scanner.c"
+yy438:
+               YYDEBUG(438, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy424;
-               if (yych != 'h') goto yy282;
-yy424:
-               YYDEBUG(424, *YYCURSOR);
+               if (yych == 'T') goto yy439;
+               if (yych != 't') goto yy298;
+yy439:
+               YYDEBUG(439, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy425;
-               if (yych != 'o') goto yy282;
-yy425:
-               YYDEBUG(425, *YYCURSOR);
+               if (yych == 'H') goto yy440;
+               if (yych != 'h') goto yy298;
+yy440:
+               YYDEBUG(440, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy426;
-               if (yych != 'd') goto yy282;
-yy426:
-               YYDEBUG(426, *YYCURSOR);
+               if (yych == 'O') goto yy441;
+               if (yych != 'o') goto yy298;
+yy441:
+               YYDEBUG(441, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(427, *YYCURSOR);
+               if (yych == 'D') goto yy442;
+               if (yych != 'd') goto yy298;
+yy442:
+               YYDEBUG(442, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(428, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(443, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych != '_') goto yy298;
+               YYDEBUG(444, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(429, *YYCURSOR);
+               YYDEBUG(445, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1997 "Zend/zend_language_scanner.l"
+#line 1968 "Zend/zend_language_scanner.l"
                {
        zstr class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL_ZSTR;
        zstr func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL_ZSTR;
@@ -5693,58 +5861,58 @@ yy426:
        }
        return T_METHOD_C;
 }
-#line 5697 "Zend/zend_language_scanner.c"
-yy430:
-               YYDEBUG(430, *YYCURSOR);
+#line 5865 "Zend/zend_language_scanner.c"
+yy446:
+               YYDEBUG(446, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy441;
-               if (yych == 'l') goto yy441;
-               goto yy282;
-yy431:
-               YYDEBUG(431, *YYCURSOR);
+               if (yych == 'L') goto yy457;
+               if (yych == 'l') goto yy457;
+               goto yy298;
+yy447:
+               YYDEBUG(447, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy432;
-               if (yych != 'n') goto yy282;
-yy432:
-               YYDEBUG(432, *YYCURSOR);
+               if (yych == 'N') goto yy448;
+               if (yych != 'n') goto yy298;
+yy448:
+               YYDEBUG(448, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy433;
-               if (yych != 'c') goto yy282;
-yy433:
-               YYDEBUG(433, *YYCURSOR);
+               if (yych == 'C') goto yy449;
+               if (yych != 'c') goto yy298;
+yy449:
+               YYDEBUG(449, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy434;
-               if (yych != 't') goto yy282;
-yy434:
-               YYDEBUG(434, *YYCURSOR);
+               if (yych == 'T') goto yy450;
+               if (yych != 't') goto yy298;
+yy450:
+               YYDEBUG(450, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy435;
-               if (yych != 'i') goto yy282;
-yy435:
-               YYDEBUG(435, *YYCURSOR);
+               if (yych == 'I') goto yy451;
+               if (yych != 'i') goto yy298;
+yy451:
+               YYDEBUG(451, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy436;
-               if (yych != 'o') goto yy282;
-yy436:
-               YYDEBUG(436, *YYCURSOR);
+               if (yych == 'O') goto yy452;
+               if (yych != 'o') goto yy298;
+yy452:
+               YYDEBUG(452, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy437;
-               if (yych != 'n') goto yy282;
-yy437:
-               YYDEBUG(437, *YYCURSOR);
+               if (yych == 'N') goto yy453;
+               if (yych != 'n') goto yy298;
+yy453:
+               YYDEBUG(453, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(438, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(439, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(455, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(440, *YYCURSOR);
+               YYDEBUG(456, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1982 "Zend/zend_language_scanner.l"
+#line 1953 "Zend/zend_language_scanner.l"
                {
        zstr func_name = NULL_ZSTR;
 
@@ -5759,27 +5927,27 @@ yy437:
        }
        return T_FUNC_C;
 }
-#line 5763 "Zend/zend_language_scanner.c"
-yy441:
-               YYDEBUG(441, *YYCURSOR);
+#line 5931 "Zend/zend_language_scanner.c"
+yy457:
+               YYDEBUG(457, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy442;
-               if (yych != 'e') goto yy282;
-yy442:
-               YYDEBUG(442, *YYCURSOR);
+               if (yych == 'E') goto yy458;
+               if (yych != 'e') goto yy298;
+yy458:
+               YYDEBUG(458, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(443, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(459, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(444, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(460, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(445, *YYCURSOR);
+               YYDEBUG(461, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2052 "Zend/zend_language_scanner.l"
+#line 2023 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -5789,37 +5957,37 @@ yy442:
        ZVAL_RT_STRING(zendlval, filename, 1);
        return T_FILE;
 }
-#line 5793 "Zend/zend_language_scanner.c"
-yy446:
-               YYDEBUG(446, *YYCURSOR);
+#line 5961 "Zend/zend_language_scanner.c"
+yy462:
+               YYDEBUG(462, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy447;
-               if (yych != 'a') goto yy282;
-yy447:
-               YYDEBUG(447, *YYCURSOR);
+               if (yych == 'A') goto yy463;
+               if (yych != 'a') goto yy298;
+yy463:
+               YYDEBUG(463, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy448;
-               if (yych != 's') goto yy282;
-yy448:
-               YYDEBUG(448, *YYCURSOR);
+               if (yych == 'S') goto yy464;
+               if (yych != 's') goto yy298;
+yy464:
+               YYDEBUG(464, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy449;
-               if (yych != 's') goto yy282;
-yy449:
-               YYDEBUG(449, *YYCURSOR);
+               if (yych == 'S') goto yy465;
+               if (yych != 's') goto yy298;
+yy465:
+               YYDEBUG(465, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(450, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(451, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(467, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(452, *YYCURSOR);
+               YYDEBUG(468, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1967 "Zend/zend_language_scanner.l"
+#line 1938 "Zend/zend_language_scanner.l"
                {
        zstr class_name = NULL_ZSTR;
 
@@ -5834,2714 +6002,2726 @@ yy449:
        }
        return T_CLASS_C;
 }
-#line 5838 "Zend/zend_language_scanner.c"
-yy453:
-               YYDEBUG(453, *YYCURSOR);
+#line 6006 "Zend/zend_language_scanner.c"
+yy469:
+               YYDEBUG(469, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy454;
-               if (yych != 'l') goto yy282;
-yy454:
-               YYDEBUG(454, *YYCURSOR);
+               if (yych == 'L') goto yy470;
+               if (yych != 'l') goto yy298;
+yy470:
+               YYDEBUG(470, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy455;
-               if (yych != 't') goto yy282;
-yy455:
-               YYDEBUG(455, *YYCURSOR);
+               if (yych == 'T') goto yy471;
+               if (yych != 't') goto yy298;
+yy471:
+               YYDEBUG(471, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '_') goto yy282;
-               YYDEBUG(456, *YYCURSOR);
+               if (yych != '_') goto yy298;
+               YYDEBUG(472, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy457;
-               if (yych != 'c') goto yy282;
-yy457:
-               YYDEBUG(457, *YYCURSOR);
+               if (yych == 'C') goto yy473;
+               if (yych != 'c') goto yy298;
+yy473:
+               YYDEBUG(473, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy458;
-               if (yych != 'o') goto yy282;
-yy458:
-               YYDEBUG(458, *YYCURSOR);
+               if (yych == 'O') goto yy474;
+               if (yych != 'o') goto yy298;
+yy474:
+               YYDEBUG(474, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy459;
-               if (yych != 'm') goto yy282;
-yy459:
-               YYDEBUG(459, *YYCURSOR);
+               if (yych == 'M') goto yy475;
+               if (yych != 'm') goto yy298;
+yy475:
+               YYDEBUG(475, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy460;
-               if (yych != 'p') goto yy282;
-yy460:
-               YYDEBUG(460, *YYCURSOR);
+               if (yych == 'P') goto yy476;
+               if (yych != 'p') goto yy298;
+yy476:
+               YYDEBUG(476, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy461;
-               if (yych != 'i') goto yy282;
-yy461:
-               YYDEBUG(461, *YYCURSOR);
+               if (yych == 'I') goto yy477;
+               if (yych != 'i') goto yy298;
+yy477:
+               YYDEBUG(477, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy462;
-               if (yych != 'l') goto yy282;
-yy462:
-               YYDEBUG(462, *YYCURSOR);
+               if (yych == 'L') goto yy478;
+               if (yych != 'l') goto yy298;
+yy478:
+               YYDEBUG(478, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy463;
-               if (yych != 'e') goto yy282;
-yy463:
-               YYDEBUG(463, *YYCURSOR);
+               if (yych == 'E') goto yy479;
+               if (yych != 'e') goto yy298;
+yy479:
+               YYDEBUG(479, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy464;
-               if (yych != 'r') goto yy282;
-yy464:
-               YYDEBUG(464, *YYCURSOR);
+               if (yych == 'R') goto yy480;
+               if (yych != 'r') goto yy298;
+yy480:
+               YYDEBUG(480, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(465, *YYCURSOR);
+               YYDEBUG(481, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1705 "Zend/zend_language_scanner.l"
+#line 1676 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 5904 "Zend/zend_language_scanner.c"
-yy466:
-               YYDEBUG(466, *YYCURSOR);
+#line 6072 "Zend/zend_language_scanner.c"
+yy482:
+               YYDEBUG(482, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy470;
-               if (yych == 's') goto yy470;
-               goto yy282;
-yy467:
-               YYDEBUG(467, *YYCURSOR);
+               if (yych == 'S') goto yy486;
+               if (yych == 's') goto yy486;
+               goto yy298;
+yy483:
+               YYDEBUG(483, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy468;
-               if (yych != 'e') goto yy282;
-yy468:
-               YYDEBUG(468, *YYCURSOR);
+               if (yych == 'E') goto yy484;
+               if (yych != 'e') goto yy298;
+yy484:
+               YYDEBUG(484, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(469, *YYCURSOR);
+               YYDEBUG(485, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1689 "Zend/zend_language_scanner.l"
+#line 1660 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 5928 "Zend/zend_language_scanner.c"
-yy470:
-               YYDEBUG(470, *YYCURSOR);
+#line 6096 "Zend/zend_language_scanner.c"
+yy486:
+               YYDEBUG(486, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy471;
-               if (yych != 'e') goto yy282;
-yy471:
-               YYDEBUG(471, *YYCURSOR);
+               if (yych == 'E') goto yy487;
+               if (yych != 'e') goto yy298;
+yy487:
+               YYDEBUG(487, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy472;
-               if (yych != 't') goto yy282;
-yy472:
-               YYDEBUG(472, *YYCURSOR);
+               if (yych == 'T') goto yy488;
+               if (yych != 't') goto yy298;
+yy488:
+               YYDEBUG(488, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(473, *YYCURSOR);
+               YYDEBUG(489, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1704 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 5951 "Zend/zend_language_scanner.c"
-yy474:
-               YYDEBUG(474, *YYCURSOR);
+#line 6119 "Zend/zend_language_scanner.c"
+yy490:
+               YYDEBUG(490, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(7);
                yych = *YYCURSOR;
-yy475:
-               YYDEBUG(475, *YYCURSOR);
+yy491:
+               YYDEBUG(491, *YYCURSOR);
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy474;
-                                       if (yych <= 0x1F) goto yy272;
-                                       goto yy474;
+                                       if (yych == '\t') goto yy490;
+                                       if (yych <= 0x1F) goto yy284;
+                                       goto yy490;
                                } else {
                                        if (yych <= 'A') {
-                                               if (yych <= '@') goto yy272;
-                                               goto yy479;
+                                               if (yych <= '@') goto yy284;
+                                               goto yy495;
                                        } else {
-                                               if (yych <= 'B') goto yy477;
-                                               if (yych <= 'C') goto yy272;
-                                               goto yy482;
+                                               if (yych <= 'B') goto yy493;
+                                               if (yych <= 'C') goto yy284;
+                                               goto yy498;
                                        }
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy483;
-                                       if (yych <= 'H') goto yy272;
-                                       goto yy484;
+                                       if (yych == 'F') goto yy499;
+                                       if (yych <= 'H') goto yy284;
+                                       goto yy500;
                                } else {
                                        if (yych <= 'O') {
-                                               if (yych <= 'N') goto yy272;
-                                               goto yy478;
+                                               if (yych <= 'N') goto yy284;
+                                               goto yy494;
                                        } else {
-                                               if (yych <= 'Q') goto yy272;
-                                               if (yych <= 'R') goto yy481;
-                                               goto yy480;
+                                               if (yych <= 'Q') goto yy284;
+                                               if (yych <= 'R') goto yy497;
+                                               goto yy496;
                                        }
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'a') {
-                                       if (yych == 'U') goto yy476;
-                                       if (yych <= '`') goto yy272;
-                                       goto yy479;
+                                       if (yych == 'U') goto yy492;
+                                       if (yych <= '`') goto yy284;
+                                       goto yy495;
                                } else {
                                        if (yych <= 'c') {
-                                               if (yych <= 'b') goto yy477;
-                                               goto yy272;
+                                               if (yych <= 'b') goto yy493;
+                                               goto yy284;
                                        } else {
-                                               if (yych <= 'd') goto yy482;
-                                               if (yych <= 'e') goto yy272;
-                                               goto yy483;
+                                               if (yych <= 'd') goto yy498;
+                                               if (yych <= 'e') goto yy284;
+                                               goto yy499;
                                        }
                                }
                        } else {
                                if (yych <= 'q') {
                                        if (yych <= 'i') {
-                                               if (yych <= 'h') goto yy272;
-                                               goto yy484;
+                                               if (yych <= 'h') goto yy284;
+                                               goto yy500;
                                        } else {
-                                               if (yych == 'o') goto yy478;
-                                               goto yy272;
+                                               if (yych == 'o') goto yy494;
+                                               goto yy284;
                                        }
                                } else {
                                        if (yych <= 's') {
-                                               if (yych <= 'r') goto yy481;
-                                               goto yy480;
+                                               if (yych <= 'r') goto yy497;
+                                               goto yy496;
                                        } else {
-                                               if (yych != 'u') goto yy272;
+                                               if (yych != 'u') goto yy284;
                                        }
                                }
                        }
                }
-yy476:
-               YYDEBUG(476, *YYCURSOR);
+yy492:
+               YYDEBUG(492, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy547;
-               if (yych == 'n') goto yy547;
-               goto yy272;
-yy477:
-               YYDEBUG(477, *YYCURSOR);
+               if (yych == 'N') goto yy563;
+               if (yych == 'n') goto yy563;
+               goto yy284;
+yy493:
+               YYDEBUG(493, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy530;
-                       if (yych <= 'N') goto yy272;
-                       goto yy531;
+                       if (yych == 'I') goto yy546;
+                       if (yych <= 'N') goto yy284;
+                       goto yy547;
                } else {
                        if (yych <= 'i') {
-                               if (yych <= 'h') goto yy272;
-                               goto yy530;
+                               if (yych <= 'h') goto yy284;
+                               goto yy546;
                        } else {
-                               if (yych == 'o') goto yy531;
-                               goto yy272;
+                               if (yych == 'o') goto yy547;
+                               goto yy284;
                        }
                }
-yy478:
-               YYDEBUG(478, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'B') goto yy522;
-               if (yych == 'b') goto yy522;
-               goto yy272;
-yy479:
-               YYDEBUG(479, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy515;
-               if (yych == 'r') goto yy515;
-               goto yy272;
-yy480:
-               YYDEBUG(480, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy507;
-               if (yych == 't') goto yy507;
-               goto yy272;
-yy481:
-               YYDEBUG(481, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy505;
-               if (yych == 'e') goto yy505;
-               goto yy272;
-yy482:
-               YYDEBUG(482, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'O') goto yy501;
-               if (yych == 'o') goto yy501;
-               goto yy272;
-yy483:
-               YYDEBUG(483, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy494;
-               if (yych == 'l') goto yy494;
-               goto yy272;
-yy484:
-               YYDEBUG(484, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy485;
-               if (yych != 'n') goto yy272;
-yy485:
-               YYDEBUG(485, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy486;
-               if (yych != 't') goto yy272;
-yy486:
-               YYDEBUG(486, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy487;
-               if (yych != 'e') goto yy489;
-yy487:
-               YYDEBUG(487, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'G') goto yy492;
-               if (yych == 'g') goto yy492;
-               goto yy272;
-yy488:
-               YYDEBUG(488, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy489:
-               YYDEBUG(489, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy488;
-                       goto yy272;
-               } else {
-                       if (yych <= ' ') goto yy488;
-                       if (yych != ')') goto yy272;
-               }
-               YYDEBUG(490, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(491, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1629 "Zend/zend_language_scanner.l"
-               {
-       return T_INT_CAST;
-}
-#line 6127 "Zend/zend_language_scanner.c"
-yy492:
-               YYDEBUG(492, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy493;
-               if (yych != 'e') goto yy272;
-yy493:
-               YYDEBUG(493, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy488;
-               if (yych == 'r') goto yy488;
-               goto yy272;
 yy494:
                YYDEBUG(494, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy495;
-               if (yych != 'o') goto yy272;
+               if (yych == 'B') goto yy538;
+               if (yych == 'b') goto yy538;
+               goto yy284;
 yy495:
                YYDEBUG(495, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy496;
-               if (yych != 'a') goto yy272;
+               if (yych == 'R') goto yy531;
+               if (yych == 'r') goto yy531;
+               goto yy284;
 yy496:
                YYDEBUG(496, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy497;
-               if (yych != 't') goto yy272;
+               if (yych == 'T') goto yy523;
+               if (yych == 't') goto yy523;
+               goto yy284;
 yy497:
                YYDEBUG(497, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy521;
+               if (yych == 'e') goto yy521;
+               goto yy284;
+yy498:
                YYDEBUG(498, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy497;
-                       goto yy272;
-               } else {
-                       if (yych <= ' ') goto yy497;
-                       if (yych != ')') goto yy272;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'O') goto yy517;
+               if (yych == 'o') goto yy517;
+               goto yy284;
+yy499:
                YYDEBUG(499, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy510;
+               if (yych == 'l') goto yy510;
+               goto yy284;
+yy500:
                YYDEBUG(500, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1633 "Zend/zend_language_scanner.l"
-               {
-       return T_DOUBLE_CAST;
-}
-#line 6175 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy501;
+               if (yych != 'n') goto yy284;
 yy501:
                YYDEBUG(501, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy502;
-               if (yych != 'u') goto yy272;
+               if (yych == 'T') goto yy502;
+               if (yych != 't') goto yy284;
 yy502:
                YYDEBUG(502, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy503;
-               if (yych != 'b') goto yy272;
+               if (yych == 'E') goto yy503;
+               if (yych != 'e') goto yy505;
 yy503:
                YYDEBUG(503, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy504;
-               if (yych != 'l') goto yy272;
+               if (yych == 'G') goto yy508;
+               if (yych == 'g') goto yy508;
+               goto yy284;
 yy504:
                YYDEBUG(504, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy497;
-               if (yych == 'e') goto yy497;
-               goto yy272;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
 yy505:
                YYDEBUG(505, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy506;
-               if (yych != 'a') goto yy272;
-yy506:
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy504;
+                       goto yy284;
+               } else {
+                       if (yych <= ' ') goto yy504;
+                       if (yych != ')') goto yy284;
+               }
                YYDEBUG(506, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy497;
-               if (yych == 'l') goto yy497;
-               goto yy272;
-yy507:
+               ++YYCURSOR;
                YYDEBUG(507, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy508;
-               if (yych != 'r') goto yy272;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1600 "Zend/zend_language_scanner.l"
+               {
+       return T_INT_CAST;
+}
+#line 6295 "Zend/zend_language_scanner.c"
 yy508:
                YYDEBUG(508, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy509;
-               if (yych != 'i') goto yy272;
+               if (yych == 'E') goto yy509;
+               if (yych != 'e') goto yy284;
 yy509:
                YYDEBUG(509, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy510;
-               if (yych != 'n') goto yy272;
+               if (yych == 'R') goto yy504;
+               if (yych == 'r') goto yy504;
+               goto yy284;
 yy510:
                YYDEBUG(510, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy511;
-               if (yych != 'g') goto yy272;
+               if (yych == 'O') goto yy511;
+               if (yych != 'o') goto yy284;
 yy511:
                YYDEBUG(511, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy512;
+               if (yych != 'a') goto yy284;
+yy512:
+               YYDEBUG(512, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy513;
+               if (yych != 't') goto yy284;
+yy513:
+               YYDEBUG(513, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(512, *YYCURSOR);
+               YYDEBUG(514, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy511;
-                       goto yy272;
+                       if (yych == '\t') goto yy513;
+                       goto yy284;
                } else {
-                       if (yych <= ' ') goto yy511;
-                       if (yych != ')') goto yy272;
+                       if (yych <= ' ') goto yy513;
+                       if (yych != ')') goto yy284;
                }
-               YYDEBUG(513, *YYCURSOR);
+               YYDEBUG(515, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(514, *YYCURSOR);
+               YYDEBUG(516, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1637 "Zend/zend_language_scanner.l"
+#line 1604 "Zend/zend_language_scanner.l"
                {
-       return T_STRING_CAST;
+       return T_DOUBLE_CAST;
 }
-#line 6249 "Zend/zend_language_scanner.c"
-yy515:
-               YYDEBUG(515, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy516;
-               if (yych != 'r') goto yy272;
-yy516:
-               YYDEBUG(516, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy517;
-               if (yych != 'a') goto yy272;
+#line 6343 "Zend/zend_language_scanner.c"
 yy517:
                YYDEBUG(517, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy518;
-               if (yych != 'y') goto yy272;
+               if (yych == 'U') goto yy518;
+               if (yych != 'u') goto yy284;
 yy518:
                YYDEBUG(518, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'B') goto yy519;
+               if (yych != 'b') goto yy284;
+yy519:
                YYDEBUG(519, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy518;
-                       goto yy272;
-               } else {
-                       if (yych <= ' ') goto yy518;
-                       if (yych != ')') goto yy272;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy520;
+               if (yych != 'l') goto yy284;
+yy520:
                YYDEBUG(520, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy513;
+               if (yych == 'e') goto yy513;
+               goto yy284;
+yy521:
                YYDEBUG(521, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1649 "Zend/zend_language_scanner.l"
-               {
-       return T_ARRAY_CAST;
-}
-#line 6286 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy522;
+               if (yych != 'a') goto yy284;
 yy522:
                YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'J') goto yy523;
-               if (yych != 'j') goto yy272;
+               if (yych == 'L') goto yy513;
+               if (yych == 'l') goto yy513;
+               goto yy284;
 yy523:
                YYDEBUG(523, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy524;
-               if (yych != 'e') goto yy272;
+               if (yych == 'R') goto yy524;
+               if (yych != 'r') goto yy284;
 yy524:
                YYDEBUG(524, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy525;
-               if (yych != 'c') goto yy272;
+               if (yych == 'I') goto yy525;
+               if (yych != 'i') goto yy284;
 yy525:
                YYDEBUG(525, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy526;
-               if (yych != 't') goto yy272;
+               if (yych == 'N') goto yy526;
+               if (yych != 'n') goto yy284;
 yy526:
                YYDEBUG(526, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'G') goto yy527;
+               if (yych != 'g') goto yy284;
+yy527:
+               YYDEBUG(527, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(527, *YYCURSOR);
+               YYDEBUG(528, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy526;
-                       goto yy272;
+                       if (yych == '\t') goto yy527;
+                       goto yy284;
                } else {
-                       if (yych <= ' ') goto yy526;
-                       if (yych != ')') goto yy272;
+                       if (yych <= ' ') goto yy527;
+                       if (yych != ')') goto yy284;
                }
-               YYDEBUG(528, *YYCURSOR);
-               ++YYCURSOR;
                YYDEBUG(529, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(530, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1653 "Zend/zend_language_scanner.l"
+#line 1608 "Zend/zend_language_scanner.l"
                {
-       return T_OBJECT_CAST;
+       return T_STRING_CAST;
 }
-#line 6328 "Zend/zend_language_scanner.c"
-yy530:
-               YYDEBUG(530, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy540;
-               if (yych == 'n') goto yy540;
-               goto yy272;
+#line 6417 "Zend/zend_language_scanner.c"
 yy531:
                YYDEBUG(531, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy532;
-               if (yych != 'o') goto yy272;
+               if (yych == 'R') goto yy532;
+               if (yych != 'r') goto yy284;
 yy532:
                YYDEBUG(532, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy533;
-               if (yych != 'l') goto yy272;
+               if (yych == 'A') goto yy533;
+               if (yych != 'a') goto yy284;
 yy533:
                YYDEBUG(533, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy538;
-               if (yych == 'e') goto yy538;
-               goto yy535;
+               if (yych == 'Y') goto yy534;
+               if (yych != 'y') goto yy284;
 yy534:
                YYDEBUG(534, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy535:
                YYDEBUG(535, *YYCURSOR);
                if (yych <= 0x1F) {
                        if (yych == '\t') goto yy534;
-                       goto yy272;
+                       goto yy284;
                } else {
                        if (yych <= ' ') goto yy534;
-                       if (yych != ')') goto yy272;
+                       if (yych != ')') goto yy284;
                }
                YYDEBUG(536, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(537, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1657 "Zend/zend_language_scanner.l"
+#line 1620 "Zend/zend_language_scanner.l"
                {
-       return T_BOOL_CAST;
+       return T_ARRAY_CAST;
 }
-#line 6373 "Zend/zend_language_scanner.c"
+#line 6454 "Zend/zend_language_scanner.c"
 yy538:
                YYDEBUG(538, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy539;
-               if (yych != 'a') goto yy272;
+               if (yych == 'J') goto yy539;
+               if (yych != 'j') goto yy284;
 yy539:
                YYDEBUG(539, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy534;
-               if (yych == 'n') goto yy534;
-               goto yy272;
+               if (yych == 'E') goto yy540;
+               if (yych != 'e') goto yy284;
 yy540:
                YYDEBUG(540, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy541;
-               if (yych != 'a') goto yy272;
+               if (yych == 'C') goto yy541;
+               if (yych != 'c') goto yy284;
 yy541:
                YYDEBUG(541, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy542;
-               if (yych != 'r') goto yy272;
+               if (yych == 'T') goto yy542;
+               if (yych != 't') goto yy284;
 yy542:
                YYDEBUG(542, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy543;
-               if (yych != 'y') goto yy272;
-yy543:
-               YYDEBUG(543, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(544, *YYCURSOR);
+               YYDEBUG(543, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy543;
-                       goto yy272;
+                       if (yych == '\t') goto yy542;
+                       goto yy284;
                } else {
-                       if (yych <= ' ') goto yy543;
-                       if (yych != ')') goto yy272;
+                       if (yych <= ' ') goto yy542;
+                       if (yych != ')') goto yy284;
                }
-               YYDEBUG(545, *YYCURSOR);
+               YYDEBUG(544, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(546, *YYCURSOR);
+               YYDEBUG(545, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1645 "Zend/zend_language_scanner.l"
+#line 1624 "Zend/zend_language_scanner.l"
                {
-       return T_BINARY_CAST;
+       return T_OBJECT_CAST;
 }
-#line 6421 "Zend/zend_language_scanner.c"
+#line 6496 "Zend/zend_language_scanner.c"
+yy546:
+               YYDEBUG(546, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy556;
+               if (yych == 'n') goto yy556;
+               goto yy284;
 yy547:
                YYDEBUG(547, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'S') {
-                       if (yych == 'I') goto yy549;
-                       if (yych <= 'R') goto yy272;
-               } else {
-                       if (yych <= 'i') {
-                               if (yych <= 'h') goto yy272;
-                               goto yy549;
-                       } else {
-                               if (yych != 's') goto yy272;
-                       }
-               }
+               if (yych == 'O') goto yy548;
+               if (yych != 'o') goto yy284;
+yy548:
                YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy557;
-               if (yych == 'e') goto yy557;
-               goto yy272;
+               if (yych == 'L') goto yy549;
+               if (yych != 'l') goto yy284;
 yy549:
                YYDEBUG(549, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy550;
-               if (yych != 'c') goto yy272;
+               if (yych == 'E') goto yy554;
+               if (yych == 'e') goto yy554;
+               goto yy551;
 yy550:
                YYDEBUG(550, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'O') goto yy551;
-               if (yych != 'o') goto yy272;
-yy551:
-               YYDEBUG(551, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'D') goto yy552;
-               if (yych != 'd') goto yy272;
-yy552:
-               YYDEBUG(552, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy553;
-               if (yych != 'e') goto yy272;
-yy553:
-               YYDEBUG(553, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(554, *YYCURSOR);
+yy551:
+               YYDEBUG(551, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy553;
-                       goto yy272;
+                       if (yych == '\t') goto yy550;
+                       goto yy284;
                } else {
-                       if (yych <= ' ') goto yy553;
-                       if (yych != ')') goto yy272;
+                       if (yych <= ' ') goto yy550;
+                       if (yych != ')') goto yy284;
                }
-               YYDEBUG(555, *YYCURSOR);
+               YYDEBUG(552, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(556, *YYCURSOR);
+               YYDEBUG(553, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1620 "Zend/zend_language_scanner.l"
+#line 1628 "Zend/zend_language_scanner.l"
                {
-       return T_UNICODE_CAST;
+       return T_BOOL_CAST;
 }
-#line 6482 "Zend/zend_language_scanner.c"
+#line 6541 "Zend/zend_language_scanner.c"
+yy554:
+               YYDEBUG(554, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy555;
+               if (yych != 'a') goto yy284;
+yy555:
+               YYDEBUG(555, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy550;
+               if (yych == 'n') goto yy550;
+               goto yy284;
+yy556:
+               YYDEBUG(556, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy557;
+               if (yych != 'a') goto yy284;
 yy557:
                YYDEBUG(557, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy558;
-               if (yych != 't') goto yy272;
+               if (yych == 'R') goto yy558;
+               if (yych != 'r') goto yy284;
 yy558:
                YYDEBUG(558, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'Y') goto yy559;
+               if (yych != 'y') goto yy284;
+yy559:
+               YYDEBUG(559, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(559, *YYCURSOR);
+               YYDEBUG(560, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy558;
-                       goto yy272;
+                       if (yych == '\t') goto yy559;
+                       goto yy284;
                } else {
-                       if (yych <= ' ') goto yy558;
-                       if (yych != ')') goto yy272;
+                       if (yych <= ' ') goto yy559;
+                       if (yych != ')') goto yy284;
                }
-               YYDEBUG(560, *YYCURSOR);
-               ++YYCURSOR;
                YYDEBUG(561, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(562, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1661 "Zend/zend_language_scanner.l"
+#line 1616 "Zend/zend_language_scanner.l"
                {
-       return T_UNSET_CAST;
+       return T_BINARY_CAST;
 }
-#line 6509 "Zend/zend_language_scanner.c"
-yy562:
-               YYDEBUG(562, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy563;
-               if (yych != 'r') goto yy282;
+#line 6589 "Zend/zend_language_scanner.c"
 yy563:
                YYDEBUG(563, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+               yych = *++YYCURSOR;
+               if (yych <= 'S') {
+                       if (yych == 'I') goto yy565;
+                       if (yych <= 'R') goto yy284;
+               } else {
+                       if (yych <= 'i') {
+                               if (yych <= 'h') goto yy284;
+                               goto yy565;
+                       } else {
+                               if (yych != 's') goto yy284;
+                       }
                }
                YYDEBUG(564, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1625 "Zend/zend_language_scanner.l"
-               {
-       return T_VAR;
-}
-#line 6527 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy573;
+               if (yych == 'e') goto yy573;
+               goto yy284;
 yy565:
                YYDEBUG(565, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy569;
-               if (yych == 'm') goto yy569;
-               goto yy282;
+               if (yych == 'C') goto yy566;
+               if (yych != 'c') goto yy284;
 yy566:
                YYDEBUG(566, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy567;
-               if (yych != 'w') goto yy282;
+               if (yych == 'O') goto yy567;
+               if (yych != 'o') goto yy284;
 yy567:
                YYDEBUG(567, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'D') goto yy568;
+               if (yych != 'd') goto yy284;
+yy568:
                YYDEBUG(568, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1617 "Zend/zend_language_scanner.l"
-               {
-       return T_NEW;
-}
-#line 6551 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy569;
+               if (yych != 'e') goto yy284;
 yy569:
                YYDEBUG(569, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy570;
-               if (yych != 'e') goto yy282;
-yy570:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
                YYDEBUG(570, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy571;
-               if (yych != 's') goto yy282;
-yy571:
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy569;
+                       goto yy284;
+               } else {
+                       if (yych <= ' ') goto yy569;
+                       if (yych != ')') goto yy284;
+               }
                YYDEBUG(571, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy572;
-               if (yych != 'p') goto yy282;
-yy572:
+               ++YYCURSOR;
                YYDEBUG(572, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy573;
-               if (yych != 'a') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1612 "Zend/zend_language_scanner.l"
+               {
+       return T_UNICODE_CAST;
+}
+#line 6650 "Zend/zend_language_scanner.c"
 yy573:
                YYDEBUG(573, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy574;
-               if (yych != 'c') goto yy282;
+               if (yych == 'T') goto yy574;
+               if (yych != 't') goto yy284;
 yy574:
                YYDEBUG(574, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy575;
-               if (yych != 'e') goto yy282;
-yy575:
-               YYDEBUG(575, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               YYDEBUG(575, *YYCURSOR);
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy574;
+                       goto yy284;
+               } else {
+                       if (yych <= ' ') goto yy574;
+                       if (yych != ')') goto yy284;
                }
                YYDEBUG(576, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1685 "Zend/zend_language_scanner.l"
-               {
-       return T_NAMESPACE;
-}
-#line 6594 "Zend/zend_language_scanner.c"
-yy577:
-               YYDEBUG(577, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(578, *YYCURSOR);
+               YYDEBUG(577, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1609 "Zend/zend_language_scanner.l"
+#line 1632 "Zend/zend_language_scanner.l"
                {
-       return T_PAAMAYIM_NEKUDOTAYIM;
+       return T_UNSET_CAST;
 }
-#line 6604 "Zend/zend_language_scanner.c"
+#line 6677 "Zend/zend_language_scanner.c"
+yy578:
+               YYDEBUG(578, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy579;
+               if (yych != 'r') goto yy298;
 yy579:
                YYDEBUG(579, *YYCURSOR);
                ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy580:
-               YYDEBUG(580, *YYCURSOR);
-               if (yych <= '\f') {
-                       if (yych <= 0x08) goto yy221;
-                       if (yych <= '\n') goto yy579;
-                       goto yy221;
-               } else {
-                       if (yych <= '\r') goto yy579;
-                       if (yych == ' ') goto yy579;
-                       goto yy221;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
                }
-yy581:
-               YYDEBUG(581, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(582, *YYCURSOR);
+               YYDEBUG(580, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1785 "Zend/zend_language_scanner.l"
+#line 1596 "Zend/zend_language_scanner.l"
                {
-       return T_MINUS_EQUAL;
+       return T_VAR;
 }
-#line 6630 "Zend/zend_language_scanner.c"
+#line 6695 "Zend/zend_language_scanner.c"
+yy581:
+               YYDEBUG(581, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'M') goto yy585;
+               if (yych == 'm') goto yy585;
+               goto yy298;
+yy582:
+               YYDEBUG(582, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'W') goto yy583;
+               if (yych != 'w') goto yy298;
 yy583:
                YYDEBUG(583, *YYCURSOR);
                ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(584, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1753 "Zend/zend_language_scanner.l"
+#line 1588 "Zend/zend_language_scanner.l"
                {
-       return T_DEC;
+       return T_NEW;
 }
-#line 6640 "Zend/zend_language_scanner.c"
+#line 6719 "Zend/zend_language_scanner.c"
 yy585:
                YYDEBUG(585, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy586;
+               if (yych != 'e') goto yy298;
+yy586:
                YYDEBUG(586, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1575 "Zend/zend_language_scanner.l"
-               {
-       yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
-       return T_OBJECT_OPERATOR;
-}
-#line 6651 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy587;
+               if (yych != 's') goto yy298;
 yy587:
                YYDEBUG(587, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'O') {
-                       if (yych == 'I') goto yy594;
-                       if (yych <= 'N') goto yy282;
-                       goto yy595;
-               } else {
-                       if (yych <= 'i') {
-                               if (yych <= 'h') goto yy282;
-                               goto yy594;
-                       } else {
-                               if (yych == 'o') goto yy595;
-                               goto yy282;
-                       }
-               }
+               if (yych == 'P') goto yy588;
+               if (yych != 'p') goto yy298;
 yy588:
                YYDEBUG(588, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy589;
-               if (yych != 'b') goto yy282;
+               if (yych == 'A') goto yy589;
+               if (yych != 'a') goto yy298;
 yy589:
                YYDEBUG(589, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy590;
-               if (yych != 'l') goto yy282;
+               if (yych == 'C') goto yy590;
+               if (yych != 'c') goto yy298;
 yy590:
                YYDEBUG(590, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy591;
-               if (yych != 'i') goto yy282;
+               if (yych == 'E') goto yy591;
+               if (yych != 'e') goto yy298;
 yy591:
                YYDEBUG(591, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy592;
-               if (yych != 'c') goto yy282;
-yy592:
-               YYDEBUG(592, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(593, *YYCURSOR);
+               YYDEBUG(592, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1729 "Zend/zend_language_scanner.l"
+#line 1656 "Zend/zend_language_scanner.l"
                {
-       return T_PUBLIC;
+       return T_NAMESPACE;
 }
-#line 6700 "Zend/zend_language_scanner.c"
-yy594:
+#line 6762 "Zend/zend_language_scanner.c"
+yy593:
+               YYDEBUG(593, *YYCURSOR);
+               ++YYCURSOR;
                YYDEBUG(594, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych <= 'V') {
-                       if (yych == 'N') goto yy603;
-                       if (yych <= 'U') goto yy282;
-                       goto yy604;
-               } else {
-                       if (yych <= 'n') {
-                               if (yych <= 'm') goto yy282;
-                               goto yy603;
-                       } else {
-                               if (yych == 'v') goto yy604;
-                               goto yy282;
-                       }
-               }
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1580 "Zend/zend_language_scanner.l"
+               {
+       return T_PAAMAYIM_NEKUDOTAYIM;
+}
+#line 6772 "Zend/zend_language_scanner.c"
 yy595:
                YYDEBUG(595, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy596;
-               if (yych != 't') goto yy282;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
 yy596:
                YYDEBUG(596, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy597;
-               if (yych != 'e') goto yy282;
+               if (yych <= '\f') {
+                       if (yych <= 0x08) goto yy237;
+                       if (yych <= '\n') goto yy595;
+                       goto yy237;
+               } else {
+                       if (yych <= '\r') goto yy595;
+                       if (yych == ' ') goto yy595;
+                       goto yy237;
+               }
 yy597:
                YYDEBUG(597, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy598;
-               if (yych != 'c') goto yy282;
-yy598:
+               ++YYCURSOR;
                YYDEBUG(598, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy599;
-               if (yych != 't') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1756 "Zend/zend_language_scanner.l"
+               {
+       return T_MINUS_EQUAL;
+}
+#line 6798 "Zend/zend_language_scanner.c"
 yy599:
                YYDEBUG(599, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy600;
-               if (yych != 'e') goto yy282;
-yy600:
+               ++YYCURSOR;
                YYDEBUG(600, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'D') goto yy601;
-               if (yych != 'd') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1724 "Zend/zend_language_scanner.l"
+               {
+       return T_DEC;
+}
+#line 6808 "Zend/zend_language_scanner.c"
 yy601:
                YYDEBUG(601, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
                YYDEBUG(602, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1546 "Zend/zend_language_scanner.l"
                {
-       return T_PROTECTED;
+       yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+       return T_OBJECT_OPERATOR;
 }
-#line 6759 "Zend/zend_language_scanner.c"
+#line 6819 "Zend/zend_language_scanner.c"
 yy603:
                YYDEBUG(603, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy609;
-               if (yych == 't') goto yy609;
-               goto yy282;
+               if (yych <= 'O') {
+                       if (yych == 'I') goto yy610;
+                       if (yych <= 'N') goto yy298;
+                       goto yy611;
+               } else {
+                       if (yych <= 'i') {
+                               if (yych <= 'h') goto yy298;
+                               goto yy610;
+                       } else {
+                               if (yych == 'o') goto yy611;
+                               goto yy298;
+                       }
+               }
 yy604:
                YYDEBUG(604, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy605;
-               if (yych != 'a') goto yy282;
+               if (yych == 'B') goto yy605;
+               if (yych != 'b') goto yy298;
 yy605:
                YYDEBUG(605, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy606;
-               if (yych != 't') goto yy282;
+               if (yych == 'L') goto yy606;
+               if (yych != 'l') goto yy298;
 yy606:
                YYDEBUG(606, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy607;
-               if (yych != 'e') goto yy282;
+               if (yych == 'I') goto yy607;
+               if (yych != 'i') goto yy298;
 yy607:
                YYDEBUG(607, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy608;
+               if (yych != 'c') goto yy298;
+yy608:
+               YYDEBUG(608, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(608, *YYCURSOR);
+               YYDEBUG(609, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1721 "Zend/zend_language_scanner.l"
+#line 1700 "Zend/zend_language_scanner.l"
                {
-       return T_PRIVATE;
+       return T_PUBLIC;
 }
-#line 6793 "Zend/zend_language_scanner.c"
-yy609:
-               YYDEBUG(609, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+#line 6868 "Zend/zend_language_scanner.c"
+yy610:
                YYDEBUG(610, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1555 "Zend/zend_language_scanner.l"
-               {
-       return T_PRINT;
-}
-#line 6806 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych <= 'V') {
+                       if (yych == 'N') goto yy619;
+                       if (yych <= 'U') goto yy298;
+                       goto yy620;
+               } else {
+                       if (yych <= 'n') {
+                               if (yych <= 'm') goto yy298;
+                               goto yy619;
+                       } else {
+                               if (yych == 'v') goto yy620;
+                               goto yy298;
+                       }
+               }
 yy611:
                YYDEBUG(611, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy616;
-               if (yych == 'o') goto yy616;
-               goto yy282;
+               if (yych == 'T') goto yy612;
+               if (yych != 't') goto yy298;
 yy612:
                YYDEBUG(612, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy613;
-               if (yych != 't') goto yy282;
+               if (yych == 'E') goto yy613;
+               if (yych != 'e') goto yy298;
 yy613:
                YYDEBUG(613, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy614;
-               if (yych != 'o') goto yy282;
+               if (yych == 'C') goto yy614;
+               if (yych != 'c') goto yy298;
 yy614:
                YYDEBUG(614, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy615;
+               if (yych != 't') goto yy298;
+yy615:
                YYDEBUG(615, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1547 "Zend/zend_language_scanner.l"
-               {
-       return T_GOTO;
-}
-#line 6835 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy616;
+               if (yych != 'e') goto yy298;
 yy616:
                YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy617;
-               if (yych != 'b') goto yy282;
+               if (yych == 'D') goto yy617;
+               if (yych != 'd') goto yy298;
 yy617:
                YYDEBUG(617, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy618;
-               if (yych != 'a') goto yy282;
-yy618:
-               YYDEBUG(618, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy619;
-               if (yych != 'l') goto yy282;
-yy619:
-               YYDEBUG(619, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(620, *YYCURSOR);
+               YYDEBUG(618, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1693 "Zend/zend_language_scanner.l"
+#line 1696 "Zend/zend_language_scanner.l"
                {
-       return T_GLOBAL;
+       return T_PROTECTED;
 }
-#line 6863 "Zend/zend_language_scanner.c"
+#line 6927 "Zend/zend_language_scanner.c"
+yy619:
+               YYDEBUG(619, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy625;
+               if (yych == 't') goto yy625;
+               goto yy298;
+yy620:
+               YYDEBUG(620, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy621;
+               if (yych != 'a') goto yy298;
 yy621:
                YYDEBUG(621, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy644;
-               goto yy272;
+               if (yych == 'T') goto yy622;
+               if (yych != 't') goto yy298;
 yy622:
                YYDEBUG(622, *YYCURSOR);
-               yyaccept = 8;
-               yych = *(YYMARKER = ++YYCURSOR);
-               goto yy637;
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy623;
+               if (yych != 'e') goto yy298;
 yy623:
                YYDEBUG(623, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(624, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2427 "Zend/zend_language_scanner.l"
+#line 1692 "Zend/zend_language_scanner.l"
                {
-       BEGIN(ST_DOUBLE_QUOTES);
-       return T_BINARY_DOUBLE;
+       return T_PRIVATE;
 }
-#line 6882 "Zend/zend_language_scanner.c"
-yy624:
-               YYDEBUG(624, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
+#line 6961 "Zend/zend_language_scanner.c"
+yy625:
                YYDEBUG(625, *YYCURSOR);
-               if (yych == '\'') goto yy632;
-               if (yych == '\\') goto yy631;
-               goto yy624;
-yy626:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(626, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy627;
-               if (yych != 'e') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1526 "Zend/zend_language_scanner.l"
+               {
+       return T_PRINT;
+}
+#line 6974 "Zend/zend_language_scanner.c"
 yy627:
                YYDEBUG(627, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy628;
-               if (yych != 'a') goto yy282;
+               if (yych == 'O') goto yy632;
+               if (yych == 'o') goto yy632;
+               goto yy298;
 yy628:
                YYDEBUG(628, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'K') goto yy629;
-               if (yych != 'k') goto yy282;
+               if (yych == 'T') goto yy629;
+               if (yych != 't') goto yy298;
 yy629:
                YYDEBUG(629, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'O') goto yy630;
+               if (yych != 'o') goto yy298;
+yy630:
+               YYDEBUG(630, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(630, *YYCURSOR);
+               YYDEBUG(631, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1539 "Zend/zend_language_scanner.l"
+#line 1518 "Zend/zend_language_scanner.l"
                {
-       return T_BREAK;
+       return T_GOTO;
 }
-#line 6919 "Zend/zend_language_scanner.c"
-yy631:
-               YYDEBUG(631, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               goto yy624;
+#line 7003 "Zend/zend_language_scanner.c"
 yy632:
                YYDEBUG(632, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'B') goto yy633;
+               if (yych != 'b') goto yy298;
+yy633:
                YYDEBUG(633, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 2416 "Zend/zend_language_scanner.l"
-               {
-       zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC);
-       return T_CONSTANT_ENCAPSED_STRING;
-}
-#line 6936 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy634;
+               if (yych != 'a') goto yy298;
 yy634:
                YYDEBUG(634, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy635;
+               if (yych != 'l') goto yy298;
+yy635:
                YYDEBUG(635, *YYCURSOR);
-               if (yych <= '$') {
-                       if (yych == '"') goto yy641;
-                       if (yych >= '$') goto yy272;
-               } else {
-                       if (yych <= '\\') {
-                               if (yych >= '\\') goto yy638;
-                       } else {
-                               if (yych == '{') goto yy634;
-                       }
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
                }
-yy636:
                YYDEBUG(636, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1664 "Zend/zend_language_scanner.l"
+               {
+       return T_GLOBAL;
+}
+#line 7031 "Zend/zend_language_scanner.c"
 yy637:
                YYDEBUG(637, *YYCURSOR);
-               if (yych <= '$') {
-                       if (yych == '"') goto yy641;
-                       if (yych <= '#') goto yy636;
-                       goto yy639;
-               } else {
-                       if (yych <= '\\') {
-                               if (yych <= '[') goto yy636;
-                       } else {
-                               if (yych == '{') goto yy634;
-                               goto yy636;
-                       }
-               }
+               yych = *++YYCURSOR;
+               if (yych == '<') goto yy660;
+               goto yy284;
 yy638:
                YYDEBUG(638, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               goto yy636;
+               yyaccept = 8;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych >= 0x01) goto yy653;
 yy639:
                YYDEBUG(639, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2403 "Zend/zend_language_scanner.l"
+               {
+       BEGIN(ST_DOUBLE_QUOTES);
+       return T_BINARY_DOUBLE;
+}
+#line 7050 "Zend/zend_language_scanner.c"
+yy640:
+               YYDEBUG(640, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(640, *YYCURSOR);
-               if (yych <= '[') {
-                       if (yych <= '#') {
-                               if (yych != '"') goto yy636;
-                       } else {
-                               if (yych <= '$') goto yy639;
-                               if (yych <= '@') goto yy636;
-                               if (yych <= 'Z') goto yy272;
-                               goto yy636;
-                       }
-               } else {
-                       if (yych <= '_') {
-                               if (yych <= '\\') goto yy643;
-                               if (yych <= '^') goto yy636;
-                               goto yy272;
-                       } else {
-                               if (yych <= '`') goto yy636;
-                               if (yych <= '{') goto yy272;
-                               if (yych <= '~') goto yy636;
-                               goto yy272;
-                       }
-               }
-yy641:
                YYDEBUG(641, *YYCURSOR);
-               ++YYCURSOR;
+               if (yych == '\'') goto yy648;
+               if (yych == '\\') goto yy647;
+               goto yy640;
+yy642:
                YYDEBUG(642, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 2400 "Zend/zend_language_scanner.l"
-               {
-       zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC);
-       return T_CONSTANT_ENCAPSED_STRING;
-}
-#line 7015 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy643;
+               if (yych != 'e') goto yy298;
 yy643:
                YYDEBUG(643, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               goto yy636;
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy644;
+               if (yych != 'a') goto yy298;
 yy644:
                YYDEBUG(644, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy361;
-               goto yy272;
+               if (yych == 'K') goto yy645;
+               if (yych != 'k') goto yy298;
 yy645:
                YYDEBUG(645, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy652;
-               if (yych == 'a') goto yy652;
-               goto yy282;
-yy646:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(646, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy647;
-               if (yych != 'i') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1510 "Zend/zend_language_scanner.l"
+               {
+       return T_BREAK;
+}
+#line 7087 "Zend/zend_language_scanner.c"
 yy647:
                YYDEBUG(647, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy648;
-               if (yych != 't') goto yy282;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= 0x00) goto yy284;
+               goto yy640;
 yy648:
                YYDEBUG(648, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy649;
-               if (yych != 'c') goto yy282;
-yy649:
+               ++YYCURSOR;
                YYDEBUG(649, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy650;
-               if (yych != 'h') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2392 "Zend/zend_language_scanner.l"
+               {
+       zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC);
+       return T_CONSTANT_ENCAPSED_STRING;
+}
+#line 7105 "Zend/zend_language_scanner.c"
 yy650:
                YYDEBUG(650, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               YYFILL(1);
+               yych = *YYCURSOR;
                YYDEBUG(651, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1523 "Zend/zend_language_scanner.l"
-               {
-       return T_SWITCH;
-}
-#line 7065 "Zend/zend_language_scanner.c"
+               if (yych <= '$') {
+                       if (yych <= '!') {
+                               if (yych <= 0x00) goto yy284;
+                       } else {
+                               if (yych <= '"') goto yy657;
+                               if (yych >= '$') goto yy284;
+                       }
+               } else {
+                       if (yych <= '\\') {
+                               if (yych >= '\\') goto yy654;
+                       } else {
+                               if (yych == '{') goto yy650;
+                       }
+               }
 yy652:
                YYDEBUG(652, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy653;
-               if (yych != 't') goto yy282;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
 yy653:
                YYDEBUG(653, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy654;
-               if (yych != 'i') goto yy282;
+               if (yych <= '$') {
+                       if (yych <= '!') {
+                               if (yych <= 0x00) goto yy284;
+                               goto yy652;
+                       } else {
+                               if (yych <= '"') goto yy657;
+                               if (yych <= '#') goto yy652;
+                               goto yy655;
+                       }
+               } else {
+                       if (yych <= '\\') {
+                               if (yych <= '[') goto yy652;
+                       } else {
+                               if (yych == '{') goto yy650;
+                               goto yy652;
+                       }
+               }
 yy654:
                YYDEBUG(654, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy655;
-               if (yych != 'c') goto yy282;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= 0x00) goto yy284;
+               goto yy652;
 yy655:
                YYDEBUG(655, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               YYFILL(1);
+               yych = *YYCURSOR;
                YYDEBUG(656, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
-               {
-       return T_STATIC;
-}
-#line 7093 "Zend/zend_language_scanner.c"
+               if (yych <= 'Z') {
+                       if (yych <= '"') {
+                               if (yych <= 0x00) goto yy284;
+                               if (yych <= '!') goto yy652;
+                       } else {
+                               if (yych == '$') goto yy655;
+                               if (yych <= '@') goto yy652;
+                               goto yy284;
+                       }
+               } else {
+                       if (yych <= '_') {
+                               if (yych == '\\') goto yy659;
+                               if (yych <= '^') goto yy652;
+                               goto yy284;
+                       } else {
+                               if (yych <= '`') goto yy652;
+                               if (yych <= '{') goto yy284;
+                               if (yych <= '~') goto yy652;
+                               goto yy284;
+                       }
+               }
 yy657:
                YYDEBUG(657, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy668;
-               if (yych == 's') goto yy668;
-               goto yy282;
-yy658:
+               ++YYCURSOR;
                YYDEBUG(658, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'D') goto yy666;
-               if (yych == 'd') goto yy666;
-               goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2376 "Zend/zend_language_scanner.l"
+               {
+       zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC);
+       return T_CONSTANT_ENCAPSED_STRING;
+}
+#line 7194 "Zend/zend_language_scanner.c"
 yy659:
                YYDEBUG(659, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy662;
-               if (yych == 'r') goto yy662;
-               goto yy282;
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= 0x00) goto yy284;
+               goto yy652;
 yy660:
                YYDEBUG(660, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == '<') goto yy377;
+               goto yy284;
+yy661:
                YYDEBUG(661, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1519 "Zend/zend_language_scanner.l"
-               {
-       return T_AS;
-}
-#line 7124 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy668;
+               if (yych == 'a') goto yy668;
+               goto yy298;
 yy662:
                YYDEBUG(662, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy663;
-               if (yych != 'a') goto yy282;
+               if (yych == 'I') goto yy663;
+               if (yych != 'i') goto yy298;
 yy663:
                YYDEBUG(663, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy664;
-               if (yych != 'y') goto yy282;
+               if (yych == 'T') goto yy664;
+               if (yych != 't') goto yy298;
 yy664:
                YYDEBUG(664, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy665;
+               if (yych != 'c') goto yy298;
+yy665:
                YYDEBUG(665, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1745 "Zend/zend_language_scanner.l"
-               {
-       return T_ARRAY;
-}
-#line 7147 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'H') goto yy666;
+               if (yych != 'h') goto yy298;
 yy666:
                YYDEBUG(666, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
                YYDEBUG(667, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1837 "Zend/zend_language_scanner.l"
+#line 1494 "Zend/zend_language_scanner.l"
                {
-       return T_LOGICAL_AND;
+       return T_SWITCH;
 }
-#line 7160 "Zend/zend_language_scanner.c"
+#line 7245 "Zend/zend_language_scanner.c"
 yy668:
                YYDEBUG(668, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'T') goto yy669;
-               if (yych != 't') goto yy282;
+               if (yych != 't') goto yy298;
 yy669:
                YYDEBUG(669, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy670;
-               if (yych != 'r') goto yy282;
+               if (yych == 'I') goto yy670;
+               if (yych != 'i') goto yy298;
 yy670:
                YYDEBUG(670, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy671;
-               if (yych != 'a') goto yy282;
+               if (yych == 'C') goto yy671;
+               if (yych != 'c') goto yy298;
 yy671:
                YYDEBUG(671, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy672;
-               if (yych != 'c') goto yy282;
-yy672:
-               YYDEBUG(672, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy673;
-               if (yych != 't') goto yy282;
-yy673:
-               YYDEBUG(673, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(674, *YYCURSOR);
+               YYDEBUG(672, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1713 "Zend/zend_language_scanner.l"
+#line 1680 "Zend/zend_language_scanner.l"
                {
-       return T_ABSTRACT;
+       return T_STATIC;
 }
-#line 7198 "Zend/zend_language_scanner.c"
+#line 7273 "Zend/zend_language_scanner.c"
+yy673:
+               YYDEBUG(673, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy684;
+               if (yych == 's') goto yy684;
+               goto yy298;
+yy674:
+               YYDEBUG(674, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'D') goto yy682;
+               if (yych == 'd') goto yy682;
+               goto yy298;
 yy675:
                YYDEBUG(675, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy676;
-               if (yych != 'i') goto yy282;
+               if (yych == 'R') goto yy678;
+               if (yych == 'r') goto yy678;
+               goto yy298;
 yy676:
                YYDEBUG(676, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy677;
-               if (yych != 'l') goto yy282;
-yy677:
-               YYDEBUG(677, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy678;
-               if (yych != 'e') goto yy282;
-yy678:
-               YYDEBUG(678, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(679, *YYCURSOR);
+               YYDEBUG(677, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1479 "Zend/zend_language_scanner.l"
+#line 1490 "Zend/zend_language_scanner.l"
                {
-       return T_WHILE;
+       return T_AS;
 }
-#line 7226 "Zend/zend_language_scanner.c"
+#line 7304 "Zend/zend_language_scanner.c"
+yy678:
+               YYDEBUG(678, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy679;
+               if (yych != 'a') goto yy298;
+yy679:
+               YYDEBUG(679, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'Y') goto yy680;
+               if (yych != 'y') goto yy298;
 yy680:
                YYDEBUG(680, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
                YYDEBUG(681, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1463 "Zend/zend_language_scanner.l"
+#line 1716 "Zend/zend_language_scanner.l"
                {
-       return T_IF;
+       return T_ARRAY;
 }
-#line 7239 "Zend/zend_language_scanner.c"
+#line 7327 "Zend/zend_language_scanner.c"
 yy682:
                YYDEBUG(682, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy718;
-               if (yych == 'p') goto yy718;
-               goto yy282;
-yy683:
-               YYDEBUG(683, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych <= 'T') {
-                       if (yych <= 'C') {
-                               if (yych <= 'B') goto yy282;
-                               goto yy691;
-                       } else {
-                               if (yych <= 'R') goto yy282;
-                               if (yych <= 'S') goto yy689;
-                               goto yy690;
-                       }
-               } else {
-                       if (yych <= 'r') {
-                               if (yych == 'c') goto yy691;
-                               goto yy282;
-                       } else {
-                               if (yych <= 's') goto yy689;
-                               if (yych <= 't') goto yy690;
-                               goto yy282;
-                       }
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
                }
+               YYDEBUG(683, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1808 "Zend/zend_language_scanner.l"
+               {
+       return T_LOGICAL_AND;
+}
+#line 7340 "Zend/zend_language_scanner.c"
 yy684:
                YYDEBUG(684, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy685;
-               if (yych != 's') goto yy282;
+               if (yych == 'T') goto yy685;
+               if (yych != 't') goto yy298;
 yy685:
                YYDEBUG(685, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy686;
-               if (yych != 'e') goto yy282;
+               if (yych == 'R') goto yy686;
+               if (yych != 'r') goto yy298;
 yy686:
                YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy687;
-               if (yych != 't') goto yy282;
+               if (yych == 'A') goto yy687;
+               if (yych != 'a') goto yy298;
 yy687:
                YYDEBUG(687, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy688;
+               if (yych != 'c') goto yy298;
+yy688:
+               YYDEBUG(688, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy689;
+               if (yych != 't') goto yy298;
+yy689:
+               YYDEBUG(689, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(688, *YYCURSOR);
+               YYDEBUG(690, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1697 "Zend/zend_language_scanner.l"
+#line 1684 "Zend/zend_language_scanner.l"
                {
-       return T_ISSET;
+       return T_ABSTRACT;
 }
-#line 7295 "Zend/zend_language_scanner.c"
-yy689:
-               YYDEBUG(689, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy710;
-               if (yych == 't') goto yy710;
-               goto yy282;
-yy690:
-               YYDEBUG(690, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy703;
-               if (yych == 'e') goto yy703;
-               goto yy282;
+#line 7378 "Zend/zend_language_scanner.c"
 yy691:
                YYDEBUG(691, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy692;
-               if (yych != 'l') goto yy282;
+               if (yych == 'I') goto yy692;
+               if (yych != 'i') goto yy298;
 yy692:
                YYDEBUG(692, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy693;
-               if (yych != 'u') goto yy282;
+               if (yych == 'L') goto yy693;
+               if (yych != 'l') goto yy298;
 yy693:
                YYDEBUG(693, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy694;
-               if (yych != 'd') goto yy282;
+               if (yych == 'E') goto yy694;
+               if (yych != 'e') goto yy298;
 yy694:
                YYDEBUG(694, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy695;
-               if (yych != 'e') goto yy282;
-yy695:
-               YYDEBUG(695, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) <= '^') {
-                       if (yych <= '9') {
-                               if (yych >= '0') goto yy281;
-                       } else {
-                               if (yych <= '@') goto yy696;
-                               if (yych <= 'Z') goto yy281;
-                       }
-               } else {
-                       if (yych <= '`') {
-                               if (yych <= '_') goto yy697;
-                       } else {
-                               if (yych <= 'z') goto yy281;
-                               if (yych >= 0x7F) goto yy281;
-                       }
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
                }
+               YYDEBUG(695, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1450 "Zend/zend_language_scanner.l"
+               {
+       return T_WHILE;
+}
+#line 7406 "Zend/zend_language_scanner.c"
 yy696:
                YYDEBUG(696, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(697, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1669 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
                {
-       return T_INCLUDE;
+       return T_IF;
 }
-#line 7353 "Zend/zend_language_scanner.c"
-yy697:
-               YYDEBUG(697, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'O') goto yy698;
-               if (yych != 'o') goto yy282;
+#line 7419 "Zend/zend_language_scanner.c"
 yy698:
                YYDEBUG(698, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy699;
-               if (yych != 'n') goto yy282;
+               if (yych == 'P') goto yy734;
+               if (yych == 'p') goto yy734;
+               goto yy298;
 yy699:
                YYDEBUG(699, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy700;
-               if (yych != 'c') goto yy282;
+               if (yych <= 'T') {
+                       if (yych <= 'C') {
+                               if (yych <= 'B') goto yy298;
+                               goto yy707;
+                       } else {
+                               if (yych <= 'R') goto yy298;
+                               if (yych <= 'S') goto yy705;
+                               goto yy706;
+                       }
+               } else {
+                       if (yych <= 'r') {
+                               if (yych == 'c') goto yy707;
+                               goto yy298;
+                       } else {
+                               if (yych <= 's') goto yy705;
+                               if (yych <= 't') goto yy706;
+                               goto yy298;
+                       }
+               }
 yy700:
                YYDEBUG(700, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy701;
-               if (yych != 'e') goto yy282;
+               if (yych == 'S') goto yy701;
+               if (yych != 's') goto yy298;
 yy701:
                YYDEBUG(701, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy702;
+               if (yych != 'e') goto yy298;
+yy702:
+               YYDEBUG(702, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy703;
+               if (yych != 't') goto yy298;
+yy703:
+               YYDEBUG(703, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(702, *YYCURSOR);
+               YYDEBUG(704, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1673 "Zend/zend_language_scanner.l"
+#line 1668 "Zend/zend_language_scanner.l"
                {
-       return T_INCLUDE_ONCE;
+       return T_ISSET;
 }
-#line 7386 "Zend/zend_language_scanner.c"
-yy703:
-               YYDEBUG(703, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy704;
-               if (yych != 'r') goto yy282;
-yy704:
-               YYDEBUG(704, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'F') goto yy705;
-               if (yych != 'f') goto yy282;
+#line 7475 "Zend/zend_language_scanner.c"
 yy705:
                YYDEBUG(705, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy706;
-               if (yych != 'a') goto yy282;
+               if (yych == 'T') goto yy726;
+               if (yych == 't') goto yy726;
+               goto yy298;
 yy706:
                YYDEBUG(706, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy707;
-               if (yych != 'c') goto yy282;
+               if (yych == 'E') goto yy719;
+               if (yych == 'e') goto yy719;
+               goto yy298;
 yy707:
                YYDEBUG(707, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy708;
-               if (yych != 'e') goto yy282;
+               if (yych == 'L') goto yy708;
+               if (yych != 'l') goto yy298;
 yy708:
                YYDEBUG(708, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'U') goto yy709;
+               if (yych != 'u') goto yy298;
+yy709:
                YYDEBUG(709, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1563 "Zend/zend_language_scanner.l"
-               {
-       return T_INTERFACE;
-}
-#line 7424 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'D') goto yy710;
+               if (yych != 'd') goto yy298;
 yy710:
                YYDEBUG(710, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy711;
-               if (yych != 'a') goto yy282;
+               if (yych == 'E') goto yy711;
+               if (yych != 'e') goto yy298;
 yy711:
                YYDEBUG(711, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy712;
-               if (yych != 'n') goto yy282;
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) <= '^') {
+                       if (yych <= '9') {
+                               if (yych >= '0') goto yy297;
+                       } else {
+                               if (yych <= '@') goto yy712;
+                               if (yych <= 'Z') goto yy297;
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= '_') goto yy713;
+                       } else {
+                               if (yych <= 'z') goto yy297;
+                               if (yych >= 0x7F) goto yy297;
+                       }
+               }
 yy712:
                YYDEBUG(712, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy713;
-               if (yych != 'c') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1640 "Zend/zend_language_scanner.l"
+               {
+       return T_INCLUDE;
+}
+#line 7533 "Zend/zend_language_scanner.c"
 yy713:
                YYDEBUG(713, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy714;
-               if (yych != 'e') goto yy282;
+               if (yych == 'O') goto yy714;
+               if (yych != 'o') goto yy298;
 yy714:
                YYDEBUG(714, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy715;
-               if (yych != 'o') goto yy282;
+               if (yych == 'N') goto yy715;
+               if (yych != 'n') goto yy298;
 yy715:
                YYDEBUG(715, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy716;
-               if (yych != 'f') goto yy282;
+               if (yych == 'C') goto yy716;
+               if (yych != 'c') goto yy298;
 yy716:
                YYDEBUG(716, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy717;
+               if (yych != 'e') goto yy298;
+yy717:
+               YYDEBUG(717, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(717, *YYCURSOR);
+               YYDEBUG(718, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1515 "Zend/zend_language_scanner.l"
+#line 1644 "Zend/zend_language_scanner.l"
                {
-       return T_INSTANCEOF;
+       return T_INCLUDE_ONCE;
 }
-#line 7467 "Zend/zend_language_scanner.c"
-yy718:
-               YYDEBUG(718, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy719;
-               if (yych != 'l') goto yy282;
+#line 7566 "Zend/zend_language_scanner.c"
 yy719:
                YYDEBUG(719, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy720;
-               if (yych != 'e') goto yy282;
+               if (yych == 'R') goto yy720;
+               if (yych != 'r') goto yy298;
 yy720:
                YYDEBUG(720, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy721;
-               if (yych != 'm') goto yy282;
+               if (yych == 'F') goto yy721;
+               if (yych != 'f') goto yy298;
 yy721:
                YYDEBUG(721, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy722;
-               if (yych != 'e') goto yy282;
+               if (yych == 'A') goto yy722;
+               if (yych != 'a') goto yy298;
 yy722:
                YYDEBUG(722, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy723;
-               if (yych != 'n') goto yy282;
+               if (yych == 'C') goto yy723;
+               if (yych != 'c') goto yy298;
 yy723:
                YYDEBUG(723, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy724;
-               if (yych != 't') goto yy282;
+               if (yych == 'E') goto yy724;
+               if (yych != 'e') goto yy298;
 yy724:
                YYDEBUG(724, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy725;
-               if (yych != 's') goto yy282;
-yy725:
-               YYDEBUG(725, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(726, *YYCURSOR);
+               YYDEBUG(725, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1571 "Zend/zend_language_scanner.l"
+#line 1534 "Zend/zend_language_scanner.l"
                {
-       return T_IMPLEMENTS;
+       return T_INTERFACE;
 }
-#line 7515 "Zend/zend_language_scanner.c"
+#line 7604 "Zend/zend_language_scanner.c"
+yy726:
+               YYDEBUG(726, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy727;
+               if (yych != 'a') goto yy298;
 yy727:
                YYDEBUG(727, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy731;
-               if (yych == 'r') goto yy731;
-               goto yy282;
+               if (yych == 'N') goto yy728;
+               if (yych != 'n') goto yy298;
 yy728:
                YYDEBUG(728, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy729;
-               if (yych != 'y') goto yy282;
+               if (yych == 'C') goto yy729;
+               if (yych != 'c') goto yy298;
 yy729:
                YYDEBUG(729, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy730;
+               if (yych != 'e') goto yy298;
+yy730:
                YYDEBUG(730, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1451 "Zend/zend_language_scanner.l"
-               {
-       return T_TRY;
-}
-#line 7539 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'O') goto yy731;
+               if (yych != 'o') goto yy298;
 yy731:
                YYDEBUG(731, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy732;
-               if (yych != 'o') goto yy282;
+               if (yych == 'F') goto yy732;
+               if (yych != 'f') goto yy298;
 yy732:
                YYDEBUG(732, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'W') goto yy733;
-               if (yych != 'w') goto yy282;
-yy733:
-               YYDEBUG(733, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(734, *YYCURSOR);
+               YYDEBUG(733, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1459 "Zend/zend_language_scanner.l"
+#line 1486 "Zend/zend_language_scanner.l"
                {
-       return T_THROW;
+       return T_INSTANCEOF;
 }
-#line 7562 "Zend/zend_language_scanner.c"
+#line 7647 "Zend/zend_language_scanner.c"
+yy734:
+               YYDEBUG(734, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy735;
+               if (yych != 'l') goto yy298;
 yy735:
                YYDEBUG(735, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'T') {
-                       if (yych == 'Q') goto yy737;
-                       if (yych <= 'S') goto yy282;
-               } else {
-                       if (yych <= 'q') {
-                               if (yych <= 'p') goto yy282;
-                               goto yy737;
-                       } else {
-                               if (yych != 't') goto yy282;
-                       }
-               }
+               if (yych == 'E') goto yy736;
+               if (yych != 'e') goto yy298;
+yy736:
                YYDEBUG(736, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy749;
-               if (yych == 'u') goto yy749;
-               goto yy282;
+               if (yych == 'M') goto yy737;
+               if (yych != 'm') goto yy298;
 yy737:
                YYDEBUG(737, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy738;
-               if (yych != 'u') goto yy282;
+               if (yych == 'E') goto yy738;
+               if (yych != 'e') goto yy298;
 yy738:
                YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy739;
-               if (yych != 'i') goto yy282;
+               if (yych == 'N') goto yy739;
+               if (yych != 'n') goto yy298;
 yy739:
                YYDEBUG(739, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy740;
-               if (yych != 'r') goto yy282;
+               if (yych == 'T') goto yy740;
+               if (yych != 't') goto yy298;
 yy740:
                YYDEBUG(740, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy741;
-               if (yych != 'e') goto yy282;
+               if (yych == 'S') goto yy741;
+               if (yych != 's') goto yy298;
 yy741:
                YYDEBUG(741, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) <= '^') {
-                       if (yych <= '9') {
-                               if (yych >= '0') goto yy281;
-                       } else {
-                               if (yych <= '@') goto yy742;
-                               if (yych <= 'Z') goto yy281;
-                       }
-               } else {
-                       if (yych <= '`') {
-                               if (yych <= '_') goto yy743;
-                       } else {
-                               if (yych <= 'z') goto yy281;
-                               if (yych >= 0x7F) goto yy281;
-                       }
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
                }
-yy742:
                YYDEBUG(742, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1677 "Zend/zend_language_scanner.l"
+#line 1542 "Zend/zend_language_scanner.l"
                {
-       return T_REQUIRE;
+       return T_IMPLEMENTS;
 }
-#line 7627 "Zend/zend_language_scanner.c"
+#line 7695 "Zend/zend_language_scanner.c"
 yy743:
                YYDEBUG(743, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy744;
-               if (yych != 'o') goto yy282;
+               if (yych == 'R') goto yy747;
+               if (yych == 'r') goto yy747;
+               goto yy298;
 yy744:
                YYDEBUG(744, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy745;
-               if (yych != 'n') goto yy282;
+               if (yych == 'Y') goto yy745;
+               if (yych != 'y') goto yy298;
 yy745:
                YYDEBUG(745, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy746;
-               if (yych != 'c') goto yy282;
-yy746:
-               YYDEBUG(746, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy747;
-               if (yych != 'e') goto yy282;
-yy747:
-               YYDEBUG(747, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(748, *YYCURSOR);
+               YYDEBUG(746, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1681 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
                {
-       return T_REQUIRE_ONCE;
-}
-#line 7660 "Zend/zend_language_scanner.c"
-yy749:
-               YYDEBUG(749, *YYCURSOR);
+       return T_TRY;
+}
+#line 7719 "Zend/zend_language_scanner.c"
+yy747:
+               YYDEBUG(747, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy750;
-               if (yych != 'r') goto yy282;
-yy750:
-               YYDEBUG(750, *YYCURSOR);
+               if (yych == 'O') goto yy748;
+               if (yych != 'o') goto yy298;
+yy748:
+               YYDEBUG(748, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy751;
-               if (yych != 'n') goto yy282;
-yy751:
-               YYDEBUG(751, *YYCURSOR);
+               if (yych == 'W') goto yy749;
+               if (yych != 'w') goto yy298;
+yy749:
+               YYDEBUG(749, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(752, *YYCURSOR);
+               YYDEBUG(750, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1447 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
                {
-       return T_RETURN;
+       return T_THROW;
 }
-#line 7683 "Zend/zend_language_scanner.c"
-yy753:
-               YYDEBUG(753, *YYCURSOR);
+#line 7742 "Zend/zend_language_scanner.c"
+yy751:
+               YYDEBUG(751, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych <= 'R') goto yy282;
-                       if (yych <= 'S') goto yy775;
-                       goto yy774;
+                       if (yych == 'Q') goto yy753;
+                       if (yych <= 'S') goto yy298;
                } else {
-                       if (yych <= 'r') goto yy282;
-                       if (yych <= 's') goto yy775;
-                       if (yych <= 't') goto yy774;
-                       goto yy282;
+                       if (yych <= 'q') {
+                               if (yych <= 'p') goto yy298;
+                               goto yy753;
+                       } else {
+                               if (yych != 't') goto yy298;
+                       }
                }
+               YYDEBUG(752, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'U') goto yy765;
+               if (yych == 'u') goto yy765;
+               goto yy298;
+yy753:
+               YYDEBUG(753, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'U') goto yy754;
+               if (yych != 'u') goto yy298;
 yy754:
                YYDEBUG(754, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'O') {
-                       if (yych == 'A') goto yy766;
-                       if (yych <= 'N') goto yy282;
-                       goto yy767;
-               } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy282;
-                               goto yy766;
-                       } else {
-                               if (yych == 'o') goto yy767;
-                               goto yy282;
-                       }
-               }
+               if (yych == 'I') goto yy755;
+               if (yych != 'i') goto yy298;
 yy755:
                YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy756;
-               if (yych != 'n') goto yy282;
+               if (yych == 'R') goto yy756;
+               if (yych != 'r') goto yy298;
 yy756:
                YYDEBUG(756, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'T') {
-                       if (yych <= 'R') goto yy282;
-                       if (yych >= 'T') goto yy758;
-               } else {
-                       if (yych <= 'r') goto yy282;
-                       if (yych <= 's') goto yy757;
-                       if (yych <= 't') goto yy758;
-                       goto yy282;
-               }
+               if (yych == 'E') goto yy757;
+               if (yych != 'e') goto yy298;
 yy757:
                YYDEBUG(757, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy764;
-               if (yych == 't') goto yy764;
-               goto yy282;
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) <= '^') {
+                       if (yych <= '9') {
+                               if (yych >= '0') goto yy297;
+                       } else {
+                               if (yych <= '@') goto yy758;
+                               if (yych <= 'Z') goto yy297;
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= '_') goto yy759;
+                       } else {
+                               if (yych <= 'z') goto yy297;
+                               if (yych >= 0x7F) goto yy297;
+                       }
+               }
 yy758:
                YYDEBUG(758, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy759;
-               if (yych != 'i') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1648 "Zend/zend_language_scanner.l"
+               {
+       return T_REQUIRE;
+}
+#line 7807 "Zend/zend_language_scanner.c"
 yy759:
                YYDEBUG(759, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy760;
-               if (yych != 'n') goto yy282;
+               if (yych == 'O') goto yy760;
+               if (yych != 'o') goto yy298;
 yy760:
                YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy761;
-               if (yych != 'u') goto yy282;
+               if (yych == 'N') goto yy761;
+               if (yych != 'n') goto yy298;
 yy761:
                YYDEBUG(761, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy762;
-               if (yych != 'e') goto yy282;
+               if (yych == 'C') goto yy762;
+               if (yych != 'c') goto yy298;
 yy762:
                YYDEBUG(762, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy763;
+               if (yych != 'e') goto yy298;
+yy763:
                YYDEBUG(763, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1543 "Zend/zend_language_scanner.l"
-               {
-       return T_CONTINUE;
-}
-#line 7768 "Zend/zend_language_scanner.c"
-yy764:
-               YYDEBUG(764, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(765, *YYCURSOR);
+               YYDEBUG(764, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1443 "Zend/zend_language_scanner.l"
+#line 1652 "Zend/zend_language_scanner.l"
                {
-       return T_CONST;
+       return T_REQUIRE_ONCE;
 }
-#line 7781 "Zend/zend_language_scanner.c"
+#line 7840 "Zend/zend_language_scanner.c"
+yy765:
+               YYDEBUG(765, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy766;
+               if (yych != 'r') goto yy298;
 yy766:
                YYDEBUG(766, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy771;
-               if (yych == 's') goto yy771;
-               goto yy282;
+               if (yych == 'N') goto yy767;
+               if (yych != 'n') goto yy298;
 yy767:
                YYDEBUG(767, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy768;
-               if (yych != 'n') goto yy282;
-yy768:
-               YYDEBUG(768, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy769;
-               if (yych != 'e') goto yy282;
-yy769:
-               YYDEBUG(769, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(770, *YYCURSOR);
+               YYDEBUG(768, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1621 "Zend/zend_language_scanner.l"
+#line 1418 "Zend/zend_language_scanner.l"
                {
-       return T_CLONE;
+       return T_RETURN;
 }
-#line 7810 "Zend/zend_language_scanner.c"
+#line 7863 "Zend/zend_language_scanner.c"
+yy769:
+               YYDEBUG(769, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= 'T') {
+                       if (yych <= 'R') goto yy298;
+                       if (yych <= 'S') goto yy791;
+                       goto yy790;
+               } else {
+                       if (yych <= 'r') goto yy298;
+                       if (yych <= 's') goto yy791;
+                       if (yych <= 't') goto yy790;
+                       goto yy298;
+               }
+yy770:
+               YYDEBUG(770, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= 'O') {
+                       if (yych == 'A') goto yy782;
+                       if (yych <= 'N') goto yy298;
+                       goto yy783;
+               } else {
+                       if (yych <= 'a') {
+                               if (yych <= '`') goto yy298;
+                               goto yy782;
+                       } else {
+                               if (yych == 'o') goto yy783;
+                               goto yy298;
+                       }
+               }
 yy771:
                YYDEBUG(771, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy772;
-               if (yych != 's') goto yy282;
+               if (yych == 'N') goto yy772;
+               if (yych != 'n') goto yy298;
 yy772:
                YYDEBUG(772, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+               yych = *++YYCURSOR;
+               if (yych <= 'T') {
+                       if (yych <= 'R') goto yy298;
+                       if (yych >= 'T') goto yy774;
+               } else {
+                       if (yych <= 'r') goto yy298;
+                       if (yych <= 's') goto yy773;
+                       if (yych <= 't') goto yy774;
+                       goto yy298;
                }
+yy773:
                YYDEBUG(773, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1559 "Zend/zend_language_scanner.l"
-               {
-       return T_CLASS;
-}
-#line 7828 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy780;
+               if (yych == 't') goto yy780;
+               goto yy298;
 yy774:
                YYDEBUG(774, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy778;
-               if (yych == 'c') goto yy778;
-               goto yy282;
+               if (yych == 'I') goto yy775;
+               if (yych != 'i') goto yy298;
 yy775:
                YYDEBUG(775, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy776;
-               if (yych != 'e') goto yy282;
+               if (yych == 'N') goto yy776;
+               if (yych != 'n') goto yy298;
 yy776:
                YYDEBUG(776, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'U') goto yy777;
+               if (yych != 'u') goto yy298;
+yy777:
+               YYDEBUG(777, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy778;
+               if (yych != 'e') goto yy298;
+yy778:
+               YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(777, *YYCURSOR);
+               YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1531 "Zend/zend_language_scanner.l"
+#line 1514 "Zend/zend_language_scanner.l"
                {
-       return T_CASE;
+       return T_CONTINUE;
 }
-#line 7852 "Zend/zend_language_scanner.c"
-yy778:
-               YYDEBUG(778, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy779;
-               if (yych != 'h') goto yy282;
-yy779:
-               YYDEBUG(779, *YYCURSOR);
+#line 7948 "Zend/zend_language_scanner.c"
+yy780:
+               YYDEBUG(780, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(780, *YYCURSOR);
+               YYDEBUG(781, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1455 "Zend/zend_language_scanner.l"
+#line 1414 "Zend/zend_language_scanner.l"
                {
-       return T_CATCH;
+       return T_CONST;
 }
-#line 7870 "Zend/zend_language_scanner.c"
-yy781:
-               YYDEBUG(781, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy798;
-               if (yych == 'n') goto yy798;
-               goto yy282;
+#line 7961 "Zend/zend_language_scanner.c"
 yy782:
                YYDEBUG(782, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy791;
-               if (yych == 'r') goto yy791;
-               goto yy282;
+               if (yych == 'S') goto yy787;
+               if (yych == 's') goto yy787;
+               goto yy298;
 yy783:
                YYDEBUG(783, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'N') goto yy784;
-               if (yych != 'n') goto yy282;
+               if (yych != 'n') goto yy298;
 yy784:
                YYDEBUG(784, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy785;
-               if (yych != 'c') goto yy282;
+               if (yych == 'E') goto yy785;
+               if (yych != 'e') goto yy298;
 yy785:
                YYDEBUG(785, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy786;
-               if (yych != 't') goto yy282;
-yy786:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(786, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy787;
-               if (yych != 'i') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1592 "Zend/zend_language_scanner.l"
+               {
+       return T_CLONE;
+}
+#line 7990 "Zend/zend_language_scanner.c"
 yy787:
                YYDEBUG(787, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy788;
-               if (yych != 'o') goto yy282;
+               if (yych == 'S') goto yy788;
+               if (yych != 's') goto yy298;
 yy788:
                YYDEBUG(788, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy789;
-               if (yych != 'n') goto yy282;
-yy789:
-               YYDEBUG(789, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(790, *YYCURSOR);
+               YYDEBUG(789, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1439 "Zend/zend_language_scanner.l"
+#line 1530 "Zend/zend_language_scanner.l"
                {
-       return T_FUNCTION;
+       return T_CLASS;
 }
-#line 7925 "Zend/zend_language_scanner.c"
+#line 8008 "Zend/zend_language_scanner.c"
+yy790:
+               YYDEBUG(790, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy794;
+               if (yych == 'c') goto yy794;
+               goto yy298;
 yy791:
                YYDEBUG(791, *YYCURSOR);
-               ++YYCURSOR;
-               if ((yych = *YYCURSOR) <= '^') {
-                       if (yych <= '@') {
-                               if (yych <= '/') goto yy792;
-                               if (yych <= '9') goto yy281;
-                       } else {
-                               if (yych == 'E') goto yy793;
-                               if (yych <= 'Z') goto yy281;
-                       }
-               } else {
-                       if (yych <= 'd') {
-                               if (yych != '`') goto yy281;
-                       } else {
-                               if (yych <= 'e') goto yy793;
-                               if (yych <= 'z') goto yy281;
-                               if (yych >= 0x7F) goto yy281;
-                       }
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy792;
+               if (yych != 'e') goto yy298;
 yy792:
                YYDEBUG(792, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(793, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1491 "Zend/zend_language_scanner.l"
+#line 1502 "Zend/zend_language_scanner.l"
                {
-       return T_FOR;
+       return T_CASE;
 }
-#line 7953 "Zend/zend_language_scanner.c"
-yy793:
-               YYDEBUG(793, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy794;
-               if (yych != 'a') goto yy282;
+#line 8032 "Zend/zend_language_scanner.c"
 yy794:
                YYDEBUG(794, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy795;
-               if (yych != 'c') goto yy282;
+               if (yych == 'H') goto yy795;
+               if (yych != 'h') goto yy298;
 yy795:
                YYDEBUG(795, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy796;
-               if (yych != 'h') goto yy282;
-yy796:
-               YYDEBUG(796, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(797, *YYCURSOR);
+               YYDEBUG(796, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1499 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
                {
-       return T_FOREACH;
+       return T_CATCH;
 }
-#line 7981 "Zend/zend_language_scanner.c"
+#line 8050 "Zend/zend_language_scanner.c"
+yy797:
+               YYDEBUG(797, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy814;
+               if (yych == 'n') goto yy814;
+               goto yy298;
 yy798:
                YYDEBUG(798, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy799;
-               if (yych != 'a') goto yy282;
+               if (yych == 'R') goto yy807;
+               if (yych == 'r') goto yy807;
+               goto yy298;
 yy799:
                YYDEBUG(799, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy800;
-               if (yych != 'l') goto yy282;
+               if (yych == 'N') goto yy800;
+               if (yych != 'n') goto yy298;
 yy800:
                YYDEBUG(800, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy801;
+               if (yych != 'c') goto yy298;
+yy801:
                YYDEBUG(801, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1717 "Zend/zend_language_scanner.l"
-               {
-       return T_FINAL;
-}
-#line 8004 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy802;
+               if (yych != 't') goto yy298;
 yy802:
                YYDEBUG(802, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'F') {
-                       if (yych == 'C') goto yy808;
-                       if (yych <= 'E') goto yy282;
-                       goto yy809;
-               } else {
-                       if (yych <= 'c') {
-                               if (yych <= 'b') goto yy282;
-                               goto yy808;
-                       } else {
-                               if (yych == 'f') goto yy809;
-                               goto yy282;
-                       }
-               }
+               if (yych == 'I') goto yy803;
+               if (yych != 'i') goto yy298;
 yy803:
                YYDEBUG(803, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy806;
-               if (yych == 'e') goto yy806;
-               goto yy282;
+               if (yych == 'O') goto yy804;
+               if (yych != 'o') goto yy298;
 yy804:
                YYDEBUG(804, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy805;
+               if (yych != 'n') goto yy298;
+yy805:
+               YYDEBUG(805, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(805, *YYCURSOR);
+               YYDEBUG(806, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1487 "Zend/zend_language_scanner.l"
+#line 1410 "Zend/zend_language_scanner.l"
                {
-       return T_DO;
+       return T_FUNCTION;
 }
-#line 8039 "Zend/zend_language_scanner.c"
-yy806:
-               YYDEBUG(806, *YYCURSOR);
+#line 8105 "Zend/zend_language_scanner.c"
+yy807:
+               YYDEBUG(807, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+               if ((yych = *YYCURSOR) <= '^') {
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy808;
+                               if (yych <= '9') goto yy297;
+                       } else {
+                               if (yych == 'E') goto yy809;
+                               if (yych <= 'Z') goto yy297;
+                       }
+               } else {
+                       if (yych <= 'd') {
+                               if (yych != '`') goto yy297;
+                       } else {
+                               if (yych <= 'e') goto yy809;
+                               if (yych <= 'z') goto yy297;
+                               if (yych >= 0x7F) goto yy297;
+                       }
                }
-               YYDEBUG(807, *YYCURSOR);
+yy808:
+               YYDEBUG(808, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1435 "Zend/zend_language_scanner.l"
+#line 1462 "Zend/zend_language_scanner.l"
                {
-       return T_EXIT;
+       return T_FOR;
 }
-#line 8052 "Zend/zend_language_scanner.c"
-yy808:
-               YYDEBUG(808, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy815;
-               if (yych == 'l') goto yy815;
-               goto yy282;
+#line 8133 "Zend/zend_language_scanner.c"
 yy809:
                YYDEBUG(809, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'A') goto yy810;
-               if (yych != 'a') goto yy282;
+               if (yych != 'a') goto yy298;
 yy810:
                YYDEBUG(810, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy811;
-               if (yych != 'u') goto yy282;
+               if (yych == 'C') goto yy811;
+               if (yych != 'c') goto yy298;
 yy811:
                YYDEBUG(811, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy812;
-               if (yych != 'l') goto yy282;
+               if (yych == 'H') goto yy812;
+               if (yych != 'h') goto yy298;
 yy812:
                YYDEBUG(812, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy813;
-               if (yych != 't') goto yy282;
-yy813:
-               YYDEBUG(813, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(814, *YYCURSOR);
+               YYDEBUG(813, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1535 "Zend/zend_language_scanner.l"
+#line 1470 "Zend/zend_language_scanner.l"
                {
-       return T_DEFAULT;
+       return T_FOREACH;
 }
-#line 8091 "Zend/zend_language_scanner.c"
+#line 8161 "Zend/zend_language_scanner.c"
+yy814:
+               YYDEBUG(814, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy815;
+               if (yych != 'a') goto yy298;
 yy815:
                YYDEBUG(815, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy816;
-               if (yych != 'a') goto yy282;
+               if (yych == 'L') goto yy816;
+               if (yych != 'l') goto yy298;
 yy816:
                YYDEBUG(816, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy817;
-               if (yych != 'r') goto yy282;
-yy817:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(817, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy818;
-               if (yych != 'e') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1688 "Zend/zend_language_scanner.l"
+               {
+       return T_FINAL;
+}
+#line 8184 "Zend/zend_language_scanner.c"
 yy818:
                YYDEBUG(818, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= 'F') {
+                       if (yych == 'C') goto yy824;
+                       if (yych <= 'E') goto yy298;
+                       goto yy825;
+               } else {
+                       if (yych <= 'c') {
+                               if (yych <= 'b') goto yy298;
+                               goto yy824;
+                       } else {
+                               if (yych == 'f') goto yy825;
+                               goto yy298;
+                       }
+               }
+yy819:
+               YYDEBUG(819, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy822;
+               if (yych == 'e') goto yy822;
+               goto yy298;
+yy820:
+               YYDEBUG(820, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(819, *YYCURSOR);
+               YYDEBUG(821, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1507 "Zend/zend_language_scanner.l"
+#line 1458 "Zend/zend_language_scanner.l"
                {
-       return T_DECLARE;
+       return T_DO;
 }
-#line 8119 "Zend/zend_language_scanner.c"
-yy820:
-               YYDEBUG(820, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy882;
-               if (yych == 'h') goto yy882;
-               goto yy282;
-yy821:
-               YYDEBUG(821, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy876;
-               if (yych == 's') goto yy876;
-               goto yy282;
+#line 8219 "Zend/zend_language_scanner.c"
 yy822:
                YYDEBUG(822, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'P') goto yy872;
-               if (yych == 'p') goto yy872;
-               goto yy282;
-yy823:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(823, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'D') goto yy838;
-               if (yych == 'd') goto yy838;
-               goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1406 "Zend/zend_language_scanner.l"
+               {
+       return T_EXIT;
+}
+#line 8232 "Zend/zend_language_scanner.c"
 yy824:
                YYDEBUG(824, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy835;
-               if (yych == 'a') goto yy835;
-               goto yy282;
+               if (yych == 'L') goto yy831;
+               if (yych == 'l') goto yy831;
+               goto yy298;
 yy825:
                YYDEBUG(825, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'T') {
-                       if (yych == 'I') goto yy826;
-                       if (yych <= 'S') goto yy282;
-                       goto yy827;
-               } else {
-                       if (yych <= 'i') {
-                               if (yych <= 'h') goto yy282;
-                       } else {
-                               if (yych == 't') goto yy827;
-                               goto yy282;
-                       }
-               }
+               if (yych == 'A') goto yy826;
+               if (yych != 'a') goto yy298;
 yy826:
                YYDEBUG(826, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy833;
-               if (yych == 't') goto yy833;
-               goto yy282;
+               if (yych == 'U') goto yy827;
+               if (yych != 'u') goto yy298;
 yy827:
                YYDEBUG(827, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy828;
-               if (yych != 'e') goto yy282;
+               if (yych == 'L') goto yy828;
+               if (yych != 'l') goto yy298;
 yy828:
                YYDEBUG(828, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy829;
-               if (yych != 'n') goto yy282;
+               if (yych == 'T') goto yy829;
+               if (yych != 't') goto yy298;
 yy829:
                YYDEBUG(829, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'D') goto yy830;
-               if (yych != 'd') goto yy282;
-yy830:
-               YYDEBUG(830, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy831;
-               if (yych != 's') goto yy282;
-yy831:
-               YYDEBUG(831, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(832, *YYCURSOR);
+               YYDEBUG(830, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1567 "Zend/zend_language_scanner.l"
+#line 1506 "Zend/zend_language_scanner.l"
                {
-       return T_EXTENDS;
+       return T_DEFAULT;
 }
-#line 8203 "Zend/zend_language_scanner.c"
+#line 8271 "Zend/zend_language_scanner.c"
+yy831:
+               YYDEBUG(831, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy832;
+               if (yych != 'a') goto yy298;
+yy832:
+               YYDEBUG(832, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy833;
+               if (yych != 'r') goto yy298;
 yy833:
                YYDEBUG(833, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy834;
+               if (yych != 'e') goto yy298;
+yy834:
+               YYDEBUG(834, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(834, *YYCURSOR);
+               YYDEBUG(835, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1431 "Zend/zend_language_scanner.l"
+#line 1478 "Zend/zend_language_scanner.l"
                {
-       return T_EXIT;
+       return T_DECLARE;
 }
-#line 8216 "Zend/zend_language_scanner.c"
-yy835:
-               YYDEBUG(835, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy836;
-               if (yych != 'l') goto yy282;
+#line 8299 "Zend/zend_language_scanner.c"
 yy836:
                YYDEBUG(836, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'H') goto yy898;
+               if (yych == 'h') goto yy898;
+               goto yy298;
+yy837:
                YYDEBUG(837, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1665 "Zend/zend_language_scanner.l"
-               {
-       return T_EVAL;
-}
-#line 8234 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy892;
+               if (yych == 's') goto yy892;
+               goto yy298;
 yy838:
                YYDEBUG(838, *YYCURSOR);
                yych = *++YYCURSOR;
-               YYDEBUG(-1, yych);
-               switch (yych) {
-               case 'D':
-               case 'd':       goto yy839;
-               case 'F':
-               case 'f':       goto yy840;
-               case 'I':
-               case 'i':       goto yy841;
-               case 'S':
-               case 's':       goto yy842;
-               case 'W':
-               case 'w':       goto yy843;
-               default:        goto yy282;
-               }
+               if (yych == 'P') goto yy888;
+               if (yych == 'p') goto yy888;
+               goto yy298;
 yy839:
                YYDEBUG(839, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy865;
-               if (yych == 'e') goto yy865;
-               goto yy282;
+               if (yych == 'D') goto yy854;
+               if (yych == 'd') goto yy854;
+               goto yy298;
 yy840:
                YYDEBUG(840, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy857;
-               if (yych == 'o') goto yy857;
-               goto yy282;
+               if (yych == 'A') goto yy851;
+               if (yych == 'a') goto yy851;
+               goto yy298;
 yy841:
                YYDEBUG(841, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy855;
-               if (yych == 'f') goto yy855;
-               goto yy282;
+               if (yych <= 'T') {
+                       if (yych == 'I') goto yy842;
+                       if (yych <= 'S') goto yy298;
+                       goto yy843;
+               } else {
+                       if (yych <= 'i') {
+                               if (yych <= 'h') goto yy298;
+                       } else {
+                               if (yych == 't') goto yy843;
+                               goto yy298;
+                       }
+               }
 yy842:
                YYDEBUG(842, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy849;
-               if (yych == 'w') goto yy849;
-               goto yy282;
+               if (yych == 'T') goto yy849;
+               if (yych == 't') goto yy849;
+               goto yy298;
 yy843:
                YYDEBUG(843, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy844;
-               if (yych != 'h') goto yy282;
+               if (yych == 'E') goto yy844;
+               if (yych != 'e') goto yy298;
 yy844:
                YYDEBUG(844, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy845;
-               if (yych != 'i') goto yy282;
+               if (yych == 'N') goto yy845;
+               if (yych != 'n') goto yy298;
 yy845:
                YYDEBUG(845, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy846;
-               if (yych != 'l') goto yy282;
+               if (yych == 'D') goto yy846;
+               if (yych != 'd') goto yy298;
 yy846:
                YYDEBUG(846, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy847;
-               if (yych != 'e') goto yy282;
+               if (yych == 'S') goto yy847;
+               if (yych != 's') goto yy298;
 yy847:
                YYDEBUG(847, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
                YYDEBUG(848, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1483 "Zend/zend_language_scanner.l"
+#line 1538 "Zend/zend_language_scanner.l"
                {
-       return T_ENDWHILE;
+       return T_EXTENDS;
 }
-#line 8308 "Zend/zend_language_scanner.c"
+#line 8383 "Zend/zend_language_scanner.c"
 yy849:
                YYDEBUG(849, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy850;
-               if (yych != 'i') goto yy282;
-yy850:
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(850, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy851;
-               if (yych != 't') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1402 "Zend/zend_language_scanner.l"
+               {
+       return T_EXIT;
+}
+#line 8396 "Zend/zend_language_scanner.c"
 yy851:
                YYDEBUG(851, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy852;
-               if (yych != 'c') goto yy282;
+               if (yych == 'L') goto yy852;
+               if (yych != 'l') goto yy298;
 yy852:
                YYDEBUG(852, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'H') goto yy853;
-               if (yych != 'h') goto yy282;
-yy853:
-               YYDEBUG(853, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(854, *YYCURSOR);
+               YYDEBUG(853, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1527 "Zend/zend_language_scanner.l"
+#line 1636 "Zend/zend_language_scanner.l"
                {
-       return T_ENDSWITCH;
+       return T_EVAL;
 }
-#line 8341 "Zend/zend_language_scanner.c"
+#line 8414 "Zend/zend_language_scanner.c"
+yy854:
+               YYDEBUG(854, *YYCURSOR);
+               yych = *++YYCURSOR;
+               YYDEBUG(-1, yych);
+               switch (yych) {
+               case 'D':
+               case 'd':       goto yy855;
+               case 'F':
+               case 'f':       goto yy856;
+               case 'I':
+               case 'i':       goto yy857;
+               case 'S':
+               case 's':       goto yy858;
+               case 'W':
+               case 'w':       goto yy859;
+               default:        goto yy298;
+               }
 yy855:
                YYDEBUG(855, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy881;
+               if (yych == 'e') goto yy881;
+               goto yy298;
+yy856:
                YYDEBUG(856, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1471 "Zend/zend_language_scanner.l"
-               {
-       return T_ENDIF;
-}
-#line 8354 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'O') goto yy873;
+               if (yych == 'o') goto yy873;
+               goto yy298;
 yy857:
                YYDEBUG(857, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy858;
-               if (yych != 'r') goto yy282;
+               if (yych == 'F') goto yy871;
+               if (yych == 'f') goto yy871;
+               goto yy298;
 yy858:
                YYDEBUG(858, *YYCURSOR);
-               ++YYCURSOR;
-               if ((yych = *YYCURSOR) <= '^') {
-                       if (yych <= '@') {
-                               if (yych <= '/') goto yy859;
-                               if (yych <= '9') goto yy281;
-                       } else {
-                               if (yych == 'E') goto yy860;
-                               if (yych <= 'Z') goto yy281;
-                       }
-               } else {
-                       if (yych <= 'd') {
-                               if (yych != '`') goto yy281;
-                       } else {
-                               if (yych <= 'e') goto yy860;
-                               if (yych <= 'z') goto yy281;
-                               if (yych >= 0x7F) goto yy281;
-                       }
-               }
+               yych = *++YYCURSOR;
+               if (yych == 'W') goto yy865;
+               if (yych == 'w') goto yy865;
+               goto yy298;
 yy859:
                YYDEBUG(859, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1495 "Zend/zend_language_scanner.l"
-               {
-       return T_ENDFOR;
-}
-#line 8387 "Zend/zend_language_scanner.c"
+               yych = *++YYCURSOR;
+               if (yych == 'H') goto yy860;
+               if (yych != 'h') goto yy298;
 yy860:
                YYDEBUG(860, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy861;
-               if (yych != 'a') goto yy282;
+               if (yych == 'I') goto yy861;
+               if (yych != 'i') goto yy298;
 yy861:
                YYDEBUG(861, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy862;
-               if (yych != 'c') goto yy282;
+               if (yych == 'L') goto yy862;
+               if (yych != 'l') goto yy298;
 yy862:
                YYDEBUG(862, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy863;
-               if (yych != 'h') goto yy282;
+               if (yych == 'E') goto yy863;
+               if (yych != 'e') goto yy298;
 yy863:
                YYDEBUG(863, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
                YYDEBUG(864, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1503 "Zend/zend_language_scanner.l"
+#line 1454 "Zend/zend_language_scanner.l"
                {
-       return T_ENDFOREACH;
+       return T_ENDWHILE;
 }
-#line 8415 "Zend/zend_language_scanner.c"
+#line 8488 "Zend/zend_language_scanner.c"
 yy865:
                YYDEBUG(865, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy866;
-               if (yych != 'c') goto yy282;
+               if (yych == 'I') goto yy866;
+               if (yych != 'i') goto yy298;
 yy866:
                YYDEBUG(866, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy867;
-               if (yych != 'l') goto yy282;
+               if (yych == 'T') goto yy867;
+               if (yych != 't') goto yy298;
 yy867:
                YYDEBUG(867, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy868;
-               if (yych != 'a') goto yy282;
+               if (yych == 'C') goto yy868;
+               if (yych != 'c') goto yy298;
 yy868:
                YYDEBUG(868, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy869;
-               if (yych != 'r') goto yy282;
+               if (yych == 'H') goto yy869;
+               if (yych != 'h') goto yy298;
 yy869:
                YYDEBUG(869, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy870;
-               if (yych != 'e') goto yy282;
-yy870:
-               YYDEBUG(870, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(871, *YYCURSOR);
+               YYDEBUG(870, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1511 "Zend/zend_language_scanner.l"
+#line 1498 "Zend/zend_language_scanner.l"
                {
-       return T_ENDDECLARE;
+       return T_ENDSWITCH;
 }
-#line 8453 "Zend/zend_language_scanner.c"
-yy872:
+#line 8521 "Zend/zend_language_scanner.c"
+yy871:
+               YYDEBUG(871, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
                YYDEBUG(872, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy873;
-               if (yych != 't') goto yy282;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1442 "Zend/zend_language_scanner.l"
+               {
+       return T_ENDIF;
+}
+#line 8534 "Zend/zend_language_scanner.c"
 yy873:
                YYDEBUG(873, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy874;
-               if (yych != 'y') goto yy282;
+               if (yych == 'R') goto yy874;
+               if (yych != 'r') goto yy298;
 yy874:
                YYDEBUG(874, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+               if ((yych = *YYCURSOR) <= '^') {
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy875;
+                               if (yych <= '9') goto yy297;
+                       } else {
+                               if (yych == 'E') goto yy876;
+                               if (yych <= 'Z') goto yy297;
+                       }
+               } else {
+                       if (yych <= 'd') {
+                               if (yych != '`') goto yy297;
+                       } else {
+                               if (yych <= 'e') goto yy876;
+                               if (yych <= 'z') goto yy297;
+                               if (yych >= 0x7F) goto yy297;
+                       }
                }
+yy875:
                YYDEBUG(875, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1701 "Zend/zend_language_scanner.l"
+#line 1466 "Zend/zend_language_scanner.l"
                {
-       return T_EMPTY;
+       return T_ENDFOR;
 }
-#line 8476 "Zend/zend_language_scanner.c"
+#line 8567 "Zend/zend_language_scanner.c"
 yy876:
                YYDEBUG(876, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy877;
-               if (yych != 'e') goto yy282;
+               if (yych == 'A') goto yy877;
+               if (yych != 'a') goto yy298;
 yy877:
                YYDEBUG(877, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy878;
+               if (yych != 'c') goto yy298;
+yy878:
+               YYDEBUG(878, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'H') goto yy879;
+               if (yych != 'h') goto yy298;
+yy879:
+               YYDEBUG(879, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(880, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1474 "Zend/zend_language_scanner.l"
+               {
+       return T_ENDFOREACH;
+}
+#line 8595 "Zend/zend_language_scanner.c"
+yy881:
+               YYDEBUG(881, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy882;
+               if (yych != 'c') goto yy298;
+yy882:
+               YYDEBUG(882, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'L') goto yy883;
+               if (yych != 'l') goto yy298;
+yy883:
+               YYDEBUG(883, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'A') goto yy884;
+               if (yych != 'a') goto yy298;
+yy884:
+               YYDEBUG(884, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy885;
+               if (yych != 'r') goto yy298;
+yy885:
+               YYDEBUG(885, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy886;
+               if (yych != 'e') goto yy298;
+yy886:
+               YYDEBUG(886, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(887, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1482 "Zend/zend_language_scanner.l"
+               {
+       return T_ENDDECLARE;
+}
+#line 8633 "Zend/zend_language_scanner.c"
+yy888:
+               YYDEBUG(888, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy889;
+               if (yych != 't') goto yy298;
+yy889:
+               YYDEBUG(889, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'Y') goto yy890;
+               if (yych != 'y') goto yy298;
+yy890:
+               YYDEBUG(890, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy297;
+               }
+               YYDEBUG(891, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1672 "Zend/zend_language_scanner.l"
+               {
+       return T_EMPTY;
+}
+#line 8656 "Zend/zend_language_scanner.c"
+yy892:
+               YYDEBUG(892, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy893;
+               if (yych != 'e') goto yy298;
+yy893:
+               YYDEBUG(893, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy878;
-                               if (yych <= '9') goto yy281;
+                               if (yych <= '/') goto yy894;
+                               if (yych <= '9') goto yy297;
                        } else {
-                               if (yych == 'I') goto yy879;
-                               if (yych <= 'Z') goto yy281;
+                               if (yych == 'I') goto yy895;
+                               if (yych <= 'Z') goto yy297;
                        }
                } else {
                        if (yych <= 'h') {
-                               if (yych != '`') goto yy281;
+                               if (yych != '`') goto yy297;
                        } else {
-                               if (yych <= 'i') goto yy879;
-                               if (yych <= 'z') goto yy281;
-                               if (yych >= 0x7F) goto yy281;
+                               if (yych <= 'i') goto yy895;
+                               if (yych <= 'z') goto yy297;
+                               if (yych >= 0x7F) goto yy297;
                        }
                }
-yy878:
-               YYDEBUG(878, *YYCURSOR);
+yy894:
+               YYDEBUG(894, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1475 "Zend/zend_language_scanner.l"
+#line 1446 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 8509 "Zend/zend_language_scanner.c"
-yy879:
-               YYDEBUG(879, *YYCURSOR);
+#line 8689 "Zend/zend_language_scanner.c"
+yy895:
+               YYDEBUG(895, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy880;
-               if (yych != 'f') goto yy282;
-yy880:
-               YYDEBUG(880, *YYCURSOR);
+               if (yych == 'F') goto yy896;
+               if (yych != 'f') goto yy298;
+yy896:
+               YYDEBUG(896, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(881, *YYCURSOR);
+               YYDEBUG(897, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1467 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 8527 "Zend/zend_language_scanner.c"
-yy882:
-               YYDEBUG(882, *YYCURSOR);
+#line 8707 "Zend/zend_language_scanner.c"
+yy898:
+               YYDEBUG(898, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy883;
-               if (yych != 'o') goto yy282;
-yy883:
-               YYDEBUG(883, *YYCURSOR);
+               if (yych == 'O') goto yy899;
+               if (yych != 'o') goto yy298;
+yy899:
+               YYDEBUG(899, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
-                       goto yy281;
+                       goto yy297;
                }
-               YYDEBUG(884, *YYCURSOR);
+               YYDEBUG(900, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1551 "Zend/zend_language_scanner.l"
+#line 1522 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 8545 "Zend/zend_language_scanner.c"
+#line 8725 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8580,41 +8760,54 @@ yyc_ST_LOOKING_FOR_PROPERTY:
                         64,  64,  64,  64,  64,  64,  64,  64, 
                         64,  64,  64,  64,  64,  64,  64,  64, 
                };
-               YYDEBUG(885, *YYCURSOR);
+               YYDEBUG(901, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
-               if (yych <= '-') {
-                       if (yych <= '\r') {
-                               if (yych <= 0x08) goto yy893;
-                               if (yych <= '\n') goto yy887;
-                               if (yych <= '\f') goto yy893;
+               if (yych <= ',') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy903;
+                               if (yych <= 0x08) goto yy911;
+                               if (yych <= '\n') goto yy905;
+                               goto yy911;
                        } else {
-                               if (yych == ' ') goto yy887;
-                               if (yych <= ',') goto yy893;
-                               goto yy889;
+                               if (yych <= '\r') goto yy905;
+                               if (yych == ' ') goto yy905;
+                               goto yy911;
                        }
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '@') goto yy893;
-                               if (yych <= 'Z') goto yy891;
-                               if (yych <= '^') goto yy893;
-                               goto yy891;
-                       } else {
-                               if (yych <= '`') goto yy893;
-                               if (yych <= 'z') goto yy891;
-                               if (yych <= '~') goto yy893;
-                               goto yy891;
+                       if (yych <= '^') {
+                               if (yych <= '-') goto yy907;
+                               if (yych <= '@') goto yy911;
+                               if (yych <= 'Z') goto yy909;
+                               goto yy911;
+                       } else {
+                               if (yych <= '`') {
+                                       if (yych <= '_') goto yy909;
+                                       goto yy911;
+                               } else {
+                                       if (yych <= 'z') goto yy909;
+                                       if (yych <= '~') goto yy911;
+                                       goto yy909;
+                               }
                        }
                }
-yy887:
-               YYDEBUG(887, *YYCURSOR);
+yy903:
+               YYDEBUG(903, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(904, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 8802 "Zend/zend_language_scanner.c"
+yy905:
+               YYDEBUG(905, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy899;
-yy888:
-               YYDEBUG(888, *YYCURSOR);
+               goto yy917;
+yy906:
+               YYDEBUG(906, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1559 "Zend/zend_language_scanner.l"
+#line 1551 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -8622,30 +8815,30 @@ yy888:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 8626 "Zend/zend_language_scanner.c"
-yy889:
-               YYDEBUG(889, *YYCURSOR);
+#line 8819 "Zend/zend_language_scanner.c"
+yy907:
+               YYDEBUG(907, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy896;
-yy890:
-               YYDEBUG(890, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '>') goto yy914;
+yy908:
+               YYDEBUG(908, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1603 "Zend/zend_language_scanner.l"
+#line 1574 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 8640 "Zend/zend_language_scanner.c"
-yy891:
-               YYDEBUG(891, *YYCURSOR);
+#line 8833 "Zend/zend_language_scanner.c"
+yy909:
+               YYDEBUG(909, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy895;
-yy892:
-               YYDEBUG(892, *YYCURSOR);
+               goto yy913;
+yy910:
+               YYDEBUG(910, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1592 "Zend/zend_language_scanner.l"
+#line 1563 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
@@ -8656,43 +8849,43 @@ yy892:
        }
        return T_STRING;
 }
-#line 8660 "Zend/zend_language_scanner.c"
-yy893:
-               YYDEBUG(893, *YYCURSOR);
+#line 8853 "Zend/zend_language_scanner.c"
+yy911:
+               YYDEBUG(911, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy890;
-yy894:
-               YYDEBUG(894, *YYCURSOR);
+               goto yy908;
+yy912:
+               YYDEBUG(912, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy895:
-               YYDEBUG(895, *YYCURSOR);
+yy913:
+               YYDEBUG(913, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy894;
+                       goto yy912;
                }
-               goto yy892;
-yy896:
-               YYDEBUG(896, *YYCURSOR);
+               goto yy910;
+yy914:
+               YYDEBUG(914, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(897, *YYCURSOR);
+               YYDEBUG(915, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1588 "Zend/zend_language_scanner.l"
+#line 1559 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 8685 "Zend/zend_language_scanner.c"
-yy898:
-               YYDEBUG(898, *YYCURSOR);
+#line 8878 "Zend/zend_language_scanner.c"
+yy916:
+               YYDEBUG(916, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy899:
-               YYDEBUG(899, *YYCURSOR);
+yy917:
+               YYDEBUG(917, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy898;
+                       goto yy916;
                }
-               goto yy888;
+               goto yy906;
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_VARNAME:
@@ -8731,27 +8924,41 @@ yyc_ST_LOOKING_FOR_VARNAME:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(900, *YYCURSOR);
+               YYDEBUG(918, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
-               if (yych <= '_') {
-                       if (yych <= '@') goto yy904;
-                       if (yych <= 'Z') goto yy902;
-                       if (yych <= '^') goto yy904;
+               if (yych <= '^') {
+                       if (yych <= 0x00) goto yy920;
+                       if (yych <= '@') goto yy924;
+                       if (yych <= 'Z') goto yy922;
+                       goto yy924;
                } else {
-                       if (yych <= '`') goto yy904;
-                       if (yych <= 'z') goto yy902;
-                       if (yych <= '~') goto yy904;
+                       if (yych <= '`') {
+                               if (yych <= '_') goto yy922;
+                               goto yy924;
+                       } else {
+                               if (yych <= 'z') goto yy922;
+                               if (yych <= '~') goto yy924;
+                               goto yy922;
+                       }
                }
-yy902:
-               YYDEBUG(902, *YYCURSOR);
+yy920:
+               YYDEBUG(920, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(921, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 8953 "Zend/zend_language_scanner.c"
+yy922:
+               YYDEBUG(922, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy907;
-yy903:
-               YYDEBUG(903, *YYCURSOR);
+               goto yy927;
+yy923:
+               YYDEBUG(923, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1879 "Zend/zend_language_scanner.l"
+#line 1850 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -8763,37 +8970,37 @@ yy903:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8767 "Zend/zend_language_scanner.c"
-yy904:
-               YYDEBUG(904, *YYCURSOR);
+#line 8974 "Zend/zend_language_scanner.c"
+yy924:
+               YYDEBUG(924, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(905, *YYCURSOR);
+               YYDEBUG(925, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1892 "Zend/zend_language_scanner.l"
+#line 1863 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8780 "Zend/zend_language_scanner.c"
-yy906:
-               YYDEBUG(906, *YYCURSOR);
+#line 8987 "Zend/zend_language_scanner.c"
+yy926:
+               YYDEBUG(926, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy907:
-               YYDEBUG(907, *YYCURSOR);
+yy927:
+               YYDEBUG(927, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy906;
+                       goto yy926;
                }
-               goto yy903;
+               goto yy923;
        }
 /* *********************************** */
 yyc_ST_NOWDOC:
        {
                static const unsigned char yybm[] = {
-                        16,  16,  16,  16,  16,  16,  16,  16, 
+                         0,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  32,  16,  16,  64,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
                         16,  16,  16,  16,  16,  16,  16,  16, 
@@ -8826,106 +9033,121 @@ yyc_ST_NOWDOC:
                        144, 144, 144, 144, 144, 144, 144, 144, 
                        144, 144, 144, 144, 144, 144, 144, 144, 
                };
-               YYDEBUG(908, *YYCURSOR);
+               YYDEBUG(928, *YYCURSOR);
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy910;
+                       goto yy932;
                }
-               if (yych <= '\f') goto yy912;
-               goto yy914;
-yy910:
-               YYDEBUG(910, *YYCURSOR);
+               if (yych <= 0x00) goto yy930;
+               if (yych <= '\f') goto yy935;
+               goto yy937;
+yy930:
+               YYDEBUG(930, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(931, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 9053 "Zend/zend_language_scanner.c"
+yy932:
+               YYDEBUG(932, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(911, *YYCURSOR);
+               YYDEBUG(933, *YYCURSOR);
                if (yybm[0+yych] & 16) {
-                       goto yy910;
+                       goto yy932;
                }
-               if (yych <= '\f') goto yy921;
-               goto yy923;
-yy912:
-               YYDEBUG(912, *YYCURSOR);
+               if (yych <= 0x00) goto yy934;
+               if (yych <= '\f') goto yy944;
+               goto yy946;
+yy934:
+               YYDEBUG(934, *YYCURSOR);
+yy935:
+               YYDEBUG(935, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(913, *YYCURSOR);
+               YYDEBUG(936, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy912;
+                       goto yy935;
                }
-               if (yych <= '^') {
-                       if (yych <= '\r') {
-                               if (yych <= '\f') goto yy910;
+               if (yych <= 'Z') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy934;
+                               goto yy932;
                        } else {
-                               if (yych <= '@') goto yy910;
-                               if (yych <= 'Z') goto yy916;
-                               goto yy910;
+                               if (yych <= '\r') goto yy937;
+                               if (yych <= '@') goto yy932;
+                               goto yy939;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy916;
-                               goto yy910;
+                               if (yych == '_') goto yy939;
+                               goto yy932;
                        } else {
-                               if (yych <= 'z') goto yy916;
-                               if (yych <= '~') goto yy910;
-                               goto yy916;
+                               if (yych <= 'z') goto yy939;
+                               if (yych <= '~') goto yy932;
+                               goto yy939;
                        }
                }
-yy914:
-               YYDEBUG(914, *YYCURSOR);
+yy937:
+               YYDEBUG(937, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(915, *YYCURSOR);
+               YYDEBUG(938, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy912;
+                       goto yy935;
                }
-               if (yych <= '^') {
-                       if (yych <= '\r') {
-                               if (yych <= '\f') goto yy910;
-                               goto yy914;
+               if (yych <= 'Z') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x00) goto yy934;
+                               goto yy932;
                        } else {
-                               if (yych <= '@') goto yy910;
-                               if (yych >= '[') goto yy910;
+                               if (yych <= '\r') goto yy937;
+                               if (yych <= '@') goto yy932;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych >= '`') goto yy910;
+                               if (yych != '_') goto yy932;
                        } else {
-                               if (yych <= 'z') goto yy916;
-                               if (yych <= '~') goto yy910;
+                               if (yych <= 'z') goto yy939;
+                               if (yych <= '~') goto yy932;
                        }
                }
-yy916:
-               YYDEBUG(916, *YYCURSOR);
+yy939:
+               YYDEBUG(939, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(917, *YYCURSOR);
+               YYDEBUG(940, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy916;
+                       goto yy939;
                }
                if (yych <= '\f') {
-                       if (yych == '\n') goto yy919;
-                       goto yy910;
+                       if (yych <= 0x00) goto yy934;
+                       if (yych == '\n') goto yy942;
+                       goto yy932;
                } else {
-                       if (yych <= '\r') goto yy919;
-                       if (yych != ';') goto yy910;
+                       if (yych <= '\r') goto yy942;
+                       if (yych != ';') goto yy932;
                }
-               YYDEBUG(918, *YYCURSOR);
+               YYDEBUG(941, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 16) {
-                       goto yy910;
+                       goto yy932;
                }
-yy919:
-               YYDEBUG(919, *YYCURSOR);
+               if (yych <= 0x00) goto yy934;
+yy942:
+               YYDEBUG(942, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(920, *YYCURSOR);
+               YYDEBUG(943, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2628 "Zend/zend_language_scanner.l"
+#line 2604 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -8966,55 +9188,58 @@ yy919:
                yymore();
        }
 }
-#line 8970 "Zend/zend_language_scanner.c"
-yy921:
-               YYDEBUG(921, *YYCURSOR);
+#line 9192 "Zend/zend_language_scanner.c"
+yy944:
+               YYDEBUG(944, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(922, *YYCURSOR);
-               if (yych <= 'Z') {
-                       if (yych <= '\f') {
-                               if (yych == '\n') goto yy921;
-                               goto yy910;
+               YYDEBUG(945, *YYCURSOR);
+               if (yych <= '@') {
+                       if (yych <= '\n') {
+                               if (yych <= 0x00) goto yy934;
+                               if (yych <= '\t') goto yy932;
+                               goto yy944;
                        } else {
-                               if (yych <= '\r') goto yy923;
-                               if (yych <= '@') goto yy910;
-                               goto yy916;
+                               if (yych != '\r') goto yy932;
                        }
                } else {
-                       if (yych <= '`') {
-                               if (yych == '_') goto yy916;
-                               goto yy910;
+                       if (yych <= '_') {
+                               if (yych <= 'Z') goto yy939;
+                               if (yych <= '^') goto yy932;
+                               goto yy939;
                        } else {
-                               if (yych <= 'z') goto yy916;
-                               if (yych <= '~') goto yy910;
-                               goto yy916;
+                               if (yych <= '`') goto yy932;
+                               if (yych <= 'z') goto yy939;
+                               if (yych <= '~') goto yy932;
+                               goto yy939;
                        }
                }
-yy923:
-               YYDEBUG(923, *YYCURSOR);
+yy946:
+               YYDEBUG(946, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(924, *YYCURSOR);
-               if (yych <= 'Z') {
-                       if (yych <= '\f') {
-                               if (yych == '\n') goto yy921;
-                               goto yy910;
+               YYDEBUG(947, *YYCURSOR);
+               if (yych <= '@') {
+                       if (yych <= '\n') {
+                               if (yych <= 0x00) goto yy934;
+                               if (yych <= '\t') goto yy932;
+                               goto yy944;
                        } else {
-                               if (yych <= '\r') goto yy923;
-                               if (yych <= '@') goto yy910;
-                               goto yy916;
+                               if (yych == '\r') goto yy946;
+                               goto yy932;
                        }
                } else {
-                       if (yych <= '`') {
-                               if (yych == '_') goto yy916;
-                               goto yy910;
+                       if (yych <= '_') {
+                               if (yych <= 'Z') goto yy939;
+                               if (yych <= '^') goto yy932;
+                               goto yy939;
                        } else {
-                               if (yych <= 'z') goto yy916;
-                               if (yych <= '~') goto yy910;
-                               goto yy916;
+                               if (yych <= '`') goto yy932;
+                               if (yych <= 'z') goto yy939;
+                               if (yych <= '~') goto yy932;
+                               goto yy939;
                        }
                }
        }
@@ -9022,7 +9247,7 @@ yy923:
 yyc_ST_ONE_LINE_COMMENT:
        {
                static const unsigned char yybm[] = {
-                       128, 128, 128, 128, 128, 128, 128, 128, 
+                         0, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128,   0, 128, 128,   0, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
@@ -9055,52 +9280,64 @@ yyc_ST_ONE_LINE_COMMENT:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(925, *YYCURSOR);
+               YYDEBUG(948, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy931;
+                       goto yy956;
                }
-               if (yych <= '\f') goto yy934;
-               if (yych <= '\r') goto yy935;
-               if (yych <= '=') goto yy927;
-               if (yych <= '>') goto yy929;
-               goto yy930;
-yy927:
-               YYDEBUG(927, *YYCURSOR);
+               if (yych <= '\r') {
+                       if (yych <= 0x00) goto yy950;
+                       if (yych <= '\f') goto yy959;
+                       goto yy960;
+               } else {
+                       if (yych <= '=') goto yy952;
+                       if (yych <= '>') goto yy954;
+                       goto yy955;
+               }
+yy950:
+               YYDEBUG(950, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy939;
-yy928:
-               YYDEBUG(928, *YYCURSOR);
+               YYDEBUG(951, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 9306 "Zend/zend_language_scanner.c"
+yy952:
+               YYDEBUG(952, *YYCURSOR);
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '>') goto yy964;
+yy953:
+               YYDEBUG(953, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2282 "Zend/zend_language_scanner.l"
+#line 2253 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 9081 "Zend/zend_language_scanner.c"
-yy929:
-               YYDEBUG(929, *YYCURSOR);
+#line 9318 "Zend/zend_language_scanner.c"
+yy954:
+               YYDEBUG(954, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy928;
-yy930:
-               YYDEBUG(930, *YYCURSOR);
+               goto yy953;
+yy955:
+               YYDEBUG(955, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy939;
-               goto yy928;
-yy931:
-               YYDEBUG(931, *YYCURSOR);
+               if (yych == '>') goto yy964;
+               goto yy953;
+yy956:
+               YYDEBUG(956, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(932, *YYCURSOR);
+               YYDEBUG(957, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy931;
+                       goto yy956;
                }
-               goto yy938;
-yy933:
-               YYDEBUG(933, *YYCURSOR);
+               if (yych >= 0x01) goto yy963;
+yy958:
+               YYDEBUG(958, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2286 "Zend/zend_language_scanner.l"
+#line 2257 "Zend/zend_language_scanner.l"
                {
        switch (yytext[yyleng-1]) {
                case '?': case '%': case '>':
@@ -9118,20 +9355,20 @@ yy933:
                        return T_COMMENT;
        }
 }
-#line 9122 "Zend/zend_language_scanner.c"
-yy934:
-               YYDEBUG(934, *YYCURSOR);
+#line 9359 "Zend/zend_language_scanner.c"
+yy959:
+               YYDEBUG(959, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy933;
-yy935:
-               YYDEBUG(935, *YYCURSOR);
+               goto yy958;
+yy960:
+               YYDEBUG(960, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '\n') goto yy933;
-               YYDEBUG(936, *YYCURSOR);
+               if (yych != '\n') goto yy958;
+               YYDEBUG(961, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(937, *YYCURSOR);
+               YYDEBUG(962, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2304 "Zend/zend_language_scanner.l"
+#line 2275 "Zend/zend_language_scanner.l"
                {
        Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
        Z_STRLEN_P(zendlval) = yyleng;
@@ -9140,17 +9377,17 @@ yy935:
        CG(zend_lineno)++;
        return T_COMMENT;
 }
-#line 9144 "Zend/zend_language_scanner.c"
-yy938:
-               YYDEBUG(938, *YYCURSOR);
+#line 9381 "Zend/zend_language_scanner.c"
+yy963:
+               YYDEBUG(963, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy933;
-yy939:
-               YYDEBUG(939, *YYCURSOR);
+               goto yy958;
+yy964:
+               YYDEBUG(964, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(940, *YYCURSOR);
+               YYDEBUG(965, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2313 "Zend/zend_language_scanner.l"
+#line 2284 "Zend/zend_language_scanner.l"
                {
     if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */
                Z_STRVAL_P(zendlval) = yytext; /* no copying - intentional */
@@ -9163,7 +9400,7 @@ yy939:
                yymore();
        }
 }
-#line 9167 "Zend/zend_language_scanner.c"
+#line 9404 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -9202,69 +9439,77 @@ yyc_ST_VAR_OFFSET:
                         32,  32,  32,  32,  32,  32,  32,  32, 
                         32,  32,  32,  32,  32,  32,  32,  32, 
                };
-               YYDEBUG(941, *YYCURSOR);
+               YYDEBUG(966, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '/') {
-                       if (yych <= ' ') {
-                               if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy955;
-                                       if (yych <= '\n') goto yy951;
-                                       goto yy955;
+                       if (yych <= 0x1F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x00) goto yy968;
+                                       if (yych <= 0x08) goto yy982;
+                                       goto yy978;
                                } else {
-                                       if (yych <= '\r') goto yy951;
-                                       if (yych <= 0x1F) goto yy955;
-                                       goto yy951;
+                                       if (yych == '\r') goto yy978;
+                                       goto yy982;
                                }
                        } else {
-                               if (yych <= '$') {
-                                       if (yych <= '"') goto yy950;
-                                       if (yych <= '#') goto yy951;
-                                       goto yy946;
+                               if (yych <= '#') {
+                                       if (yych <= ' ') goto yy978;
+                                       if (yych <= '"') goto yy977;
+                                       goto yy978;
                                } else {
-                                       if (yych == '\'') goto yy951;
-                                       goto yy950;
+                                       if (yych <= '$') goto yy973;
+                                       if (yych == '\'') goto yy978;
+                                       goto yy977;
                                }
                        }
                } else {
                        if (yych <= '\\') {
                                if (yych <= '@') {
-                                       if (yych <= '0') goto yy943;
-                                       if (yych <= '9') goto yy945;
-                                       goto yy950;
+                                       if (yych <= '0') goto yy970;
+                                       if (yych <= '9') goto yy972;
+                                       goto yy977;
                                } else {
-                                       if (yych <= 'Z') goto yy953;
-                                       if (yych <= '[') goto yy950;
-                                       goto yy951;
+                                       if (yych <= 'Z') goto yy980;
+                                       if (yych <= '[') goto yy977;
+                                       goto yy978;
                                }
                        } else {
                                if (yych <= '_') {
-                                       if (yych <= ']') goto yy948;
-                                       if (yych <= '^') goto yy950;
-                                       goto yy953;
+                                       if (yych <= ']') goto yy975;
+                                       if (yych <= '^') goto yy977;
+                                       goto yy980;
                                } else {
-                                       if (yych <= '`') goto yy950;
-                                       if (yych <= 'z') goto yy953;
-                                       if (yych <= '~') goto yy950;
-                                       goto yy953;
+                                       if (yych <= '`') goto yy977;
+                                       if (yych <= 'z') goto yy980;
+                                       if (yych <= '~') goto yy977;
+                                       goto yy980;
                                }
                        }
                }
-yy943:
-               YYDEBUG(943, *YYCURSOR);
+yy968:
+               YYDEBUG(968, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(969, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 2657 "Zend/zend_language_scanner.l"
+               { return 0; }
+#line 9498 "Zend/zend_language_scanner.c"
+yy970:
+               YYDEBUG(970, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'W') {
-                       if (yych <= '/') goto yy944;
-                       if (yych <= '9') goto yy966;
+                       if (yych <= '/') goto yy971;
+                       if (yych <= '9') goto yy993;
                } else {
-                       if (yych <= 'X') goto yy964;
-                       if (yych == 'x') goto yy964;
+                       if (yych <= 'X') goto yy991;
+                       if (yych == 'x') goto yy991;
                }
-yy944:
-               YYDEBUG(944, *YYCURSOR);
+yy971:
+               YYDEBUG(971, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1942 "Zend/zend_language_scanner.l"
+#line 1913 "Zend/zend_language_scanner.l"
                { /* Offset could be treated as a long */
        if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
                Z_LVAL_P(zendlval) = strtol(yytext, NULL, 10);
@@ -9276,53 +9521,53 @@ yy944:
        }
        return T_NUM_STRING;
 }
-#line 9280 "Zend/zend_language_scanner.c"
-yy945:
-               YYDEBUG(945, *YYCURSOR);
+#line 9525 "Zend/zend_language_scanner.c"
+yy972:
+               YYDEBUG(972, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy963;
-yy946:
-               YYDEBUG(946, *YYCURSOR);
+               goto yy990;
+yy973:
+               YYDEBUG(973, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '_') {
-                       if (yych <= '@') goto yy947;
-                       if (yych <= 'Z') goto yy959;
-                       if (yych >= '_') goto yy959;
+                       if (yych <= '@') goto yy974;
+                       if (yych <= 'Z') goto yy986;
+                       if (yych >= '_') goto yy986;
                } else {
-                       if (yych <= '`') goto yy947;
-                       if (yych <= 'z') goto yy959;
-                       if (yych >= 0x7F) goto yy959;
+                       if (yych <= '`') goto yy974;
+                       if (yych <= 'z') goto yy986;
+                       if (yych >= 0x7F) goto yy986;
                }
-yy947:
-               YYDEBUG(947, *YYCURSOR);
+yy974:
+               YYDEBUG(974, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2246 "Zend/zend_language_scanner.l"
+#line 2217 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 9305 "Zend/zend_language_scanner.c"
-yy948:
-               YYDEBUG(948, *YYCURSOR);
+#line 9550 "Zend/zend_language_scanner.c"
+yy975:
+               YYDEBUG(975, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(949, *YYCURSOR);
+               YYDEBUG(976, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2241 "Zend/zend_language_scanner.l"
+#line 2212 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 9316 "Zend/zend_language_scanner.c"
-yy950:
-               YYDEBUG(950, *YYCURSOR);
+#line 9561 "Zend/zend_language_scanner.c"
+yy977:
+               YYDEBUG(977, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy947;
-yy951:
-               YYDEBUG(951, *YYCURSOR);
+               goto yy974;
+yy978:
+               YYDEBUG(978, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(952, *YYCURSOR);
+               YYDEBUG(979, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2251 "Zend/zend_language_scanner.l"
+#line 2222 "Zend/zend_language_scanner.l"
                {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
@@ -9330,70 +9575,70 @@ yy951:
        ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 9334 "Zend/zend_language_scanner.c"
-yy953:
-               YYDEBUG(953, *YYCURSOR);
+#line 9579 "Zend/zend_language_scanner.c"
+yy980:
+               YYDEBUG(980, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy958;
-yy954:
-               YYDEBUG(954, *YYCURSOR);
+               goto yy985;
+yy981:
+               YYDEBUG(981, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2269 "Zend/zend_language_scanner.l"
+#line 2240 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
                return 0;
        }
        return T_STRING;
 }
-#line 9350 "Zend/zend_language_scanner.c"
-yy955:
-               YYDEBUG(955, *YYCURSOR);
+#line 9595 "Zend/zend_language_scanner.c"
+yy982:
+               YYDEBUG(982, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(956, *YYCURSOR);
+               YYDEBUG(983, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2682 "Zend/zend_language_scanner.l"
+#line 2659 "Zend/zend_language_scanner.l"
                {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 9361 "Zend/zend_language_scanner.c"
-yy957:
-               YYDEBUG(957, *YYCURSOR);
+#line 9606 "Zend/zend_language_scanner.c"
+yy984:
+               YYDEBUG(984, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy958:
-               YYDEBUG(958, *YYCURSOR);
+yy985:
+               YYDEBUG(985, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy957;
+                       goto yy984;
                }
-               goto yy954;
-yy959:
-               YYDEBUG(959, *YYCURSOR);
+               goto yy981;
+yy986:
+               YYDEBUG(986, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(960, *YYCURSOR);
+               YYDEBUG(987, *YYCURSOR);
                if (yych <= '^') {
                        if (yych <= '9') {
-                               if (yych >= '0') goto yy959;
+                               if (yych >= '0') goto yy986;
                        } else {
-                               if (yych <= '@') goto yy961;
-                               if (yych <= 'Z') goto yy959;
+                               if (yych <= '@') goto yy988;
+                               if (yych <= 'Z') goto yy986;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy959;
+                               if (yych <= '_') goto yy986;
                        } else {
-                               if (yych <= 'z') goto yy959;
-                               if (yych >= 0x7F) goto yy959;
+                               if (yych <= 'z') goto yy986;
+                               if (yych >= 0x7F) goto yy986;
                        }
                }
-yy961:
-               YYDEBUG(961, *YYCURSOR);
+yy988:
+               YYDEBUG(988, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2231 "Zend/zend_language_scanner.l"
+#line 2202 "Zend/zend_language_scanner.l"
                {
        if (!zend_copy_scanner_string(zendlval, (yytext+1), (yyleng-1), UG(unicode)?IS_UNICODE:IS_STRING, SCNG(output_conv) TSRMLS_CC)) {
                return 0;
@@ -9403,58 +9648,58 @@ yy961:
        }
        return T_VARIABLE;
 }
-#line 9407 "Zend/zend_language_scanner.c"
-yy962:
-               YYDEBUG(962, *YYCURSOR);
+#line 9652 "Zend/zend_language_scanner.c"
+yy989:
+               YYDEBUG(989, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy963:
-               YYDEBUG(963, *YYCURSOR);
+yy990:
+               YYDEBUG(990, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy962;
+                       goto yy989;
                }
-               goto yy944;
-yy964:
-               YYDEBUG(964, *YYCURSOR);
+               goto yy971;
+yy991:
+               YYDEBUG(991, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy969;
+                       goto yy996;
                }
-               YYDEBUG(965, *YYCURSOR);
+               YYDEBUG(992, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy944;
-yy966:
-               YYDEBUG(966, *YYCURSOR);
+               goto yy971;
+yy993:
+               YYDEBUG(993, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(967, *YYCURSOR);
-               if (yych <= '/') goto yy968;
-               if (yych <= '9') goto yy966;
-yy968:
-               YYDEBUG(968, *YYCURSOR);
+               YYDEBUG(994, *YYCURSOR);
+               if (yych <= '/') goto yy995;
+               if (yych <= '9') goto yy993;
+yy995:
+               YYDEBUG(995, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1954 "Zend/zend_language_scanner.l"
+#line 1925 "Zend/zend_language_scanner.l"
                { /* Offset must be treated as a string */
        if (!zend_copy_scanner_string(zendlval, yytext, yyleng, CG(literal_type), SCNG(output_conv) TSRMLS_CC)) {
                return 0;
        }
        return T_NUM_STRING;
 }
-#line 9446 "Zend/zend_language_scanner.c"
-yy969:
-               YYDEBUG(969, *YYCURSOR);
+#line 9691 "Zend/zend_language_scanner.c"
+yy996:
+               YYDEBUG(996, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(970, *YYCURSOR);
+               YYDEBUG(997, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy969;
+                       goto yy996;
                }
-               goto yy968;
+               goto yy995;
        }
 }
-#line 2687 "Zend/zend_language_scanner.l"
+#line 2664 "Zend/zend_language_scanner.l"
 
 }
index db85c49123c50c4332f0d1ede56c0ee8eccb8081..2badeb3634e34ffb30f3b2c6db6c1c4013996b2b 100644 (file)
@@ -48,7 +48,7 @@
 #include "tsrm_config_common.h"
 
 #define YYCTYPE   unsigned char
-#define YYFILL(n) { if (YYCURSOR >= YYLIMIT) return 0; }
+#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { zend_error(E_COMPILE_ERROR, "Exceeded YYLIMIT bounds during scanning.  Please report this."); return 0; } }
 #define YYCURSOR  SCNG(yy_cursor)
 #define YYLIMIT   SCNG(yy_limit)
 #define YYMARKER  SCNG(yy_marker)
@@ -1327,15 +1327,6 @@ restart:
 
 yymore_restart:
 
-       /* detect EOF */
-       if (YYCURSOR >= YYLIMIT) {
-               /* special case */
-               if (YYSTATE == STATE(ST_COMMENT) || YYSTATE == STATE(ST_DOC_COMMENT)) {
-                       zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
-               }
-               return 0;
-       }
-
 /*!re2c
 re2c:yyfill:check = 0;
 LNUM   [0-9]+
@@ -1346,17 +1337,18 @@ LABEL   [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
 TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@]
-ANY_CHAR [^]
+ANY_CHAR [^\x00]
 NEWLINE ("\r"|"\n"|"\r\n")
+NULL [\x00]{1}
 
 /*
  * LITERAL_DOLLAR matches unescaped $ that aren't followed by a label character
  * or a { and therefore will be taken literally. The case of literal $ before
  * a variable or "${" is handled in a rule for each string type
  */
-DOUBLE_QUOTES_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$"\\{]|("\\"{ANY_CHAR})))
-BACKQUOTE_LITERAL_DOLLAR     ("$"+([^a-zA-Z_\x7f-\xff$`\\{]|("\\"{ANY_CHAR})))
-HEREDOC_LITERAL_DOLLAR       ("$"+([^a-zA-Z_\x7f-\xff$\n\r\\{]|("\\"[^\n\r])))
+DOUBLE_QUOTES_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$"\\{\x00]|("\\"{ANY_CHAR})))
+BACKQUOTE_LITERAL_DOLLAR     ("$"+([^a-zA-Z_\x7f-\xff$`\\{\x00]|("\\"{ANY_CHAR})))
+HEREDOC_LITERAL_DOLLAR       ("$"+([^a-zA-Z_\x7f-\xff$\n\r\\{\x00]|("\\"[^\n\r\x00])))
 
 /*
  * Usually, HEREDOC_NEWLINE will just function like a simple NEWLINE, but some
@@ -1373,7 +1365,7 @@ HEREDOC_NEWLINE ((({LABEL}";"?((("{"+|"$"+)"\\"?)|"\\"))|(("{"*|"$"*)"\\"?)){NEW
  * This pattern is just used in the next 2 for matching { or literal $, and/or
  * \ escape sequence immediately at the beginning of a line or after a label
  */
-HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR (("{"+[^$\n\r\\{])|("{"*"\\"[^\n\r])|{HEREDOC_LITERAL_DOLLAR})
+HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR (("{"+[^$\n\r\\{\x00])|("{"*"\\"[^\n\r\x00])|{HEREDOC_LITERAL_DOLLAR})
 
 /*
  * These 2 label-related patterns allow HEREDOC_CHARS to continue "regular"
@@ -1382,12 +1374,12 @@ HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR (("{"+[^$\n\r\\{])|("{"*"\\"[^\n\r])|{HEREDOC_
  * a variable or "{$"  Matching a newline, and possibly label, up TO a variable
  * or "{$", is handled in the heredoc rules
  *
- * The HEREDOC_LABEL_NO_NEWLINE pattern (";"[^$\n\r\\{]) handles cases where ;
- * follows a label. [^a-zA-Z0-9_\x7f-\xff;$\n\r\\{] is needed to prevent a label
+ * The HEREDOC_LABEL_NO_NEWLINE pattern (";"[^$\n\r\\{\x00]) handles cases where ;
+ * follows a label. [^a-zA-Z0-9_\x7f-\xff;$\n\r\\{\x00] is needed to prevent a label
  * character or ; from matching on a possible (real) ending label
  */
-HEREDOC_NON_LABEL ([^a-zA-Z_\x7f-\xff$\n\r\\{]|{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR})
-HEREDOC_LABEL_NO_NEWLINE ({LABEL}([^a-zA-Z0-9_\x7f-\xff;$\n\r\\{]|(";"[^$\n\r\\{])|(";"?{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR})))
+HEREDOC_NON_LABEL ([^a-zA-Z_\x7f-\xff$\n\r\\{\x00]|{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR})
+HEREDOC_LABEL_NO_NEWLINE ({LABEL}([^a-zA-Z0-9_\x7f-\xff;$\n\r\\{\x00]|(";"[^$\n\r\\{\x00])|(";"?{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR})))
 
 /*
  * CHARS matches everything up to a variable or "{$"
@@ -1397,11 +1389,11 @@ HEREDOC_LABEL_NO_NEWLINE ({LABEL}([^a-zA-Z0-9_\x7f-\xff;$\n\r\\{]|(";"[^$\n\r\\{
  * For heredocs, matching continues across/after newlines if/when it's known
  * that the next line doesn't contain a possible ending label
  */
-DOUBLE_QUOTES_CHARS ("{"*([^$"\\{]|("\\"{ANY_CHAR}))|{DOUBLE_QUOTES_LITERAL_DOLLAR})
-BACKQUOTE_CHARS     ("{"*([^$`\\{]|("\\"{ANY_CHAR}))|{BACKQUOTE_LITERAL_DOLLAR})
-HEREDOC_CHARS       ("{"*([^$\n\r\\{]|("\\"[^\n\r]))|{HEREDOC_LITERAL_DOLLAR}|({HEREDOC_NEWLINE}+({HEREDOC_NON_LABEL}|{HEREDOC_LABEL_NO_NEWLINE})))
+DOUBLE_QUOTES_CHARS ("{"*([^$"\\{\x00]|("\\"{ANY_CHAR}))|{DOUBLE_QUOTES_LITERAL_DOLLAR})
+BACKQUOTE_CHARS     ("{"*([^$`\\{\x00]|("\\"{ANY_CHAR}))|{BACKQUOTE_LITERAL_DOLLAR})
+HEREDOC_CHARS       ("{"*([^$\n\r\\{\x00]|("\\"[^\n\r\x00]))|{HEREDOC_LITERAL_DOLLAR}|({HEREDOC_NEWLINE}+({HEREDOC_NON_LABEL}|{HEREDOC_LABEL_NO_NEWLINE})))
 
-NOWDOC_CHARS        ([^\n\r]|{NEWLINE}+([^a-zA-Z_\x7f-\xff\n\r]|({LABEL}([^a-zA-Z0-9_\x7f-\xff;\n\r]|(";"[^\n\r])))))
+NOWDOC_CHARS        ([^\n\r\x00]|{NEWLINE}+([^a-zA-Z_\x7f-\xff\n\r\x00]|({LABEL}([^a-zA-Z0-9_\x7f-\xff;\n\r\x00]|(";"[^\n\r\x00])))))
 
 /* compute yyleng before each rule */
 <!*> := yyleng = YYCURSOR - SCNG(yy_text);
@@ -2262,7 +2254,7 @@ inline_char_handler:
        yymore();
 }
 
-<ST_ONE_LINE_COMMENT>[^\n\r?%>]*{ANY_CHAR} {
+<ST_ONE_LINE_COMMENT>[^\n\r?%>\x00]*{ANY_CHAR} {
        switch (yytext[yyleng-1]) {
                case '?': case '%': case '>':
                        yyless(yyleng-1);
@@ -2308,13 +2300,18 @@ inline_char_handler:
        yymore();
 }
 
+<ST_COMMENT,ST_DOC_COMMENT>{NULL} {
+       zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
+       return 0;
+}
+
 <ST_IN_SCRIPTING>"/*" {
        BEGIN(ST_COMMENT);
        yymore();
 }
 
 
-<ST_COMMENT,ST_DOC_COMMENT>[^*]+ {
+<ST_COMMENT,ST_DOC_COMMENT>[^*\x00]+ {
        yymore();
 }
 
@@ -2657,6 +2654,7 @@ inline_char_handler:
        return '`';
 }
 
+<*>{NULL} { return 0; } /* EOF */
 
 <ST_IN_SCRIPTING,ST_VAR_OFFSET>{ANY_CHAR} {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
index 463a2fbac6b7e0f393c71c6cb00cdd75c7d7d41c..b72eb125ff22b8dc808e0555a002ce23901e8314 100644 (file)
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.13.5 on Fri Jan  9 12:18:37 2009 */
-#line 3 "./zend_language_scanner_defs.h"
+/* Generated by re2c 0.13.5 on Wed Mar 11 14:39:25 2009 */
+#line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {
        yycST_IN_SCRIPTING,
index 68e8766fba3b351490791bfb8f39755dc3206eaa..53c8d95aa93e22ece5441c013b804b34718dc9de 100644 (file)
@@ -29,7 +29,7 @@ typedef size_t (*zend_stream_fsizer_t)(void* handle TSRMLS_DC);
 typedef size_t (*zend_stream_reader_t)(void* handle, char *buf, size_t len TSRMLS_DC);
 typedef void   (*zend_stream_closer_t)(void* handle TSRMLS_DC);
 
-#define ZEND_MMAP_AHEAD 16
+#define ZEND_MMAP_AHEAD 32 
 
 typedef enum {
        ZEND_HANDLE_FILENAME,
index e4da8b51a3d6e06b2b41a1e5ee836225868a1363..65636908e612f097f231b448cebcf9788bbb17e6 100644 (file)
@@ -49,7 +49,7 @@ bool(false)
 </span>
 </code>bool(true)
 <code><span style="color: #000000">
-<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #FF9900">"test&nbsp;?&gt;</span>
+<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"test&nbsp;?&gt;</span>
 </span>
 </code>bool(true)
 <code><span style="color: #000000">