]> granicus.if.org Git - php/commitdiff
MFB:
authorFelipe Pena <felipe@php.net>
Sat, 5 Apr 2008 23:13:21 +0000 (23:13 +0000)
committerFelipe Pena <felipe@php.net>
Sat, 5 Apr 2008 23:13:21 +0000 (23:13 +0000)
- Allow HEREDOC syntax with double quotes [DOC]
(http://wiki.php.net/rfc/heredoc-with-double-quotes)

Zend/tests/heredoc_012.phpt [new file with mode: 0644]
Zend/tests/heredoc_013.phpt [new file with mode: 0644]
Zend/tests/heredoc_014.phpt [new file with mode: 0644]
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h

diff --git a/Zend/tests/heredoc_012.phpt b/Zend/tests/heredoc_012.phpt
new file mode 100644 (file)
index 0000000..73f7483
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Heredoc with double quotes
+--FILE--
+<?php
+$test = "foo";
+$var = <<<"MYLABEL"
+test: $test
+MYLABEL;
+echo $var;
+?>
+--EXPECT--
+test: foo
diff --git a/Zend/tests/heredoc_013.phpt b/Zend/tests/heredoc_013.phpt
new file mode 100644 (file)
index 0000000..b2a6673
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Heredoc with double quotes and wrong prefix
+--FILE--
+<?php
+$test = "foo";
+$var = prefix<<<"MYLABEL"
+test: $test
+MYLABEL;
+echo $var;
+?>
+--EXPECTF--
+Parse error: syntax error, unexpected T_START_HEREDOC in %sheredoc_013.php on line %d
diff --git a/Zend/tests/heredoc_014.phpt b/Zend/tests/heredoc_014.phpt
new file mode 100644 (file)
index 0000000..fa40456
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Heredoc with double quotes syntax but missing second quote
+--FILE--
+<?php
+$test = "foo";
+$var = <<<"MYLABEL
+test: $test
+MYLABEL;
+echo $var;
+?>
+--EXPECTF--
+Parse error: syntax error, unexpected T_SL in %sheredoc_014.php on line %d
index 1305ad1d1d394d29a58af0a5615da675a161cca7..3d08a19e0bb02257bb29bb2b9c612f2aa71070c8 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4.dev on Fri Apr  4 16:08:19 2008 */
+/* Generated by re2c 0.13.4 on Sat Apr  5 19:52:56 2008 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -1996,7 +1996,7 @@ yy65:
 yy66:
                YYDEBUG(66, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2596 "Zend/zend_language_scanner.l"
+#line 2598 "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);
@@ -2017,7 +2017,7 @@ yy68:
                ++YYCURSOR;
                YYDEBUG(69, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2753 "Zend/zend_language_scanner.l"
+#line 2755 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
@@ -2106,7 +2106,7 @@ yy74:
 yy76:
                YYDEBUG(76, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2605 "Zend/zend_language_scanner.l"
+#line 2607 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
 
@@ -2141,7 +2141,7 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2560 "Zend/zend_language_scanner.l"
+#line 2562 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2517,7 +2517,7 @@ yy116:
 yy117:
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2568 "Zend/zend_language_scanner.l"
+#line 2570 "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);
@@ -2538,7 +2538,7 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2747 "Zend/zend_language_scanner.l"
+#line 2749 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
@@ -2630,7 +2630,7 @@ yy125:
 yy127:
                YYDEBUG(127, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2583 "Zend/zend_language_scanner.l"
+#line 2585 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        if (yytext[yyleng-1] == '"') --yyleng;
@@ -2666,7 +2666,7 @@ yy131:
                ++YYCURSOR;
                YYDEBUG(132, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2560 "Zend/zend_language_scanner.l"
+#line 2562 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2776,7 +2776,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(147, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2548 "Zend/zend_language_scanner.l"
+#line 2550 "Zend/zend_language_scanner.l"
        {
        Z_STRVAL_P(zendlval) = CG(heredoc);
        Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2797,7 +2797,7 @@ yyc_ST_END_NOWDOC:
        ++YYCURSOR;
        YYDEBUG(151, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2734 "Zend/zend_language_scanner.l"
+#line 2736 "Zend/zend_language_scanner.l"
        {
        Z_STRVAL_P(zendlval) = CG(heredoc);
        Z_STRLEN_P(zendlval) = CG(heredoc_len);
@@ -2865,7 +2865,7 @@ yyc_ST_HEREDOC:
 yy154:
                YYDEBUG(154, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2624 "Zend/zend_language_scanner.l"
+#line 2626 "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);
@@ -3160,7 +3160,7 @@ yy173:
 yy175:
                YYDEBUG(175, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2633 "Zend/zend_language_scanner.l"
+#line 2635 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
 
@@ -3270,7 +3270,7 @@ yy182:
                ++YYCURSOR;
                YYDEBUG(183, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2509 "Zend/zend_language_scanner.l"
+#line 2511 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -3547,7 +3547,7 @@ yy203:
                ++YYCURSOR;
                YYDEBUG(204, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2560 "Zend/zend_language_scanner.l"
+#line 2562 "Zend/zend_language_scanner.l"
                {
        Z_LVAL_P(zendlval) = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -3857,17 +3857,17 @@ yy218:
                YYDEBUG(-1, yych);
                switch ((yych = *YYCURSOR)) {
                case 'C':
-               case 'c':       goto yy839;
+               case 'c':       goto yy847;
                case 'L':
-               case 'l':       goto yy840;
+               case 'l':       goto yy848;
                case 'M':
-               case 'm':       goto yy841;
+               case 'm':       goto yy849;
                case 'N':
-               case 'n':       goto yy842;
+               case 'n':       goto yy850;
                case 'V':
-               case 'v':       goto yy843;
+               case 'v':       goto yy851;
                case 'X':
-               case 'x':       goto yy844;
+               case 'x':       goto yy852;
                default:        goto yy296;
                }
 yy219:
@@ -3889,20 +3889,20 @@ yy220:
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'H') {
-                               if (yych == 'E') goto yy821;
+                               if (yych == 'E') goto yy829;
                                goto yy296;
                        } else {
-                               if (yych <= 'I') goto yy822;
+                               if (yych <= 'I') goto yy830;
                                if (yych <= 'N') goto yy296;
-                               goto yy823;
+                               goto yy831;
                        }
                } else {
                        if (yych <= 'h') {
-                               if (yych == 'e') goto yy821;
+                               if (yych == 'e') goto yy829;
                                goto yy296;
                        } else {
-                               if (yych <= 'i') goto yy822;
-                               if (yych == 'o') goto yy823;
+                               if (yych <= 'i') goto yy830;
+                               if (yych == 'o') goto yy831;
                                goto yy296;
                        }
                }
@@ -3911,20 +3911,20 @@ yy221:
                yych = *++YYCURSOR;
                if (yych <= 'U') {
                        if (yych <= 'N') {
-                               if (yych == 'I') goto yy800;
+                               if (yych == 'I') goto yy808;
                                goto yy296;
                        } else {
-                               if (yych <= 'O') goto yy801;
+                               if (yych <= 'O') goto yy809;
                                if (yych <= 'T') goto yy296;
-                               goto yy802;
+                               goto yy810;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'i') goto yy800;
+                               if (yych == 'i') goto yy808;
                                goto yy296;
                        } else {
-                               if (yych <= 'o') goto yy801;
-                               if (yych == 'u') goto yy802;
+                               if (yych <= 'o') goto yy809;
+                               if (yych == 'u') goto yy810;
                                goto yy296;
                        }
                }
@@ -3933,42 +3933,42 @@ yy222:
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'K') {
-                               if (yych == 'A') goto yy772;
+                               if (yych == 'A') goto yy780;
                                goto yy296;
                        } else {
-                               if (yych <= 'L') goto yy773;
+                               if (yych <= 'L') goto yy781;
                                if (yych <= 'N') goto yy296;
-                               goto yy774;
+                               goto yy782;
                        }
                } else {
                        if (yych <= 'k') {
-                               if (yych == 'a') goto yy772;
+                               if (yych == 'a') goto yy780;
                                goto yy296;
                        } else {
-                               if (yych <= 'l') goto yy773;
-                               if (yych == 'o') goto yy774;
+                               if (yych <= 'l') goto yy781;
+                               if (yych == 'o') goto yy782;
                                goto yy296;
                        }
                }
 yy223:
                YYDEBUG(223, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy754;
-               if (yych == 'e') goto yy754;
+               if (yych == 'E') goto yy762;
+               if (yych == 'e') goto yy762;
                goto yy296;
 yy224:
                YYDEBUG(224, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'R') {
-                       if (yych == 'H') goto yy746;
+                       if (yych == 'H') goto yy754;
                        if (yych <= 'Q') goto yy296;
-                       goto yy747;
+                       goto yy755;
                } else {
                        if (yych <= 'h') {
                                if (yych <= 'g') goto yy296;
-                               goto yy746;
+                               goto yy754;
                        } else {
-                               if (yych == 'r') goto yy747;
+                               if (yych == 'r') goto yy755;
                                goto yy296;
                        }
                }
@@ -3977,53 +3977,53 @@ yy225:
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'L') {
-                               if (yych == 'F') goto yy699;
+                               if (yych == 'F') goto yy707;
                                goto yy296;
                        } else {
-                               if (yych <= 'M') goto yy701;
-                               if (yych <= 'N') goto yy702;
+                               if (yych <= 'M') goto yy709;
+                               if (yych <= 'N') goto yy710;
                                if (yych <= 'R') goto yy296;
-                               goto yy703;
+                               goto yy711;
                        }
                } else {
                        if (yych <= 'm') {
-                               if (yych == 'f') goto yy699;
+                               if (yych == 'f') goto yy707;
                                if (yych <= 'l') goto yy296;
-                               goto yy701;
+                               goto yy709;
                        } else {
-                               if (yych <= 'n') goto yy702;
-                               if (yych == 's') goto yy703;
+                               if (yych <= 'n') goto yy710;
+                               if (yych == 's') goto yy711;
                                goto yy296;
                        }
                }
 yy226:
                YYDEBUG(226, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy694;
-               if (yych == 'h') goto yy694;
+               if (yych == 'H') goto yy702;
+               if (yych == 'h') goto yy702;
                goto yy296;
 yy227:
                YYDEBUG(227, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'M') {
-                               if (yych == 'B') goto yy676;
+                               if (yych == 'B') goto yy684;
                                goto yy296;
                        } else {
-                               if (yych <= 'N') goto yy677;
+                               if (yych <= 'N') goto yy685;
                                if (yych <= 'Q') goto yy296;
-                               if (yych <= 'R') goto yy678;
-                               goto yy679;
+                               if (yych <= 'R') goto yy686;
+                               goto yy687;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'b') goto yy676;
+                               if (yych == 'b') goto yy684;
                                if (yych <= 'm') goto yy296;
-                               goto yy677;
+                               goto yy685;
                        } else {
                                if (yych <= 'q') goto yy296;
-                               if (yych <= 'r') goto yy678;
-                               if (yych <= 's') goto yy679;
+                               if (yych <= 'r') goto yy686;
+                               if (yych <= 's') goto yy687;
                                goto yy296;
                        }
                }
@@ -4031,15 +4031,15 @@ yy228:
                YYDEBUG(228, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'W') {
-                       if (yych == 'T') goto yy664;
+                       if (yych == 'T') goto yy672;
                        if (yych <= 'V') goto yy296;
-                       goto yy665;
+                       goto yy673;
                } else {
                        if (yych <= 't') {
                                if (yych <= 's') goto yy296;
-                               goto yy664;
+                               goto yy672;
                        } else {
-                               if (yych == 'w') goto yy665;
+                               if (yych == 'w') goto yy673;
                                goto yy296;
                        }
                }
@@ -4051,9 +4051,9 @@ yy229:
                        if (yych <= '/') {
                                if (yych <= '"') {
                                        if (yych <= '!') goto yy219;
-                                       goto yy634;
+                                       goto yy638;
                                } else {
-                                       if (yych == '\'') goto yy636;
+                                       if (yych == '\'') goto yy640;
                                        goto yy219;
                                }
                        } else {
@@ -4061,7 +4061,7 @@ yy229:
                                        if (yych <= '9') goto yy295;
                                        goto yy219;
                                } else {
-                                       if (yych <= '<') goto yy633;
+                                       if (yych <= '<') goto yy637;
                                        if (yych <= '@') goto yy219;
                                        goto yy295;
                                }
@@ -4069,7 +4069,7 @@ yy229:
                } else {
                        if (yych <= '`') {
                                if (yych <= 'Z') {
-                                       if (yych <= 'R') goto yy638;
+                                       if (yych <= 'R') goto yy642;
                                        goto yy295;
                                } else {
                                        if (yych == '_') goto yy295;
@@ -4078,7 +4078,7 @@ yy229:
                        } else {
                                if (yych <= 'r') {
                                        if (yych <= 'q') goto yy295;
-                                       goto yy638;
+                                       goto yy642;
                                } else {
                                        if (yych <= 'z') goto yy295;
                                        if (yych <= '~') goto yy219;
@@ -4090,15 +4090,15 @@ yy230:
                YYDEBUG(230, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'L') goto yy623;
+                       if (yych == 'L') goto yy627;
                        if (yych <= 'N') goto yy296;
-                       goto yy624;
+                       goto yy628;
                } else {
                        if (yych <= 'l') {
                                if (yych <= 'k') goto yy296;
-                               goto yy623;
+                               goto yy627;
                        } else {
-                               if (yych == 'o') goto yy624;
+                               if (yych == 'o') goto yy628;
                                goto yy296;
                        }
                }
@@ -4106,15 +4106,15 @@ yy231:
                YYDEBUG(231, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'R') goto yy599;
+                       if (yych == 'R') goto yy603;
                        if (yych <= 'T') goto yy296;
-                       goto yy600;
+                       goto yy604;
                } else {
                        if (yych <= 'r') {
                                if (yych <= 'q') goto yy296;
-                               goto yy599;
+                               goto yy603;
                        } else {
-                               if (yych == 'u') goto yy600;
+                               if (yych == 'u') goto yy604;
                                goto yy296;
                        }
                }
@@ -4122,10 +4122,10 @@ yy232:
                YYDEBUG(232, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '<') {
-                       if (yych == '-') goto yy595;
+                       if (yych == '-') goto yy599;
                } else {
-                       if (yych <= '=') goto yy593;
-                       if (yych <= '>') goto yy597;
+                       if (yych <= '=') goto yy597;
+                       if (yych <= '>') goto yy601;
                }
 yy233:
                YYDEBUG(233, *YYCURSOR);
@@ -4138,29 +4138,29 @@ yy233:
 yy234:
                YYDEBUG(234, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == ':') goto yy591;
+               if (yych == ':') goto yy595;
                goto yy233;
 yy235:
                YYDEBUG(235, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
-                       if (yych == 'A') goto yy579;
+                       if (yych == 'A') goto yy583;
                        if (yych <= 'D') goto yy296;
-                       goto yy580;
+                       goto yy584;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy296;
-                               goto yy579;
+                               goto yy583;
                        } else {
-                               if (yych == 'e') goto yy580;
+                               if (yych == 'e') goto yy584;
                                goto yy296;
                        }
                }
 yy236:
                YYDEBUG(236, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy576;
-               if (yych == 'a') goto yy576;
+               if (yych == 'A') goto yy580;
+               if (yych == 'a') goto yy580;
                goto yy296;
 yy237:
                YYDEBUG(237, *YYCURSOR);
@@ -4169,47 +4169,47 @@ yy237:
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy489;
+                                       if (yych == '\t') goto yy493;
                                        if (yych <= 0x1F) goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                } else {
                                        if (yych <= '@') goto yy233;
                                        if (yych == 'C') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy489;
+                                       if (yych == 'F') goto yy493;
                                        if (yych <= 'H') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                } else {
-                                       if (yych == 'O') goto yy489;
+                                       if (yych == 'O') goto yy493;
                                        if (yych <= 'Q') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'b') {
-                                       if (yych == 'U') goto yy489;
+                                       if (yych == 'U') goto yy493;
                                        if (yych <= '`') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                } else {
-                                       if (yych == 'd') goto yy489;
+                                       if (yych == 'd') goto yy493;
                                        if (yych <= 'e') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                }
                        } else {
                                if (yych <= 'o') {
-                                       if (yych == 'i') goto yy489;
+                                       if (yych == 'i') goto yy493;
                                        if (yych <= 'n') goto yy233;
-                                       goto yy489;
+                                       goto yy493;
                                } else {
                                        if (yych <= 's') {
                                                if (yych <= 'q') goto yy233;
-                                               goto yy489;
+                                               goto yy493;
                                        } else {
-                                               if (yych == 'u') goto yy489;
+                                               if (yych == 'u') goto yy493;
                                                goto yy233;
                                        }
                                }
@@ -4219,46 +4219,46 @@ yy238:
                YYDEBUG(238, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
-                       if (yych == 'N') goto yy480;
+                       if (yych == 'N') goto yy484;
                        if (yych <= 'R') goto yy296;
-                       goto yy481;
+                       goto yy485;
                } else {
                        if (yych <= 'n') {
                                if (yych <= 'm') goto yy296;
-                               goto yy480;
+                               goto yy484;
                        } else {
-                               if (yych == 's') goto yy481;
+                               if (yych == 's') goto yy485;
                                goto yy296;
                        }
                }
 yy239:
                YYDEBUG(239, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '_') goto yy406;
+               if (yych == '_') goto yy410;
                goto yy296;
 yy240:
                YYDEBUG(240, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '<') goto yy233;
-               if (yych <= '=') goto yy400;
-               if (yych <= '>') goto yy402;
+               if (yych <= '=') goto yy404;
+               if (yych <= '>') goto yy406;
                goto yy233;
 yy241:
                YYDEBUG(241, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy396;
-               if (yych == 'i') goto yy396;
+               if (yych == 'I') goto yy400;
+               if (yych == 'i') goto yy400;
                goto yy296;
 yy242:
                YYDEBUG(242, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '+') goto yy394;
-               if (yych == '=') goto yy392;
+               if (yych == '+') goto yy398;
+               if (yych == '=') goto yy396;
                goto yy233;
 yy243:
                YYDEBUG(243, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy389;
+               if (yych == '=') goto yy393;
                goto yy233;
 yy244:
                YYDEBUG(244, *YYCURSOR);
@@ -4504,7 +4504,7 @@ yy272:
 yy273:
                YYDEBUG(273, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2759 "Zend/zend_language_scanner.l"
+#line 2761 "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;
@@ -4515,7 +4515,7 @@ yy274:
                ++YYCURSOR;
                YYDEBUG(275, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2469 "Zend/zend_language_scanner.l"
+#line 2471 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
@@ -4601,7 +4601,7 @@ yy284:
                                if (yyaccept <= 7) {
                                        goto yy360;
                                } else {
-                                       goto yy635;
+                                       goto yy639;
                                }
                        }
                }
@@ -5218,17 +5218,18 @@ yy375:
                if (yybm[0+yych] & 128) {
                        goto yy375;
                }
-               if (yych <= '^') {
-                       if (yych <= '\'') {
-                               if (yych <= '&') goto yy284;
+               if (yych <= 'Z') {
+                       if (yych <= '&') {
+                               if (yych == '"') goto yy380;
+                               goto yy284;
                        } else {
+                               if (yych <= '\'') goto yy377;
                                if (yych <= '@') goto yy284;
-                               if (yych <= 'Z') goto yy378;
-                               goto yy284;
+                               goto yy378;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy378;
+                               if (yych == '_') goto yy378;
                                goto yy284;
                        } else {
                                if (yych <= 'z') goto yy378;
@@ -5240,9 +5241,9 @@ yy377:
                YYDEBUG(377, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == '\'') goto yy284;
-               if (yych <= '/') goto yy384;
+               if (yych <= '/') goto yy388;
                if (yych <= '9') goto yy284;
-               goto yy384;
+               goto yy388;
 yy378:
                YYDEBUG(378, *YYCURSOR);
                ++YYCURSOR;
@@ -5251,9 +5252,10 @@ yy378:
                YYDEBUG(379, *YYCURSOR);
                if (yych <= '@') {
                        if (yych <= '\f') {
-                               if (yych != '\n') goto yy284;
+                               if (yych == '\n') goto yy384;
+                               goto yy284;
                        } else {
-                               if (yych <= '\r') goto yy382;
+                               if (yych <= '\r') goto yy386;
                                if (yych <= '/') goto yy284;
                                if (yych <= '9') goto yy378;
                                goto yy284;
@@ -5272,16 +5274,54 @@ yy378:
                }
 yy380:
                YYDEBUG(380, *YYCURSOR);
-               ++YYCURSOR;
+               yych = *++YYCURSOR;
+               if (yych == '"') goto yy284;
+               if (yych <= '/') goto yy382;
+               if (yych <= '9') goto yy284;
+               goto yy382;
 yy381:
                YYDEBUG(381, *YYCURSOR);
+               ++YYCURSOR;
+               YYFILL(3);
+               yych = *YYCURSOR;
+yy382:
+               YYDEBUG(382, *YYCURSOR);
+               if (yych <= 'Z') {
+                       if (yych <= '/') {
+                               if (yych != '"') goto yy284;
+                       } else {
+                               if (yych <= '9') goto yy381;
+                               if (yych <= '@') goto yy284;
+                               goto yy381;
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych == '_') goto yy381;
+                               goto yy284;
+                       } else {
+                               if (yych <= 'z') goto yy381;
+                               if (yych <= '~') goto yy284;
+                               goto yy381;
+                       }
+               }
+               YYDEBUG(383, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy384;
+               if (yych == '\r') goto yy386;
+               goto yy284;
+yy384:
+               YYDEBUG(384, *YYCURSOR);
+               ++YYCURSOR;
+yy385:
+               YYDEBUG(385, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2454 "Zend/zend_language_scanner.l"
+#line 2455 "Zend/zend_language_scanner.l"
                {
        char *s;
+       int quotes  = (yytext[3] == '"') ? 2 : 0;
        CG(zend_lineno)++;
-       CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0);
-       s = yytext+3;
+       CG(heredoc_len) = yyleng-3-quotes-1-(yytext[yyleng-2]=='\r'?1:0);
+       s = yytext+3+(quotes ? 1 : 0);
        while ((*s == ' ') || (*s == '\t')) {
                s++;
                CG(heredoc_len)--;
@@ -5290,49 +5330,49 @@ yy381:
        BEGIN(ST_START_HEREDOC);
        return T_START_HEREDOC;
 }
-#line 5294 "Zend/zend_language_scanner.c"
-yy382:
-               YYDEBUG(382, *YYCURSOR);
+#line 5334 "Zend/zend_language_scanner.c"
+yy386:
+               YYDEBUG(386, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy380;
-               goto yy381;
-yy383:
-               YYDEBUG(383, *YYCURSOR);
+               if (yych == '\n') goto yy384;
+               goto yy385;
+yy387:
+               YYDEBUG(387, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-yy384:
-               YYDEBUG(384, *YYCURSOR);
+yy388:
+               YYDEBUG(388, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
                                if (yych != '\'') goto yy284;
                        } else {
-                               if (yych <= '9') goto yy383;
+                               if (yych <= '9') goto yy387;
                                if (yych <= '@') goto yy284;
-                               goto yy383;
+                               goto yy387;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy383;
+                               if (yych == '_') goto yy387;
                                goto yy284;
                        } else {
-                               if (yych <= 'z') goto yy383;
+                               if (yych <= 'z') goto yy387;
                                if (yych <= '~') goto yy284;
-                               goto yy383;
+                               goto yy387;
                        }
                }
-               YYDEBUG(385, *YYCURSOR);
+               YYDEBUG(389, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy386;
-               if (yych == '\r') goto yy388;
+               if (yych == '\n') goto yy390;
+               if (yych == '\r') goto yy392;
                goto yy284;
-yy386:
-               YYDEBUG(386, *YYCURSOR);
+yy390:
+               YYDEBUG(390, *YYCURSOR);
                ++YYCURSOR;
-yy387:
-               YYDEBUG(387, *YYCURSOR);
+yy391:
+               YYDEBUG(391, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2647 "Zend/zend_language_scanner.l"
+#line 2649 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '<') ? 1 : 0;
        char *s;
@@ -5351,189 +5391,189 @@ yy387:
        BEGIN(ST_START_NOWDOC);
        return T_START_NOWDOC;
 }
-#line 5355 "Zend/zend_language_scanner.c"
-yy388:
-               YYDEBUG(388, *YYCURSOR);
+#line 5395 "Zend/zend_language_scanner.c"
+yy392:
+               YYDEBUG(392, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy386;
-               goto yy387;
-yy389:
-               YYDEBUG(389, *YYCURSOR);
+               if (yych == '\n') goto yy390;
+               goto yy391;
+yy393:
+               YYDEBUG(393, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '=') goto yy365;
-               YYDEBUG(390, *YYCURSOR);
+               YYDEBUG(394, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(391, *YYCURSOR);
+               YYDEBUG(395, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1733 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 5373 "Zend/zend_language_scanner.c"
-yy392:
-               YYDEBUG(392, *YYCURSOR);
+#line 5413 "Zend/zend_language_scanner.c"
+yy396:
+               YYDEBUG(396, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(393, *YYCURSOR);
+               YYDEBUG(397, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1753 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 5383 "Zend/zend_language_scanner.c"
-yy394:
-               YYDEBUG(394, *YYCURSOR);
+#line 5423 "Zend/zend_language_scanner.c"
+yy398:
+               YYDEBUG(398, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(395, *YYCURSOR);
+               YYDEBUG(399, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1721 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 5393 "Zend/zend_language_scanner.c"
-yy396:
-               YYDEBUG(396, *YYCURSOR);
+#line 5433 "Zend/zend_language_scanner.c"
+yy400:
+               YYDEBUG(400, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy397;
+               if (yych == 'S') goto yy401;
                if (yych != 's') goto yy296;
-yy397:
-               YYDEBUG(397, *YYCURSOR);
+yy401:
+               YYDEBUG(401, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy398;
+               if (yych == 'T') goto yy402;
                if (yych != 't') goto yy296;
-yy398:
-               YYDEBUG(398, *YYCURSOR);
+yy402:
+               YYDEBUG(402, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(399, *YYCURSOR);
+               YYDEBUG(403, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1713 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 5416 "Zend/zend_language_scanner.c"
-yy400:
-               YYDEBUG(400, *YYCURSOR);
+#line 5456 "Zend/zend_language_scanner.c"
+yy404:
+               YYDEBUG(404, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy404;
-               YYDEBUG(401, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '=') goto yy408;
+               YYDEBUG(405, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1737 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 5427 "Zend/zend_language_scanner.c"
-yy402:
-               YYDEBUG(402, *YYCURSOR);
+#line 5467 "Zend/zend_language_scanner.c"
+yy406:
+               YYDEBUG(406, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(403, *YYCURSOR);
+               YYDEBUG(407, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1709 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 5437 "Zend/zend_language_scanner.c"
-yy404:
-               YYDEBUG(404, *YYCURSOR);
+#line 5477 "Zend/zend_language_scanner.c"
+yy408:
+               YYDEBUG(408, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(405, *YYCURSOR);
+               YYDEBUG(409, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1729 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 5447 "Zend/zend_language_scanner.c"
-yy406:
-               YYDEBUG(406, *YYCURSOR);
+#line 5487 "Zend/zend_language_scanner.c"
+yy410:
+               YYDEBUG(410, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'H') {
                        if (yych <= 'D') {
                                if (yych <= 'B') goto yy296;
-                               if (yych <= 'C') goto yy408;
-                               goto yy412;
+                               if (yych <= 'C') goto yy412;
+                               goto yy416;
                        } else {
-                               if (yych == 'F') goto yy409;
+                               if (yych == 'F') goto yy413;
                                if (yych <= 'G') goto yy296;
                        }
                } else {
                        if (yych <= 'M') {
                                if (yych <= 'K') goto yy296;
-                               if (yych <= 'L') goto yy411;
-                               goto yy410;
+                               if (yych <= 'L') goto yy415;
+                               goto yy414;
                        } else {
-                               if (yych <= 'N') goto yy413;
+                               if (yych <= 'N') goto yy417;
                                if (yych != 'h') goto yy296;
                        }
                }
-               YYDEBUG(407, *YYCURSOR);
+               YYDEBUG(411, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy467;
-               if (yych == 'a') goto yy467;
+               if (yych == 'A') goto yy471;
+               if (yych == 'a') goto yy471;
                goto yy296;
-yy408:
-               YYDEBUG(408, *YYCURSOR);
+yy412:
+               YYDEBUG(412, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy460;
+               if (yych == 'L') goto yy464;
                goto yy296;
-yy409:
-               YYDEBUG(409, *YYCURSOR);
+yy413:
+               YYDEBUG(413, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy444;
-               if (yych == 'U') goto yy445;
+               if (yych == 'I') goto yy448;
+               if (yych == 'U') goto yy449;
                goto yy296;
-yy410:
-               YYDEBUG(410, *YYCURSOR);
+yy414:
+               YYDEBUG(414, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy436;
+               if (yych == 'E') goto yy440;
                goto yy296;
-yy411:
-               YYDEBUG(411, *YYCURSOR);
+yy415:
+               YYDEBUG(415, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy430;
+               if (yych == 'I') goto yy434;
                goto yy296;
-yy412:
-               YYDEBUG(412, *YYCURSOR);
+yy416:
+               YYDEBUG(416, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy425;
+               if (yych == 'I') goto yy429;
                goto yy296;
-yy413:
-               YYDEBUG(413, *YYCURSOR);
+yy417:
+               YYDEBUG(417, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'A') goto yy296;
-               YYDEBUG(414, *YYCURSOR);
+               YYDEBUG(418, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'M') goto yy296;
-               YYDEBUG(415, *YYCURSOR);
+               YYDEBUG(419, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'E') goto yy296;
-               YYDEBUG(416, *YYCURSOR);
+               YYDEBUG(420, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'S') goto yy296;
-               YYDEBUG(417, *YYCURSOR);
+               YYDEBUG(421, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'P') goto yy296;
-               YYDEBUG(418, *YYCURSOR);
+               YYDEBUG(422, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'A') goto yy296;
-               YYDEBUG(419, *YYCURSOR);
+               YYDEBUG(423, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'C') goto yy296;
-               YYDEBUG(420, *YYCURSOR);
+               YYDEBUG(424, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'E') goto yy296;
-               YYDEBUG(421, *YYCURSOR);
+               YYDEBUG(425, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(422, *YYCURSOR);
+               YYDEBUG(426, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(423, *YYCURSOR);
+               YYDEBUG(427, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(424, *YYCURSOR);
+               YYDEBUG(428, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2062 "Zend/zend_language_scanner.l"
                {
@@ -5545,23 +5585,23 @@ yy413:
        }
        return T_NS_C;
 }
-#line 5549 "Zend/zend_language_scanner.c"
-yy425:
-               YYDEBUG(425, *YYCURSOR);
+#line 5589 "Zend/zend_language_scanner.c"
+yy429:
+               YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'R') goto yy296;
-               YYDEBUG(426, *YYCURSOR);
+               YYDEBUG(430, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(427, *YYCURSOR);
+               YYDEBUG(431, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(428, *YYCURSOR);
+               YYDEBUG(432, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(429, *YYCURSOR);
+               YYDEBUG(433, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2035 "Zend/zend_language_scanner.l"
                {
@@ -5590,26 +5630,26 @@ yy425:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 5594 "Zend/zend_language_scanner.c"
-yy430:
-               YYDEBUG(430, *YYCURSOR);
+#line 5634 "Zend/zend_language_scanner.c"
+yy434:
+               YYDEBUG(434, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'N') goto yy296;
-               YYDEBUG(431, *YYCURSOR);
+               YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'E') goto yy296;
-               YYDEBUG(432, *YYCURSOR);
+               YYDEBUG(436, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(433, *YYCURSOR);
+               YYDEBUG(437, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(434, *YYCURSOR);
+               YYDEBUG(438, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(435, *YYCURSOR);
+               YYDEBUG(439, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2019 "Zend/zend_language_scanner.l"
                {
@@ -5617,32 +5657,32 @@ yy430:
        Z_TYPE_P(zendlval) = IS_LONG;
        return T_LINE;
 }
-#line 5621 "Zend/zend_language_scanner.c"
-yy436:
-               YYDEBUG(436, *YYCURSOR);
+#line 5661 "Zend/zend_language_scanner.c"
+yy440:
+               YYDEBUG(440, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'T') goto yy296;
-               YYDEBUG(437, *YYCURSOR);
+               YYDEBUG(441, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'H') goto yy296;
-               YYDEBUG(438, *YYCURSOR);
+               YYDEBUG(442, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'O') goto yy296;
-               YYDEBUG(439, *YYCURSOR);
+               YYDEBUG(443, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'D') goto yy296;
-               YYDEBUG(440, *YYCURSOR);
+               YYDEBUG(444, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(441, *YYCURSOR);
+               YYDEBUG(445, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(442, *YYCURSOR);
+               YYDEBUG(446, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(443, *YYCURSOR);
+               YYDEBUG(447, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1970 "Zend/zend_language_scanner.l"
                {
@@ -5693,43 +5733,43 @@ yy436:
        }
        return T_METHOD_C;
 }
-#line 5697 "Zend/zend_language_scanner.c"
-yy444:
-               YYDEBUG(444, *YYCURSOR);
+#line 5737 "Zend/zend_language_scanner.c"
+yy448:
+               YYDEBUG(448, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy455;
+               if (yych == 'L') goto yy459;
                goto yy296;
-yy445:
-               YYDEBUG(445, *YYCURSOR);
+yy449:
+               YYDEBUG(449, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'N') goto yy296;
-               YYDEBUG(446, *YYCURSOR);
+               YYDEBUG(450, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'C') goto yy296;
-               YYDEBUG(447, *YYCURSOR);
+               YYDEBUG(451, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'T') goto yy296;
-               YYDEBUG(448, *YYCURSOR);
+               YYDEBUG(452, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'I') goto yy296;
-               YYDEBUG(449, *YYCURSOR);
+               YYDEBUG(453, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'O') goto yy296;
-               YYDEBUG(450, *YYCURSOR);
+               YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'N') goto yy296;
-               YYDEBUG(451, *YYCURSOR);
+               YYDEBUG(455, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(452, *YYCURSOR);
+               YYDEBUG(456, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(453, *YYCURSOR);
+               YYDEBUG(457, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(454, *YYCURSOR);
+               YYDEBUG(458, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1955 "Zend/zend_language_scanner.l"
                {
@@ -5746,23 +5786,23 @@ yy445:
        }
        return T_FUNC_C;
 }
-#line 5750 "Zend/zend_language_scanner.c"
-yy455:
-               YYDEBUG(455, *YYCURSOR);
+#line 5790 "Zend/zend_language_scanner.c"
+yy459:
+               YYDEBUG(459, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'E') goto yy296;
-               YYDEBUG(456, *YYCURSOR);
+               YYDEBUG(460, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(457, *YYCURSOR);
+               YYDEBUG(461, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(458, *YYCURSOR);
+               YYDEBUG(462, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(459, *YYCURSOR);
+               YYDEBUG(463, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2025 "Zend/zend_language_scanner.l"
                {
@@ -5774,29 +5814,29 @@ yy455:
        ZVAL_RT_STRING(zendlval, filename, 1);
        return T_FILE;
 }
-#line 5778 "Zend/zend_language_scanner.c"
-yy460:
-               YYDEBUG(460, *YYCURSOR);
+#line 5818 "Zend/zend_language_scanner.c"
+yy464:
+               YYDEBUG(464, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'A') goto yy296;
-               YYDEBUG(461, *YYCURSOR);
+               YYDEBUG(465, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'S') goto yy296;
-               YYDEBUG(462, *YYCURSOR);
+               YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != 'S') goto yy296;
-               YYDEBUG(463, *YYCURSOR);
+               YYDEBUG(467, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(464, *YYCURSOR);
+               YYDEBUG(468, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(465, *YYCURSOR);
+               YYDEBUG(469, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(466, *YYCURSOR);
+               YYDEBUG(470, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1940 "Zend/zend_language_scanner.l"
                {
@@ -5813,1242 +5853,1283 @@ yy460:
        }
        return T_CLASS_C;
 }
-#line 5817 "Zend/zend_language_scanner.c"
-yy467:
-               YYDEBUG(467, *YYCURSOR);
+#line 5857 "Zend/zend_language_scanner.c"
+yy471:
+               YYDEBUG(471, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy468;
+               if (yych == 'L') goto yy472;
                if (yych != 'l') goto yy296;
-yy468:
-               YYDEBUG(468, *YYCURSOR);
+yy472:
+               YYDEBUG(472, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy469;
+               if (yych == 'T') goto yy473;
                if (yych != 't') goto yy296;
-yy469:
-               YYDEBUG(469, *YYCURSOR);
+yy473:
+               YYDEBUG(473, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy296;
-               YYDEBUG(470, *YYCURSOR);
+               YYDEBUG(474, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy471;
+               if (yych == 'C') goto yy475;
                if (yych != 'c') goto yy296;
-yy471:
-               YYDEBUG(471, *YYCURSOR);
+yy475:
+               YYDEBUG(475, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy472;
+               if (yych == 'O') goto yy476;
                if (yych != 'o') goto yy296;
-yy472:
-               YYDEBUG(472, *YYCURSOR);
+yy476:
+               YYDEBUG(476, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy473;
+               if (yych == 'M') goto yy477;
                if (yych != 'm') goto yy296;
-yy473:
-               YYDEBUG(473, *YYCURSOR);
+yy477:
+               YYDEBUG(477, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy474;
+               if (yych == 'P') goto yy478;
                if (yych != 'p') goto yy296;
-yy474:
-               YYDEBUG(474, *YYCURSOR);
+yy478:
+               YYDEBUG(478, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy475;
+               if (yych == 'I') goto yy479;
                if (yych != 'i') goto yy296;
-yy475:
-               YYDEBUG(475, *YYCURSOR);
+yy479:
+               YYDEBUG(479, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy476;
+               if (yych == 'L') goto yy480;
                if (yych != 'l') goto yy296;
-yy476:
-               YYDEBUG(476, *YYCURSOR);
+yy480:
+               YYDEBUG(480, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy477;
+               if (yych == 'E') goto yy481;
                if (yych != 'e') goto yy296;
-yy477:
-               YYDEBUG(477, *YYCURSOR);
+yy481:
+               YYDEBUG(481, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy478;
+               if (yych == 'R') goto yy482;
                if (yych != 'r') goto yy296;
-yy478:
-               YYDEBUG(478, *YYCURSOR);
+yy482:
+               YYDEBUG(482, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(479, *YYCURSOR);
+               YYDEBUG(483, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1677 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 5883 "Zend/zend_language_scanner.c"
-yy480:
-               YYDEBUG(480, *YYCURSOR);
+#line 5923 "Zend/zend_language_scanner.c"
+yy484:
+               YYDEBUG(484, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy484;
-               if (yych == 's') goto yy484;
+               if (yych == 'S') goto yy488;
+               if (yych == 's') goto yy488;
                goto yy296;
-yy481:
-               YYDEBUG(481, *YYCURSOR);
+yy485:
+               YYDEBUG(485, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy482;
+               if (yych == 'E') goto yy486;
                if (yych != 'e') goto yy296;
-yy482:
-               YYDEBUG(482, *YYCURSOR);
+yy486:
+               YYDEBUG(486, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(483, *YYCURSOR);
+               YYDEBUG(487, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1661 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 5907 "Zend/zend_language_scanner.c"
-yy484:
-               YYDEBUG(484, *YYCURSOR);
+#line 5947 "Zend/zend_language_scanner.c"
+yy488:
+               YYDEBUG(488, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy485;
+               if (yych == 'E') goto yy489;
                if (yych != 'e') goto yy296;
-yy485:
-               YYDEBUG(485, *YYCURSOR);
+yy489:
+               YYDEBUG(489, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy486;
+               if (yych == 'T') goto yy490;
                if (yych != 't') goto yy296;
-yy486:
-               YYDEBUG(486, *YYCURSOR);
+yy490:
+               YYDEBUG(490, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(487, *YYCURSOR);
+               YYDEBUG(491, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1705 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 5930 "Zend/zend_language_scanner.c"
-yy488:
-               YYDEBUG(488, *YYCURSOR);
+#line 5970 "Zend/zend_language_scanner.c"
+yy492:
+               YYDEBUG(492, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(7);
                yych = *YYCURSOR;
-yy489:
-               YYDEBUG(489, *YYCURSOR);
+yy493:
+               YYDEBUG(493, *YYCURSOR);
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy488;
+                                       if (yych == '\t') goto yy492;
                                        if (yych <= 0x1F) goto yy284;
-                                       goto yy488;
+                                       goto yy492;
                                } else {
                                        if (yych <= 'A') {
                                                if (yych <= '@') goto yy284;
-                                               goto yy493;
+                                               goto yy497;
                                        } else {
-                                               if (yych <= 'B') goto yy491;
+                                               if (yych <= 'B') goto yy495;
                                                if (yych <= 'C') goto yy284;
-                                               goto yy496;
+                                               goto yy500;
                                        }
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy497;
+                                       if (yych == 'F') goto yy501;
                                        if (yych <= 'H') goto yy284;
-                                       goto yy498;
+                                       goto yy502;
                                } else {
                                        if (yych <= 'O') {
                                                if (yych <= 'N') goto yy284;
-                                               goto yy492;
+                                               goto yy496;
                                        } else {
                                                if (yych <= 'Q') goto yy284;
-                                               if (yych <= 'R') goto yy495;
-                                               goto yy494;
+                                               if (yych <= 'R') goto yy499;
+                                               goto yy498;
                                        }
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'a') {
-                                       if (yych == 'U') goto yy490;
+                                       if (yych == 'U') goto yy494;
                                        if (yych <= '`') goto yy284;
-                                       goto yy493;
+                                       goto yy497;
                                } else {
                                        if (yych <= 'c') {
-                                               if (yych <= 'b') goto yy491;
+                                               if (yych <= 'b') goto yy495;
                                                goto yy284;
                                        } else {
-                                               if (yych <= 'd') goto yy496;
+                                               if (yych <= 'd') goto yy500;
                                                if (yych <= 'e') goto yy284;
-                                               goto yy497;
+                                               goto yy501;
                                        }
                                }
                        } else {
                                if (yych <= 'q') {
                                        if (yych <= 'i') {
                                                if (yych <= 'h') goto yy284;
-                                               goto yy498;
+                                               goto yy502;
                                        } else {
-                                               if (yych == 'o') goto yy492;
+                                               if (yych == 'o') goto yy496;
                                                goto yy284;
                                        }
                                } else {
                                        if (yych <= 's') {
-                                               if (yych <= 'r') goto yy495;
-                                               goto yy494;
+                                               if (yych <= 'r') goto yy499;
+                                               goto yy498;
                                        } else {
                                                if (yych != 'u') goto yy284;
                                        }
                                }
                        }
                }
-yy490:
-               YYDEBUG(490, *YYCURSOR);
+yy494:
+               YYDEBUG(494, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy561;
-               if (yych == 'n') goto yy561;
+               if (yych == 'N') goto yy565;
+               if (yych == 'n') goto yy565;
                goto yy284;
-yy491:
-               YYDEBUG(491, *YYCURSOR);
+yy495:
+               YYDEBUG(495, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy544;
+                       if (yych == 'I') goto yy548;
                        if (yych <= 'N') goto yy284;
-                       goto yy545;
+                       goto yy549;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy284;
-                               goto yy544;
+                               goto yy548;
                        } else {
-                               if (yych == 'o') goto yy545;
+                               if (yych == 'o') goto yy549;
                                goto yy284;
                        }
                }
-yy492:
-               YYDEBUG(492, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'B') goto yy536;
-               if (yych == 'b') goto yy536;
-               goto yy284;
-yy493:
-               YYDEBUG(493, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy529;
-               if (yych == 'r') goto yy529;
-               goto yy284;
-yy494:
-               YYDEBUG(494, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy521;
-               if (yych == 't') goto yy521;
-               goto yy284;
-yy495:
-               YYDEBUG(495, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy519;
-               if (yych == 'e') goto yy519;
-               goto yy284;
 yy496:
                YYDEBUG(496, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy515;
-               if (yych == 'o') goto yy515;
+               if (yych == 'B') goto yy540;
+               if (yych == 'b') goto yy540;
                goto yy284;
 yy497:
                YYDEBUG(497, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy508;
-               if (yych == 'l') goto yy508;
+               if (yych == 'R') goto yy533;
+               if (yych == 'r') goto yy533;
                goto yy284;
 yy498:
                YYDEBUG(498, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy499;
-               if (yych != 'n') goto yy284;
+               if (yych == 'T') goto yy525;
+               if (yych == 't') goto yy525;
+               goto yy284;
 yy499:
                YYDEBUG(499, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy500;
-               if (yych != 't') goto yy284;
+               if (yych == 'E') goto yy523;
+               if (yych == 'e') goto yy523;
+               goto yy284;
 yy500:
                YYDEBUG(500, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy501;
-               if (yych != 'e') goto yy503;
+               if (yych == 'O') goto yy519;
+               if (yych == 'o') goto yy519;
+               goto yy284;
 yy501:
                YYDEBUG(501, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy506;
-               if (yych == 'g') goto yy506;
+               if (yych == 'L') goto yy512;
+               if (yych == 'l') goto yy512;
                goto yy284;
 yy502:
                YYDEBUG(502, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy503;
+               if (yych != 'n') goto yy284;
+yy503:
+               YYDEBUG(503, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy504;
+               if (yych != 't') goto yy284;
+yy504:
+               YYDEBUG(504, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy505;
+               if (yych != 'e') goto yy507;
+yy505:
+               YYDEBUG(505, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'G') goto yy510;
+               if (yych == 'g') goto yy510;
+               goto yy284;
+yy506:
+               YYDEBUG(506, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy503:
-               YYDEBUG(503, *YYCURSOR);
+yy507:
+               YYDEBUG(507, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy502;
+                       if (yych == '\t') goto yy506;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy502;
+                       if (yych <= ' ') goto yy506;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(504, *YYCURSOR);
+               YYDEBUG(508, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(505, *YYCURSOR);
+               YYDEBUG(509, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1601 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 6106 "Zend/zend_language_scanner.c"
-yy506:
-               YYDEBUG(506, *YYCURSOR);
+#line 6146 "Zend/zend_language_scanner.c"
+yy510:
+               YYDEBUG(510, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy507;
+               if (yych == 'E') goto yy511;
                if (yych != 'e') goto yy284;
-yy507:
-               YYDEBUG(507, *YYCURSOR);
+yy511:
+               YYDEBUG(511, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy502;
-               if (yych == 'r') goto yy502;
+               if (yych == 'R') goto yy506;
+               if (yych == 'r') goto yy506;
                goto yy284;
-yy508:
-               YYDEBUG(508, *YYCURSOR);
+yy512:
+               YYDEBUG(512, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy509;
+               if (yych == 'O') goto yy513;
                if (yych != 'o') goto yy284;
-yy509:
-               YYDEBUG(509, *YYCURSOR);
+yy513:
+               YYDEBUG(513, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy510;
+               if (yych == 'A') goto yy514;
                if (yych != 'a') goto yy284;
-yy510:
-               YYDEBUG(510, *YYCURSOR);
+yy514:
+               YYDEBUG(514, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy511;
+               if (yych == 'T') goto yy515;
                if (yych != 't') goto yy284;
-yy511:
-               YYDEBUG(511, *YYCURSOR);
+yy515:
+               YYDEBUG(515, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(512, *YYCURSOR);
+               YYDEBUG(516, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy511;
+                       if (yych == '\t') goto yy515;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy511;
+                       if (yych <= ' ') goto yy515;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(513, *YYCURSOR);
+               YYDEBUG(517, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(514, *YYCURSOR);
+               YYDEBUG(518, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1605 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 6154 "Zend/zend_language_scanner.c"
-yy515:
-               YYDEBUG(515, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'U') goto yy516;
-               if (yych != 'u') goto yy284;
-yy516:
-               YYDEBUG(516, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'B') goto yy517;
-               if (yych != 'b') goto yy284;
-yy517:
-               YYDEBUG(517, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy518;
-               if (yych != 'l') goto yy284;
-yy518:
-               YYDEBUG(518, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy511;
-               if (yych == 'e') goto yy511;
-               goto yy284;
+#line 6194 "Zend/zend_language_scanner.c"
 yy519:
                YYDEBUG(519, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy520;
-               if (yych != 'a') goto yy284;
+               if (yych == 'U') goto yy520;
+               if (yych != 'u') goto yy284;
 yy520:
                YYDEBUG(520, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy511;
-               if (yych == 'l') goto yy511;
-               goto yy284;
+               if (yych == 'B') goto yy521;
+               if (yych != 'b') goto yy284;
 yy521:
                YYDEBUG(521, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy522;
-               if (yych != 'r') goto yy284;
+               if (yych == 'L') goto yy522;
+               if (yych != 'l') goto yy284;
 yy522:
                YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy523;
-               if (yych != 'i') goto yy284;
+               if (yych == 'E') goto yy515;
+               if (yych == 'e') goto yy515;
+               goto yy284;
 yy523:
                YYDEBUG(523, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy524;
-               if (yych != 'n') goto yy284;
+               if (yych == 'A') goto yy524;
+               if (yych != 'a') goto yy284;
 yy524:
                YYDEBUG(524, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy525;
-               if (yych != 'g') goto yy284;
+               if (yych == 'L') goto yy515;
+               if (yych == 'l') goto yy515;
+               goto yy284;
 yy525:
                YYDEBUG(525, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy526;
+               if (yych != 'r') goto yy284;
+yy526:
+               YYDEBUG(526, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'I') goto yy527;
+               if (yych != 'i') goto yy284;
+yy527:
+               YYDEBUG(527, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'N') goto yy528;
+               if (yych != 'n') goto yy284;
+yy528:
+               YYDEBUG(528, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'G') goto yy529;
+               if (yych != 'g') goto yy284;
+yy529:
+               YYDEBUG(529, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(526, *YYCURSOR);
+               YYDEBUG(530, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy525;
+                       if (yych == '\t') goto yy529;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy525;
+                       if (yych <= ' ') goto yy529;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(527, *YYCURSOR);
+               YYDEBUG(531, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(528, *YYCURSOR);
+               YYDEBUG(532, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1609 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 6228 "Zend/zend_language_scanner.c"
-yy529:
-               YYDEBUG(529, *YYCURSOR);
+#line 6268 "Zend/zend_language_scanner.c"
+yy533:
+               YYDEBUG(533, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy530;
+               if (yych == 'R') goto yy534;
                if (yych != 'r') goto yy284;
-yy530:
-               YYDEBUG(530, *YYCURSOR);
+yy534:
+               YYDEBUG(534, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy531;
+               if (yych == 'A') goto yy535;
                if (yych != 'a') goto yy284;
-yy531:
-               YYDEBUG(531, *YYCURSOR);
+yy535:
+               YYDEBUG(535, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy532;
+               if (yych == 'Y') goto yy536;
                if (yych != 'y') goto yy284;
-yy532:
-               YYDEBUG(532, *YYCURSOR);
+yy536:
+               YYDEBUG(536, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(533, *YYCURSOR);
+               YYDEBUG(537, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy532;
+                       if (yych == '\t') goto yy536;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy532;
+                       if (yych <= ' ') goto yy536;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(534, *YYCURSOR);
+               YYDEBUG(538, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(535, *YYCURSOR);
+               YYDEBUG(539, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1621 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 6265 "Zend/zend_language_scanner.c"
-yy536:
-               YYDEBUG(536, *YYCURSOR);
+#line 6305 "Zend/zend_language_scanner.c"
+yy540:
+               YYDEBUG(540, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'J') goto yy537;
+               if (yych == 'J') goto yy541;
                if (yych != 'j') goto yy284;
-yy537:
-               YYDEBUG(537, *YYCURSOR);
+yy541:
+               YYDEBUG(541, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy538;
+               if (yych == 'E') goto yy542;
                if (yych != 'e') goto yy284;
-yy538:
-               YYDEBUG(538, *YYCURSOR);
+yy542:
+               YYDEBUG(542, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy539;
+               if (yych == 'C') goto yy543;
                if (yych != 'c') goto yy284;
-yy539:
-               YYDEBUG(539, *YYCURSOR);
+yy543:
+               YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy540;
+               if (yych == 'T') goto yy544;
                if (yych != 't') goto yy284;
-yy540:
-               YYDEBUG(540, *YYCURSOR);
+yy544:
+               YYDEBUG(544, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(541, *YYCURSOR);
+               YYDEBUG(545, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy540;
+                       if (yych == '\t') goto yy544;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy540;
+                       if (yych <= ' ') goto yy544;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(542, *YYCURSOR);
+               YYDEBUG(546, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(543, *YYCURSOR);
+               YYDEBUG(547, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1625 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 6307 "Zend/zend_language_scanner.c"
-yy544:
-               YYDEBUG(544, *YYCURSOR);
+#line 6347 "Zend/zend_language_scanner.c"
+yy548:
+               YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy554;
-               if (yych == 'n') goto yy554;
+               if (yych == 'N') goto yy558;
+               if (yych == 'n') goto yy558;
                goto yy284;
-yy545:
-               YYDEBUG(545, *YYCURSOR);
+yy549:
+               YYDEBUG(549, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy546;
+               if (yych == 'O') goto yy550;
                if (yych != 'o') goto yy284;
-yy546:
-               YYDEBUG(546, *YYCURSOR);
+yy550:
+               YYDEBUG(550, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy547;
+               if (yych == 'L') goto yy551;
                if (yych != 'l') goto yy284;
-yy547:
-               YYDEBUG(547, *YYCURSOR);
+yy551:
+               YYDEBUG(551, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy552;
-               if (yych == 'e') goto yy552;
-               goto yy549;
-yy548:
-               YYDEBUG(548, *YYCURSOR);
+               if (yych == 'E') goto yy556;
+               if (yych == 'e') goto yy556;
+               goto yy553;
+yy552:
+               YYDEBUG(552, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy549:
-               YYDEBUG(549, *YYCURSOR);
+yy553:
+               YYDEBUG(553, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy548;
+                       if (yych == '\t') goto yy552;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy548;
+                       if (yych <= ' ') goto yy552;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(550, *YYCURSOR);
+               YYDEBUG(554, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(551, *YYCURSOR);
+               YYDEBUG(555, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1629 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 6352 "Zend/zend_language_scanner.c"
-yy552:
-               YYDEBUG(552, *YYCURSOR);
+#line 6392 "Zend/zend_language_scanner.c"
+yy556:
+               YYDEBUG(556, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy553;
+               if (yych == 'A') goto yy557;
                if (yych != 'a') goto yy284;
-yy553:
-               YYDEBUG(553, *YYCURSOR);
+yy557:
+               YYDEBUG(557, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy548;
-               if (yych == 'n') goto yy548;
+               if (yych == 'N') goto yy552;
+               if (yych == 'n') goto yy552;
                goto yy284;
-yy554:
-               YYDEBUG(554, *YYCURSOR);
+yy558:
+               YYDEBUG(558, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy555;
+               if (yych == 'A') goto yy559;
                if (yych != 'a') goto yy284;
-yy555:
-               YYDEBUG(555, *YYCURSOR);
+yy559:
+               YYDEBUG(559, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy556;
+               if (yych == 'R') goto yy560;
                if (yych != 'r') goto yy284;
-yy556:
-               YYDEBUG(556, *YYCURSOR);
+yy560:
+               YYDEBUG(560, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy557;
+               if (yych == 'Y') goto yy561;
                if (yych != 'y') goto yy284;
-yy557:
-               YYDEBUG(557, *YYCURSOR);
+yy561:
+               YYDEBUG(561, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(558, *YYCURSOR);
+               YYDEBUG(562, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy557;
+                       if (yych == '\t') goto yy561;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy557;
+                       if (yych <= ' ') goto yy561;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(559, *YYCURSOR);
+               YYDEBUG(563, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(560, *YYCURSOR);
+               YYDEBUG(564, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1617 "Zend/zend_language_scanner.l"
                {
        return T_BINARY_CAST;
 }
-#line 6400 "Zend/zend_language_scanner.c"
-yy561:
-               YYDEBUG(561, *YYCURSOR);
+#line 6440 "Zend/zend_language_scanner.c"
+yy565:
+               YYDEBUG(565, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
-                       if (yych == 'I') goto yy563;
+                       if (yych == 'I') goto yy567;
                        if (yych <= 'R') goto yy284;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy284;
-                               goto yy563;
+                               goto yy567;
                        } else {
                                if (yych != 's') goto yy284;
                        }
                }
-               YYDEBUG(562, *YYCURSOR);
+               YYDEBUG(566, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy571;
-               if (yych == 'e') goto yy571;
+               if (yych == 'E') goto yy575;
+               if (yych == 'e') goto yy575;
                goto yy284;
-yy563:
-               YYDEBUG(563, *YYCURSOR);
+yy567:
+               YYDEBUG(567, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy564;
+               if (yych == 'C') goto yy568;
                if (yych != 'c') goto yy284;
-yy564:
-               YYDEBUG(564, *YYCURSOR);
+yy568:
+               YYDEBUG(568, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy565;
+               if (yych == 'O') goto yy569;
                if (yych != 'o') goto yy284;
-yy565:
-               YYDEBUG(565, *YYCURSOR);
+yy569:
+               YYDEBUG(569, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy566;
+               if (yych == 'D') goto yy570;
                if (yych != 'd') goto yy284;
-yy566:
-               YYDEBUG(566, *YYCURSOR);
+yy570:
+               YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy567;
+               if (yych == 'E') goto yy571;
                if (yych != 'e') goto yy284;
-yy567:
-               YYDEBUG(567, *YYCURSOR);
+yy571:
+               YYDEBUG(571, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(568, *YYCURSOR);
+               YYDEBUG(572, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy567;
+                       if (yych == '\t') goto yy571;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy567;
+                       if (yych <= ' ') goto yy571;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(569, *YYCURSOR);
+               YYDEBUG(573, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(570, *YYCURSOR);
+               YYDEBUG(574, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1613 "Zend/zend_language_scanner.l"
                {
        return T_UNICODE_CAST;
 }
-#line 6461 "Zend/zend_language_scanner.c"
-yy571:
-               YYDEBUG(571, *YYCURSOR);
+#line 6501 "Zend/zend_language_scanner.c"
+yy575:
+               YYDEBUG(575, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy572;
+               if (yych == 'T') goto yy576;
                if (yych != 't') goto yy284;
-yy572:
-               YYDEBUG(572, *YYCURSOR);
+yy576:
+               YYDEBUG(576, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(573, *YYCURSOR);
+               YYDEBUG(577, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy572;
+                       if (yych == '\t') goto yy576;
                        goto yy284;
                } else {
-                       if (yych <= ' ') goto yy572;
+                       if (yych <= ' ') goto yy576;
                        if (yych != ')') goto yy284;
                }
-               YYDEBUG(574, *YYCURSOR);
+               YYDEBUG(578, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(575, *YYCURSOR);
+               YYDEBUG(579, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1633 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 6488 "Zend/zend_language_scanner.c"
-yy576:
-               YYDEBUG(576, *YYCURSOR);
+#line 6528 "Zend/zend_language_scanner.c"
+yy580:
+               YYDEBUG(580, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy577;
+               if (yych == 'R') goto yy581;
                if (yych != 'r') goto yy296;
-yy577:
-               YYDEBUG(577, *YYCURSOR);
+yy581:
+               YYDEBUG(581, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(578, *YYCURSOR);
+               YYDEBUG(582, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1597 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 6506 "Zend/zend_language_scanner.c"
-yy579:
-               YYDEBUG(579, *YYCURSOR);
+#line 6546 "Zend/zend_language_scanner.c"
+yy583:
+               YYDEBUG(583, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy583;
-               if (yych == 'm') goto yy583;
+               if (yych == 'M') goto yy587;
+               if (yych == 'm') goto yy587;
                goto yy296;
-yy580:
-               YYDEBUG(580, *YYCURSOR);
+yy584:
+               YYDEBUG(584, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy581;
+               if (yych == 'W') goto yy585;
                if (yych != 'w') goto yy296;
-yy581:
-               YYDEBUG(581, *YYCURSOR);
+yy585:
+               YYDEBUG(585, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(582, *YYCURSOR);
+               YYDEBUG(586, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1589 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 6530 "Zend/zend_language_scanner.c"
-yy583:
-               YYDEBUG(583, *YYCURSOR);
+#line 6570 "Zend/zend_language_scanner.c"
+yy587:
+               YYDEBUG(587, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy584;
+               if (yych == 'E') goto yy588;
                if (yych != 'e') goto yy296;
-yy584:
-               YYDEBUG(584, *YYCURSOR);
+yy588:
+               YYDEBUG(588, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy585;
+               if (yych == 'S') goto yy589;
                if (yych != 's') goto yy296;
-yy585:
-               YYDEBUG(585, *YYCURSOR);
+yy589:
+               YYDEBUG(589, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy586;
+               if (yych == 'P') goto yy590;
                if (yych != 'p') goto yy296;
-yy586:
-               YYDEBUG(586, *YYCURSOR);
+yy590:
+               YYDEBUG(590, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy587;
+               if (yych == 'A') goto yy591;
                if (yych != 'a') goto yy296;
-yy587:
-               YYDEBUG(587, *YYCURSOR);
+yy591:
+               YYDEBUG(591, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy588;
+               if (yych == 'C') goto yy592;
                if (yych != 'c') goto yy296;
-yy588:
-               YYDEBUG(588, *YYCURSOR);
+yy592:
+               YYDEBUG(592, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy589;
+               if (yych == 'E') goto yy593;
                if (yych != 'e') goto yy296;
-yy589:
-               YYDEBUG(589, *YYCURSOR);
+yy593:
+               YYDEBUG(593, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(590, *YYCURSOR);
+               YYDEBUG(594, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1657 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 6573 "Zend/zend_language_scanner.c"
-yy591:
-               YYDEBUG(591, *YYCURSOR);
+#line 6613 "Zend/zend_language_scanner.c"
+yy595:
+               YYDEBUG(595, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(592, *YYCURSOR);
+               YYDEBUG(596, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1585 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 6583 "Zend/zend_language_scanner.c"
-yy593:
-               YYDEBUG(593, *YYCURSOR);
+#line 6623 "Zend/zend_language_scanner.c"
+yy597:
+               YYDEBUG(597, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(594, *YYCURSOR);
+               YYDEBUG(598, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1757 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 6593 "Zend/zend_language_scanner.c"
-yy595:
-               YYDEBUG(595, *YYCURSOR);
+#line 6633 "Zend/zend_language_scanner.c"
+yy599:
+               YYDEBUG(599, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(596, *YYCURSOR);
+               YYDEBUG(600, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1725 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 6603 "Zend/zend_language_scanner.c"
-yy597:
-               YYDEBUG(597, *YYCURSOR);
+#line 6643 "Zend/zend_language_scanner.c"
+yy601:
+               YYDEBUG(601, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(598, *YYCURSOR);
+               YYDEBUG(602, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1554 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 6614 "Zend/zend_language_scanner.c"
-yy599:
-               YYDEBUG(599, *YYCURSOR);
+#line 6654 "Zend/zend_language_scanner.c"
+yy603:
+               YYDEBUG(603, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy606;
+                       if (yych == 'I') goto yy610;
                        if (yych <= 'N') goto yy296;
-                       goto yy607;
+                       goto yy611;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy296;
-                               goto yy606;
+                               goto yy610;
                        } else {
-                               if (yych == 'o') goto yy607;
+                               if (yych == 'o') goto yy611;
                                goto yy296;
                        }
                }
-yy600:
-               YYDEBUG(600, *YYCURSOR);
+yy604:
+               YYDEBUG(604, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy601;
+               if (yych == 'B') goto yy605;
                if (yych != 'b') goto yy296;
-yy601:
-               YYDEBUG(601, *YYCURSOR);
+yy605:
+               YYDEBUG(605, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy602;
+               if (yych == 'L') goto yy606;
                if (yych != 'l') goto yy296;
-yy602:
-               YYDEBUG(602, *YYCURSOR);
+yy606:
+               YYDEBUG(606, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy603;
+               if (yych == 'I') goto yy607;
                if (yych != 'i') goto yy296;
-yy603:
-               YYDEBUG(603, *YYCURSOR);
+yy607:
+               YYDEBUG(607, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy604;
+               if (yych == 'C') goto yy608;
                if (yych != 'c') goto yy296;
-yy604:
-               YYDEBUG(604, *YYCURSOR);
+yy608:
+               YYDEBUG(608, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(605, *YYCURSOR);
+               YYDEBUG(609, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1701 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 6663 "Zend/zend_language_scanner.c"
-yy606:
-               YYDEBUG(606, *YYCURSOR);
+#line 6703 "Zend/zend_language_scanner.c"
+yy610:
+               YYDEBUG(610, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'V') {
-                       if (yych == 'N') goto yy615;
+                       if (yych == 'N') goto yy619;
                        if (yych <= 'U') goto yy296;
-                       goto yy616;
+                       goto yy620;
                } else {
                        if (yych <= 'n') {
                                if (yych <= 'm') goto yy296;
-                               goto yy615;
+                               goto yy619;
                        } else {
-                               if (yych == 'v') goto yy616;
+                               if (yych == 'v') goto yy620;
                                goto yy296;
                        }
                }
-yy607:
-               YYDEBUG(607, *YYCURSOR);
+yy611:
+               YYDEBUG(611, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy608;
+               if (yych == 'T') goto yy612;
                if (yych != 't') goto yy296;
-yy608:
-               YYDEBUG(608, *YYCURSOR);
+yy612:
+               YYDEBUG(612, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy609;
+               if (yych == 'E') goto yy613;
                if (yych != 'e') goto yy296;
-yy609:
-               YYDEBUG(609, *YYCURSOR);
+yy613:
+               YYDEBUG(613, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy610;
+               if (yych == 'C') goto yy614;
                if (yych != 'c') goto yy296;
-yy610:
-               YYDEBUG(610, *YYCURSOR);
+yy614:
+               YYDEBUG(614, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy611;
+               if (yych == 'T') goto yy615;
                if (yych != 't') goto yy296;
-yy611:
-               YYDEBUG(611, *YYCURSOR);
+yy615:
+               YYDEBUG(615, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy612;
+               if (yych == 'E') goto yy616;
                if (yych != 'e') goto yy296;
-yy612:
-               YYDEBUG(612, *YYCURSOR);
+yy616:
+               YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy613;
+               if (yych == 'D') goto yy617;
                if (yych != 'd') goto yy296;
-yy613:
-               YYDEBUG(613, *YYCURSOR);
+yy617:
+               YYDEBUG(617, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(614, *YYCURSOR);
+               YYDEBUG(618, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1697 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 6722 "Zend/zend_language_scanner.c"
-yy615:
-               YYDEBUG(615, *YYCURSOR);
+#line 6762 "Zend/zend_language_scanner.c"
+yy619:
+               YYDEBUG(619, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy621;
-               if (yych == 't') goto yy621;
+               if (yych == 'T') goto yy625;
+               if (yych == 't') goto yy625;
                goto yy296;
-yy616:
-               YYDEBUG(616, *YYCURSOR);
+yy620:
+               YYDEBUG(620, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy617;
+               if (yych == 'A') goto yy621;
                if (yych != 'a') goto yy296;
-yy617:
-               YYDEBUG(617, *YYCURSOR);
+yy621:
+               YYDEBUG(621, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy618;
+               if (yych == 'T') goto yy622;
                if (yych != 't') goto yy296;
-yy618:
-               YYDEBUG(618, *YYCURSOR);
+yy622:
+               YYDEBUG(622, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy619;
+               if (yych == 'E') goto yy623;
                if (yych != 'e') goto yy296;
-yy619:
-               YYDEBUG(619, *YYCURSOR);
+yy623:
+               YYDEBUG(623, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(620, *YYCURSOR);
+               YYDEBUG(624, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1693 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 6756 "Zend/zend_language_scanner.c"
-yy621:
-               YYDEBUG(621, *YYCURSOR);
+#line 6796 "Zend/zend_language_scanner.c"
+yy625:
+               YYDEBUG(625, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(622, *YYCURSOR);
+               YYDEBUG(626, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1534 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 6769 "Zend/zend_language_scanner.c"
-yy623:
-               YYDEBUG(623, *YYCURSOR);
+#line 6809 "Zend/zend_language_scanner.c"
+yy627:
+               YYDEBUG(627, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy628;
-               if (yych == 'o') goto yy628;
+               if (yych == 'O') goto yy632;
+               if (yych == 'o') goto yy632;
                goto yy296;
-yy624:
-               YYDEBUG(624, *YYCURSOR);
+yy628:
+               YYDEBUG(628, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy625;
+               if (yych == 'T') goto yy629;
                if (yych != 't') goto yy296;
-yy625:
-               YYDEBUG(625, *YYCURSOR);
+yy629:
+               YYDEBUG(629, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy626;
+               if (yych == 'O') goto yy630;
                if (yych != 'o') goto yy296;
-yy626:
-               YYDEBUG(626, *YYCURSOR);
+yy630:
+               YYDEBUG(630, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(627, *YYCURSOR);
+               YYDEBUG(631, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1526 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 6798 "Zend/zend_language_scanner.c"
-yy628:
-               YYDEBUG(628, *YYCURSOR);
+#line 6838 "Zend/zend_language_scanner.c"
+yy632:
+               YYDEBUG(632, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy629;
+               if (yych == 'B') goto yy633;
                if (yych != 'b') goto yy296;
-yy629:
-               YYDEBUG(629, *YYCURSOR);
+yy633:
+               YYDEBUG(633, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy630;
+               if (yych == 'A') goto yy634;
                if (yych != 'a') goto yy296;
-yy630:
-               YYDEBUG(630, *YYCURSOR);
+yy634:
+               YYDEBUG(634, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy631;
+               if (yych == 'L') goto yy635;
                if (yych != 'l') goto yy296;
-yy631:
-               YYDEBUG(631, *YYCURSOR);
+yy635:
+               YYDEBUG(635, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(632, *YYCURSOR);
+               YYDEBUG(636, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1665 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 6826 "Zend/zend_language_scanner.c"
-yy633:
-               YYDEBUG(633, *YYCURSOR);
+#line 6866 "Zend/zend_language_scanner.c"
+yy637:
+               YYDEBUG(637, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy656;
+               if (yych == '<') goto yy660;
                goto yy284;
-yy634:
-               YYDEBUG(634, *YYCURSOR);
+yy638:
+               YYDEBUG(638, *YYCURSOR);
                yyaccept = 8;
                yych = *(YYMARKER = ++YYCURSOR);
-               goto yy649;
-yy635:
-               YYDEBUG(635, *YYCURSOR);
+               goto yy653;
+yy639:
+               YYDEBUG(639, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2434 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_DOUBLE_QUOTES);
        return T_BINARY_DOUBLE;
 }
-#line 6845 "Zend/zend_language_scanner.c"
-yy636:
-               YYDEBUG(636, *YYCURSOR);
+#line 6885 "Zend/zend_language_scanner.c"
+yy640:
+               YYDEBUG(640, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(637, *YYCURSOR);
-               if (yych == '\'') goto yy644;
-               if (yych == '\\') goto yy643;
-               goto yy636;
-yy638:
-               YYDEBUG(638, *YYCURSOR);
+               YYDEBUG(641, *YYCURSOR);
+               if (yych == '\'') goto yy648;
+               if (yych == '\\') goto yy647;
+               goto yy640;
+yy642:
+               YYDEBUG(642, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy639;
+               if (yych == 'E') goto yy643;
                if (yych != 'e') goto yy296;
-yy639:
-               YYDEBUG(639, *YYCURSOR);
+yy643:
+               YYDEBUG(643, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy640;
+               if (yych == 'A') goto yy644;
                if (yych != 'a') goto yy296;
-yy640:
-               YYDEBUG(640, *YYCURSOR);
+yy644:
+               YYDEBUG(644, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'K') goto yy641;
+               if (yych == 'K') goto yy645;
                if (yych != 'k') goto yy296;
-yy641:
-               YYDEBUG(641, *YYCURSOR);
+yy645:
+               YYDEBUG(645, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(642, *YYCURSOR);
+               YYDEBUG(646, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1518 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 6882 "Zend/zend_language_scanner.c"
-yy643:
-               YYDEBUG(643, *YYCURSOR);
+#line 6922 "Zend/zend_language_scanner.c"
+yy647:
+               YYDEBUG(647, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy636;
-yy644:
-               YYDEBUG(644, *YYCURSOR);
+               goto yy640;
+yy648:
+               YYDEBUG(648, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(645, *YYCURSOR);
+               YYDEBUG(649, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2423 "Zend/zend_language_scanner.l"
                {
        zend_scan_binary_single_string(zendlval, yytext+2, yyleng-3 TSRMLS_CC);
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 6899 "Zend/zend_language_scanner.c"
-yy646:
-               YYDEBUG(646, *YYCURSOR);
+#line 6939 "Zend/zend_language_scanner.c"
+yy650:
+               YYDEBUG(650, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(647, *YYCURSOR);
+               YYDEBUG(651, *YYCURSOR);
                if (yych <= '$') {
-                       if (yych == '"') goto yy653;
+                       if (yych == '"') goto yy657;
                        if (yych >= '$') goto yy284;
                } else {
                        if (yych <= '\\') {
-                               if (yych >= '\\') goto yy650;
+                               if (yych >= '\\') goto yy654;
                        } else {
-                               if (yych == '{') goto yy646;
+                               if (yych == '{') goto yy650;
                        }
                }
-yy648:
-               YYDEBUG(648, *YYCURSOR);
+yy652:
+               YYDEBUG(652, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy649:
-               YYDEBUG(649, *YYCURSOR);
+yy653:
+               YYDEBUG(653, *YYCURSOR);
                if (yych <= '$') {
-                       if (yych == '"') goto yy653;
-                       if (yych <= '#') goto yy648;
-                       goto yy651;
+                       if (yych == '"') goto yy657;
+                       if (yych <= '#') goto yy652;
+                       goto yy655;
                } else {
                        if (yych <= '\\') {
-                               if (yych <= '[') goto yy648;
+                               if (yych <= '[') goto yy652;
                        } else {
-                               if (yych == '{') goto yy646;
-                               goto yy648;
+                               if (yych == '{') goto yy650;
+                               goto yy652;
                        }
                }
-yy650:
-               YYDEBUG(650, *YYCURSOR);
+yy654:
+               YYDEBUG(654, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy648;
-yy651:
-               YYDEBUG(651, *YYCURSOR);
+               goto yy652;
+yy655:
+               YYDEBUG(655, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(652, *YYCURSOR);
+               YYDEBUG(656, *YYCURSOR);
                if (yych <= '[') {
                        if (yych <= '#') {
-                               if (yych != '"') goto yy648;
+                               if (yych != '"') goto yy652;
                        } else {
-                               if (yych <= '$') goto yy651;
-                               if (yych <= '@') goto yy648;
+                               if (yych <= '$') goto yy655;
+                               if (yych <= '@') goto yy652;
                                if (yych <= 'Z') goto yy284;
-                               goto yy648;
+                               goto yy652;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '\\') goto yy655;
-                               if (yych <= '^') goto yy648;
+                               if (yych <= '\\') goto yy659;
+                               if (yych <= '^') goto yy652;
                                goto yy284;
                        } else {
-                               if (yych <= '`') goto yy648;
+                               if (yych <= '`') goto yy652;
                                if (yych <= '{') goto yy284;
-                               if (yych <= '~') goto yy648;
+                               if (yych <= '~') goto yy652;
                                goto yy284;
                        }
                }
-yy653:
-               YYDEBUG(653, *YYCURSOR);
+yy657:
+               YYDEBUG(657, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(654, *YYCURSOR);
+               YYDEBUG(658, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2407 "Zend/zend_language_scanner.l"
                {
        zend_scan_binary_escape_string(zendlval, yytext+2, yyleng-3, '"' TSRMLS_CC);
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 6978 "Zend/zend_language_scanner.c"
-yy655:
-               YYDEBUG(655, *YYCURSOR);
+#line 7018 "Zend/zend_language_scanner.c"
+yy659:
+               YYDEBUG(659, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               goto yy648;
-yy656:
-               YYDEBUG(656, *YYCURSOR);
+               goto yy652;
+yy660:
+               YYDEBUG(660, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '<') goto yy284;
-yy657:
-               YYDEBUG(657, *YYCURSOR);
+yy661:
+               YYDEBUG(661, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(658, *YYCURSOR);
-               if (yych <= '@') {
-                       if (yych <= 0x1F) {
-                               if (yych == '\t') goto yy657;
-                               goto yy284;
+               YYDEBUG(662, *YYCURSOR);
+               if (yych <= '\'') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy661;
+                               if (yych <= 0x1F) goto yy284;
+                               goto yy661;
                        } else {
-                               if (yych <= ' ') goto yy657;
-                               if (yych == '\'') goto yy377;
-                               goto yy284;
+                               if (yych == '"') goto yy665;
+                               if (yych <= '&') goto yy284;
+                               goto yy377;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy659;
+                               if (yych <= '@') goto yy284;
+                               if (yych <= 'Z') goto yy663;
                                if (yych <= '^') goto yy284;
                        } else {
                                if (yych <= '`') goto yy284;
-                               if (yych <= 'z') goto yy659;
+                               if (yych <= 'z') goto yy663;
                                if (yych <= '~') goto yy284;
                        }
                }
-yy659:
-               YYDEBUG(659, *YYCURSOR);
+yy663:
+               YYDEBUG(663, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(660, *YYCURSOR);
+               YYDEBUG(664, *YYCURSOR);
                if (yych <= '@') {
                        if (yych <= '\f') {
-                               if (yych != '\n') goto yy284;
+                               if (yych == '\n') goto yy669;
+                               goto yy284;
                        } else {
-                               if (yych <= '\r') goto yy663;
+                               if (yych <= '\r') goto yy671;
                                if (yych <= '/') goto yy284;
-                               if (yych <= '9') goto yy659;
+                               if (yych <= '9') goto yy663;
                                goto yy284;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy659;
+                               if (yych <= 'Z') goto yy663;
                                if (yych <= '^') goto yy284;
-                               goto yy659;
+                               goto yy663;
                        } else {
                                if (yych <= '`') goto yy284;
-                               if (yych <= 'z') goto yy659;
+                               if (yych <= 'z') goto yy663;
                                if (yych <= '~') goto yy284;
-                               goto yy659;
+                               goto yy663;
                        }
                }
-yy661:
-               YYDEBUG(661, *YYCURSOR);
+yy665:
+               YYDEBUG(665, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == '"') goto yy284;
+               if (yych <= '/') goto yy667;
+               if (yych <= '9') goto yy284;
+               goto yy667;
+yy666:
+               YYDEBUG(666, *YYCURSOR);
                ++YYCURSOR;
-yy662:
-               YYDEBUG(662, *YYCURSOR);
+               YYFILL(3);
+               yych = *YYCURSOR;
+yy667:
+               YYDEBUG(667, *YYCURSOR);
+               if (yych <= 'Z') {
+                       if (yych <= '/') {
+                               if (yych != '"') goto yy284;
+                       } else {
+                               if (yych <= '9') goto yy666;
+                               if (yych <= '@') goto yy284;
+                               goto yy666;
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych == '_') goto yy666;
+                               goto yy284;
+                       } else {
+                               if (yych <= 'z') goto yy666;
+                               if (yych <= '~') goto yy284;
+                               goto yy666;
+                       }
+               }
+               YYDEBUG(668, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy669;
+               if (yych == '\r') goto yy671;
+               goto yy284;
+yy669:
+               YYDEBUG(669, *YYCURSOR);
+               ++YYCURSOR;
+yy670:
+               YYDEBUG(670, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2439 "Zend/zend_language_scanner.l"
                {
        char *s;
+       int quotes  = (yytext[4] == '"') ? 2 : 0;
        CG(zend_lineno)++;
-       CG(heredoc_len) = yyleng-4-1-(yytext[yyleng-2]=='\r'?1:0);
-       s = yytext+4;
+       CG(heredoc_len) = yyleng-4-quotes-1-(yytext[yyleng-2]=='\r'?1:0);
+       s = yytext+4+(quotes ? 1 : 0);
        while ((*s == ' ') || (*s == '\t')) {
                s++;
                CG(heredoc_len)--;
@@ -7057,1531 +7138,1531 @@ yy662:
        BEGIN(ST_START_HEREDOC);
        return T_BINARY_HEREDOC;
 }
-#line 7061 "Zend/zend_language_scanner.c"
-yy663:
-               YYDEBUG(663, *YYCURSOR);
+#line 7142 "Zend/zend_language_scanner.c"
+yy671:
+               YYDEBUG(671, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy661;
-               goto yy662;
-yy664:
-               YYDEBUG(664, *YYCURSOR);
+               if (yych == '\n') goto yy669;
+               goto yy670;
+yy672:
+               YYDEBUG(672, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy671;
-               if (yych == 'a') goto yy671;
+               if (yych == 'A') goto yy679;
+               if (yych == 'a') goto yy679;
                goto yy296;
-yy665:
-               YYDEBUG(665, *YYCURSOR);
+yy673:
+               YYDEBUG(673, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy666;
+               if (yych == 'I') goto yy674;
                if (yych != 'i') goto yy296;
-yy666:
-               YYDEBUG(666, *YYCURSOR);
+yy674:
+               YYDEBUG(674, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy667;
+               if (yych == 'T') goto yy675;
                if (yych != 't') goto yy296;
-yy667:
-               YYDEBUG(667, *YYCURSOR);
+yy675:
+               YYDEBUG(675, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy668;
+               if (yych == 'C') goto yy676;
                if (yych != 'c') goto yy296;
-yy668:
-               YYDEBUG(668, *YYCURSOR);
+yy676:
+               YYDEBUG(676, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy669;
+               if (yych == 'H') goto yy677;
                if (yych != 'h') goto yy296;
-yy669:
-               YYDEBUG(669, *YYCURSOR);
+yy677:
+               YYDEBUG(677, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(670, *YYCURSOR);
+               YYDEBUG(678, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1502 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 7105 "Zend/zend_language_scanner.c"
-yy671:
-               YYDEBUG(671, *YYCURSOR);
+#line 7186 "Zend/zend_language_scanner.c"
+yy679:
+               YYDEBUG(679, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy672;
+               if (yych == 'T') goto yy680;
                if (yych != 't') goto yy296;
-yy672:
-               YYDEBUG(672, *YYCURSOR);
+yy680:
+               YYDEBUG(680, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy673;
+               if (yych == 'I') goto yy681;
                if (yych != 'i') goto yy296;
-yy673:
-               YYDEBUG(673, *YYCURSOR);
+yy681:
+               YYDEBUG(681, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy674;
+               if (yych == 'C') goto yy682;
                if (yych != 'c') goto yy296;
-yy674:
-               YYDEBUG(674, *YYCURSOR);
+yy682:
+               YYDEBUG(682, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(675, *YYCURSOR);
+               YYDEBUG(683, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1681 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 7133 "Zend/zend_language_scanner.c"
-yy676:
-               YYDEBUG(676, *YYCURSOR);
+#line 7214 "Zend/zend_language_scanner.c"
+yy684:
+               YYDEBUG(684, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy687;
-               if (yych == 's') goto yy687;
+               if (yych == 'S') goto yy695;
+               if (yych == 's') goto yy695;
                goto yy296;
-yy677:
-               YYDEBUG(677, *YYCURSOR);
+yy685:
+               YYDEBUG(685, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy685;
-               if (yych == 'd') goto yy685;
+               if (yych == 'D') goto yy693;
+               if (yych == 'd') goto yy693;
                goto yy296;
-yy678:
-               YYDEBUG(678, *YYCURSOR);
+yy686:
+               YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy681;
-               if (yych == 'r') goto yy681;
+               if (yych == 'R') goto yy689;
+               if (yych == 'r') goto yy689;
                goto yy296;
-yy679:
-               YYDEBUG(679, *YYCURSOR);
+yy687:
+               YYDEBUG(687, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(680, *YYCURSOR);
+               YYDEBUG(688, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1498 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 7164 "Zend/zend_language_scanner.c"
-yy681:
-               YYDEBUG(681, *YYCURSOR);
+#line 7245 "Zend/zend_language_scanner.c"
+yy689:
+               YYDEBUG(689, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy682;
+               if (yych == 'A') goto yy690;
                if (yych != 'a') goto yy296;
-yy682:
-               YYDEBUG(682, *YYCURSOR);
+yy690:
+               YYDEBUG(690, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy683;
+               if (yych == 'Y') goto yy691;
                if (yych != 'y') goto yy296;
-yy683:
-               YYDEBUG(683, *YYCURSOR);
+yy691:
+               YYDEBUG(691, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(684, *YYCURSOR);
+               YYDEBUG(692, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1717 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 7187 "Zend/zend_language_scanner.c"
-yy685:
-               YYDEBUG(685, *YYCURSOR);
+#line 7268 "Zend/zend_language_scanner.c"
+yy693:
+               YYDEBUG(693, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(686, *YYCURSOR);
+               YYDEBUG(694, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1809 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 7200 "Zend/zend_language_scanner.c"
-yy687:
-               YYDEBUG(687, *YYCURSOR);
+#line 7281 "Zend/zend_language_scanner.c"
+yy695:
+               YYDEBUG(695, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy688;
+               if (yych == 'T') goto yy696;
                if (yych != 't') goto yy296;
-yy688:
-               YYDEBUG(688, *YYCURSOR);
+yy696:
+               YYDEBUG(696, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy689;
+               if (yych == 'R') goto yy697;
                if (yych != 'r') goto yy296;
-yy689:
-               YYDEBUG(689, *YYCURSOR);
+yy697:
+               YYDEBUG(697, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy690;
+               if (yych == 'A') goto yy698;
                if (yych != 'a') goto yy296;
-yy690:
-               YYDEBUG(690, *YYCURSOR);
+yy698:
+               YYDEBUG(698, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy691;
+               if (yych == 'C') goto yy699;
                if (yych != 'c') goto yy296;
-yy691:
-               YYDEBUG(691, *YYCURSOR);
+yy699:
+               YYDEBUG(699, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy692;
+               if (yych == 'T') goto yy700;
                if (yych != 't') goto yy296;
-yy692:
-               YYDEBUG(692, *YYCURSOR);
+yy700:
+               YYDEBUG(700, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(693, *YYCURSOR);
+               YYDEBUG(701, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1685 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 7238 "Zend/zend_language_scanner.c"
-yy694:
-               YYDEBUG(694, *YYCURSOR);
+#line 7319 "Zend/zend_language_scanner.c"
+yy702:
+               YYDEBUG(702, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy695;
+               if (yych == 'I') goto yy703;
                if (yych != 'i') goto yy296;
-yy695:
-               YYDEBUG(695, *YYCURSOR);
+yy703:
+               YYDEBUG(703, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy696;
+               if (yych == 'L') goto yy704;
                if (yych != 'l') goto yy296;
-yy696:
-               YYDEBUG(696, *YYCURSOR);
+yy704:
+               YYDEBUG(704, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy697;
+               if (yych == 'E') goto yy705;
                if (yych != 'e') goto yy296;
-yy697:
-               YYDEBUG(697, *YYCURSOR);
+yy705:
+               YYDEBUG(705, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(698, *YYCURSOR);
+               YYDEBUG(706, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1458 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 7266 "Zend/zend_language_scanner.c"
-yy699:
-               YYDEBUG(699, *YYCURSOR);
+#line 7347 "Zend/zend_language_scanner.c"
+yy707:
+               YYDEBUG(707, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(700, *YYCURSOR);
+               YYDEBUG(708, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1442 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 7279 "Zend/zend_language_scanner.c"
-yy701:
-               YYDEBUG(701, *YYCURSOR);
+#line 7360 "Zend/zend_language_scanner.c"
+yy709:
+               YYDEBUG(709, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy737;
-               if (yych == 'p') goto yy737;
+               if (yych == 'P') goto yy745;
+               if (yych == 'p') goto yy745;
                goto yy296;
-yy702:
-               YYDEBUG(702, *YYCURSOR);
+yy710:
+               YYDEBUG(710, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'C') {
                                if (yych <= 'B') goto yy296;
-                               goto yy710;
+                               goto yy718;
                        } else {
                                if (yych <= 'R') goto yy296;
-                               if (yych <= 'S') goto yy708;
-                               goto yy709;
+                               if (yych <= 'S') goto yy716;
+                               goto yy717;
                        }
                } else {
                        if (yych <= 'r') {
-                               if (yych == 'c') goto yy710;
+                               if (yych == 'c') goto yy718;
                                goto yy296;
                        } else {
-                               if (yych <= 's') goto yy708;
-                               if (yych <= 't') goto yy709;
+                               if (yych <= 's') goto yy716;
+                               if (yych <= 't') goto yy717;
                                goto yy296;
                        }
                }
-yy703:
-               YYDEBUG(703, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy704;
+yy711:
+               YYDEBUG(711, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy712;
                if (yych != 's') goto yy296;
-yy704:
-               YYDEBUG(704, *YYCURSOR);
+yy712:
+               YYDEBUG(712, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy705;
+               if (yych == 'E') goto yy713;
                if (yych != 'e') goto yy296;
-yy705:
-               YYDEBUG(705, *YYCURSOR);
+yy713:
+               YYDEBUG(713, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy706;
+               if (yych == 'T') goto yy714;
                if (yych != 't') goto yy296;
-yy706:
-               YYDEBUG(706, *YYCURSOR);
+yy714:
+               YYDEBUG(714, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(707, *YYCURSOR);
+               YYDEBUG(715, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1669 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 7335 "Zend/zend_language_scanner.c"
-yy708:
-               YYDEBUG(708, *YYCURSOR);
+#line 7416 "Zend/zend_language_scanner.c"
+yy716:
+               YYDEBUG(716, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy729;
-               if (yych == 't') goto yy729;
+               if (yych == 'T') goto yy737;
+               if (yych == 't') goto yy737;
                goto yy296;
-yy709:
-               YYDEBUG(709, *YYCURSOR);
+yy717:
+               YYDEBUG(717, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy722;
-               if (yych == 'e') goto yy722;
+               if (yych == 'E') goto yy730;
+               if (yych == 'e') goto yy730;
                goto yy296;
-yy710:
-               YYDEBUG(710, *YYCURSOR);
+yy718:
+               YYDEBUG(718, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy711;
+               if (yych == 'L') goto yy719;
                if (yych != 'l') goto yy296;
-yy711:
-               YYDEBUG(711, *YYCURSOR);
+yy719:
+               YYDEBUG(719, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy712;
+               if (yych == 'U') goto yy720;
                if (yych != 'u') goto yy296;
-yy712:
-               YYDEBUG(712, *YYCURSOR);
+yy720:
+               YYDEBUG(720, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy713;
+               if (yych == 'D') goto yy721;
                if (yych != 'd') goto yy296;
-yy713:
-               YYDEBUG(713, *YYCURSOR);
+yy721:
+               YYDEBUG(721, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy714;
+               if (yych == 'E') goto yy722;
                if (yych != 'e') goto yy296;
-yy714:
-               YYDEBUG(714, *YYCURSOR);
+yy722:
+               YYDEBUG(722, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy295;
                        } else {
-                               if (yych <= '@') goto yy715;
+                               if (yych <= '@') goto yy723;
                                if (yych <= 'Z') goto yy295;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy716;
+                               if (yych <= '_') goto yy724;
                        } else {
                                if (yych <= 'z') goto yy295;
                                if (yych >= 0x7F) goto yy295;
                        }
                }
-yy715:
-               YYDEBUG(715, *YYCURSOR);
+yy723:
+               YYDEBUG(723, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1641 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 7393 "Zend/zend_language_scanner.c"
-yy716:
-               YYDEBUG(716, *YYCURSOR);
+#line 7474 "Zend/zend_language_scanner.c"
+yy724:
+               YYDEBUG(724, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy717;
+               if (yych == 'O') goto yy725;
                if (yych != 'o') goto yy296;
-yy717:
-               YYDEBUG(717, *YYCURSOR);
+yy725:
+               YYDEBUG(725, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy718;
+               if (yych == 'N') goto yy726;
                if (yych != 'n') goto yy296;
-yy718:
-               YYDEBUG(718, *YYCURSOR);
+yy726:
+               YYDEBUG(726, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy719;
+               if (yych == 'C') goto yy727;
                if (yych != 'c') goto yy296;
-yy719:
-               YYDEBUG(719, *YYCURSOR);
+yy727:
+               YYDEBUG(727, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy720;
+               if (yych == 'E') goto yy728;
                if (yych != 'e') goto yy296;
-yy720:
-               YYDEBUG(720, *YYCURSOR);
+yy728:
+               YYDEBUG(728, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(721, *YYCURSOR);
+               YYDEBUG(729, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1645 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 7426 "Zend/zend_language_scanner.c"
-yy722:
-               YYDEBUG(722, *YYCURSOR);
+#line 7507 "Zend/zend_language_scanner.c"
+yy730:
+               YYDEBUG(730, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy723;
+               if (yych == 'R') goto yy731;
                if (yych != 'r') goto yy296;
-yy723:
-               YYDEBUG(723, *YYCURSOR);
+yy731:
+               YYDEBUG(731, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy724;
+               if (yych == 'F') goto yy732;
                if (yych != 'f') goto yy296;
-yy724:
-               YYDEBUG(724, *YYCURSOR);
+yy732:
+               YYDEBUG(732, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy725;
+               if (yych == 'A') goto yy733;
                if (yych != 'a') goto yy296;
-yy725:
-               YYDEBUG(725, *YYCURSOR);
+yy733:
+               YYDEBUG(733, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy726;
+               if (yych == 'C') goto yy734;
                if (yych != 'c') goto yy296;
-yy726:
-               YYDEBUG(726, *YYCURSOR);
+yy734:
+               YYDEBUG(734, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy727;
+               if (yych == 'E') goto yy735;
                if (yych != 'e') goto yy296;
-yy727:
-               YYDEBUG(727, *YYCURSOR);
+yy735:
+               YYDEBUG(735, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(728, *YYCURSOR);
+               YYDEBUG(736, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1542 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 7464 "Zend/zend_language_scanner.c"
-yy729:
-               YYDEBUG(729, *YYCURSOR);
+#line 7545 "Zend/zend_language_scanner.c"
+yy737:
+               YYDEBUG(737, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy730;
+               if (yych == 'A') goto yy738;
                if (yych != 'a') goto yy296;
-yy730:
-               YYDEBUG(730, *YYCURSOR);
+yy738:
+               YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy731;
+               if (yych == 'N') goto yy739;
                if (yych != 'n') goto yy296;
-yy731:
-               YYDEBUG(731, *YYCURSOR);
+yy739:
+               YYDEBUG(739, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy732;
+               if (yych == 'C') goto yy740;
                if (yych != 'c') goto yy296;
-yy732:
-               YYDEBUG(732, *YYCURSOR);
+yy740:
+               YYDEBUG(740, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy733;
+               if (yych == 'E') goto yy741;
                if (yych != 'e') goto yy296;
-yy733:
-               YYDEBUG(733, *YYCURSOR);
+yy741:
+               YYDEBUG(741, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy734;
+               if (yych == 'O') goto yy742;
                if (yych != 'o') goto yy296;
-yy734:
-               YYDEBUG(734, *YYCURSOR);
+yy742:
+               YYDEBUG(742, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy735;
+               if (yych == 'F') goto yy743;
                if (yych != 'f') goto yy296;
-yy735:
-               YYDEBUG(735, *YYCURSOR);
+yy743:
+               YYDEBUG(743, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(736, *YYCURSOR);
+               YYDEBUG(744, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1494 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 7507 "Zend/zend_language_scanner.c"
-yy737:
-               YYDEBUG(737, *YYCURSOR);
+#line 7588 "Zend/zend_language_scanner.c"
+yy745:
+               YYDEBUG(745, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy738;
+               if (yych == 'L') goto yy746;
                if (yych != 'l') goto yy296;
-yy738:
-               YYDEBUG(738, *YYCURSOR);
+yy746:
+               YYDEBUG(746, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy739;
+               if (yych == 'E') goto yy747;
                if (yych != 'e') goto yy296;
-yy739:
-               YYDEBUG(739, *YYCURSOR);
+yy747:
+               YYDEBUG(747, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy740;
+               if (yych == 'M') goto yy748;
                if (yych != 'm') goto yy296;
-yy740:
-               YYDEBUG(740, *YYCURSOR);
+yy748:
+               YYDEBUG(748, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy741;
+               if (yych == 'E') goto yy749;
                if (yych != 'e') goto yy296;
-yy741:
-               YYDEBUG(741, *YYCURSOR);
+yy749:
+               YYDEBUG(749, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy742;
+               if (yych == 'N') goto yy750;
                if (yych != 'n') goto yy296;
-yy742:
-               YYDEBUG(742, *YYCURSOR);
+yy750:
+               YYDEBUG(750, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy743;
+               if (yych == 'T') goto yy751;
                if (yych != 't') goto yy296;
-yy743:
-               YYDEBUG(743, *YYCURSOR);
+yy751:
+               YYDEBUG(751, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy744;
+               if (yych == 'S') goto yy752;
                if (yych != 's') goto yy296;
-yy744:
-               YYDEBUG(744, *YYCURSOR);
+yy752:
+               YYDEBUG(752, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(745, *YYCURSOR);
+               YYDEBUG(753, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1550 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 7555 "Zend/zend_language_scanner.c"
-yy746:
-               YYDEBUG(746, *YYCURSOR);
+#line 7636 "Zend/zend_language_scanner.c"
+yy754:
+               YYDEBUG(754, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy750;
-               if (yych == 'r') goto yy750;
+               if (yych == 'R') goto yy758;
+               if (yych == 'r') goto yy758;
                goto yy296;
-yy747:
-               YYDEBUG(747, *YYCURSOR);
+yy755:
+               YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy748;
+               if (yych == 'Y') goto yy756;
                if (yych != 'y') goto yy296;
-yy748:
-               YYDEBUG(748, *YYCURSOR);
+yy756:
+               YYDEBUG(756, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(749, *YYCURSOR);
+               YYDEBUG(757, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1430 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 7579 "Zend/zend_language_scanner.c"
-yy750:
-               YYDEBUG(750, *YYCURSOR);
+#line 7660 "Zend/zend_language_scanner.c"
+yy758:
+               YYDEBUG(758, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy751;
+               if (yych == 'O') goto yy759;
                if (yych != 'o') goto yy296;
-yy751:
-               YYDEBUG(751, *YYCURSOR);
+yy759:
+               YYDEBUG(759, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy752;
+               if (yych == 'W') goto yy760;
                if (yych != 'w') goto yy296;
-yy752:
-               YYDEBUG(752, *YYCURSOR);
+yy760:
+               YYDEBUG(760, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(753, *YYCURSOR);
+               YYDEBUG(761, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1438 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 7602 "Zend/zend_language_scanner.c"
-yy754:
-               YYDEBUG(754, *YYCURSOR);
+#line 7683 "Zend/zend_language_scanner.c"
+yy762:
+               YYDEBUG(762, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'Q') goto yy756;
+                       if (yych == 'Q') goto yy764;
                        if (yych <= 'S') goto yy296;
                } else {
                        if (yych <= 'q') {
                                if (yych <= 'p') goto yy296;
-                               goto yy756;
+                               goto yy764;
                        } else {
                                if (yych != 't') goto yy296;
                        }
                }
-               YYDEBUG(755, *YYCURSOR);
+               YYDEBUG(763, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy768;
-               if (yych == 'u') goto yy768;
+               if (yych == 'U') goto yy776;
+               if (yych == 'u') goto yy776;
                goto yy296;
-yy756:
-               YYDEBUG(756, *YYCURSOR);
+yy764:
+               YYDEBUG(764, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy757;
+               if (yych == 'U') goto yy765;
                if (yych != 'u') goto yy296;
-yy757:
-               YYDEBUG(757, *YYCURSOR);
+yy765:
+               YYDEBUG(765, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy758;
+               if (yych == 'I') goto yy766;
                if (yych != 'i') goto yy296;
-yy758:
-               YYDEBUG(758, *YYCURSOR);
+yy766:
+               YYDEBUG(766, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy759;
+               if (yych == 'R') goto yy767;
                if (yych != 'r') goto yy296;
-yy759:
-               YYDEBUG(759, *YYCURSOR);
+yy767:
+               YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy760;
+               if (yych == 'E') goto yy768;
                if (yych != 'e') goto yy296;
-yy760:
-               YYDEBUG(760, *YYCURSOR);
+yy768:
+               YYDEBUG(768, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy295;
                        } else {
-                               if (yych <= '@') goto yy761;
+                               if (yych <= '@') goto yy769;
                                if (yych <= 'Z') goto yy295;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy762;
+                               if (yych <= '_') goto yy770;
                        } else {
                                if (yych <= 'z') goto yy295;
                                if (yych >= 0x7F) goto yy295;
                        }
                }
-yy761:
-               YYDEBUG(761, *YYCURSOR);
+yy769:
+               YYDEBUG(769, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1649 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 7667 "Zend/zend_language_scanner.c"
-yy762:
-               YYDEBUG(762, *YYCURSOR);
+#line 7748 "Zend/zend_language_scanner.c"
+yy770:
+               YYDEBUG(770, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy763;
+               if (yych == 'O') goto yy771;
                if (yych != 'o') goto yy296;
-yy763:
-               YYDEBUG(763, *YYCURSOR);
+yy771:
+               YYDEBUG(771, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy764;
+               if (yych == 'N') goto yy772;
                if (yych != 'n') goto yy296;
-yy764:
-               YYDEBUG(764, *YYCURSOR);
+yy772:
+               YYDEBUG(772, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy765;
+               if (yych == 'C') goto yy773;
                if (yych != 'c') goto yy296;
-yy765:
-               YYDEBUG(765, *YYCURSOR);
+yy773:
+               YYDEBUG(773, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy766;
+               if (yych == 'E') goto yy774;
                if (yych != 'e') goto yy296;
-yy766:
-               YYDEBUG(766, *YYCURSOR);
+yy774:
+               YYDEBUG(774, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(767, *YYCURSOR);
+               YYDEBUG(775, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1653 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 7700 "Zend/zend_language_scanner.c"
-yy768:
-               YYDEBUG(768, *YYCURSOR);
+#line 7781 "Zend/zend_language_scanner.c"
+yy776:
+               YYDEBUG(776, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy769;
+               if (yych == 'R') goto yy777;
                if (yych != 'r') goto yy296;
-yy769:
-               YYDEBUG(769, *YYCURSOR);
+yy777:
+               YYDEBUG(777, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy770;
+               if (yych == 'N') goto yy778;
                if (yych != 'n') goto yy296;
-yy770:
-               YYDEBUG(770, *YYCURSOR);
+yy778:
+               YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(771, *YYCURSOR);
+               YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1426 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 7723 "Zend/zend_language_scanner.c"
-yy772:
-               YYDEBUG(772, *YYCURSOR);
+#line 7804 "Zend/zend_language_scanner.c"
+yy780:
+               YYDEBUG(780, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy296;
-                       if (yych <= 'S') goto yy794;
-                       goto yy793;
+                       if (yych <= 'S') goto yy802;
+                       goto yy801;
                } else {
                        if (yych <= 'r') goto yy296;
-                       if (yych <= 's') goto yy794;
-                       if (yych <= 't') goto yy793;
+                       if (yych <= 's') goto yy802;
+                       if (yych <= 't') goto yy801;
                        goto yy296;
                }
-yy773:
-               YYDEBUG(773, *YYCURSOR);
+yy781:
+               YYDEBUG(781, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'A') goto yy785;
+                       if (yych == 'A') goto yy793;
                        if (yych <= 'N') goto yy296;
-                       goto yy786;
+                       goto yy794;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy296;
-                               goto yy785;
+                               goto yy793;
                        } else {
-                               if (yych == 'o') goto yy786;
+                               if (yych == 'o') goto yy794;
                                goto yy296;
                        }
                }
-yy774:
-               YYDEBUG(774, *YYCURSOR);
+yy782:
+               YYDEBUG(782, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy775;
+               if (yych == 'N') goto yy783;
                if (yych != 'n') goto yy296;
-yy775:
-               YYDEBUG(775, *YYCURSOR);
+yy783:
+               YYDEBUG(783, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy296;
-                       if (yych >= 'T') goto yy777;
+                       if (yych >= 'T') goto yy785;
                } else {
                        if (yych <= 'r') goto yy296;
-                       if (yych <= 's') goto yy776;
-                       if (yych <= 't') goto yy777;
+                       if (yych <= 's') goto yy784;
+                       if (yych <= 't') goto yy785;
                        goto yy296;
                }
-yy776:
-               YYDEBUG(776, *YYCURSOR);
+yy784:
+               YYDEBUG(784, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy783;
-               if (yych == 't') goto yy783;
-               goto yy296;
-yy777:
-               YYDEBUG(777, *YYCURSOR);
+               if (yych == 'T') goto yy791;
+               if (yych == 't') goto yy791;
+               goto yy296;
+yy785:
+               YYDEBUG(785, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy778;
+               if (yych == 'I') goto yy786;
                if (yych != 'i') goto yy296;
-yy778:
-               YYDEBUG(778, *YYCURSOR);
+yy786:
+               YYDEBUG(786, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy779;
+               if (yych == 'N') goto yy787;
                if (yych != 'n') goto yy296;
-yy779:
-               YYDEBUG(779, *YYCURSOR);
+yy787:
+               YYDEBUG(787, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy780;
+               if (yych == 'U') goto yy788;
                if (yych != 'u') goto yy296;
-yy780:
-               YYDEBUG(780, *YYCURSOR);
+yy788:
+               YYDEBUG(788, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy781;
+               if (yych == 'E') goto yy789;
                if (yych != 'e') goto yy296;
-yy781:
-               YYDEBUG(781, *YYCURSOR);
+yy789:
+               YYDEBUG(789, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(782, *YYCURSOR);
+               YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1522 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 7808 "Zend/zend_language_scanner.c"
-yy783:
-               YYDEBUG(783, *YYCURSOR);
+#line 7889 "Zend/zend_language_scanner.c"
+yy791:
+               YYDEBUG(791, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(784, *YYCURSOR);
+               YYDEBUG(792, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1422 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 7821 "Zend/zend_language_scanner.c"
-yy785:
-               YYDEBUG(785, *YYCURSOR);
+#line 7902 "Zend/zend_language_scanner.c"
+yy793:
+               YYDEBUG(793, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy790;
-               if (yych == 's') goto yy790;
+               if (yych == 'S') goto yy798;
+               if (yych == 's') goto yy798;
                goto yy296;
-yy786:
-               YYDEBUG(786, *YYCURSOR);
+yy794:
+               YYDEBUG(794, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy787;
+               if (yych == 'N') goto yy795;
                if (yych != 'n') goto yy296;
-yy787:
-               YYDEBUG(787, *YYCURSOR);
+yy795:
+               YYDEBUG(795, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy788;
+               if (yych == 'E') goto yy796;
                if (yych != 'e') goto yy296;
-yy788:
-               YYDEBUG(788, *YYCURSOR);
+yy796:
+               YYDEBUG(796, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(789, *YYCURSOR);
+               YYDEBUG(797, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1593 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 7850 "Zend/zend_language_scanner.c"
-yy790:
-               YYDEBUG(790, *YYCURSOR);
+#line 7931 "Zend/zend_language_scanner.c"
+yy798:
+               YYDEBUG(798, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy791;
+               if (yych == 'S') goto yy799;
                if (yych != 's') goto yy296;
-yy791:
-               YYDEBUG(791, *YYCURSOR);
+yy799:
+               YYDEBUG(799, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(792, *YYCURSOR);
+               YYDEBUG(800, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1538 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 7868 "Zend/zend_language_scanner.c"
-yy793:
-               YYDEBUG(793, *YYCURSOR);
+#line 7949 "Zend/zend_language_scanner.c"
+yy801:
+               YYDEBUG(801, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy797;
-               if (yych == 'c') goto yy797;
+               if (yych == 'C') goto yy805;
+               if (yych == 'c') goto yy805;
                goto yy296;
-yy794:
-               YYDEBUG(794, *YYCURSOR);
+yy802:
+               YYDEBUG(802, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy795;
+               if (yych == 'E') goto yy803;
                if (yych != 'e') goto yy296;
-yy795:
-               YYDEBUG(795, *YYCURSOR);
+yy803:
+               YYDEBUG(803, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(796, *YYCURSOR);
+               YYDEBUG(804, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1510 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 7892 "Zend/zend_language_scanner.c"
-yy797:
-               YYDEBUG(797, *YYCURSOR);
+#line 7973 "Zend/zend_language_scanner.c"
+yy805:
+               YYDEBUG(805, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy798;
+               if (yych == 'H') goto yy806;
                if (yych != 'h') goto yy296;
-yy798:
-               YYDEBUG(798, *YYCURSOR);
+yy806:
+               YYDEBUG(806, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(799, *YYCURSOR);
+               YYDEBUG(807, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1434 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 7910 "Zend/zend_language_scanner.c"
-yy800:
-               YYDEBUG(800, *YYCURSOR);
+#line 7991 "Zend/zend_language_scanner.c"
+yy808:
+               YYDEBUG(808, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy817;
-               if (yych == 'n') goto yy817;
+               if (yych == 'N') goto yy825;
+               if (yych == 'n') goto yy825;
                goto yy296;
-yy801:
-               YYDEBUG(801, *YYCURSOR);
+yy809:
+               YYDEBUG(809, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy810;
-               if (yych == 'r') goto yy810;
+               if (yych == 'R') goto yy818;
+               if (yych == 'r') goto yy818;
                goto yy296;
-yy802:
-               YYDEBUG(802, *YYCURSOR);
+yy810:
+               YYDEBUG(810, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy803;
+               if (yych == 'N') goto yy811;
                if (yych != 'n') goto yy296;
-yy803:
-               YYDEBUG(803, *YYCURSOR);
+yy811:
+               YYDEBUG(811, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy804;
+               if (yych == 'C') goto yy812;
                if (yych != 'c') goto yy296;
-yy804:
-               YYDEBUG(804, *YYCURSOR);
+yy812:
+               YYDEBUG(812, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy805;
+               if (yych == 'T') goto yy813;
                if (yych != 't') goto yy296;
-yy805:
-               YYDEBUG(805, *YYCURSOR);
+yy813:
+               YYDEBUG(813, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy806;
+               if (yych == 'I') goto yy814;
                if (yych != 'i') goto yy296;
-yy806:
-               YYDEBUG(806, *YYCURSOR);
+yy814:
+               YYDEBUG(814, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy807;
+               if (yych == 'O') goto yy815;
                if (yych != 'o') goto yy296;
-yy807:
-               YYDEBUG(807, *YYCURSOR);
+yy815:
+               YYDEBUG(815, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy808;
+               if (yych == 'N') goto yy816;
                if (yych != 'n') goto yy296;
-yy808:
-               YYDEBUG(808, *YYCURSOR);
+yy816:
+               YYDEBUG(816, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(809, *YYCURSOR);
+               YYDEBUG(817, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1418 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 7965 "Zend/zend_language_scanner.c"
-yy810:
-               YYDEBUG(810, *YYCURSOR);
+#line 8046 "Zend/zend_language_scanner.c"
+yy818:
+               YYDEBUG(818, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy811;
+                               if (yych <= '/') goto yy819;
                                if (yych <= '9') goto yy295;
                        } else {
-                               if (yych == 'E') goto yy812;
+                               if (yych == 'E') goto yy820;
                                if (yych <= 'Z') goto yy295;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy295;
                        } else {
-                               if (yych <= 'e') goto yy812;
+                               if (yych <= 'e') goto yy820;
                                if (yych <= 'z') goto yy295;
                                if (yych >= 0x7F) goto yy295;
                        }
                }
-yy811:
-               YYDEBUG(811, *YYCURSOR);
+yy819:
+               YYDEBUG(819, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1470 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 7993 "Zend/zend_language_scanner.c"
-yy812:
-               YYDEBUG(812, *YYCURSOR);
+#line 8074 "Zend/zend_language_scanner.c"
+yy820:
+               YYDEBUG(820, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy813;
+               if (yych == 'A') goto yy821;
                if (yych != 'a') goto yy296;
-yy813:
-               YYDEBUG(813, *YYCURSOR);
+yy821:
+               YYDEBUG(821, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy814;
+               if (yych == 'C') goto yy822;
                if (yych != 'c') goto yy296;
-yy814:
-               YYDEBUG(814, *YYCURSOR);
+yy822:
+               YYDEBUG(822, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy815;
+               if (yych == 'H') goto yy823;
                if (yych != 'h') goto yy296;
-yy815:
-               YYDEBUG(815, *YYCURSOR);
+yy823:
+               YYDEBUG(823, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(816, *YYCURSOR);
+               YYDEBUG(824, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1478 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 8021 "Zend/zend_language_scanner.c"
-yy817:
-               YYDEBUG(817, *YYCURSOR);
+#line 8102 "Zend/zend_language_scanner.c"
+yy825:
+               YYDEBUG(825, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy818;
+               if (yych == 'A') goto yy826;
                if (yych != 'a') goto yy296;
-yy818:
-               YYDEBUG(818, *YYCURSOR);
+yy826:
+               YYDEBUG(826, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy819;
+               if (yych == 'L') goto yy827;
                if (yych != 'l') goto yy296;
-yy819:
-               YYDEBUG(819, *YYCURSOR);
+yy827:
+               YYDEBUG(827, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(820, *YYCURSOR);
+               YYDEBUG(828, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1689 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 8044 "Zend/zend_language_scanner.c"
-yy821:
-               YYDEBUG(821, *YYCURSOR);
+#line 8125 "Zend/zend_language_scanner.c"
+yy829:
+               YYDEBUG(829, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'F') {
-                       if (yych == 'C') goto yy827;
+                       if (yych == 'C') goto yy835;
                        if (yych <= 'E') goto yy296;
-                       goto yy828;
+                       goto yy836;
                } else {
                        if (yych <= 'c') {
                                if (yych <= 'b') goto yy296;
-                               goto yy827;
+                               goto yy835;
                        } else {
-                               if (yych == 'f') goto yy828;
+                               if (yych == 'f') goto yy836;
                                goto yy296;
                        }
                }
-yy822:
-               YYDEBUG(822, *YYCURSOR);
+yy830:
+               YYDEBUG(830, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy825;
-               if (yych == 'e') goto yy825;
+               if (yych == 'E') goto yy833;
+               if (yych == 'e') goto yy833;
                goto yy296;
-yy823:
-               YYDEBUG(823, *YYCURSOR);
+yy831:
+               YYDEBUG(831, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(824, *YYCURSOR);
+               YYDEBUG(832, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1466 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 8079 "Zend/zend_language_scanner.c"
-yy825:
-               YYDEBUG(825, *YYCURSOR);
+#line 8160 "Zend/zend_language_scanner.c"
+yy833:
+               YYDEBUG(833, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(826, *YYCURSOR);
+               YYDEBUG(834, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1414 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 8092 "Zend/zend_language_scanner.c"
-yy827:
-               YYDEBUG(827, *YYCURSOR);
+#line 8173 "Zend/zend_language_scanner.c"
+yy835:
+               YYDEBUG(835, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy834;
-               if (yych == 'l') goto yy834;
+               if (yych == 'L') goto yy842;
+               if (yych == 'l') goto yy842;
                goto yy296;
-yy828:
-               YYDEBUG(828, *YYCURSOR);
+yy836:
+               YYDEBUG(836, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy829;
+               if (yych == 'A') goto yy837;
                if (yych != 'a') goto yy296;
-yy829:
-               YYDEBUG(829, *YYCURSOR);
+yy837:
+               YYDEBUG(837, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy830;
+               if (yych == 'U') goto yy838;
                if (yych != 'u') goto yy296;
-yy830:
-               YYDEBUG(830, *YYCURSOR);
+yy838:
+               YYDEBUG(838, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy831;
+               if (yych == 'L') goto yy839;
                if (yych != 'l') goto yy296;
-yy831:
-               YYDEBUG(831, *YYCURSOR);
+yy839:
+               YYDEBUG(839, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy832;
+               if (yych == 'T') goto yy840;
                if (yych != 't') goto yy296;
-yy832:
-               YYDEBUG(832, *YYCURSOR);
+yy840:
+               YYDEBUG(840, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(833, *YYCURSOR);
+               YYDEBUG(841, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1514 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 8131 "Zend/zend_language_scanner.c"
-yy834:
-               YYDEBUG(834, *YYCURSOR);
+#line 8212 "Zend/zend_language_scanner.c"
+yy842:
+               YYDEBUG(842, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy835;
+               if (yych == 'A') goto yy843;
                if (yych != 'a') goto yy296;
-yy835:
-               YYDEBUG(835, *YYCURSOR);
+yy843:
+               YYDEBUG(843, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy836;
+               if (yych == 'R') goto yy844;
                if (yych != 'r') goto yy296;
-yy836:
-               YYDEBUG(836, *YYCURSOR);
+yy844:
+               YYDEBUG(844, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy837;
+               if (yych == 'E') goto yy845;
                if (yych != 'e') goto yy296;
-yy837:
-               YYDEBUG(837, *YYCURSOR);
+yy845:
+               YYDEBUG(845, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(838, *YYCURSOR);
+               YYDEBUG(846, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1486 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 8159 "Zend/zend_language_scanner.c"
-yy839:
-               YYDEBUG(839, *YYCURSOR);
+#line 8240 "Zend/zend_language_scanner.c"
+yy847:
+               YYDEBUG(847, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy901;
-               if (yych == 'h') goto yy901;
+               if (yych == 'H') goto yy909;
+               if (yych == 'h') goto yy909;
                goto yy296;
-yy840:
-               YYDEBUG(840, *YYCURSOR);
+yy848:
+               YYDEBUG(848, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy895;
-               if (yych == 's') goto yy895;
+               if (yych == 'S') goto yy903;
+               if (yych == 's') goto yy903;
                goto yy296;
-yy841:
-               YYDEBUG(841, *YYCURSOR);
+yy849:
+               YYDEBUG(849, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy891;
-               if (yych == 'p') goto yy891;
+               if (yych == 'P') goto yy899;
+               if (yych == 'p') goto yy899;
                goto yy296;
-yy842:
-               YYDEBUG(842, *YYCURSOR);
+yy850:
+               YYDEBUG(850, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy857;
-               if (yych == 'd') goto yy857;
+               if (yych == 'D') goto yy865;
+               if (yych == 'd') goto yy865;
                goto yy296;
-yy843:
-               YYDEBUG(843, *YYCURSOR);
+yy851:
+               YYDEBUG(851, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy854;
-               if (yych == 'a') goto yy854;
+               if (yych == 'A') goto yy862;
+               if (yych == 'a') goto yy862;
                goto yy296;
-yy844:
-               YYDEBUG(844, *YYCURSOR);
+yy852:
+               YYDEBUG(852, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'I') goto yy845;
+                       if (yych == 'I') goto yy853;
                        if (yych <= 'S') goto yy296;
-                       goto yy846;
+                       goto yy854;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy296;
                        } else {
-                               if (yych == 't') goto yy846;
+                               if (yych == 't') goto yy854;
                                goto yy296;
                        }
                }
-yy845:
-               YYDEBUG(845, *YYCURSOR);
+yy853:
+               YYDEBUG(853, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy852;
-               if (yych == 't') goto yy852;
+               if (yych == 'T') goto yy860;
+               if (yych == 't') goto yy860;
                goto yy296;
-yy846:
-               YYDEBUG(846, *YYCURSOR);
+yy854:
+               YYDEBUG(854, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy847;
+               if (yych == 'E') goto yy855;
                if (yych != 'e') goto yy296;
-yy847:
-               YYDEBUG(847, *YYCURSOR);
+yy855:
+               YYDEBUG(855, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy848;
+               if (yych == 'N') goto yy856;
                if (yych != 'n') goto yy296;
-yy848:
-               YYDEBUG(848, *YYCURSOR);
+yy856:
+               YYDEBUG(856, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy849;
+               if (yych == 'D') goto yy857;
                if (yych != 'd') goto yy296;
-yy849:
-               YYDEBUG(849, *YYCURSOR);
+yy857:
+               YYDEBUG(857, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy850;
+               if (yych == 'S') goto yy858;
                if (yych != 's') goto yy296;
-yy850:
-               YYDEBUG(850, *YYCURSOR);
+yy858:
+               YYDEBUG(858, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(851, *YYCURSOR);
+               YYDEBUG(859, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1546 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 8243 "Zend/zend_language_scanner.c"
-yy852:
-               YYDEBUG(852, *YYCURSOR);
+#line 8324 "Zend/zend_language_scanner.c"
+yy860:
+               YYDEBUG(860, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(853, *YYCURSOR);
+               YYDEBUG(861, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1410 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 8256 "Zend/zend_language_scanner.c"
-yy854:
-               YYDEBUG(854, *YYCURSOR);
+#line 8337 "Zend/zend_language_scanner.c"
+yy862:
+               YYDEBUG(862, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy855;
+               if (yych == 'L') goto yy863;
                if (yych != 'l') goto yy296;
-yy855:
-               YYDEBUG(855, *YYCURSOR);
+yy863:
+               YYDEBUG(863, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(856, *YYCURSOR);
+               YYDEBUG(864, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1637 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 8274 "Zend/zend_language_scanner.c"
-yy857:
-               YYDEBUG(857, *YYCURSOR);
+#line 8355 "Zend/zend_language_scanner.c"
+yy865:
+               YYDEBUG(865, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'D':
-               case 'd':       goto yy858;
+               case 'd':       goto yy866;
                case 'F':
-               case 'f':       goto yy859;
+               case 'f':       goto yy867;
                case 'I':
-               case 'i':       goto yy860;
+               case 'i':       goto yy868;
                case 'S':
-               case 's':       goto yy861;
+               case 's':       goto yy869;
                case 'W':
-               case 'w':       goto yy862;
+               case 'w':       goto yy870;
                default:        goto yy296;
                }
-yy858:
-               YYDEBUG(858, *YYCURSOR);
+yy866:
+               YYDEBUG(866, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy884;
-               if (yych == 'e') goto yy884;
+               if (yych == 'E') goto yy892;
+               if (yych == 'e') goto yy892;
                goto yy296;
-yy859:
-               YYDEBUG(859, *YYCURSOR);
+yy867:
+               YYDEBUG(867, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy876;
-               if (yych == 'o') goto yy876;
+               if (yych == 'O') goto yy884;
+               if (yych == 'o') goto yy884;
                goto yy296;
-yy860:
-               YYDEBUG(860, *YYCURSOR);
+yy868:
+               YYDEBUG(868, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy874;
-               if (yych == 'f') goto yy874;
+               if (yych == 'F') goto yy882;
+               if (yych == 'f') goto yy882;
                goto yy296;
-yy861:
-               YYDEBUG(861, *YYCURSOR);
+yy869:
+               YYDEBUG(869, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy868;
-               if (yych == 'w') goto yy868;
+               if (yych == 'W') goto yy876;
+               if (yych == 'w') goto yy876;
                goto yy296;
-yy862:
-               YYDEBUG(862, *YYCURSOR);
+yy870:
+               YYDEBUG(870, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy863;
+               if (yych == 'H') goto yy871;
                if (yych != 'h') goto yy296;
-yy863:
-               YYDEBUG(863, *YYCURSOR);
+yy871:
+               YYDEBUG(871, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy864;
+               if (yych == 'I') goto yy872;
                if (yych != 'i') goto yy296;
-yy864:
-               YYDEBUG(864, *YYCURSOR);
+yy872:
+               YYDEBUG(872, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy865;
+               if (yych == 'L') goto yy873;
                if (yych != 'l') goto yy296;
-yy865:
-               YYDEBUG(865, *YYCURSOR);
+yy873:
+               YYDEBUG(873, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy866;
+               if (yych == 'E') goto yy874;
                if (yych != 'e') goto yy296;
-yy866:
-               YYDEBUG(866, *YYCURSOR);
+yy874:
+               YYDEBUG(874, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(867, *YYCURSOR);
+               YYDEBUG(875, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1462 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 8348 "Zend/zend_language_scanner.c"
-yy868:
-               YYDEBUG(868, *YYCURSOR);
+#line 8429 "Zend/zend_language_scanner.c"
+yy876:
+               YYDEBUG(876, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy869;
+               if (yych == 'I') goto yy877;
                if (yych != 'i') goto yy296;
-yy869:
-               YYDEBUG(869, *YYCURSOR);
+yy877:
+               YYDEBUG(877, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy870;
+               if (yych == 'T') goto yy878;
                if (yych != 't') goto yy296;
-yy870:
-               YYDEBUG(870, *YYCURSOR);
+yy878:
+               YYDEBUG(878, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy871;
+               if (yych == 'C') goto yy879;
                if (yych != 'c') goto yy296;
-yy871:
-               YYDEBUG(871, *YYCURSOR);
+yy879:
+               YYDEBUG(879, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy872;
+               if (yych == 'H') goto yy880;
                if (yych != 'h') goto yy296;
-yy872:
-               YYDEBUG(872, *YYCURSOR);
+yy880:
+               YYDEBUG(880, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(873, *YYCURSOR);
+               YYDEBUG(881, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1506 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 8381 "Zend/zend_language_scanner.c"
-yy874:
-               YYDEBUG(874, *YYCURSOR);
+#line 8462 "Zend/zend_language_scanner.c"
+yy882:
+               YYDEBUG(882, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(875, *YYCURSOR);
+               YYDEBUG(883, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1450 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 8394 "Zend/zend_language_scanner.c"
-yy876:
-               YYDEBUG(876, *YYCURSOR);
+#line 8475 "Zend/zend_language_scanner.c"
+yy884:
+               YYDEBUG(884, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy877;
+               if (yych == 'R') goto yy885;
                if (yych != 'r') goto yy296;
-yy877:
-               YYDEBUG(877, *YYCURSOR);
+yy885:
+               YYDEBUG(885, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy878;
+                               if (yych <= '/') goto yy886;
                                if (yych <= '9') goto yy295;
                        } else {
-                               if (yych == 'E') goto yy879;
+                               if (yych == 'E') goto yy887;
                                if (yych <= 'Z') goto yy295;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy295;
                        } else {
-                               if (yych <= 'e') goto yy879;
+                               if (yych <= 'e') goto yy887;
                                if (yych <= 'z') goto yy295;
                                if (yych >= 0x7F) goto yy295;
                        }
                }
-yy878:
-               YYDEBUG(878, *YYCURSOR);
+yy886:
+               YYDEBUG(886, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1474 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 8427 "Zend/zend_language_scanner.c"
-yy879:
-               YYDEBUG(879, *YYCURSOR);
+#line 8508 "Zend/zend_language_scanner.c"
+yy887:
+               YYDEBUG(887, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy880;
+               if (yych == 'A') goto yy888;
                if (yych != 'a') goto yy296;
-yy880:
-               YYDEBUG(880, *YYCURSOR);
+yy888:
+               YYDEBUG(888, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy881;
+               if (yych == 'C') goto yy889;
                if (yych != 'c') goto yy296;
-yy881:
-               YYDEBUG(881, *YYCURSOR);
+yy889:
+               YYDEBUG(889, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy882;
+               if (yych == 'H') goto yy890;
                if (yych != 'h') goto yy296;
-yy882:
-               YYDEBUG(882, *YYCURSOR);
+yy890:
+               YYDEBUG(890, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(883, *YYCURSOR);
+               YYDEBUG(891, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1482 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 8455 "Zend/zend_language_scanner.c"
-yy884:
-               YYDEBUG(884, *YYCURSOR);
+#line 8536 "Zend/zend_language_scanner.c"
+yy892:
+               YYDEBUG(892, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy885;
+               if (yych == 'C') goto yy893;
                if (yych != 'c') goto yy296;
-yy885:
-               YYDEBUG(885, *YYCURSOR);
+yy893:
+               YYDEBUG(893, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy886;
+               if (yych == 'L') goto yy894;
                if (yych != 'l') goto yy296;
-yy886:
-               YYDEBUG(886, *YYCURSOR);
+yy894:
+               YYDEBUG(894, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy887;
+               if (yych == 'A') goto yy895;
                if (yych != 'a') goto yy296;
-yy887:
-               YYDEBUG(887, *YYCURSOR);
+yy895:
+               YYDEBUG(895, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy888;
+               if (yych == 'R') goto yy896;
                if (yych != 'r') goto yy296;
-yy888:
-               YYDEBUG(888, *YYCURSOR);
+yy896:
+               YYDEBUG(896, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy889;
+               if (yych == 'E') goto yy897;
                if (yych != 'e') goto yy296;
-yy889:
-               YYDEBUG(889, *YYCURSOR);
+yy897:
+               YYDEBUG(897, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(890, *YYCURSOR);
+               YYDEBUG(898, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1490 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 8493 "Zend/zend_language_scanner.c"
-yy891:
-               YYDEBUG(891, *YYCURSOR);
+#line 8574 "Zend/zend_language_scanner.c"
+yy899:
+               YYDEBUG(899, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy892;
+               if (yych == 'T') goto yy900;
                if (yych != 't') goto yy296;
-yy892:
-               YYDEBUG(892, *YYCURSOR);
+yy900:
+               YYDEBUG(900, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy893;
+               if (yych == 'Y') goto yy901;
                if (yych != 'y') goto yy296;
-yy893:
-               YYDEBUG(893, *YYCURSOR);
+yy901:
+               YYDEBUG(901, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(894, *YYCURSOR);
+               YYDEBUG(902, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1673 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 8516 "Zend/zend_language_scanner.c"
-yy895:
-               YYDEBUG(895, *YYCURSOR);
+#line 8597 "Zend/zend_language_scanner.c"
+yy903:
+               YYDEBUG(903, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy896;
+               if (yych == 'E') goto yy904;
                if (yych != 'e') goto yy296;
-yy896:
-               YYDEBUG(896, *YYCURSOR);
+yy904:
+               YYDEBUG(904, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy897;
+                               if (yych <= '/') goto yy905;
                                if (yych <= '9') goto yy295;
                        } else {
-                               if (yych == 'I') goto yy898;
+                               if (yych == 'I') goto yy906;
                                if (yych <= 'Z') goto yy295;
                        }
                } else {
                        if (yych <= 'h') {
                                if (yych != '`') goto yy295;
                        } else {
-                               if (yych <= 'i') goto yy898;
+                               if (yych <= 'i') goto yy906;
                                if (yych <= 'z') goto yy295;
                                if (yych >= 0x7F) goto yy295;
                        }
                }
-yy897:
-               YYDEBUG(897, *YYCURSOR);
+yy905:
+               YYDEBUG(905, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1454 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 8549 "Zend/zend_language_scanner.c"
-yy898:
-               YYDEBUG(898, *YYCURSOR);
+#line 8630 "Zend/zend_language_scanner.c"
+yy906:
+               YYDEBUG(906, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy899;
+               if (yych == 'F') goto yy907;
                if (yych != 'f') goto yy296;
-yy899:
-               YYDEBUG(899, *YYCURSOR);
+yy907:
+               YYDEBUG(907, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(900, *YYCURSOR);
+               YYDEBUG(908, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1446 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 8567 "Zend/zend_language_scanner.c"
-yy901:
-               YYDEBUG(901, *YYCURSOR);
+#line 8648 "Zend/zend_language_scanner.c"
+yy909:
+               YYDEBUG(909, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy902;
+               if (yych == 'O') goto yy910;
                if (yych != 'o') goto yy296;
-yy902:
-               YYDEBUG(902, *YYCURSOR);
+yy910:
+               YYDEBUG(910, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 16) {
                        goto yy295;
                }
-               YYDEBUG(903, *YYCURSOR);
+               YYDEBUG(911, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1530 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 8585 "Zend/zend_language_scanner.c"
+#line 8666 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8620,52 +8701,52 @@ yyc_ST_LOOKING_FOR_PROPERTY:
                         64,  64,  64,  64,  64,  64,  64,  64, 
                         64,  64,  64,  64,  64,  64,  64,  64, 
                };
-               YYDEBUG(904, *YYCURSOR);
+               YYDEBUG(912, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '-') {
                        if (yych <= '\r') {
-                               if (yych <= 0x08) goto yy912;
-                               if (yych <= '\n') goto yy906;
-                               if (yych <= '\f') goto yy912;
+                               if (yych <= 0x08) goto yy920;
+                               if (yych <= '\n') goto yy914;
+                               if (yych <= '\f') goto yy920;
                        } else {
-                               if (yych == ' ') goto yy906;
-                               if (yych <= ',') goto yy912;
-                               goto yy908;
+                               if (yych == ' ') goto yy914;
+                               if (yych <= ',') goto yy920;
+                               goto yy916;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '@') goto yy912;
-                               if (yych <= 'Z') goto yy910;
-                               if (yych <= '^') goto yy912;
-                               goto yy910;
+                               if (yych <= '@') goto yy920;
+                               if (yych <= 'Z') goto yy918;
+                               if (yych <= '^') goto yy920;
+                               goto yy918;
                        } else {
-                               if (yych <= '`') goto yy912;
-                               if (yych <= 'z') goto yy910;
-                               if (yych <= '~') goto yy912;
-                               goto yy910;
+                               if (yych <= '`') goto yy920;
+                               if (yych <= 'z') goto yy918;
+                               if (yych <= '~') goto yy920;
+                               goto yy918;
                        }
                }
-yy906:
-               YYDEBUG(906, *YYCURSOR);
+yy914:
+               YYDEBUG(914, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy918;
-yy907:
-               YYDEBUG(907, *YYCURSOR);
+               goto yy926;
+yy915:
+               YYDEBUG(915, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1559 "Zend/zend_language_scanner.l"
                {
        /* do nothing */
        goto restart;
 }
-#line 8663 "Zend/zend_language_scanner.c"
-yy908:
-               YYDEBUG(908, *YYCURSOR);
+#line 8744 "Zend/zend_language_scanner.c"
+yy916:
+               YYDEBUG(916, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy915;
-yy909:
-               YYDEBUG(909, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '>') goto yy923;
+yy917:
+               YYDEBUG(917, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1579 "Zend/zend_language_scanner.l"
                {
@@ -8673,14 +8754,14 @@ yy909:
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 8677 "Zend/zend_language_scanner.c"
-yy910:
-               YYDEBUG(910, *YYCURSOR);
+#line 8758 "Zend/zend_language_scanner.c"
+yy918:
+               YYDEBUG(918, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy914;
-yy911:
-               YYDEBUG(911, *YYCURSOR);
+               goto yy922;
+yy919:
+               YYDEBUG(919, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1568 "Zend/zend_language_scanner.l"
                {
@@ -8693,43 +8774,43 @@ yy911:
        }
        return T_STRING;
 }
-#line 8697 "Zend/zend_language_scanner.c"
-yy912:
-               YYDEBUG(912, *YYCURSOR);
+#line 8778 "Zend/zend_language_scanner.c"
+yy920:
+               YYDEBUG(920, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy909;
-yy913:
-               YYDEBUG(913, *YYCURSOR);
+               goto yy917;
+yy921:
+               YYDEBUG(921, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy914:
-               YYDEBUG(914, *YYCURSOR);
+yy922:
+               YYDEBUG(922, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy913;
+                       goto yy921;
                }
-               goto yy911;
-yy915:
-               YYDEBUG(915, *YYCURSOR);
+               goto yy919;
+yy923:
+               YYDEBUG(923, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(916, *YYCURSOR);
+               YYDEBUG(924, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1564 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 8722 "Zend/zend_language_scanner.c"
-yy917:
-               YYDEBUG(917, *YYCURSOR);
+#line 8803 "Zend/zend_language_scanner.c"
+yy925:
+               YYDEBUG(925, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy918:
-               YYDEBUG(918, *YYCURSOR);
+yy926:
+               YYDEBUG(926, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy917;
+                       goto yy925;
                }
-               goto yy907;
+               goto yy915;
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_VARNAME:
@@ -8768,25 +8849,25 @@ yyc_ST_LOOKING_FOR_VARNAME:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(919, *YYCURSOR);
+               YYDEBUG(927, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy923;
-                       if (yych <= 'Z') goto yy921;
-                       if (yych <= '^') goto yy923;
+                       if (yych <= '@') goto yy931;
+                       if (yych <= 'Z') goto yy929;
+                       if (yych <= '^') goto yy931;
                } else {
-                       if (yych <= '`') goto yy923;
-                       if (yych <= 'z') goto yy921;
-                       if (yych <= '~') goto yy923;
+                       if (yych <= '`') goto yy931;
+                       if (yych <= 'z') goto yy929;
+                       if (yych <= '~') goto yy931;
                }
-yy921:
-               YYDEBUG(921, *YYCURSOR);
+yy929:
+               YYDEBUG(929, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy926;
-yy922:
-               YYDEBUG(922, *YYCURSOR);
+               goto yy934;
+yy930:
+               YYDEBUG(930, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1852 "Zend/zend_language_scanner.l"
                {
@@ -8800,11 +8881,11 @@ yy922:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8804 "Zend/zend_language_scanner.c"
-yy923:
-               YYDEBUG(923, *YYCURSOR);
+#line 8885 "Zend/zend_language_scanner.c"
+yy931:
+               YYDEBUG(931, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(924, *YYCURSOR);
+               YYDEBUG(932, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1865 "Zend/zend_language_scanner.l"
                {
@@ -8813,18 +8894,18 @@ yy923:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8817 "Zend/zend_language_scanner.c"
-yy925:
-               YYDEBUG(925, *YYCURSOR);
+#line 8898 "Zend/zend_language_scanner.c"
+yy933:
+               YYDEBUG(933, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy926:
-               YYDEBUG(926, *YYCURSOR);
+yy934:
+               YYDEBUG(934, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy925;
+                       goto yy933;
                }
-               goto yy922;
+               goto yy930;
        }
 /* *********************************** */
 yyc_ST_NOWDOC:
@@ -8863,419 +8944,419 @@ yyc_ST_NOWDOC:
                        192, 192, 192, 192, 192, 192, 192, 192, 
                        192, 192, 192, 192, 192, 192, 192, 192, 
                };
-               YYDEBUG(927, *YYCURSOR);
+               YYDEBUG(935, *YYCURSOR);
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 32) {
-                       goto yy933;
+                       goto yy941;
                }
-               if (yych <= '\f') goto yy929;
-               if (yych <= '\r') goto yy931;
-               goto yy935;
-yy929:
-               YYDEBUG(929, *YYCURSOR);
+               if (yych <= '\f') goto yy937;
+               if (yych <= '\r') goto yy939;
+               goto yy943;
+yy937:
+               YYDEBUG(937, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(930, *YYCURSOR);
+               YYDEBUG(938, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy933;
+                       goto yy941;
                }
-               if (yych <= '\f') goto yy929;
-               if (yych >= 0x0E) goto yy959;
-yy931:
-               YYDEBUG(931, *YYCURSOR);
+               if (yych <= '\f') goto yy937;
+               if (yych >= 0x0E) goto yy967;
+yy939:
+               YYDEBUG(939, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(932, *YYCURSOR);
+               YYDEBUG(940, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy933;
+                       goto yy941;
                }
-               if (yych <= '\f') goto yy929;
-               if (yych <= '\r') goto yy931;
-               goto yy959;
-yy933:
-               YYDEBUG(933, *YYCURSOR);
+               if (yych <= '\f') goto yy937;
+               if (yych <= '\r') goto yy939;
+               goto yy967;
+yy941:
+               YYDEBUG(941, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(934, *YYCURSOR);
+               YYDEBUG(942, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy933;
+                       goto yy941;
                }
-               if (yych <= '\f') goto yy929;
-               if (yych <= '\r') goto yy931;
-               goto yy957;
-yy935:
-               YYDEBUG(935, *YYCURSOR);
+               if (yych <= '\f') goto yy937;
+               if (yych <= '\r') goto yy939;
+               goto yy965;
+yy943:
+               YYDEBUG(943, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(936, *YYCURSOR);
+               YYDEBUG(944, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy935;
+                       goto yy943;
                }
                if (yych <= '\f') {
-                       if (yych != '\n') goto yy939;
+                       if (yych != '\n') goto yy947;
                } else {
-                       if (yych <= '\r') goto yy937;
-                       if (yych == ';') goto yy938;
-                       goto yy939;
+                       if (yych <= '\r') goto yy945;
+                       if (yych == ';') goto yy946;
+                       goto yy947;
                }
-yy937:
-               YYDEBUG(937, *YYCURSOR);
-yy938:
-               YYDEBUG(938, *YYCURSOR);
+yy945:
+               YYDEBUG(945, *YYCURSOR);
+yy946:
+               YYDEBUG(946, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy937;
-               if (yych == '\r') goto yy937;
-               goto yy950;
-yy939:
-               YYDEBUG(939, *YYCURSOR);
+               if (yych == '\n') goto yy945;
+               if (yych == '\r') goto yy945;
+               goto yy958;
+yy947:
+               YYDEBUG(947, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '^') {
                        if (yych <= '\r') {
-                               if (yych >= '\r') goto yy931;
+                               if (yych >= '\r') goto yy939;
                        } else {
-                               if (yych <= '@') goto yy940;
-                               if (yych <= 'Z') goto yy942;
+                               if (yych <= '@') goto yy948;
+                               if (yych <= 'Z') goto yy950;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy942;
+                               if (yych <= '_') goto yy950;
                        } else {
-                               if (yych <= 'z') goto yy942;
-                               if (yych >= 0x7F) goto yy942;
+                               if (yych <= 'z') goto yy950;
+                               if (yych >= 0x7F) goto yy950;
                        }
                }
-yy940:
-               YYDEBUG(940, *YYCURSOR);
+yy948:
+               YYDEBUG(948, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(941, *YYCURSOR);
+               YYDEBUG(949, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '^') {
                        if (yych <= '\r') {
-                               if (yych <= '\f') goto yy940;
-                               goto yy931;
+                               if (yych <= '\f') goto yy948;
+                               goto yy939;
                        } else {
-                               if (yych <= '@') goto yy940;
-                               if (yych <= 'Z') goto yy944;
-                               goto yy940;
+                               if (yych <= '@') goto yy948;
+                               if (yych <= 'Z') goto yy952;
+                               goto yy948;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy944;
-                               goto yy940;
+                               if (yych <= '_') goto yy952;
+                               goto yy948;
                        } else {
-                               if (yych <= 'z') goto yy944;
-                               if (yych <= '~') goto yy940;
-                               goto yy944;
+                               if (yych <= 'z') goto yy952;
+                               if (yych <= '~') goto yy948;
+                               goto yy952;
                        }
                }
-yy942:
-               YYDEBUG(942, *YYCURSOR);
+yy950:
+               YYDEBUG(950, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(943, *YYCURSOR);
+               YYDEBUG(951, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '@') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy940;
+                               if (yych == '\r') goto yy939;
+                               goto yy948;
                        } else {
-                               if (yych <= '9') goto yy944;
-                               if (yych == ';') goto yy946;
-                               goto yy940;
+                               if (yych <= '9') goto yy952;
+                               if (yych == ';') goto yy954;
+                               goto yy948;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy942;
-                               if (yych <= '^') goto yy940;
-                               goto yy942;
+                               if (yych <= 'Z') goto yy950;
+                               if (yych <= '^') goto yy948;
+                               goto yy950;
                        } else {
-                               if (yych <= '`') goto yy940;
-                               if (yych <= 'z') goto yy942;
-                               if (yych <= '~') goto yy940;
-                               goto yy942;
+                               if (yych <= '`') goto yy948;
+                               if (yych <= 'z') goto yy950;
+                               if (yych <= '~') goto yy948;
+                               goto yy950;
                        }
                }
-yy944:
-               YYDEBUG(944, *YYCURSOR);
+yy952:
+               YYDEBUG(952, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(945, *YYCURSOR);
+               YYDEBUG(953, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '@') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy940;
+                               if (yych == '\r') goto yy939;
+                               goto yy948;
                        } else {
-                               if (yych <= '9') goto yy944;
-                               if (yych != ';') goto yy940;
+                               if (yych <= '9') goto yy952;
+                               if (yych != ';') goto yy948;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy944;
-                               if (yych <= '^') goto yy940;
-                               goto yy944;
+                               if (yych <= 'Z') goto yy952;
+                               if (yych <= '^') goto yy948;
+                               goto yy952;
                        } else {
-                               if (yych <= '`') goto yy940;
-                               if (yych <= 'z') goto yy944;
-                               if (yych <= '~') goto yy940;
-                               goto yy944;
+                               if (yych <= '`') goto yy948;
+                               if (yych <= 'z') goto yy952;
+                               if (yych <= '~') goto yy948;
+                               goto yy952;
                        }
                }
-yy946:
-               YYDEBUG(946, *YYCURSOR);
+yy954:
+               YYDEBUG(954, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(947, *YYCURSOR);
+               YYDEBUG(955, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '^') {
                        if (yych <= '\r') {
-                               if (yych <= '\f') goto yy946;
-                               goto yy931;
+                               if (yych <= '\f') goto yy954;
+                               goto yy939;
                        } else {
-                               if (yych <= '@') goto yy946;
-                               if (yych >= '[') goto yy946;
+                               if (yych <= '@') goto yy954;
+                               if (yych >= '[') goto yy954;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych >= '`') goto yy946;
+                               if (yych >= '`') goto yy954;
                        } else {
-                               if (yych <= 'z') goto yy948;
-                               if (yych <= '~') goto yy946;
+                               if (yych <= 'z') goto yy956;
+                               if (yych <= '~') goto yy954;
                        }
                }
-yy948:
-               YYDEBUG(948, *YYCURSOR);
+yy956:
+               YYDEBUG(956, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(949, *YYCURSOR);
+               YYDEBUG(957, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= 'Z') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy946;
+                               if (yych == '\r') goto yy939;
+                               goto yy954;
                        } else {
-                               if (yych <= '9') goto yy948;
-                               if (yych <= '@') goto yy946;
-                               goto yy948;
+                               if (yych <= '9') goto yy956;
+                               if (yych <= '@') goto yy954;
+                               goto yy956;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy948;
-                               goto yy946;
+                               if (yych == '_') goto yy956;
+                               goto yy954;
                        } else {
-                               if (yych <= 'z') goto yy948;
-                               if (yych <= '~') goto yy946;
-                               goto yy948;
+                               if (yych <= 'z') goto yy956;
+                               if (yych <= '~') goto yy954;
+                               goto yy956;
                        }
                }
-yy950:
-               YYDEBUG(950, *YYCURSOR);
+yy958:
+               YYDEBUG(958, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '^') {
                        if (yych <= '\r') {
-                               if (yych >= '\r') goto yy931;
+                               if (yych >= '\r') goto yy939;
                        } else {
-                               if (yych <= '@') goto yy951;
-                               if (yych <= 'Z') goto yy953;
+                               if (yych <= '@') goto yy959;
+                               if (yych <= 'Z') goto yy961;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy953;
+                               if (yych <= '_') goto yy961;
                        } else {
-                               if (yych <= 'z') goto yy953;
-                               if (yych >= 0x7F) goto yy953;
+                               if (yych <= 'z') goto yy961;
+                               if (yych >= 0x7F) goto yy961;
                        }
                }
-yy951:
-               YYDEBUG(951, *YYCURSOR);
+yy959:
+               YYDEBUG(959, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(952, *YYCURSOR);
+               YYDEBUG(960, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '^') {
                        if (yych <= '\r') {
-                               if (yych <= '\f') goto yy951;
-                               goto yy931;
+                               if (yych <= '\f') goto yy959;
+                               goto yy939;
                        } else {
-                               if (yych <= '@') goto yy951;
-                               if (yych <= 'Z') goto yy955;
-                               goto yy951;
+                               if (yych <= '@') goto yy959;
+                               if (yych <= 'Z') goto yy963;
+                               goto yy959;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy955;
-                               goto yy951;
+                               if (yych <= '_') goto yy963;
+                               goto yy959;
                        } else {
-                               if (yych <= 'z') goto yy955;
-                               if (yych <= '~') goto yy951;
-                               goto yy955;
+                               if (yych <= 'z') goto yy963;
+                               if (yych <= '~') goto yy959;
+                               goto yy963;
                        }
                }
-yy953:
-               YYDEBUG(953, *YYCURSOR);
+yy961:
+               YYDEBUG(961, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(954, *YYCURSOR);
+               YYDEBUG(962, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '@') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy946;
+                               if (yych == '\r') goto yy939;
+                               goto yy954;
                        } else {
-                               if (yych <= '9') goto yy955;
-                               if (yych == ';') goto yy951;
-                               goto yy946;
+                               if (yych <= '9') goto yy963;
+                               if (yych == ';') goto yy959;
+                               goto yy954;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy953;
-                               if (yych <= '^') goto yy946;
-                               goto yy953;
+                               if (yych <= 'Z') goto yy961;
+                               if (yych <= '^') goto yy954;
+                               goto yy961;
                        } else {
-                               if (yych <= '`') goto yy946;
-                               if (yych <= 'z') goto yy953;
-                               if (yych <= '~') goto yy946;
-                               goto yy953;
+                               if (yych <= '`') goto yy954;
+                               if (yych <= 'z') goto yy961;
+                               if (yych <= '~') goto yy954;
+                               goto yy961;
                        }
                }
-yy955:
-               YYDEBUG(955, *YYCURSOR);
+yy963:
+               YYDEBUG(963, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(956, *YYCURSOR);
+               YYDEBUG(964, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '@') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy946;
+                               if (yych == '\r') goto yy939;
+                               goto yy954;
                        } else {
-                               if (yych <= '9') goto yy955;
-                               if (yych == ';') goto yy951;
-                               goto yy946;
+                               if (yych <= '9') goto yy963;
+                               if (yych == ';') goto yy959;
+                               goto yy954;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy955;
-                               if (yych <= '^') goto yy946;
-                               goto yy955;
+                               if (yych <= 'Z') goto yy963;
+                               if (yych <= '^') goto yy954;
+                               goto yy963;
                        } else {
-                               if (yych <= '`') goto yy946;
-                               if (yych <= 'z') goto yy955;
-                               if (yych <= '~') goto yy946;
-                               goto yy955;
+                               if (yych <= '`') goto yy954;
+                               if (yych <= 'z') goto yy963;
+                               if (yych <= '~') goto yy954;
+                               goto yy963;
                        }
                }
-yy957:
-               YYDEBUG(957, *YYCURSOR);
+yy965:
+               YYDEBUG(965, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(958, *YYCURSOR);
+               YYDEBUG(966, *YYCURSOR);
                if (yybm[0+yych] & 8) {
-                       goto yy929;
+                       goto yy937;
                }
                if (yych <= '@') {
                        if (yych <= '/') {
-                               if (yych == '\r') goto yy931;
-                               goto yy940;
+                               if (yych == '\r') goto yy939;
+                               goto yy948;
                        } else {
-                               if (yych <= '9') goto yy957;
-                               if (yych == ';') goto yy951;
-                               goto yy940;
+                               if (yych <= '9') goto yy965;
+                               if (yych == ';') goto yy959;
+                               goto yy948;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy957;
-                               if (yych <= '^') goto yy940;
-                               goto yy957;
+                               if (yych <= 'Z') goto yy965;
+                               if (yych <= '^') goto yy948;
+                               goto yy965;
                        } else {
-                               if (yych <= '`') goto yy940;
-                               if (yych <= 'z') goto yy957;
-                               if (yych <= '~') goto yy940;
-                               goto yy957;
+                               if (yych <= '`') goto yy948;
+                               if (yych <= 'z') goto yy965;
+                               if (yych <= '~') goto yy948;
+                               goto yy965;
                        }
                }
-yy959:
-               YYDEBUG(959, *YYCURSOR);
+yy967:
+               YYDEBUG(967, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(960, *YYCURSOR);
+               YYDEBUG(968, *YYCURSOR);
                if (yych <= ';') {
                        if (yych <= '\r') {
-                               if (yych == '\n') goto yy962;
-                               if (yych <= '\f') goto yy939;
-                               goto yy962;
+                               if (yych == '\n') goto yy970;
+                               if (yych <= '\f') goto yy947;
+                               goto yy970;
                        } else {
-                               if (yych <= '/') goto yy939;
-                               if (yych <= '9') goto yy959;
-                               if (yych <= ':') goto yy939;
+                               if (yych <= '/') goto yy947;
+                               if (yych <= '9') goto yy967;
+                               if (yych <= ':') goto yy947;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '@') goto yy939;
-                               if (yych <= 'Z') goto yy959;
-                               if (yych <= '^') goto yy939;
-                               goto yy959;
+                               if (yych <= '@') goto yy947;
+                               if (yych <= 'Z') goto yy967;
+                               if (yych <= '^') goto yy947;
+                               goto yy967;
                        } else {
-                               if (yych <= '`') goto yy939;
-                               if (yych <= 'z') goto yy959;
-                               if (yych <= '~') goto yy939;
-                               goto yy959;
+                               if (yych <= '`') goto yy947;
+                               if (yych <= 'z') goto yy967;
+                               if (yych <= '~') goto yy947;
+                               goto yy967;
                        }
                }
-               YYDEBUG(961, *YYCURSOR);
+               YYDEBUG(969, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               if (yych == '\n') goto yy962;
-               if (yych != '\r') goto yy950;
-yy962:
-               YYDEBUG(962, *YYCURSOR);
+               if (yych == '\n') goto yy970;
+               if (yych != '\r') goto yy958;
+yy970:
+               YYDEBUG(970, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(963, *YYCURSOR);
+               YYDEBUG(971, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2696 "Zend/zend_language_scanner.l"
+#line 2698 "Zend/zend_language_scanner.l"
                {
        char *end = yytext + yyleng - 1;
 
@@ -9313,7 +9394,7 @@ yy962:
                yymore();
        }
 }
-#line 9317 "Zend/zend_language_scanner.c"
+#line 9398 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_ONE_LINE_COMMENT:
@@ -9352,50 +9433,50 @@ yyc_ST_ONE_LINE_COMMENT:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(964, *YYCURSOR);
+               YYDEBUG(972, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy970;
-               }
-               if (yych <= '\f') goto yy973;
-               if (yych <= '\r') goto yy974;
-               if (yych <= '=') goto yy966;
-               if (yych <= '>') goto yy968;
-               goto yy969;
-yy966:
-               YYDEBUG(966, *YYCURSOR);
+                       goto yy978;
+               }
+               if (yych <= '\f') goto yy981;
+               if (yych <= '\r') goto yy982;
+               if (yych <= '=') goto yy974;
+               if (yych <= '>') goto yy976;
+               goto yy977;
+yy974:
+               YYDEBUG(974, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy978;
-yy967:
-               YYDEBUG(967, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '>') goto yy986;
+yy975:
+               YYDEBUG(975, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2286 "Zend/zend_language_scanner.l"
                {
        yymore();
 }
-#line 9378 "Zend/zend_language_scanner.c"
-yy968:
-               YYDEBUG(968, *YYCURSOR);
+#line 9459 "Zend/zend_language_scanner.c"
+yy976:
+               YYDEBUG(976, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy967;
-yy969:
-               YYDEBUG(969, *YYCURSOR);
+               goto yy975;
+yy977:
+               YYDEBUG(977, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '>') goto yy978;
-               goto yy967;
-yy970:
-               YYDEBUG(970, *YYCURSOR);
+               if (yych == '>') goto yy986;
+               goto yy975;
+yy978:
+               YYDEBUG(978, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(971, *YYCURSOR);
+               YYDEBUG(979, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy970;
+                       goto yy978;
                }
-               goto yy977;
-yy972:
-               YYDEBUG(972, *YYCURSOR);
+               goto yy985;
+yy980:
+               YYDEBUG(980, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2290 "Zend/zend_language_scanner.l"
                {
@@ -9415,18 +9496,18 @@ yy972:
                        return T_COMMENT;
        }
 }
-#line 9419 "Zend/zend_language_scanner.c"
-yy973:
-               YYDEBUG(973, *YYCURSOR);
+#line 9500 "Zend/zend_language_scanner.c"
+yy981:
+               YYDEBUG(981, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy972;
-yy974:
-               YYDEBUG(974, *YYCURSOR);
+               goto yy980;
+yy982:
+               YYDEBUG(982, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych != '\n') goto yy972;
-               YYDEBUG(975, *YYCURSOR);
+               if (yych != '\n') goto yy980;
+               YYDEBUG(983, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(976, *YYCURSOR);
+               YYDEBUG(984, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2308 "Zend/zend_language_scanner.l"
                {
@@ -9437,15 +9518,15 @@ yy974:
        CG(zend_lineno)++;
        return T_COMMENT;
 }
-#line 9441 "Zend/zend_language_scanner.c"
-yy977:
-               YYDEBUG(977, *YYCURSOR);
+#line 9522 "Zend/zend_language_scanner.c"
+yy985:
+               YYDEBUG(985, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy972;
-yy978:
-               YYDEBUG(978, *YYCURSOR);
+               goto yy980;
+yy986:
+               YYDEBUG(986, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(979, *YYCURSOR);
+               YYDEBUG(987, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2317 "Zend/zend_language_scanner.l"
                {
@@ -9461,7 +9542,7 @@ yy978:
                yymore();
        }
 }
-#line 9465 "Zend/zend_language_scanner.c"
+#line 9546 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_HEREDOC:
@@ -9500,76 +9581,76 @@ yyc_ST_START_HEREDOC:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(980, *YYCURSOR);
+               YYDEBUG(988, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy982;
-                       if (yych <= 'Z') goto yy984;
-                       if (yych >= '_') goto yy984;
+                       if (yych <= '@') goto yy990;
+                       if (yych <= 'Z') goto yy992;
+                       if (yych >= '_') goto yy992;
                } else {
-                       if (yych <= '`') goto yy982;
-                       if (yych <= 'z') goto yy984;
-                       if (yych >= 0x7F) goto yy984;
+                       if (yych <= '`') goto yy990;
+                       if (yych <= 'z') goto yy992;
+                       if (yych >= 0x7F) goto yy992;
                }
-yy982:
-               YYDEBUG(982, *YYCURSOR);
+yy990:
+               YYDEBUG(990, *YYCURSOR);
                ++YYCURSOR;
-yy983:
-               YYDEBUG(983, *YYCURSOR);
+yy991:
+               YYDEBUG(991, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2475 "Zend/zend_language_scanner.l"
+#line 2477 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_HEREDOC);
        goto restart;
 }
-#line 9528 "Zend/zend_language_scanner.c"
-yy984:
-               YYDEBUG(984, *YYCURSOR);
+#line 9609 "Zend/zend_language_scanner.c"
+yy992:
+               YYDEBUG(992, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy985;
+                       goto yy993;
                }
                if (yych <= '\f') {
-                       if (yych == '\n') goto yy989;
-                       goto yy983;
+                       if (yych == '\n') goto yy997;
+                       goto yy991;
                } else {
-                       if (yych <= '\r') goto yy989;
-                       if (yych == ';') goto yy988;
-                       goto yy983;
+                       if (yych <= '\r') goto yy997;
+                       if (yych == ';') goto yy996;
+                       goto yy991;
                }
-yy985:
-               YYDEBUG(985, *YYCURSOR);
+yy993:
+               YYDEBUG(993, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(986, *YYCURSOR);
+               YYDEBUG(994, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy985;
+                       goto yy993;
                }
                if (yych <= '\f') {
-                       if (yych == '\n') goto yy989;
+                       if (yych == '\n') goto yy997;
                } else {
-                       if (yych <= '\r') goto yy989;
-                       if (yych == ';') goto yy988;
+                       if (yych <= '\r') goto yy997;
+                       if (yych == ';') goto yy996;
                }
-yy987:
-               YYDEBUG(987, *YYCURSOR);
+yy995:
+               YYDEBUG(995, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy983;
-yy988:
-               YYDEBUG(988, *YYCURSOR);
+               goto yy991;
+yy996:
+               YYDEBUG(996, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy989;
-               if (yych != '\r') goto yy987;
-yy989:
-               YYDEBUG(989, *YYCURSOR);
+               if (yych == '\n') goto yy997;
+               if (yych != '\r') goto yy995;
+yy997:
+               YYDEBUG(997, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(990, *YYCURSOR);
+               YYDEBUG(998, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2481 "Zend/zend_language_scanner.l"
+#line 2483 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -9591,7 +9672,7 @@ yy989:
                yymore();
        }
 }
-#line 9595 "Zend/zend_language_scanner.c"
+#line 9676 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_START_NOWDOC:
@@ -9630,76 +9711,76 @@ yyc_ST_START_NOWDOC:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(991, *YYCURSOR);
+               YYDEBUG(999, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy993;
-                       if (yych <= 'Z') goto yy995;
-                       if (yych >= '_') goto yy995;
+                       if (yych <= '@') goto yy1001;
+                       if (yych <= 'Z') goto yy1003;
+                       if (yych >= '_') goto yy1003;
                } else {
-                       if (yych <= '`') goto yy993;
-                       if (yych <= 'z') goto yy995;
-                       if (yych >= 0x7F) goto yy995;
+                       if (yych <= '`') goto yy1001;
+                       if (yych <= 'z') goto yy1003;
+                       if (yych >= 0x7F) goto yy1003;
                }
-yy993:
-               YYDEBUG(993, *YYCURSOR);
+yy1001:
+               YYDEBUG(1001, *YYCURSOR);
                ++YYCURSOR;
-yy994:
-               YYDEBUG(994, *YYCURSOR);
+yy1002:
+               YYDEBUG(1002, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2666 "Zend/zend_language_scanner.l"
+#line 2668 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        BEGIN(ST_NOWDOC);
        goto restart;
 }
-#line 9658 "Zend/zend_language_scanner.c"
-yy995:
-               YYDEBUG(995, *YYCURSOR);
+#line 9739 "Zend/zend_language_scanner.c"
+yy1003:
+               YYDEBUG(1003, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy996;
+                       goto yy1004;
                }
                if (yych <= '\f') {
-                       if (yych == '\n') goto yy1000;
-                       goto yy994;
+                       if (yych == '\n') goto yy1008;
+                       goto yy1002;
                } else {
-                       if (yych <= '\r') goto yy1000;
-                       if (yych == ';') goto yy999;
-                       goto yy994;
+                       if (yych <= '\r') goto yy1008;
+                       if (yych == ';') goto yy1007;
+                       goto yy1002;
                }
-yy996:
-               YYDEBUG(996, *YYCURSOR);
+yy1004:
+               YYDEBUG(1004, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(997, *YYCURSOR);
+               YYDEBUG(1005, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy996;
+                       goto yy1004;
                }
                if (yych <= '\f') {
-                       if (yych == '\n') goto yy1000;
+                       if (yych == '\n') goto yy1008;
                } else {
-                       if (yych <= '\r') goto yy1000;
-                       if (yych == ';') goto yy999;
+                       if (yych <= '\r') goto yy1008;
+                       if (yych == ';') goto yy1007;
                }
-yy998:
-               YYDEBUG(998, *YYCURSOR);
+yy1006:
+               YYDEBUG(1006, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy994;
-yy999:
-               YYDEBUG(999, *YYCURSOR);
+               goto yy1002;
+yy1007:
+               YYDEBUG(1007, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy1000;
-               if (yych != '\r') goto yy998;
-yy1000:
-               YYDEBUG(1000, *YYCURSOR);
+               if (yych == '\n') goto yy1008;
+               if (yych != '\r') goto yy1006;
+yy1008:
+               YYDEBUG(1008, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(1001, *YYCURSOR);
+               YYDEBUG(1009, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2672 "Zend/zend_language_scanner.l"
+#line 2674 "Zend/zend_language_scanner.l"
                {
        int label_len = yyleng - 1;
 
@@ -9723,7 +9804,7 @@ yy1000:
                yymore();
        }
 }
-#line 9727 "Zend/zend_language_scanner.c"
+#line 9808 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -9762,67 +9843,67 @@ yyc_ST_VAR_OFFSET:
                         32,  32,  32,  32,  32,  32,  32,  32, 
                         32,  32,  32,  32,  32,  32,  32,  32, 
                };
-               YYDEBUG(1002, *YYCURSOR);
+               YYDEBUG(1010, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '/') {
                        if (yych <= ' ') {
                                if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy1016;
-                                       if (yych <= '\n') goto yy1012;
-                                       goto yy1016;
+                                       if (yych <= 0x08) goto yy1024;
+                                       if (yych <= '\n') goto yy1020;
+                                       goto yy1024;
                                } else {
-                                       if (yych <= '\r') goto yy1012;
-                                       if (yych <= 0x1F) goto yy1016;
-                                       goto yy1012;
+                                       if (yych <= '\r') goto yy1020;
+                                       if (yych <= 0x1F) goto yy1024;
+                                       goto yy1020;
                                }
                        } else {
                                if (yych <= '$') {
-                                       if (yych <= '"') goto yy1011;
-                                       if (yych <= '#') goto yy1012;
-                                       goto yy1007;
+                                       if (yych <= '"') goto yy1019;
+                                       if (yych <= '#') goto yy1020;
+                                       goto yy1015;
                                } else {
-                                       if (yych == '\'') goto yy1012;
-                                       goto yy1011;
+                                       if (yych == '\'') goto yy1020;
+                                       goto yy1019;
                                }
                        }
                } else {
                        if (yych <= '\\') {
                                if (yych <= '@') {
-                                       if (yych <= '0') goto yy1004;
-                                       if (yych <= '9') goto yy1006;
-                                       goto yy1011;
+                                       if (yych <= '0') goto yy1012;
+                                       if (yych <= '9') goto yy1014;
+                                       goto yy1019;
                                } else {
-                                       if (yych <= 'Z') goto yy1014;
-                                       if (yych <= '[') goto yy1011;
-                                       goto yy1012;
+                                       if (yych <= 'Z') goto yy1022;
+                                       if (yych <= '[') goto yy1019;
+                                       goto yy1020;
                                }
                        } else {
                                if (yych <= '_') {
-                                       if (yych <= ']') goto yy1009;
-                                       if (yych <= '^') goto yy1011;
-                                       goto yy1014;
+                                       if (yych <= ']') goto yy1017;
+                                       if (yych <= '^') goto yy1019;
+                                       goto yy1022;
                                } else {
-                                       if (yych <= '`') goto yy1011;
-                                       if (yych <= 'z') goto yy1014;
-                                       if (yych <= '~') goto yy1011;
-                                       goto yy1014;
+                                       if (yych <= '`') goto yy1019;
+                                       if (yych <= 'z') goto yy1022;
+                                       if (yych <= '~') goto yy1019;
+                                       goto yy1022;
                                }
                        }
                }
-yy1004:
-               YYDEBUG(1004, *YYCURSOR);
+yy1012:
+               YYDEBUG(1012, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'W') {
-                       if (yych <= '/') goto yy1005;
-                       if (yych <= '9') goto yy1027;
+                       if (yych <= '/') goto yy1013;
+                       if (yych <= '9') goto yy1035;
                } else {
-                       if (yych <= 'X') goto yy1025;
-                       if (yych == 'x') goto yy1025;
+                       if (yych <= 'X') goto yy1033;
+                       if (yych == 'x') goto yy1033;
                }
-yy1005:
-               YYDEBUG(1005, *YYCURSOR);
+yy1013:
+               YYDEBUG(1013, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1915 "Zend/zend_language_scanner.l"
                { /* Offset could be treated as a long */
@@ -9836,51 +9917,51 @@ yy1005:
        }
        return T_NUM_STRING;
 }
-#line 9840 "Zend/zend_language_scanner.c"
-yy1006:
-               YYDEBUG(1006, *YYCURSOR);
+#line 9921 "Zend/zend_language_scanner.c"
+yy1014:
+               YYDEBUG(1014, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy1024;
-yy1007:
-               YYDEBUG(1007, *YYCURSOR);
+               goto yy1032;
+yy1015:
+               YYDEBUG(1015, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '_') {
-                       if (yych <= '@') goto yy1008;
-                       if (yych <= 'Z') goto yy1020;
-                       if (yych >= '_') goto yy1020;
+                       if (yych <= '@') goto yy1016;
+                       if (yych <= 'Z') goto yy1028;
+                       if (yych >= '_') goto yy1028;
                } else {
-                       if (yych <= '`') goto yy1008;
-                       if (yych <= 'z') goto yy1020;
-                       if (yych >= 0x7F) goto yy1020;
+                       if (yych <= '`') goto yy1016;
+                       if (yych <= 'z') goto yy1028;
+                       if (yych >= 0x7F) goto yy1028;
                }
-yy1008:
-               YYDEBUG(1008, *YYCURSOR);
+yy1016:
+               YYDEBUG(1016, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2241 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 9865 "Zend/zend_language_scanner.c"
-yy1009:
-               YYDEBUG(1009, *YYCURSOR);
+#line 9946 "Zend/zend_language_scanner.c"
+yy1017:
+               YYDEBUG(1017, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(1010, *YYCURSOR);
+               YYDEBUG(1018, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2236 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 9876 "Zend/zend_language_scanner.c"
-yy1011:
-               YYDEBUG(1011, *YYCURSOR);
+#line 9957 "Zend/zend_language_scanner.c"
+yy1019:
+               YYDEBUG(1019, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy1008;
-yy1012:
-               YYDEBUG(1012, *YYCURSOR);
+               goto yy1016;
+yy1020:
+               YYDEBUG(1020, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(1013, *YYCURSOR);
+               YYDEBUG(1021, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2246 "Zend/zend_language_scanner.l"
                {
@@ -9890,14 +9971,14 @@ yy1012:
        ZVAL_EMPTY_TEXT(zendlval); /* Empty since it won't be used */
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 9894 "Zend/zend_language_scanner.c"
-yy1014:
-               YYDEBUG(1014, *YYCURSOR);
+#line 9975 "Zend/zend_language_scanner.c"
+yy1022:
+               YYDEBUG(1022, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy1019;
-yy1015:
-               YYDEBUG(1015, *YYCURSOR);
+               goto yy1027;
+yy1023:
+               YYDEBUG(1023, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2264 "Zend/zend_language_scanner.l"
                {
@@ -9906,52 +9987,52 @@ yy1015:
        }
        return T_STRING;
 }
-#line 9910 "Zend/zend_language_scanner.c"
-yy1016:
-               YYDEBUG(1016, *YYCURSOR);
+#line 9991 "Zend/zend_language_scanner.c"
+yy1024:
+               YYDEBUG(1024, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(1017, *YYCURSOR);
+               YYDEBUG(1025, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2759 "Zend/zend_language_scanner.l"
+#line 2761 "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 9921 "Zend/zend_language_scanner.c"
-yy1018:
-               YYDEBUG(1018, *YYCURSOR);
+#line 10002 "Zend/zend_language_scanner.c"
+yy1026:
+               YYDEBUG(1026, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy1019:
-               YYDEBUG(1019, *YYCURSOR);
+yy1027:
+               YYDEBUG(1027, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy1018;
+                       goto yy1026;
                }
-               goto yy1015;
-yy1020:
-               YYDEBUG(1020, *YYCURSOR);
+               goto yy1023;
+yy1028:
+               YYDEBUG(1028, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(1021, *YYCURSOR);
+               YYDEBUG(1029, *YYCURSOR);
                if (yych <= '^') {
                        if (yych <= '9') {
-                               if (yych >= '0') goto yy1020;
+                               if (yych >= '0') goto yy1028;
                        } else {
-                               if (yych <= '@') goto yy1022;
-                               if (yych <= 'Z') goto yy1020;
+                               if (yych <= '@') goto yy1030;
+                               if (yych <= 'Z') goto yy1028;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy1020;
+                               if (yych <= '_') goto yy1028;
                        } else {
-                               if (yych <= 'z') goto yy1020;
-                               if (yych >= 0x7F) goto yy1020;
+                               if (yych <= 'z') goto yy1028;
+                               if (yych >= 0x7F) goto yy1028;
                        }
                }
-yy1022:
-               YYDEBUG(1022, *YYCURSOR);
+yy1030:
+               YYDEBUG(1030, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 2226 "Zend/zend_language_scanner.l"
                {
@@ -9963,37 +10044,37 @@ yy1022:
        }
        return T_VARIABLE;
 }
-#line 9967 "Zend/zend_language_scanner.c"
-yy1023:
-               YYDEBUG(1023, *YYCURSOR);
+#line 10048 "Zend/zend_language_scanner.c"
+yy1031:
+               YYDEBUG(1031, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy1024:
-               YYDEBUG(1024, *YYCURSOR);
+yy1032:
+               YYDEBUG(1032, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy1023;
+                       goto yy1031;
                }
-               goto yy1005;
-yy1025:
-               YYDEBUG(1025, *YYCURSOR);
+               goto yy1013;
+yy1033:
+               YYDEBUG(1033, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy1030;
+                       goto yy1038;
                }
-               YYDEBUG(1026, *YYCURSOR);
+               YYDEBUG(1034, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy1005;
-yy1027:
-               YYDEBUG(1027, *YYCURSOR);
+               goto yy1013;
+yy1035:
+               YYDEBUG(1035, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(1028, *YYCURSOR);
-               if (yych <= '/') goto yy1029;
-               if (yych <= '9') goto yy1027;
-yy1029:
-               YYDEBUG(1029, *YYCURSOR);
+               YYDEBUG(1036, *YYCURSOR);
+               if (yych <= '/') goto yy1037;
+               if (yych <= '9') goto yy1035;
+yy1037:
+               YYDEBUG(1037, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1927 "Zend/zend_language_scanner.l"
                { /* Offset must be treated as a string */
@@ -10002,19 +10083,19 @@ yy1029:
        }
        return T_NUM_STRING;
 }
-#line 10006 "Zend/zend_language_scanner.c"
-yy1030:
-               YYDEBUG(1030, *YYCURSOR);
+#line 10087 "Zend/zend_language_scanner.c"
+yy1038:
+               YYDEBUG(1038, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(1031, *YYCURSOR);
+               YYDEBUG(1039, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy1030;
+                       goto yy1038;
                }
-               goto yy1029;
+               goto yy1037;
        }
 }
-#line 2764 "Zend/zend_language_scanner.l"
+#line 2766 "Zend/zend_language_scanner.l"
 
 }
index bd590012cd003c4b61b517bc68cd976de6efdad2..22e987f4e2a06de0fc95b505a6eb7561459eb4c4 100644 (file)
@@ -2436,11 +2436,12 @@ inline_char_handler:
        return T_BINARY_DOUBLE;
 }
 
-<ST_IN_SCRIPTING>b"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} {
+<ST_IN_SCRIPTING>b"<<<"{TABS_AND_SPACES}({LABEL}|["]{LABEL}["]){NEWLINE} {
        char *s;
+       int quotes  = (yytext[4] == '"') ? 2 : 0;
        CG(zend_lineno)++;
-       CG(heredoc_len) = yyleng-4-1-(yytext[yyleng-2]=='\r'?1:0);
-       s = yytext+4;
+       CG(heredoc_len) = yyleng-4-quotes-1-(yytext[yyleng-2]=='\r'?1:0);
+       s = yytext+4+(quotes ? 1 : 0);
        while ((*s == ' ') || (*s == '\t')) {
                s++;
                CG(heredoc_len)--;
@@ -2451,11 +2452,12 @@ inline_char_handler:
 }
 
 
-<ST_IN_SCRIPTING>"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} {
+<ST_IN_SCRIPTING>"<<<"{TABS_AND_SPACES}({LABEL}|["]{LABEL}["]){NEWLINE} {
        char *s;
+       int quotes  = (yytext[3] == '"') ? 2 : 0;
        CG(zend_lineno)++;
-       CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0);
-       s = yytext+3;
+       CG(heredoc_len) = yyleng-3-quotes-1-(yytext[yyleng-2]=='\r'?1:0);
+       s = yytext+3+(quotes ? 1 : 0);
        while ((*s == ' ') || (*s == '\t')) {
                s++;
                CG(heredoc_len)--;
index eb45a0bfb663ee37a2ca3217cdfbcb4db2fb8f43..b88d98e0bc6d4aca2342caba556653ba48c555bc 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.4.dev on Fri Apr  4 16:08:19 2008 */
+/* Generated by re2c 0.13.4 on Sat Apr  5 19:52:57 2008 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {