]> granicus.if.org Git - php/commitdiff
scalar types cleanup
authorStanislav Malyshev <stas@php.net>
Fri, 3 Jun 2011 01:09:32 +0000 (01:09 +0000)
committerStanislav Malyshev <stas@php.net>
Fri, 3 Jun 2011 01:09:32 +0000 (01:09 +0000)
Zend/zend.h
Zend/zend_API.c
Zend/zend_API.h
Zend/zend_compile.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c

index 7305b4b2813037f56de478f8a459f67572c3249d..8caa382326e9a64150ac4c93d1ce5a8dbf8d6be0 100644 (file)
@@ -575,10 +575,6 @@ typedef int (*zend_write_func_t)(const char *str, uint str_length);
 #define IS_RESOURCE    7
 #define IS_CONSTANT    8
 #define IS_CONSTANT_ARRAY      9
-/* used for type-hinting only */
-#define IS_CLASS       10
-#define IS_SCALAR      11
-#define IS_NUMERIC     12
 
 /* Ugly hack to support constants as static array indices */
 #define IS_CONSTANT_TYPE_MASK          0x00f
index d6933cf402fe261da287899063cd83d7120b20d8..ff7d8dfd66e537c173663394113266d2d1dcf72f 100644 (file)
@@ -205,10 +205,6 @@ ZEND_API char *zend_get_type_by_const(int type) /* {{{ */
        switch(type) {
                case IS_BOOL:
                        return "boolean";
-               case IS_SCALAR:
-                       return "scalar";
-               case IS_NUMERIC:
-                       return "numeric";
                case IS_LONG:
                        return "integer";
                case IS_DOUBLE:
@@ -216,7 +212,6 @@ ZEND_API char *zend_get_type_by_const(int type) /* {{{ */
                case IS_STRING:
                        return "string";
                case IS_OBJECT:
-               case IS_CLASS:
                        return "object";
                case IS_RESOURCE:
                        return "resource";
index 94d7b5fa1127d505f20a26ee03a57bc8323bc9d0..f75ce5038b379d498291e7fc6485eb77ec3e5294 100644 (file)
@@ -98,7 +98,7 @@ typedef struct _zend_fcall_info_cache {
 
 #define ZEND_ARG_INFO(pass_by_ref, name)                                                       { #name, sizeof(#name)-1, NULL, 0, 0, 0, pass_by_ref},
 #define ZEND_ARG_PASS_INFO(pass_by_ref)                                                                { NULL, 0, NULL, 0, 0, 0, pass_by_ref},
-#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, IS_CLASS, allow_null, pass_by_ref},
+#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, IS_OBJECT, allow_null, pass_by_ref},
 #define ZEND_ARG_ARRAY_INFO(pass_by_ref, name, allow_null) { #name, sizeof(#name)-1, NULL, 0, IS_ARRAY, allow_null, pass_by_ref},
 #define ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) { #name, sizeof(#name)-1, NULL, 0, type_hint, allow_null, pass_by_ref},
 #define ZEND_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, return_reference, required_num_args)      \
index a3f38d572c9c172cec98144cdb5bfcdfbf742289..1cad70f77a2055c2eed317c6e65f00efa39920b7 100644 (file)
@@ -1847,10 +1847,9 @@ void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, con
 
        if (class_type->op_type != IS_UNUSED) {
                cur_arg_info->allow_null = 0;
-               cur_arg_info->type_hint = class_type->u.constant.type;
 
-               switch (class_type->u.constant.type) {
-               case IS_CLASS:
+               if (class_type->u.constant.type != IS_NULL) {
+                       cur_arg_info->type_hint = IS_OBJECT;
                        if (ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_type->u.constant), Z_STRLEN(class_type->u.constant))) {
                                zend_resolve_class_name(class_type, &opline->extended_value, 1 TSRMLS_CC);
                        }
@@ -1864,9 +1863,8 @@ void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, con
                                        zend_error(E_COMPILE_ERROR, "Default value for parameters with a class type hint can only be NULL");
                                }
                        }
-                       break;
-
-               case IS_ARRAY:
+               } else {
+                       cur_arg_info->type_hint = IS_ARRAY;
                        if (op == ZEND_RECV_INIT) {
                                if (Z_TYPE(initialization->u.constant) == IS_NULL || (Z_TYPE(initialization->u.constant) == IS_CONSTANT && !strcasecmp(Z_STRVAL(initialization->u.constant), "NULL"))) {
                                        cur_arg_info->allow_null = 1;
@@ -1874,39 +1872,6 @@ void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, con
                                        zend_error(E_COMPILE_ERROR, "Default value for parameters with array type hint can only be an array or NULL");
                                }
                        }
-                       break;
-
-               /* scalar type hinting */
-               case IS_SCALAR:
-                       if (op == ZEND_RECV_INIT && Z_TYPE(initialization->u.constant) != IS_ARRAY && Z_TYPE(initialization->u.constant) != IS_CONSTANT_ARRAY) {
-                               break;
-                       }
-                       /* fall through */
-
-               /* scalar type hinting */
-               case IS_NUMERIC:
-                       if (op == ZEND_RECV_INIT && (Z_TYPE(initialization->u.constant) == IS_LONG || Z_TYPE(initialization->u.constant) == IS_DOUBLE)) {
-                               break;
-                       }
-                       /* fall through */
-
-               case IS_BOOL:
-               case IS_STRING:
-               case IS_LONG:
-               case IS_DOUBLE:
-               case IS_RESOURCE:
-               case IS_OBJECT:
-                       if (op == ZEND_RECV_INIT) {
-                               if (Z_TYPE(initialization->u.constant) != class_type->u.constant.type && Z_TYPE(initialization->u.constant) != IS_NULL && (Z_TYPE(initialization->u.constant) & IS_CONSTANT_TYPE_MASK) != IS_CONSTANT) {
-                                       zend_error(E_COMPILE_ERROR, "Default value for parameters with %s type hint can only be %s or NULL", zend_get_type_by_const(class_type->u.constant.type), zend_get_type_by_const(class_type->u.constant.type));
-                               } else if (Z_TYPE(initialization->u.constant) == IS_NULL) {
-                                       cur_arg_info->allow_null = 1;
-                               }
-                       }
-                       break;
-
-               default:
-                       zend_error(E_COMPILE_ERROR, "Unknown type hint");
                }
        }
 }
index a42b153e67b5f189000f2a281235cdea7efada04..e0a956bc23e6195bbec0e8c0f0d97148064623d9 100644 (file)
@@ -69,7 +69,7 @@
 %left '*' '/' '%'
 %right '!'
 %nonassoc T_INSTANCEOF
-%right '~' T_INC T_DEC T_INT_CAST T_NUMERIC_CAST T_SCALAR_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
+%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
 %right '['
 %nonassoc T_NEW T_CLONE
 %token T_EXIT
@@ -466,8 +466,8 @@ non_empty_parameter_list:
 
 optional_class_type:
                /* empty */                                     { $$.op_type = IS_UNUSED; }
-       |       T_ARRAY                                         { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_ARRAY; }
-       |       fully_qualified_class_name                      { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_CLASS; }
+       |       T_ARRAY                                         { $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_NULL; }
+       |       fully_qualified_class_name                      { $$ = $1; }
 ;
 
 
@@ -700,8 +700,6 @@ expr_without_variable:
        |       T_ARRAY_CAST expr       { zend_do_cast(&$$, &$2, IS_ARRAY TSRMLS_CC); }
        |       T_OBJECT_CAST expr      { zend_do_cast(&$$, &$2, IS_OBJECT TSRMLS_CC); }
        |       T_BOOL_CAST expr        { zend_do_cast(&$$, &$2, IS_BOOL TSRMLS_CC); }
-       |       T_SCALAR_CAST expr      { zend_do_cast(&$$, &$2, IS_SCALAR TSRMLS_CC); }
-       |       T_NUMERIC_CAST expr     { zend_do_cast(&$$, &$2, IS_NUMERIC TSRMLS_CC); }
        |       T_UNSET_CAST expr       { zend_do_cast(&$$, &$2, IS_NULL TSRMLS_CC); }
        |       T_EXIT exit_expr        { zend_do_exit(&$$, &$2 TSRMLS_CC); }
        |       '@' { zend_do_begin_silence(&$1 TSRMLS_CC); } expr { zend_do_end_silence(&$1 TSRMLS_CC); $$ = $3; }
index 5db41d7eede59df2918347f9ef67b9cb863ed5a9..73c5f8207f4a05a258e9ff5632d746d6681b8525 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun May  8 16:20:00 2011 */
+/* Generated by re2c 0.13.5 on Thu Jun  2 18:02:57 2011 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -1081,7 +1081,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1718 "Zend/zend_language_scanner.l"
+#line 1710 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -1159,7 +1159,7 @@ yy5:
 yy6:
                YYDEBUG(6, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1706 "Zend/zend_language_scanner.l"
+#line 1698 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1178,7 +1178,7 @@ yy7:
                if ((yych = *YYCURSOR) == '=') goto yy43;
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
+#line 1675 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1376,7 +1376,7 @@ yy35:
                ++YYCURSOR;
                YYDEBUG(38, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1639 "Zend/zend_language_scanner.l"
+#line 1635 "Zend/zend_language_scanner.l"
                {
        YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
 
@@ -1420,7 +1420,7 @@ yy43:
                ++YYCURSOR;
                YYDEBUG(44, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1657 "Zend/zend_language_scanner.l"
+#line 1653 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1438,19 +1438,15 @@ yy45:
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1670 "Zend/zend_language_scanner.l"
+#line 1666 "Zend/zend_language_scanner.l"
                {
-       if (CG(short_tags)) {
-               zendlval->value.str.val = yytext; /* no copying - intentional */
-               zendlval->value.str.len = yyleng;
-               zendlval->type = IS_STRING;
-               BEGIN(ST_IN_SCRIPTING);
-               return T_OPEN_TAG_WITH_ECHO;
-       } else {
-               goto inline_char_handler;
-       }
+       zendlval->value.str.val = yytext; /* no copying - intentional */
+       zendlval->value.str.len = yyleng;
+       zendlval->type = IS_STRING;
+       BEGIN(ST_IN_SCRIPTING);
+       return T_OPEN_TAG_WITH_ECHO;
 }
-#line 1454 "Zend/zend_language_scanner.c"
+#line 1450 "Zend/zend_language_scanner.c"
 yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1477,7 +1473,7 @@ yy50:
 yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1696 "Zend/zend_language_scanner.l"
+#line 1688 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1486,7 +1482,7 @@ yy51:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1490 "Zend/zend_language_scanner.c"
+#line 1486 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
@@ -1557,7 +1553,7 @@ yyc_ST_BACKQUOTE:
 yy56:
                YYDEBUG(56, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2169 "Zend/zend_language_scanner.l"
+#line 2161 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -1598,7 +1594,7 @@ yy56:
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1602 "Zend/zend_language_scanner.c"
+#line 1598 "Zend/zend_language_scanner.c"
 yy57:
                YYDEBUG(57, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1609,12 +1605,12 @@ yy58:
                ++YYCURSOR;
                YYDEBUG(59, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2113 "Zend/zend_language_scanner.l"
+#line 2105 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1618 "Zend/zend_language_scanner.c"
+#line 1614 "Zend/zend_language_scanner.c"
 yy60:
                YYDEBUG(60, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1624,14 +1620,14 @@ yy61:
                ++YYCURSOR;
                YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2100 "Zend/zend_language_scanner.l"
+#line 2092 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1635 "Zend/zend_language_scanner.c"
+#line 1631 "Zend/zend_language_scanner.c"
 yy63:
                YYDEBUG(63, *YYCURSOR);
                yyaccept = 0;
@@ -1647,24 +1643,24 @@ yy63:
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1657 "Zend/zend_language_scanner.c"
+#line 1653 "Zend/zend_language_scanner.c"
 yy66:
                YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1432 "Zend/zend_language_scanner.l"
+#line 1428 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1668 "Zend/zend_language_scanner.c"
+#line 1664 "Zend/zend_language_scanner.c"
 yy68:
                YYDEBUG(68, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1678,7 +1674,7 @@ yy70:
                ++YYCURSOR;
                YYDEBUG(71, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1686,7 +1682,7 @@ yy70:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1690 "Zend/zend_language_scanner.c"
+#line 1686 "Zend/zend_language_scanner.c"
 yy72:
                YYDEBUG(72, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1704,7 +1700,7 @@ yy73:
                ++YYCURSOR;
                YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1782 "Zend/zend_language_scanner.l"
+#line 1774 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1712,7 +1708,7 @@ yy73:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1716 "Zend/zend_language_scanner.c"
+#line 1712 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -1780,7 +1776,7 @@ yy77:
 yy78:
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2119 "Zend/zend_language_scanner.l"
+#line 2111 "Zend/zend_language_scanner.l"
                {
        if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
                YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1829,7 +1825,7 @@ double_quotes_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1833 "Zend/zend_language_scanner.c"
+#line 1829 "Zend/zend_language_scanner.c"
 yy79:
                YYDEBUG(79, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1840,12 +1836,12 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2108 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 1849 "Zend/zend_language_scanner.c"
+#line 1845 "Zend/zend_language_scanner.c"
 yy82:
                YYDEBUG(82, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1855,14 +1851,14 @@ yy83:
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2100 "Zend/zend_language_scanner.l"
+#line 2092 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1866 "Zend/zend_language_scanner.c"
+#line 1862 "Zend/zend_language_scanner.c"
 yy85:
                YYDEBUG(85, *YYCURSOR);
                yyaccept = 0;
@@ -1878,24 +1874,24 @@ yy85:
 yy87:
                YYDEBUG(87, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1888 "Zend/zend_language_scanner.c"
+#line 1884 "Zend/zend_language_scanner.c"
 yy88:
                YYDEBUG(88, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1432 "Zend/zend_language_scanner.l"
+#line 1428 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1899 "Zend/zend_language_scanner.c"
+#line 1895 "Zend/zend_language_scanner.c"
 yy90:
                YYDEBUG(90, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1909,7 +1905,7 @@ yy92:
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1917,7 +1913,7 @@ yy92:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1921 "Zend/zend_language_scanner.c"
+#line 1917 "Zend/zend_language_scanner.c"
 yy94:
                YYDEBUG(94, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1935,7 +1931,7 @@ yy95:
                ++YYCURSOR;
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1782 "Zend/zend_language_scanner.l"
+#line 1774 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1943,7 +1939,7 @@ yy95:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1947 "Zend/zend_language_scanner.c"
+#line 1943 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -1954,7 +1950,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(100, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2087 "Zend/zend_language_scanner.l"
+#line 2079 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -1966,7 +1962,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 1970 "Zend/zend_language_scanner.c"
+#line 1966 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -2028,7 +2024,7 @@ yy103:
 yy104:
                YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2211 "Zend/zend_language_scanner.l"
+#line 2203 "Zend/zend_language_scanner.l"
                {
        int newline = 0;
 
@@ -2099,7 +2095,7 @@ heredoc_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 2103 "Zend/zend_language_scanner.c"
+#line 2099 "Zend/zend_language_scanner.c"
 yy105:
                YYDEBUG(105, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2114,14 +2110,14 @@ yy107:
                ++YYCURSOR;
                YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2100 "Zend/zend_language_scanner.l"
+#line 2092 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 2125 "Zend/zend_language_scanner.c"
+#line 2121 "Zend/zend_language_scanner.c"
 yy109:
                YYDEBUG(109, *YYCURSOR);
                yyaccept = 0;
@@ -2137,24 +2133,24 @@ yy109:
 yy111:
                YYDEBUG(111, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2147 "Zend/zend_language_scanner.c"
+#line 2143 "Zend/zend_language_scanner.c"
 yy112:
                YYDEBUG(112, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1432 "Zend/zend_language_scanner.l"
+#line 1428 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2158 "Zend/zend_language_scanner.c"
+#line 2154 "Zend/zend_language_scanner.c"
 yy114:
                YYDEBUG(114, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2168,7 +2164,7 @@ yy116:
                ++YYCURSOR;
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1792 "Zend/zend_language_scanner.l"
+#line 1784 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2176,7 +2172,7 @@ yy116:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2180 "Zend/zend_language_scanner.c"
+#line 2176 "Zend/zend_language_scanner.c"
 yy118:
                YYDEBUG(118, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2194,7 +2190,7 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1782 "Zend/zend_language_scanner.l"
+#line 1774 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2202,7 +2198,7 @@ yy119:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2206 "Zend/zend_language_scanner.c"
+#line 2202 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -2367,48 +2363,48 @@ yy123:
                YYDEBUG(-1, yych);
                switch ((yych = *YYCURSOR)) {
                case 'C':
-               case 'c':       goto yy715;
+               case 'c':       goto yy707;
                case 'L':
-               case 'l':       goto yy716;
+               case 'l':       goto yy708;
                case 'M':
-               case 'm':       goto yy717;
+               case 'm':       goto yy709;
                case 'N':
-               case 'n':       goto yy718;
+               case 'n':       goto yy710;
                case 'V':
-               case 'v':       goto yy719;
+               case 'v':       goto yy711;
                case 'X':
-               case 'x':       goto yy720;
+               case 'x':       goto yy712;
                default:        goto yy186;
                }
 yy124:
                YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1823 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 2393 "Zend/zend_language_scanner.c"
+#line 2389 "Zend/zend_language_scanner.c"
 yy125:
                YYDEBUG(125, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'H') {
-                               if (yych == 'E') goto yy697;
+                               if (yych == 'E') goto yy689;
                                goto yy186;
                        } else {
-                               if (yych <= 'I') goto yy698;
+                               if (yych <= 'I') goto yy690;
                                if (yych <= 'N') goto yy186;
-                               goto yy699;
+                               goto yy691;
                        }
                } else {
                        if (yych <= 'h') {
-                               if (yych == 'e') goto yy697;
+                               if (yych == 'e') goto yy689;
                                goto yy186;
                        } else {
-                               if (yych <= 'i') goto yy698;
-                               if (yych == 'o') goto yy699;
+                               if (yych <= 'i') goto yy690;
+                               if (yych == 'o') goto yy691;
                                goto yy186;
                        }
                }
@@ -2417,20 +2413,20 @@ yy126:
                yych = *++YYCURSOR;
                if (yych <= 'U') {
                        if (yych <= 'N') {
-                               if (yych == 'I') goto yy676;
+                               if (yych == 'I') goto yy668;
                                goto yy186;
                        } else {
-                               if (yych <= 'O') goto yy677;
+                               if (yych <= 'O') goto yy669;
                                if (yych <= 'T') goto yy186;
-                               goto yy678;
+                               goto yy670;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'i') goto yy676;
+                               if (yych == 'i') goto yy668;
                                goto yy186;
                        } else {
-                               if (yych <= 'o') goto yy677;
-                               if (yych == 'u') goto yy678;
+                               if (yych <= 'o') goto yy669;
+                               if (yych == 'u') goto yy670;
                                goto yy186;
                        }
                }
@@ -2439,42 +2435,42 @@ yy127:
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'K') {
-                               if (yych == 'A') goto yy648;
+                               if (yych == 'A') goto yy640;
                                goto yy186;
                        } else {
-                               if (yych <= 'L') goto yy649;
+                               if (yych <= 'L') goto yy641;
                                if (yych <= 'N') goto yy186;
-                               goto yy650;
+                               goto yy642;
                        }
                } else {
                        if (yych <= 'k') {
-                               if (yych == 'a') goto yy648;
+                               if (yych == 'a') goto yy640;
                                goto yy186;
                        } else {
-                               if (yych <= 'l') goto yy649;
-                               if (yych == 'o') goto yy650;
+                               if (yych <= 'l') goto yy641;
+                               if (yych == 'o') goto yy642;
                                goto yy186;
                        }
                }
 yy128:
                YYDEBUG(128, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy630;
-               if (yych == 'e') goto yy630;
+               if (yych == 'E') goto yy622;
+               if (yych == 'e') goto yy622;
                goto yy186;
 yy129:
                YYDEBUG(129, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'R') {
-                       if (yych == 'H') goto yy618;
+                       if (yych == 'H') goto yy610;
                        if (yych <= 'Q') goto yy186;
-                       goto yy619;
+                       goto yy611;
                } else {
                        if (yych <= 'h') {
                                if (yych <= 'g') goto yy186;
-                               goto yy618;
+                               goto yy610;
                        } else {
-                               if (yych == 'r') goto yy619;
+                               if (yych == 'r') goto yy611;
                                goto yy186;
                        }
                }
@@ -2483,53 +2479,53 @@ yy130:
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'L') {
-                               if (yych == 'F') goto yy565;
+                               if (yych == 'F') goto yy557;
                                goto yy186;
                        } else {
-                               if (yych <= 'M') goto yy567;
-                               if (yych <= 'N') goto yy568;
+                               if (yych <= 'M') goto yy559;
+                               if (yych <= 'N') goto yy560;
                                if (yych <= 'R') goto yy186;
-                               goto yy569;
+                               goto yy561;
                        }
                } else {
                        if (yych <= 'm') {
-                               if (yych == 'f') goto yy565;
+                               if (yych == 'f') goto yy557;
                                if (yych <= 'l') goto yy186;
-                               goto yy567;
+                               goto yy559;
                        } else {
-                               if (yych <= 'n') goto yy568;
-                               if (yych == 's') goto yy569;
+                               if (yych <= 'n') goto yy560;
+                               if (yych == 's') goto yy561;
                                goto yy186;
                        }
                }
 yy131:
                YYDEBUG(131, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy560;
-               if (yych == 'h') goto yy560;
+               if (yych == 'H') goto yy552;
+               if (yych == 'h') goto yy552;
                goto yy186;
 yy132:
                YYDEBUG(132, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'M') {
-                               if (yych == 'B') goto yy542;
+                               if (yych == 'B') goto yy534;
                                goto yy186;
                        } else {
-                               if (yych <= 'N') goto yy543;
+                               if (yych <= 'N') goto yy535;
                                if (yych <= 'Q') goto yy186;
-                               if (yych <= 'R') goto yy544;
-                               goto yy545;
+                               if (yych <= 'R') goto yy536;
+                               goto yy537;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'b') goto yy542;
+                               if (yych == 'b') goto yy534;
                                if (yych <= 'm') goto yy186;
-                               goto yy543;
+                               goto yy535;
                        } else {
                                if (yych <= 'q') goto yy186;
-                               if (yych <= 'r') goto yy544;
-                               if (yych <= 's') goto yy545;
+                               if (yych <= 'r') goto yy536;
+                               if (yych <= 's') goto yy537;
                                goto yy186;
                        }
                }
@@ -2537,15 +2533,15 @@ yy133:
                YYDEBUG(133, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'W') {
-                       if (yych == 'T') goto yy530;
+                       if (yych == 'T') goto yy522;
                        if (yych <= 'V') goto yy186;
-                       goto yy531;
+                       goto yy523;
                } else {
                        if (yych <= 't') {
                                if (yych <= 's') goto yy186;
-                               goto yy530;
+                               goto yy522;
                        } else {
-                               if (yych == 'w') goto yy531;
+                               if (yych == 'w') goto yy523;
                                goto yy186;
                        }
                }
@@ -2556,18 +2552,18 @@ yy134:
                if (yych <= ';') {
                        if (yych <= '"') {
                                if (yych <= '!') goto yy186;
-                               goto yy522;
+                               goto yy514;
                        } else {
-                               if (yych == '\'') goto yy523;
+                               if (yych == '\'') goto yy515;
                                goto yy186;
                        }
                } else {
                        if (yych <= 'R') {
-                               if (yych <= '<') goto yy521;
+                               if (yych <= '<') goto yy513;
                                if (yych <= 'Q') goto yy186;
-                               goto yy524;
+                               goto yy516;
                        } else {
-                               if (yych == 'r') goto yy524;
+                               if (yych == 'r') goto yy516;
                                goto yy186;
                        }
                }
@@ -2575,15 +2571,15 @@ yy135:
                YYDEBUG(135, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'L') goto yy511;
+                       if (yych == 'L') goto yy503;
                        if (yych <= 'N') goto yy186;
-                       goto yy512;
+                       goto yy504;
                } else {
                        if (yych <= 'l') {
                                if (yych <= 'k') goto yy186;
-                               goto yy511;
+                               goto yy503;
                        } else {
-                               if (yych == 'o') goto yy512;
+                               if (yych == 'o') goto yy504;
                                goto yy186;
                        }
                }
@@ -2591,15 +2587,15 @@ yy136:
                YYDEBUG(136, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'R') goto yy487;
+                       if (yych == 'R') goto yy479;
                        if (yych <= 'T') goto yy186;
-                       goto yy488;
+                       goto yy480;
                } else {
                        if (yych <= 'r') {
                                if (yych <= 'q') goto yy186;
-                               goto yy487;
+                               goto yy479;
                        } else {
-                               if (yych == 'u') goto yy488;
+                               if (yych == 'u') goto yy480;
                                goto yy186;
                        }
                }
@@ -2607,24 +2603,24 @@ yy137:
                YYDEBUG(137, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '<') {
-                       if (yych == '-') goto yy483;
+                       if (yych == '-') goto yy475;
                } else {
-                       if (yych <= '=') goto yy481;
-                       if (yych <= '>') goto yy485;
+                       if (yych <= '=') goto yy473;
+                       if (yych <= '>') goto yy477;
                }
 yy138:
                YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1421 "Zend/zend_language_scanner.l"
+#line 1417 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 2623 "Zend/zend_language_scanner.c"
+#line 2619 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy480;
+               goto yy472;
 yy140:
                YYDEBUG(140, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
@@ -2636,11 +2632,11 @@ yy140:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 2640 "Zend/zend_language_scanner.c"
+#line 2636 "Zend/zend_language_scanner.c"
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == ':') goto yy477;
+               if (yych == ':') goto yy469;
                goto yy138;
 yy142:
                YYDEBUG(142, *YYCURSOR);
@@ -2651,28 +2647,28 @@ yy142:
                {
        return T_NS_SEPARATOR;
 }
-#line 2655 "Zend/zend_language_scanner.c"
+#line 2651 "Zend/zend_language_scanner.c"
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
-                       if (yych == 'A') goto yy465;
+                       if (yych == 'A') goto yy457;
                        if (yych <= 'D') goto yy186;
-                       goto yy466;
+                       goto yy458;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
-                               goto yy465;
+                               goto yy457;
                        } else {
-                               if (yych == 'e') goto yy466;
+                               if (yych == 'e') goto yy458;
                                goto yy186;
                        }
                }
 yy145:
                YYDEBUG(145, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy462;
-               if (yych == 'a') goto yy462;
+               if (yych == 'A') goto yy454;
+               if (yych == 'a') goto yy454;
                goto yy186;
 yy146:
                YYDEBUG(146, *YYCURSOR);
@@ -2879,18 +2875,18 @@ yy167:
                ++YYCURSOR;
                YYDEBUG(168, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1426 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 2888 "Zend/zend_language_scanner.c"
+#line 2884 "Zend/zend_language_scanner.c"
 yy169:
                YYDEBUG(169, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(170, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1438 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2898,7 +2894,7 @@ yy169:
        }
        return '}';
 }
-#line 2902 "Zend/zend_language_scanner.c"
+#line 2898 "Zend/zend_language_scanner.c"
 yy171:
                YYDEBUG(171, *YYCURSOR);
                yyaccept = 2;
@@ -2921,7 +2917,7 @@ yy171:
 yy172:
                YYDEBUG(172, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1464 "Zend/zend_language_scanner.l"
+#line 1460 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -2942,7 +2938,7 @@ yy172:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 2946 "Zend/zend_language_scanner.c"
+#line 2942 "Zend/zend_language_scanner.c"
 yy173:
                YYDEBUG(173, *YYCURSOR);
                yyaccept = 2;
@@ -2970,7 +2966,7 @@ yy175:
 yy176:
                YYDEBUG(176, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1830 "Zend/zend_language_scanner.l"
+#line 1822 "Zend/zend_language_scanner.l"
                {
        while (YYCURSOR < YYLIMIT) {
                switch (*YYCURSOR++) {
@@ -3004,14 +3000,14 @@ yy176:
 
        return T_COMMENT;
 }
-#line 3008 "Zend/zend_language_scanner.c"
+#line 3004 "Zend/zend_language_scanner.c"
 yy177:
                YYDEBUG(177, *YYCURSOR);
                ++YYCURSOR;
 yy178:
                YYDEBUG(178, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1921 "Zend/zend_language_scanner.l"
+#line 1913 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -3079,14 +3075,14 @@ yy178:
        }
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3083 "Zend/zend_language_scanner.c"
+#line 3079 "Zend/zend_language_scanner.c"
 yy179:
                YYDEBUG(179, *YYCURSOR);
                ++YYCURSOR;
 yy180:
                YYDEBUG(180, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1990 "Zend/zend_language_scanner.l"
+#line 1982 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
 
@@ -3127,24 +3123,24 @@ yy180:
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 3131 "Zend/zend_language_scanner.c"
+#line 3127 "Zend/zend_language_scanner.c"
 yy181:
                YYDEBUG(181, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2081 "Zend/zend_language_scanner.l"
+#line 2073 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3142 "Zend/zend_language_scanner.c"
+#line 3138 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(184, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2339 "Zend/zend_language_scanner.l"
+#line 2331 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -3153,7 +3149,7 @@ yy183:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 3157 "Zend/zend_language_scanner.c"
+#line 3153 "Zend/zend_language_scanner.c"
 yy185:
                YYDEBUG(185, *YYCURSOR);
                ++YYCURSOR;
@@ -3180,13 +3176,13 @@ yy187:
 yy189:
                YYDEBUG(189, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1525 "Zend/zend_language_scanner.l"
+#line 1521 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 3190 "Zend/zend_language_scanner.c"
+#line 3186 "Zend/zend_language_scanner.c"
 yy190:
                YYDEBUG(190, *YYCURSOR);
                yyaccept = 2;
@@ -3271,7 +3267,7 @@ yy198:
                }
                YYDEBUG(200, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1485 "Zend/zend_language_scanner.l"
+#line 1481 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -3292,7 +3288,7 @@ yy198:
                return T_DNUMBER;
        }
 }
-#line 3296 "Zend/zend_language_scanner.c"
+#line 3292 "Zend/zend_language_scanner.c"
 yy201:
                YYDEBUG(201, *YYCURSOR);
                ++YYCURSOR;
@@ -3301,7 +3297,7 @@ yy201:
 yy202:
                YYDEBUG(202, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1898 "Zend/zend_language_scanner.l"
+#line 1890 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3309,7 +3305,7 @@ yy202:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 3313 "Zend/zend_language_scanner.c"
+#line 3309 "Zend/zend_language_scanner.c"
 yy203:
                YYDEBUG(203, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3343,13 +3339,13 @@ yy205:
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3353 "Zend/zend_language_scanner.c"
+#line 3349 "Zend/zend_language_scanner.c"
 yy208:
                YYDEBUG(208, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3363,11 +3359,11 @@ yy209:
                }
                YYDEBUG(210, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1409 "Zend/zend_language_scanner.l"
+#line 1405 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 3371 "Zend/zend_language_scanner.c"
+#line 3367 "Zend/zend_language_scanner.c"
 yy211:
                YYDEBUG(211, *YYCURSOR);
                ++YYCURSOR;
@@ -3376,61 +3372,61 @@ yy211:
                }
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1401 "Zend/zend_language_scanner.l"
+#line 1397 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 3384 "Zend/zend_language_scanner.c"
+#line 3380 "Zend/zend_language_scanner.c"
 yy213:
                YYDEBUG(213, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(214, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1389 "Zend/zend_language_scanner.l"
+#line 1385 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 3394 "Zend/zend_language_scanner.c"
+#line 3390 "Zend/zend_language_scanner.c"
 yy215:
                YYDEBUG(215, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1393 "Zend/zend_language_scanner.l"
+#line 1389 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 3404 "Zend/zend_language_scanner.c"
+#line 3400 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(218, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1385 "Zend/zend_language_scanner.l"
+#line 1381 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 3414 "Zend/zend_language_scanner.c"
+#line 3410 "Zend/zend_language_scanner.c"
 yy219:
                YYDEBUG(219, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(220, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1397 "Zend/zend_language_scanner.l"
+#line 1393 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 3424 "Zend/zend_language_scanner.c"
+#line 3420 "Zend/zend_language_scanner.c"
 yy221:
                YYDEBUG(221, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(222, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1381 "Zend/zend_language_scanner.l"
+#line 1377 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 3434 "Zend/zend_language_scanner.c"
+#line 3430 "Zend/zend_language_scanner.c"
 yy223:
                YYDEBUG(223, *YYCURSOR);
                ++YYCURSOR;
@@ -3439,7 +3435,7 @@ yy223:
 yy224:
                YYDEBUG(224, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1907 "Zend/zend_language_scanner.l"
+#line 1899 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -3452,17 +3448,17 @@ yy224:
                return yytext[0];
        }
 }
-#line 3456 "Zend/zend_language_scanner.c"
+#line 3452 "Zend/zend_language_scanner.c"
 yy225:
                YYDEBUG(225, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(226, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1369 "Zend/zend_language_scanner.l"
+#line 1365 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 3466 "Zend/zend_language_scanner.c"
+#line 3462 "Zend/zend_language_scanner.c"
 yy227:
                YYDEBUG(227, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3493,11 +3489,11 @@ yy231:
                ++YYCURSOR;
                YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1365 "Zend/zend_language_scanner.l"
+#line 1361 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 3501 "Zend/zend_language_scanner.c"
+#line 3497 "Zend/zend_language_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yyaccept = 4;
@@ -3506,7 +3502,7 @@ yy233:
 yy234:
                YYDEBUG(234, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1864 "Zend/zend_language_scanner.l"
+#line 1856 "Zend/zend_language_scanner.l"
                {
        int doc_com;
 
@@ -3540,7 +3536,7 @@ yy234:
 
        return T_COMMENT;
 }
-#line 3544 "Zend/zend_language_scanner.c"
+#line 3540 "Zend/zend_language_scanner.c"
 yy235:
                YYDEBUG(235, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3550,11 +3546,11 @@ yy236:
                ++YYCURSOR;
                YYDEBUG(237, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1361 "Zend/zend_language_scanner.l"
+#line 1357 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 3558 "Zend/zend_language_scanner.c"
+#line 3554 "Zend/zend_language_scanner.c"
 yy238:
                YYDEBUG(238, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3577,42 +3573,42 @@ yy241:
                ++YYCURSOR;
                YYDEBUG(242, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1357 "Zend/zend_language_scanner.l"
+#line 1353 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 3585 "Zend/zend_language_scanner.c"
+#line 3581 "Zend/zend_language_scanner.c"
 yy243:
                YYDEBUG(243, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy247;
                YYDEBUG(244, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1417 "Zend/zend_language_scanner.l"
+#line 1413 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 3596 "Zend/zend_language_scanner.c"
+#line 3592 "Zend/zend_language_scanner.c"
 yy245:
                YYDEBUG(245, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(246, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1345 "Zend/zend_language_scanner.l"
+#line 1341 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 3606 "Zend/zend_language_scanner.c"
+#line 3602 "Zend/zend_language_scanner.c"
 yy247:
                YYDEBUG(247, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(248, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1377 "Zend/zend_language_scanner.l"
+#line 1373 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 3616 "Zend/zend_language_scanner.c"
+#line 3612 "Zend/zend_language_scanner.c"
 yy249:
                YYDEBUG(249, *YYCURSOR);
                yyaccept = 5;
@@ -3623,11 +3619,11 @@ yy249:
 yy250:
                YYDEBUG(250, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
+#line 1409 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 3631 "Zend/zend_language_scanner.c"
+#line 3627 "Zend/zend_language_scanner.c"
 yy251:
                YYDEBUG(251, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3639,22 +3635,22 @@ yy252:
                ++YYCURSOR;
                YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1341 "Zend/zend_language_scanner.l"
+#line 1337 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 3647 "Zend/zend_language_scanner.c"
+#line 3643 "Zend/zend_language_scanner.c"
 yy254:
                YYDEBUG(254, *YYCURSOR);
                ++YYCURSOR;
 yy255:
                YYDEBUG(255, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1337 "Zend/zend_language_scanner.l"
+#line 1333 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 3658 "Zend/zend_language_scanner.c"
+#line 3654 "Zend/zend_language_scanner.c"
 yy256:
                YYDEBUG(256, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3705,11 +3701,11 @@ yy263:
                ++YYCURSOR;
                YYDEBUG(264, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1373 "Zend/zend_language_scanner.l"
+#line 1369 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 3713 "Zend/zend_language_scanner.c"
+#line 3709 "Zend/zend_language_scanner.c"
 yy265:
                YYDEBUG(265, *YYCURSOR);
                ++YYCURSOR;
@@ -3814,7 +3810,7 @@ yy274:
 yy275:
                YYDEBUG(275, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2032 "Zend/zend_language_scanner.l"
+#line 2024 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3862,7 +3858,7 @@ yy275:
 
        return T_START_HEREDOC;
 }
-#line 3866 "Zend/zend_language_scanner.c"
+#line 3862 "Zend/zend_language_scanner.c"
 yy276:
                YYDEBUG(276, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3902,31 +3898,31 @@ yy279:
                ++YYCURSOR;
                YYDEBUG(281, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1329 "Zend/zend_language_scanner.l"
+#line 1325 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 3910 "Zend/zend_language_scanner.c"
+#line 3906 "Zend/zend_language_scanner.c"
 yy282:
                YYDEBUG(282, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(283, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1349 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 3920 "Zend/zend_language_scanner.c"
+#line 3916 "Zend/zend_language_scanner.c"
 yy284:
                YYDEBUG(284, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(285, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1317 "Zend/zend_language_scanner.l"
+#line 1313 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 3930 "Zend/zend_language_scanner.c"
+#line 3926 "Zend/zend_language_scanner.c"
 yy286:
                YYDEBUG(286, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3945,42 +3941,42 @@ yy288:
                }
                YYDEBUG(289, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1309 "Zend/zend_language_scanner.l"
+#line 1305 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 3953 "Zend/zend_language_scanner.c"
+#line 3949 "Zend/zend_language_scanner.c"
 yy290:
                YYDEBUG(290, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy294;
                YYDEBUG(291, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1333 "Zend/zend_language_scanner.l"
+#line 1329 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 3964 "Zend/zend_language_scanner.c"
+#line 3960 "Zend/zend_language_scanner.c"
 yy292:
                YYDEBUG(292, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(293, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1305 "Zend/zend_language_scanner.l"
+#line 1301 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 3974 "Zend/zend_language_scanner.c"
+#line 3970 "Zend/zend_language_scanner.c"
 yy294:
                YYDEBUG(294, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(295, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1325 "Zend/zend_language_scanner.l"
+#line 1321 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 3984 "Zend/zend_language_scanner.c"
+#line 3980 "Zend/zend_language_scanner.c"
 yy296:
                YYDEBUG(296, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4102,7 +4098,7 @@ yy311:
                }
                YYDEBUG(314, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1629 "Zend/zend_language_scanner.l"
+#line 1625 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -4112,7 +4108,7 @@ yy311:
        }
        return T_NS_C;
 }
-#line 4116 "Zend/zend_language_scanner.c"
+#line 4112 "Zend/zend_language_scanner.c"
 yy315:
                YYDEBUG(315, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4132,7 +4128,7 @@ yy316:
                }
                YYDEBUG(319, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1602 "Zend/zend_language_scanner.l"
+#line 1598 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -4159,7 +4155,7 @@ yy316:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 4163 "Zend/zend_language_scanner.c"
+#line 4159 "Zend/zend_language_scanner.c"
 yy320:
                YYDEBUG(320, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4184,13 +4180,13 @@ yy322:
                }
                YYDEBUG(325, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1584 "Zend/zend_language_scanner.l"
+#line 1580 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 4194 "Zend/zend_language_scanner.c"
+#line 4190 "Zend/zend_language_scanner.c"
 yy326:
                YYDEBUG(326, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4225,7 +4221,7 @@ yy330:
                }
                YYDEBUG(333, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1563 "Zend/zend_language_scanner.l"
+#line 1559 "Zend/zend_language_scanner.l"
                {
        char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
        char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
@@ -4246,7 +4242,7 @@ yy330:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 4250 "Zend/zend_language_scanner.c"
+#line 4246 "Zend/zend_language_scanner.c"
 yy334:
                YYDEBUG(334, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4297,7 +4293,7 @@ yy341:
                }
                YYDEBUG(344, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1547 "Zend/zend_language_scanner.l"
+#line 1543 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -4313,7 +4309,7 @@ yy341:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 4317 "Zend/zend_language_scanner.c"
+#line 4313 "Zend/zend_language_scanner.c"
 yy345:
                YYDEBUG(345, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4333,7 +4329,7 @@ yy346:
                }
                YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1590 "Zend/zend_language_scanner.l"
+#line 1586 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -4345,7 +4341,7 @@ yy346:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 4349 "Zend/zend_language_scanner.c"
+#line 4345 "Zend/zend_language_scanner.c"
 yy350:
                YYDEBUG(350, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4375,7 +4371,7 @@ yy353:
                }
                YYDEBUG(356, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1531 "Zend/zend_language_scanner.l"
+#line 1527 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -4391,7 +4387,7 @@ yy353:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 4395 "Zend/zend_language_scanner.c"
+#line 4391 "Zend/zend_language_scanner.c"
 yy357:
                YYDEBUG(357, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4453,11 +4449,11 @@ yy368:
                }
                YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1273 "Zend/zend_language_scanner.l"
+#line 1269 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 4461 "Zend/zend_language_scanner.c"
+#line 4457 "Zend/zend_language_scanner.c"
 yy370:
                YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4477,11 +4473,11 @@ yy372:
                }
                YYDEBUG(373, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1253 "Zend/zend_language_scanner.l"
+#line 1249 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 4485 "Zend/zend_language_scanner.c"
+#line 4481 "Zend/zend_language_scanner.c"
 yy374:
                YYDEBUG(374, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4500,11 +4496,11 @@ yy376:
                }
                YYDEBUG(377, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1301 "Zend/zend_language_scanner.l"
+#line 1297 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 4508 "Zend/zend_language_scanner.c"
+#line 4504 "Zend/zend_language_scanner.c"
 yy378:
                YYDEBUG(378, *YYCURSOR);
                ++YYCURSOR;
@@ -4582,53 +4578,43 @@ yy379:
 yy380:
                YYDEBUG(380, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy455;
-               if (yych == 'n') goto yy455;
+               if (yych == 'N') goto yy447;
+               if (yych == 'n') goto yy447;
                goto yy193;
 yy381:
                YYDEBUG(381, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy442;
+                       if (yych == 'I') goto yy434;
                        if (yych <= 'N') goto yy193;
-                       goto yy443;
+                       goto yy435;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy193;
-                               goto yy442;
+                               goto yy434;
                        } else {
-                               if (yych == 'o') goto yy443;
+                               if (yych == 'o') goto yy435;
                                goto yy193;
                        }
                }
 yy382:
                YYDEBUG(382, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy434;
-               if (yych == 'b') goto yy434;
+               if (yych == 'B') goto yy426;
+               if (yych == 'b') goto yy426;
                goto yy193;
 yy383:
                YYDEBUG(383, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy427;
-               if (yych == 'r') goto yy427;
+               if (yych == 'R') goto yy419;
+               if (yych == 'r') goto yy419;
                goto yy193;
 yy384:
                YYDEBUG(384, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'T') {
-                       if (yych == 'C') goto yy412;
-                       if (yych <= 'S') goto yy193;
-                       goto yy411;
-               } else {
-                       if (yych <= 'c') {
-                               if (yych <= 'b') goto yy193;
-                               goto yy412;
-                       } else {
-                               if (yych == 't') goto yy411;
-                               goto yy193;
-                       }
-               }
+               if (yych == 'T') goto yy411;
+               if (yych == 't') goto yy411;
+               goto yy193;
 yy385:
                YYDEBUG(385, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4690,7 +4676,7 @@ yy393:
                {
        return T_INT_CAST;
 }
-#line 4694 "Zend/zend_language_scanner.c"
+#line 4680 "Zend/zend_language_scanner.c"
 yy396:
                YYDEBUG(396, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4738,7 +4724,7 @@ yy401:
                {
        return T_DOUBLE_CAST;
 }
-#line 4742 "Zend/zend_language_scanner.c"
+#line 4728 "Zend/zend_language_scanner.c"
 yy405:
                YYDEBUG(405, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4774,103 +4760,102 @@ yy410:
 yy411:
                YYDEBUG(411, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy420;
-               if (yych == 'r') goto yy420;
-               goto yy193;
+               if (yych == 'R') goto yy412;
+               if (yych != 'r') goto yy193;
 yy412:
                YYDEBUG(412, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy413;
-               if (yych != 'a') goto yy193;
+               if (yych == 'I') goto yy413;
+               if (yych != 'i') goto yy193;
 yy413:
                YYDEBUG(413, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy414;
-               if (yych != 'l') goto yy193;
+               if (yych == 'N') goto yy414;
+               if (yych != 'n') goto yy193;
 yy414:
                YYDEBUG(414, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy415;
-               if (yych != 'a') goto yy193;
+               if (yych == 'G') goto yy415;
+               if (yych != 'g') goto yy193;
 yy415:
                YYDEBUG(415, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy416;
-               if (yych != 'r') goto yy193;
-yy416:
-               YYDEBUG(416, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(417, *YYCURSOR);
+               YYDEBUG(416, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy416;
+                       if (yych == '\t') goto yy415;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy416;
+                       if (yych <= ' ') goto yy415;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(418, *YYCURSOR);
+               YYDEBUG(417, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(419, *YYCURSOR);
+               YYDEBUG(418, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1209 "Zend/zend_language_scanner.l"
+#line 1205 "Zend/zend_language_scanner.l"
                {
-       return T_SCALAR_CAST;
+       return T_STRING_CAST;
 }
-#line 4822 "Zend/zend_language_scanner.c"
+#line 4802 "Zend/zend_language_scanner.c"
+yy419:
+               YYDEBUG(419, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'R') goto yy420;
+               if (yych != 'r') goto yy193;
 yy420:
                YYDEBUG(420, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy421;
-               if (yych != 'i') goto yy193;
+               if (yych == 'A') goto yy421;
+               if (yych != 'a') goto yy193;
 yy421:
                YYDEBUG(421, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy422;
-               if (yych != 'n') goto yy193;
+               if (yych == 'Y') goto yy422;
+               if (yych != 'y') goto yy193;
 yy422:
                YYDEBUG(422, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'G') goto yy423;
-               if (yych != 'g') goto yy193;
-yy423:
-               YYDEBUG(423, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(424, *YYCURSOR);
+               YYDEBUG(423, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy423;
+                       if (yych == '\t') goto yy422;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy423;
+                       if (yych <= ' ') goto yy422;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(425, *YYCURSOR);
+               YYDEBUG(424, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(426, *YYCURSOR);
+               YYDEBUG(425, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1205 "Zend/zend_language_scanner.l"
+#line 1209 "Zend/zend_language_scanner.l"
                {
-       return T_STRING_CAST;
+       return T_ARRAY_CAST;
 }
-#line 4859 "Zend/zend_language_scanner.c"
+#line 4839 "Zend/zend_language_scanner.c"
+yy426:
+               YYDEBUG(426, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'J') goto yy427;
+               if (yych != 'j') goto yy193;
 yy427:
                YYDEBUG(427, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy428;
-               if (yych != 'r') goto yy193;
+               if (yych == 'E') goto yy428;
+               if (yych != 'e') goto yy193;
 yy428:
                YYDEBUG(428, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy429;
-               if (yych != 'a') goto yy193;
+               if (yych == 'C') goto yy429;
+               if (yych != 'c') goto yy193;
 yy429:
                YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy430;
-               if (yych != 'y') goto yy193;
+               if (yych == 'T') goto yy430;
+               if (yych != 't') goto yy193;
 yy430:
                YYDEBUG(430, *YYCURSOR);
                ++YYCURSOR;
@@ -4890,34 +4875,37 @@ yy430:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1213 "Zend/zend_language_scanner.l"
                {
-       return T_ARRAY_CAST;
+       return T_OBJECT_CAST;
 }
-#line 4896 "Zend/zend_language_scanner.c"
+#line 4881 "Zend/zend_language_scanner.c"
 yy434:
                YYDEBUG(434, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'J') goto yy435;
-               if (yych != 'j') goto yy193;
+               if (yych == 'N') goto yy444;
+               if (yych == 'n') goto yy444;
+               goto yy193;
 yy435:
                YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy436;
-               if (yych != 'e') goto yy193;
+               if (yych == 'O') goto yy436;
+               if (yych != 'o') goto yy193;
 yy436:
                YYDEBUG(436, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy437;
-               if (yych != 'c') goto yy193;
+               if (yych == 'L') goto yy437;
+               if (yych != 'l') goto yy193;
 yy437:
                YYDEBUG(437, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy438;
-               if (yych != 't') goto yy193;
+               if (yych == 'E') goto yy442;
+               if (yych == 'e') goto yy442;
+               goto yy439;
 yy438:
                YYDEBUG(438, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
+yy439:
                YYDEBUG(439, *YYCURSOR);
                if (yych <= 0x1F) {
                        if (yych == '\t') goto yy438;
@@ -4932,2112 +4920,2067 @@ yy438:
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1217 "Zend/zend_language_scanner.l"
                {
-       return T_OBJECT_CAST;
+       return T_BOOL_CAST;
 }
-#line 4938 "Zend/zend_language_scanner.c"
+#line 4926 "Zend/zend_language_scanner.c"
 yy442:
                YYDEBUG(442, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy452;
-               if (yych == 'n') goto yy452;
-               goto yy193;
+               if (yych == 'A') goto yy443;
+               if (yych != 'a') goto yy193;
 yy443:
                YYDEBUG(443, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy444;
-               if (yych != 'o') goto yy193;
+               if (yych == 'N') goto yy438;
+               if (yych == 'n') goto yy438;
+               goto yy193;
 yy444:
                YYDEBUG(444, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy445;
-               if (yych != 'l') goto yy193;
+               if (yych == 'A') goto yy445;
+               if (yych != 'a') goto yy193;
 yy445:
                YYDEBUG(445, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy450;
-               if (yych == 'e') goto yy450;
-               goto yy447;
+               if (yych == 'R') goto yy446;
+               if (yych != 'r') goto yy193;
 yy446:
                YYDEBUG(446, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy447:
-               YYDEBUG(447, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy446;
-                       goto yy193;
-               } else {
-                       if (yych <= ' ') goto yy446;
-                       if (yych != ')') goto yy193;
-               }
-               YYDEBUG(448, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(449, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1221 "Zend/zend_language_scanner.l"
-               {
-       return T_BOOL_CAST;
-}
-#line 4983 "Zend/zend_language_scanner.c"
-yy450:
-               YYDEBUG(450, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy451;
-               if (yych != 'a') goto yy193;
-yy451:
-               YYDEBUG(451, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy446;
-               if (yych == 'n') goto yy446;
-               goto yy193;
-yy452:
-               YYDEBUG(452, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy453;
-               if (yych != 'a') goto yy193;
-yy453:
-               YYDEBUG(453, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy454;
-               if (yych != 'r') goto yy193;
-yy454:
-               YYDEBUG(454, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy423;
-               if (yych == 'y') goto yy423;
+               if (yych == 'Y') goto yy415;
+               if (yych == 'y') goto yy415;
                goto yy193;
-yy455:
-               YYDEBUG(455, *YYCURSOR);
+yy447:
+               YYDEBUG(447, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy456;
+               if (yych == 'S') goto yy448;
                if (yych != 's') goto yy193;
-yy456:
-               YYDEBUG(456, *YYCURSOR);
+yy448:
+               YYDEBUG(448, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy457;
+               if (yych == 'E') goto yy449;
                if (yych != 'e') goto yy193;
-yy457:
-               YYDEBUG(457, *YYCURSOR);
+yy449:
+               YYDEBUG(449, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy458;
+               if (yych == 'T') goto yy450;
                if (yych != 't') goto yy193;
-yy458:
-               YYDEBUG(458, *YYCURSOR);
+yy450:
+               YYDEBUG(450, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(459, *YYCURSOR);
+               YYDEBUG(451, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy458;
+                       if (yych == '\t') goto yy450;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy458;
+                       if (yych <= ' ') goto yy450;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(460, *YYCURSOR);
+               YYDEBUG(452, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(461, *YYCURSOR);
+               YYDEBUG(453, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1225 "Zend/zend_language_scanner.l"
+#line 1221 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 5047 "Zend/zend_language_scanner.c"
-yy462:
-               YYDEBUG(462, *YYCURSOR);
+#line 4990 "Zend/zend_language_scanner.c"
+yy454:
+               YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy463;
+               if (yych == 'R') goto yy455;
                if (yych != 'r') goto yy186;
-yy463:
-               YYDEBUG(463, *YYCURSOR);
+yy455:
+               YYDEBUG(455, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(464, *YYCURSOR);
+               YYDEBUG(456, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1193 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 5065 "Zend/zend_language_scanner.c"
-yy465:
-               YYDEBUG(465, *YYCURSOR);
+#line 5008 "Zend/zend_language_scanner.c"
+yy457:
+               YYDEBUG(457, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy469;
-               if (yych == 'm') goto yy469;
+               if (yych == 'M') goto yy461;
+               if (yych == 'm') goto yy461;
                goto yy186;
-yy466:
-               YYDEBUG(466, *YYCURSOR);
+yy458:
+               YYDEBUG(458, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy467;
+               if (yych == 'W') goto yy459;
                if (yych != 'w') goto yy186;
-yy467:
-               YYDEBUG(467, *YYCURSOR);
+yy459:
+               YYDEBUG(459, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(468, *YYCURSOR);
+               YYDEBUG(460, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1185 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 5089 "Zend/zend_language_scanner.c"
-yy469:
-               YYDEBUG(469, *YYCURSOR);
+#line 5032 "Zend/zend_language_scanner.c"
+yy461:
+               YYDEBUG(461, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy470;
+               if (yych == 'E') goto yy462;
                if (yych != 'e') goto yy186;
-yy470:
-               YYDEBUG(470, *YYCURSOR);
+yy462:
+               YYDEBUG(462, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy471;
+               if (yych == 'S') goto yy463;
                if (yych != 's') goto yy186;
-yy471:
-               YYDEBUG(471, *YYCURSOR);
+yy463:
+               YYDEBUG(463, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy472;
+               if (yych == 'P') goto yy464;
                if (yych != 'p') goto yy186;
-yy472:
-               YYDEBUG(472, *YYCURSOR);
+yy464:
+               YYDEBUG(464, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy473;
+               if (yych == 'A') goto yy465;
                if (yych != 'a') goto yy186;
-yy473:
-               YYDEBUG(473, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy474;
+yy465:
+               YYDEBUG(465, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'C') goto yy466;
                if (yych != 'c') goto yy186;
-yy474:
-               YYDEBUG(474, *YYCURSOR);
+yy466:
+               YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy475;
+               if (yych == 'E') goto yy467;
                if (yych != 'e') goto yy186;
-yy475:
-               YYDEBUG(475, *YYCURSOR);
+yy467:
+               YYDEBUG(467, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(476, *YYCURSOR);
+               YYDEBUG(468, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1249 "Zend/zend_language_scanner.l"
+#line 1245 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 5132 "Zend/zend_language_scanner.c"
-yy477:
-               YYDEBUG(477, *YYCURSOR);
+#line 5075 "Zend/zend_language_scanner.c"
+yy469:
+               YYDEBUG(469, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(478, *YYCURSOR);
+               YYDEBUG(470, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1177 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5142 "Zend/zend_language_scanner.c"
-yy479:
-               YYDEBUG(479, *YYCURSOR);
+#line 5085 "Zend/zend_language_scanner.c"
+yy471:
+               YYDEBUG(471, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy480:
-               YYDEBUG(480, *YYCURSOR);
+yy472:
+               YYDEBUG(472, *YYCURSOR);
                if (yych <= '\f') {
                        if (yych <= 0x08) goto yy140;
-                       if (yych <= '\n') goto yy479;
+                       if (yych <= '\n') goto yy471;
                        goto yy140;
                } else {
-                       if (yych <= '\r') goto yy479;
-                       if (yych == ' ') goto yy479;
+                       if (yych <= '\r') goto yy471;
+                       if (yych == ' ') goto yy471;
                        goto yy140;
                }
-yy481:
-               YYDEBUG(481, *YYCURSOR);
+yy473:
+               YYDEBUG(473, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(482, *YYCURSOR);
+               YYDEBUG(474, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1353 "Zend/zend_language_scanner.l"
+#line 1349 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 5168 "Zend/zend_language_scanner.c"
-yy483:
-               YYDEBUG(483, *YYCURSOR);
+#line 5111 "Zend/zend_language_scanner.c"
+yy475:
+               YYDEBUG(475, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(484, *YYCURSOR);
+               YYDEBUG(476, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1321 "Zend/zend_language_scanner.l"
+#line 1317 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 5178 "Zend/zend_language_scanner.c"
-yy485:
-               YYDEBUG(485, *YYCURSOR);
+#line 5121 "Zend/zend_language_scanner.c"
+yy477:
+               YYDEBUG(477, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(486, *YYCURSOR);
+               YYDEBUG(478, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1147 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 5189 "Zend/zend_language_scanner.c"
-yy487:
-               YYDEBUG(487, *YYCURSOR);
+#line 5132 "Zend/zend_language_scanner.c"
+yy479:
+               YYDEBUG(479, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy494;
+                       if (yych == 'I') goto yy486;
                        if (yych <= 'N') goto yy186;
-                       goto yy495;
+                       goto yy487;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy186;
-                               goto yy494;
+                               goto yy486;
                        } else {
-                               if (yych == 'o') goto yy495;
+                               if (yych == 'o') goto yy487;
                                goto yy186;
                        }
                }
-yy488:
-               YYDEBUG(488, *YYCURSOR);
+yy480:
+               YYDEBUG(480, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy489;
+               if (yych == 'B') goto yy481;
                if (yych != 'b') goto yy186;
-yy489:
-               YYDEBUG(489, *YYCURSOR);
+yy481:
+               YYDEBUG(481, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy490;
+               if (yych == 'L') goto yy482;
                if (yych != 'l') goto yy186;
-yy490:
-               YYDEBUG(490, *YYCURSOR);
+yy482:
+               YYDEBUG(482, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy491;
+               if (yych == 'I') goto yy483;
                if (yych != 'i') goto yy186;
-yy491:
-               YYDEBUG(491, *YYCURSOR);
+yy483:
+               YYDEBUG(483, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy492;
+               if (yych == 'C') goto yy484;
                if (yych != 'c') goto yy186;
-yy492:
-               YYDEBUG(492, *YYCURSOR);
+yy484:
+               YYDEBUG(484, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(493, *YYCURSOR);
+               YYDEBUG(485, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1297 "Zend/zend_language_scanner.l"
+#line 1293 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 5238 "Zend/zend_language_scanner.c"
-yy494:
-               YYDEBUG(494, *YYCURSOR);
+#line 5181 "Zend/zend_language_scanner.c"
+yy486:
+               YYDEBUG(486, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'V') {
-                       if (yych == 'N') goto yy503;
+                       if (yych == 'N') goto yy495;
                        if (yych <= 'U') goto yy186;
-                       goto yy504;
+                       goto yy496;
                } else {
                        if (yych <= 'n') {
                                if (yych <= 'm') goto yy186;
-                               goto yy503;
+                               goto yy495;
                        } else {
-                               if (yych == 'v') goto yy504;
+                               if (yych == 'v') goto yy496;
                                goto yy186;
                        }
                }
-yy495:
-               YYDEBUG(495, *YYCURSOR);
+yy487:
+               YYDEBUG(487, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy496;
+               if (yych == 'T') goto yy488;
                if (yych != 't') goto yy186;
-yy496:
-               YYDEBUG(496, *YYCURSOR);
+yy488:
+               YYDEBUG(488, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy497;
+               if (yych == 'E') goto yy489;
                if (yych != 'e') goto yy186;
-yy497:
-               YYDEBUG(497, *YYCURSOR);
+yy489:
+               YYDEBUG(489, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy498;
+               if (yych == 'C') goto yy490;
                if (yych != 'c') goto yy186;
-yy498:
-               YYDEBUG(498, *YYCURSOR);
+yy490:
+               YYDEBUG(490, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy499;
+               if (yych == 'T') goto yy491;
                if (yych != 't') goto yy186;
-yy499:
-               YYDEBUG(499, *YYCURSOR);
+yy491:
+               YYDEBUG(491, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy500;
+               if (yych == 'E') goto yy492;
                if (yych != 'e') goto yy186;
-yy500:
-               YYDEBUG(500, *YYCURSOR);
+yy492:
+               YYDEBUG(492, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy501;
+               if (yych == 'D') goto yy493;
                if (yych != 'd') goto yy186;
-yy501:
-               YYDEBUG(501, *YYCURSOR);
+yy493:
+               YYDEBUG(493, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(502, *YYCURSOR);
+               YYDEBUG(494, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1293 "Zend/zend_language_scanner.l"
+#line 1289 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 5297 "Zend/zend_language_scanner.c"
-yy503:
-               YYDEBUG(503, *YYCURSOR);
+#line 5240 "Zend/zend_language_scanner.c"
+yy495:
+               YYDEBUG(495, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy509;
-               if (yych == 't') goto yy509;
+               if (yych == 'T') goto yy501;
+               if (yych == 't') goto yy501;
                goto yy186;
-yy504:
-               YYDEBUG(504, *YYCURSOR);
+yy496:
+               YYDEBUG(496, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy505;
+               if (yych == 'A') goto yy497;
                if (yych != 'a') goto yy186;
-yy505:
-               YYDEBUG(505, *YYCURSOR);
+yy497:
+               YYDEBUG(497, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy506;
+               if (yych == 'T') goto yy498;
                if (yych != 't') goto yy186;
-yy506:
-               YYDEBUG(506, *YYCURSOR);
+yy498:
+               YYDEBUG(498, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy507;
+               if (yych == 'E') goto yy499;
                if (yych != 'e') goto yy186;
-yy507:
-               YYDEBUG(507, *YYCURSOR);
+yy499:
+               YYDEBUG(499, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(508, *YYCURSOR);
+               YYDEBUG(500, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1289 "Zend/zend_language_scanner.l"
+#line 1285 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 5331 "Zend/zend_language_scanner.c"
-yy509:
-               YYDEBUG(509, *YYCURSOR);
+#line 5274 "Zend/zend_language_scanner.c"
+yy501:
+               YYDEBUG(501, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(510, *YYCURSOR);
+               YYDEBUG(502, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1123 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 5344 "Zend/zend_language_scanner.c"
-yy511:
-               YYDEBUG(511, *YYCURSOR);
+#line 5287 "Zend/zend_language_scanner.c"
+yy503:
+               YYDEBUG(503, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy516;
-               if (yych == 'o') goto yy516;
+               if (yych == 'O') goto yy508;
+               if (yych == 'o') goto yy508;
                goto yy186;
-yy512:
-               YYDEBUG(512, *YYCURSOR);
+yy504:
+               YYDEBUG(504, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy513;
+               if (yych == 'T') goto yy505;
                if (yych != 't') goto yy186;
-yy513:
-               YYDEBUG(513, *YYCURSOR);
+yy505:
+               YYDEBUG(505, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy514;
+               if (yych == 'O') goto yy506;
                if (yych != 'o') goto yy186;
-yy514:
-               YYDEBUG(514, *YYCURSOR);
+yy506:
+               YYDEBUG(506, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(515, *YYCURSOR);
+               YYDEBUG(507, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1115 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 5373 "Zend/zend_language_scanner.c"
-yy516:
-               YYDEBUG(516, *YYCURSOR);
+#line 5316 "Zend/zend_language_scanner.c"
+yy508:
+               YYDEBUG(508, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy517;
+               if (yych == 'B') goto yy509;
                if (yych != 'b') goto yy186;
-yy517:
-               YYDEBUG(517, *YYCURSOR);
+yy509:
+               YYDEBUG(509, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy518;
+               if (yych == 'A') goto yy510;
                if (yych != 'a') goto yy186;
-yy518:
-               YYDEBUG(518, *YYCURSOR);
+yy510:
+               YYDEBUG(510, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy519;
+               if (yych == 'L') goto yy511;
                if (yych != 'l') goto yy186;
-yy519:
-               YYDEBUG(519, *YYCURSOR);
+yy511:
+               YYDEBUG(511, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(520, *YYCURSOR);
+               YYDEBUG(512, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1257 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 5401 "Zend/zend_language_scanner.c"
-yy521:
-               YYDEBUG(521, *YYCURSOR);
+#line 5344 "Zend/zend_language_scanner.c"
+yy513:
+               YYDEBUG(513, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy529;
+               if (yych == '<') goto yy521;
                goto yy193;
-yy522:
-               YYDEBUG(522, *YYCURSOR);
+yy514:
+               YYDEBUG(514, *YYCURSOR);
                yych = *++YYCURSOR;
                goto yy180;
-yy523:
-               YYDEBUG(523, *YYCURSOR);
+yy515:
+               YYDEBUG(515, *YYCURSOR);
                yych = *++YYCURSOR;
                goto yy178;
-yy524:
-               YYDEBUG(524, *YYCURSOR);
+yy516:
+               YYDEBUG(516, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy525;
+               if (yych == 'E') goto yy517;
                if (yych != 'e') goto yy186;
-yy525:
-               YYDEBUG(525, *YYCURSOR);
+yy517:
+               YYDEBUG(517, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy526;
+               if (yych == 'A') goto yy518;
                if (yych != 'a') goto yy186;
-yy526:
-               YYDEBUG(526, *YYCURSOR);
+yy518:
+               YYDEBUG(518, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'K') goto yy527;
+               if (yych == 'K') goto yy519;
                if (yych != 'k') goto yy186;
-yy527:
-               YYDEBUG(527, *YYCURSOR);
+yy519:
+               YYDEBUG(519, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(528, *YYCURSOR);
+               YYDEBUG(520, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1107 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 5442 "Zend/zend_language_scanner.c"
-yy529:
-               YYDEBUG(529, *YYCURSOR);
+#line 5385 "Zend/zend_language_scanner.c"
+yy521:
+               YYDEBUG(521, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == '<') goto yy265;
                goto yy193;
-yy530:
-               YYDEBUG(530, *YYCURSOR);
+yy522:
+               YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy537;
-               if (yych == 'a') goto yy537;
+               if (yych == 'A') goto yy529;
+               if (yych == 'a') goto yy529;
                goto yy186;
-yy531:
-               YYDEBUG(531, *YYCURSOR);
+yy523:
+               YYDEBUG(523, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy532;
+               if (yych == 'I') goto yy524;
                if (yych != 'i') goto yy186;
-yy532:
-               YYDEBUG(532, *YYCURSOR);
+yy524:
+               YYDEBUG(524, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy533;
+               if (yych == 'T') goto yy525;
                if (yych != 't') goto yy186;
-yy533:
-               YYDEBUG(533, *YYCURSOR);
+yy525:
+               YYDEBUG(525, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy534;
+               if (yych == 'C') goto yy526;
                if (yych != 'c') goto yy186;
-yy534:
-               YYDEBUG(534, *YYCURSOR);
+yy526:
+               YYDEBUG(526, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy535;
+               if (yych == 'H') goto yy527;
                if (yych != 'h') goto yy186;
-yy535:
-               YYDEBUG(535, *YYCURSOR);
+yy527:
+               YYDEBUG(527, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(536, *YYCURSOR);
+               YYDEBUG(528, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1091 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 5486 "Zend/zend_language_scanner.c"
-yy537:
-               YYDEBUG(537, *YYCURSOR);
+#line 5429 "Zend/zend_language_scanner.c"
+yy529:
+               YYDEBUG(529, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy538;
+               if (yych == 'T') goto yy530;
                if (yych != 't') goto yy186;
-yy538:
-               YYDEBUG(538, *YYCURSOR);
+yy530:
+               YYDEBUG(530, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy539;
+               if (yych == 'I') goto yy531;
                if (yych != 'i') goto yy186;
-yy539:
-               YYDEBUG(539, *YYCURSOR);
+yy531:
+               YYDEBUG(531, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy540;
+               if (yych == 'C') goto yy532;
                if (yych != 'c') goto yy186;
-yy540:
-               YYDEBUG(540, *YYCURSOR);
+yy532:
+               YYDEBUG(532, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(541, *YYCURSOR);
+               YYDEBUG(533, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1277 "Zend/zend_language_scanner.l"
+#line 1273 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 5514 "Zend/zend_language_scanner.c"
-yy542:
-               YYDEBUG(542, *YYCURSOR);
+#line 5457 "Zend/zend_language_scanner.c"
+yy534:
+               YYDEBUG(534, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy553;
-               if (yych == 's') goto yy553;
+               if (yych == 'S') goto yy545;
+               if (yych == 's') goto yy545;
                goto yy186;
-yy543:
-               YYDEBUG(543, *YYCURSOR);
+yy535:
+               YYDEBUG(535, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy551;
-               if (yych == 'd') goto yy551;
+               if (yych == 'D') goto yy543;
+               if (yych == 'd') goto yy543;
                goto yy186;
-yy544:
-               YYDEBUG(544, *YYCURSOR);
+yy536:
+               YYDEBUG(536, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy547;
-               if (yych == 'r') goto yy547;
+               if (yych == 'R') goto yy539;
+               if (yych == 'r') goto yy539;
                goto yy186;
-yy545:
-               YYDEBUG(545, *YYCURSOR);
+yy537:
+               YYDEBUG(537, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(546, *YYCURSOR);
+               YYDEBUG(538, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1087 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 5545 "Zend/zend_language_scanner.c"
-yy547:
-               YYDEBUG(547, *YYCURSOR);
+#line 5488 "Zend/zend_language_scanner.c"
+yy539:
+               YYDEBUG(539, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy548;
+               if (yych == 'A') goto yy540;
                if (yych != 'a') goto yy186;
-yy548:
-               YYDEBUG(548, *YYCURSOR);
+yy540:
+               YYDEBUG(540, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy549;
+               if (yych == 'Y') goto yy541;
                if (yych != 'y') goto yy186;
-yy549:
-               YYDEBUG(549, *YYCURSOR);
+yy541:
+               YYDEBUG(541, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(550, *YYCURSOR);
+               YYDEBUG(542, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1313 "Zend/zend_language_scanner.l"
+#line 1309 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 5568 "Zend/zend_language_scanner.c"
-yy551:
-               YYDEBUG(551, *YYCURSOR);
+#line 5511 "Zend/zend_language_scanner.c"
+yy543:
+               YYDEBUG(543, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(552, *YYCURSOR);
+               YYDEBUG(544, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1405 "Zend/zend_language_scanner.l"
+#line 1401 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 5581 "Zend/zend_language_scanner.c"
-yy553:
-               YYDEBUG(553, *YYCURSOR);
+#line 5524 "Zend/zend_language_scanner.c"
+yy545:
+               YYDEBUG(545, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy554;
+               if (yych == 'T') goto yy546;
                if (yych != 't') goto yy186;
-yy554:
-               YYDEBUG(554, *YYCURSOR);
+yy546:
+               YYDEBUG(546, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy555;
+               if (yych == 'R') goto yy547;
                if (yych != 'r') goto yy186;
-yy555:
-               YYDEBUG(555, *YYCURSOR);
+yy547:
+               YYDEBUG(547, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy556;
+               if (yych == 'A') goto yy548;
                if (yych != 'a') goto yy186;
-yy556:
-               YYDEBUG(556, *YYCURSOR);
+yy548:
+               YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy557;
+               if (yych == 'C') goto yy549;
                if (yych != 'c') goto yy186;
-yy557:
-               YYDEBUG(557, *YYCURSOR);
+yy549:
+               YYDEBUG(549, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy558;
+               if (yych == 'T') goto yy550;
                if (yych != 't') goto yy186;
-yy558:
-               YYDEBUG(558, *YYCURSOR);
+yy550:
+               YYDEBUG(550, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(559, *YYCURSOR);
+               YYDEBUG(551, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1281 "Zend/zend_language_scanner.l"
+#line 1277 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 5619 "Zend/zend_language_scanner.c"
-yy560:
-               YYDEBUG(560, *YYCURSOR);
+#line 5562 "Zend/zend_language_scanner.c"
+yy552:
+               YYDEBUG(552, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy561;
+               if (yych == 'I') goto yy553;
                if (yych != 'i') goto yy186;
-yy561:
-               YYDEBUG(561, *YYCURSOR);
+yy553:
+               YYDEBUG(553, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy562;
+               if (yych == 'L') goto yy554;
                if (yych != 'l') goto yy186;
-yy562:
-               YYDEBUG(562, *YYCURSOR);
+yy554:
+               YYDEBUG(554, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy563;
+               if (yych == 'E') goto yy555;
                if (yych != 'e') goto yy186;
-yy563:
-               YYDEBUG(563, *YYCURSOR);
+yy555:
+               YYDEBUG(555, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(564, *YYCURSOR);
+               YYDEBUG(556, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1047 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 5647 "Zend/zend_language_scanner.c"
-yy565:
-               YYDEBUG(565, *YYCURSOR);
+#line 5590 "Zend/zend_language_scanner.c"
+yy557:
+               YYDEBUG(557, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(566, *YYCURSOR);
+               YYDEBUG(558, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1031 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 5660 "Zend/zend_language_scanner.c"
-yy567:
-               YYDEBUG(567, *YYCURSOR);
+#line 5603 "Zend/zend_language_scanner.c"
+yy559:
+               YYDEBUG(559, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy609;
-               if (yych == 'p') goto yy609;
+               if (yych == 'P') goto yy601;
+               if (yych == 'p') goto yy601;
                goto yy186;
-yy568:
-               YYDEBUG(568, *YYCURSOR);
+yy560:
+               YYDEBUG(560, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'C') {
                                if (yych <= 'B') goto yy186;
-                               goto yy576;
+                               goto yy568;
                        } else {
                                if (yych <= 'R') goto yy186;
-                               if (yych <= 'S') goto yy574;
-                               goto yy575;
+                               if (yych <= 'S') goto yy566;
+                               goto yy567;
                        }
                } else {
                        if (yych <= 'r') {
-                               if (yych == 'c') goto yy576;
+                               if (yych == 'c') goto yy568;
                                goto yy186;
                        } else {
-                               if (yych <= 's') goto yy574;
-                               if (yych <= 't') goto yy575;
+                               if (yych <= 's') goto yy566;
+                               if (yych <= 't') goto yy567;
                                goto yy186;
                        }
                }
-yy569:
-               YYDEBUG(569, *YYCURSOR);
+yy561:
+               YYDEBUG(561, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy570;
+               if (yych == 'S') goto yy562;
                if (yych != 's') goto yy186;
-yy570:
-               YYDEBUG(570, *YYCURSOR);
+yy562:
+               YYDEBUG(562, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy571;
+               if (yych == 'E') goto yy563;
                if (yych != 'e') goto yy186;
-yy571:
-               YYDEBUG(571, *YYCURSOR);
+yy563:
+               YYDEBUG(563, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy572;
+               if (yych == 'T') goto yy564;
                if (yych != 't') goto yy186;
-yy572:
-               YYDEBUG(572, *YYCURSOR);
+yy564:
+               YYDEBUG(564, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(573, *YYCURSOR);
+               YYDEBUG(565, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1265 "Zend/zend_language_scanner.l"
+#line 1261 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 5716 "Zend/zend_language_scanner.c"
-yy574:
-               YYDEBUG(574, *YYCURSOR);
+#line 5659 "Zend/zend_language_scanner.c"
+yy566:
+               YYDEBUG(566, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy595;
-               if (yych == 't') goto yy595;
+               if (yych == 'T') goto yy587;
+               if (yych == 't') goto yy587;
                goto yy186;
-yy575:
-               YYDEBUG(575, *YYCURSOR);
+yy567:
+               YYDEBUG(567, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy588;
-               if (yych == 'e') goto yy588;
+               if (yych == 'E') goto yy580;
+               if (yych == 'e') goto yy580;
                goto yy186;
-yy576:
-               YYDEBUG(576, *YYCURSOR);
+yy568:
+               YYDEBUG(568, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy577;
+               if (yych == 'L') goto yy569;
                if (yych != 'l') goto yy186;
-yy577:
-               YYDEBUG(577, *YYCURSOR);
+yy569:
+               YYDEBUG(569, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy578;
+               if (yych == 'U') goto yy570;
                if (yych != 'u') goto yy186;
-yy578:
-               YYDEBUG(578, *YYCURSOR);
+yy570:
+               YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy579;
+               if (yych == 'D') goto yy571;
                if (yych != 'd') goto yy186;
-yy579:
-               YYDEBUG(579, *YYCURSOR);
+yy571:
+               YYDEBUG(571, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy580;
+               if (yych == 'E') goto yy572;
                if (yych != 'e') goto yy186;
-yy580:
-               YYDEBUG(580, *YYCURSOR);
+yy572:
+               YYDEBUG(572, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy185;
                        } else {
-                               if (yych <= '@') goto yy581;
+                               if (yych <= '@') goto yy573;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy582;
+                               if (yych <= '_') goto yy574;
                        } else {
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy581:
-               YYDEBUG(581, *YYCURSOR);
+yy573:
+               YYDEBUG(573, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1233 "Zend/zend_language_scanner.l"
+#line 1229 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 5774 "Zend/zend_language_scanner.c"
-yy582:
-               YYDEBUG(582, *YYCURSOR);
+#line 5717 "Zend/zend_language_scanner.c"
+yy574:
+               YYDEBUG(574, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy583;
+               if (yych == 'O') goto yy575;
                if (yych != 'o') goto yy186;
-yy583:
-               YYDEBUG(583, *YYCURSOR);
+yy575:
+               YYDEBUG(575, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy584;
+               if (yych == 'N') goto yy576;
                if (yych != 'n') goto yy186;
-yy584:
-               YYDEBUG(584, *YYCURSOR);
+yy576:
+               YYDEBUG(576, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy585;
+               if (yych == 'C') goto yy577;
                if (yych != 'c') goto yy186;
-yy585:
-               YYDEBUG(585, *YYCURSOR);
+yy577:
+               YYDEBUG(577, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy586;
+               if (yych == 'E') goto yy578;
                if (yych != 'e') goto yy186;
-yy586:
-               YYDEBUG(586, *YYCURSOR);
+yy578:
+               YYDEBUG(578, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(587, *YYCURSOR);
+               YYDEBUG(579, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1237 "Zend/zend_language_scanner.l"
+#line 1233 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 5807 "Zend/zend_language_scanner.c"
-yy588:
-               YYDEBUG(588, *YYCURSOR);
+#line 5750 "Zend/zend_language_scanner.c"
+yy580:
+               YYDEBUG(580, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy589;
+               if (yych == 'R') goto yy581;
                if (yych != 'r') goto yy186;
-yy589:
-               YYDEBUG(589, *YYCURSOR);
+yy581:
+               YYDEBUG(581, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy590;
+               if (yych == 'F') goto yy582;
                if (yych != 'f') goto yy186;
-yy590:
-               YYDEBUG(590, *YYCURSOR);
+yy582:
+               YYDEBUG(582, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy591;
+               if (yych == 'A') goto yy583;
                if (yych != 'a') goto yy186;
-yy591:
-               YYDEBUG(591, *YYCURSOR);
+yy583:
+               YYDEBUG(583, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy592;
+               if (yych == 'C') goto yy584;
                if (yych != 'c') goto yy186;
-yy592:
-               YYDEBUG(592, *YYCURSOR);
+yy584:
+               YYDEBUG(584, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy593;
+               if (yych == 'E') goto yy585;
                if (yych != 'e') goto yy186;
-yy593:
-               YYDEBUG(593, *YYCURSOR);
+yy585:
+               YYDEBUG(585, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(594, *YYCURSOR);
+               YYDEBUG(586, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1131 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 5845 "Zend/zend_language_scanner.c"
-yy595:
-               YYDEBUG(595, *YYCURSOR);
+#line 5788 "Zend/zend_language_scanner.c"
+yy587:
+               YYDEBUG(587, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
-                       if (yych == 'A') goto yy596;
+                       if (yych == 'A') goto yy588;
                        if (yych <= 'D') goto yy186;
-                       goto yy597;
+                       goto yy589;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
                        } else {
-                               if (yych == 'e') goto yy597;
+                               if (yych == 'e') goto yy589;
                                goto yy186;
                        }
                }
-yy596:
-               YYDEBUG(596, *YYCURSOR);
+yy588:
+               YYDEBUG(588, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy603;
-               if (yych == 'n') goto yy603;
+               if (yych == 'N') goto yy595;
+               if (yych == 'n') goto yy595;
                goto yy186;
-yy597:
-               YYDEBUG(597, *YYCURSOR);
+yy589:
+               YYDEBUG(589, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy598;
+               if (yych == 'A') goto yy590;
                if (yych != 'a') goto yy186;
-yy598:
-               YYDEBUG(598, *YYCURSOR);
+yy590:
+               YYDEBUG(590, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy599;
+               if (yych == 'D') goto yy591;
                if (yych != 'd') goto yy186;
-yy599:
-               YYDEBUG(599, *YYCURSOR);
+yy591:
+               YYDEBUG(591, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy600;
+               if (yych == 'O') goto yy592;
                if (yych != 'o') goto yy186;
-yy600:
-               YYDEBUG(600, *YYCURSOR);
+yy592:
+               YYDEBUG(592, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy601;
+               if (yych == 'F') goto yy593;
                if (yych != 'f') goto yy186;
-yy601:
-               YYDEBUG(601, *YYCURSOR);
+yy593:
+               YYDEBUG(593, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(602, *YYCURSOR);
+               YYDEBUG(594, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
+#line 1253 "Zend/zend_language_scanner.l"
                {
         return T_INSTEADOF;
 }
-#line 5899 "Zend/zend_language_scanner.c"
-yy603:
-               YYDEBUG(603, *YYCURSOR);
+#line 5842 "Zend/zend_language_scanner.c"
+yy595:
+               YYDEBUG(595, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy604;
+               if (yych == 'C') goto yy596;
                if (yych != 'c') goto yy186;
-yy604:
-               YYDEBUG(604, *YYCURSOR);
+yy596:
+               YYDEBUG(596, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy605;
+               if (yych == 'E') goto yy597;
                if (yych != 'e') goto yy186;
-yy605:
-               YYDEBUG(605, *YYCURSOR);
+yy597:
+               YYDEBUG(597, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy606;
+               if (yych == 'O') goto yy598;
                if (yych != 'o') goto yy186;
-yy606:
-               YYDEBUG(606, *YYCURSOR);
+yy598:
+               YYDEBUG(598, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy607;
+               if (yych == 'F') goto yy599;
                if (yych != 'f') goto yy186;
-yy607:
-               YYDEBUG(607, *YYCURSOR);
+yy599:
+               YYDEBUG(599, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(608, *YYCURSOR);
+               YYDEBUG(600, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1083 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 5932 "Zend/zend_language_scanner.c"
-yy609:
-               YYDEBUG(609, *YYCURSOR);
+#line 5875 "Zend/zend_language_scanner.c"
+yy601:
+               YYDEBUG(601, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy610;
+               if (yych == 'L') goto yy602;
                if (yych != 'l') goto yy186;
-yy610:
-               YYDEBUG(610, *YYCURSOR);
+yy602:
+               YYDEBUG(602, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy611;
+               if (yych == 'E') goto yy603;
                if (yych != 'e') goto yy186;
-yy611:
-               YYDEBUG(611, *YYCURSOR);
+yy603:
+               YYDEBUG(603, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy612;
+               if (yych == 'M') goto yy604;
                if (yych != 'm') goto yy186;
-yy612:
-               YYDEBUG(612, *YYCURSOR);
+yy604:
+               YYDEBUG(604, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy613;
+               if (yych == 'E') goto yy605;
                if (yych != 'e') goto yy186;
-yy613:
-               YYDEBUG(613, *YYCURSOR);
+yy605:
+               YYDEBUG(605, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy614;
+               if (yych == 'N') goto yy606;
                if (yych != 'n') goto yy186;
-yy614:
-               YYDEBUG(614, *YYCURSOR);
+yy606:
+               YYDEBUG(606, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy615;
+               if (yych == 'T') goto yy607;
                if (yych != 't') goto yy186;
-yy615:
-               YYDEBUG(615, *YYCURSOR);
+yy607:
+               YYDEBUG(607, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy616;
+               if (yych == 'S') goto yy608;
                if (yych != 's') goto yy186;
-yy616:
-               YYDEBUG(616, *YYCURSOR);
+yy608:
+               YYDEBUG(608, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(617, *YYCURSOR);
+               YYDEBUG(609, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1143 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 5980 "Zend/zend_language_scanner.c"
-yy618:
-               YYDEBUG(618, *YYCURSOR);
+#line 5923 "Zend/zend_language_scanner.c"
+yy610:
+               YYDEBUG(610, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy626;
-               if (yych == 'r') goto yy626;
+               if (yych == 'R') goto yy618;
+               if (yych == 'r') goto yy618;
                goto yy186;
-yy619:
-               YYDEBUG(619, *YYCURSOR);
+yy611:
+               YYDEBUG(611, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'Y') {
-                       if (yych == 'A') goto yy622;
+                       if (yych == 'A') goto yy614;
                        if (yych <= 'X') goto yy186;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
-                               goto yy622;
+                               goto yy614;
                        } else {
                                if (yych != 'y') goto yy186;
                        }
                }
-               YYDEBUG(620, *YYCURSOR);
+               YYDEBUG(612, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(621, *YYCURSOR);
+               YYDEBUG(613, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1019 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 6012 "Zend/zend_language_scanner.c"
-yy622:
-               YYDEBUG(622, *YYCURSOR);
+#line 5955 "Zend/zend_language_scanner.c"
+yy614:
+               YYDEBUG(614, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy623;
+               if (yych == 'I') goto yy615;
                if (yych != 'i') goto yy186;
-yy623:
-               YYDEBUG(623, *YYCURSOR);
+yy615:
+               YYDEBUG(615, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy624;
+               if (yych == 'T') goto yy616;
                if (yych != 't') goto yy186;
-yy624:
-               YYDEBUG(624, *YYCURSOR);
+yy616:
+               YYDEBUG(616, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(625, *YYCURSOR);
+               YYDEBUG(617, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1135 "Zend/zend_language_scanner.l"
                {
        return T_TRAIT;
 }
-#line 6035 "Zend/zend_language_scanner.c"
-yy626:
-               YYDEBUG(626, *YYCURSOR);
+#line 5978 "Zend/zend_language_scanner.c"
+yy618:
+               YYDEBUG(618, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy627;
+               if (yych == 'O') goto yy619;
                if (yych != 'o') goto yy186;
-yy627:
-               YYDEBUG(627, *YYCURSOR);
+yy619:
+               YYDEBUG(619, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy628;
+               if (yych == 'W') goto yy620;
                if (yych != 'w') goto yy186;
-yy628:
-               YYDEBUG(628, *YYCURSOR);
+yy620:
+               YYDEBUG(620, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(629, *YYCURSOR);
+               YYDEBUG(621, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1027 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 6058 "Zend/zend_language_scanner.c"
-yy630:
-               YYDEBUG(630, *YYCURSOR);
+#line 6001 "Zend/zend_language_scanner.c"
+yy622:
+               YYDEBUG(622, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'Q') goto yy632;
+                       if (yych == 'Q') goto yy624;
                        if (yych <= 'S') goto yy186;
                } else {
                        if (yych <= 'q') {
                                if (yych <= 'p') goto yy186;
-                               goto yy632;
+                               goto yy624;
                        } else {
                                if (yych != 't') goto yy186;
                        }
                }
-               YYDEBUG(631, *YYCURSOR);
+               YYDEBUG(623, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy644;
-               if (yych == 'u') goto yy644;
+               if (yych == 'U') goto yy636;
+               if (yych == 'u') goto yy636;
                goto yy186;
-yy632:
-               YYDEBUG(632, *YYCURSOR);
+yy624:
+               YYDEBUG(624, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy633;
+               if (yych == 'U') goto yy625;
                if (yych != 'u') goto yy186;
-yy633:
-               YYDEBUG(633, *YYCURSOR);
+yy625:
+               YYDEBUG(625, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy634;
+               if (yych == 'I') goto yy626;
                if (yych != 'i') goto yy186;
-yy634:
-               YYDEBUG(634, *YYCURSOR);
+yy626:
+               YYDEBUG(626, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy635;
+               if (yych == 'R') goto yy627;
                if (yych != 'r') goto yy186;
-yy635:
-               YYDEBUG(635, *YYCURSOR);
+yy627:
+               YYDEBUG(627, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy636;
+               if (yych == 'E') goto yy628;
                if (yych != 'e') goto yy186;
-yy636:
-               YYDEBUG(636, *YYCURSOR);
+yy628:
+               YYDEBUG(628, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy185;
                        } else {
-                               if (yych <= '@') goto yy637;
+                               if (yych <= '@') goto yy629;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy638;
+                               if (yych <= '_') goto yy630;
                        } else {
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy637:
-               YYDEBUG(637, *YYCURSOR);
+yy629:
+               YYDEBUG(629, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1241 "Zend/zend_language_scanner.l"
+#line 1237 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 6123 "Zend/zend_language_scanner.c"
-yy638:
-               YYDEBUG(638, *YYCURSOR);
+#line 6066 "Zend/zend_language_scanner.c"
+yy630:
+               YYDEBUG(630, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy639;
+               if (yych == 'O') goto yy631;
                if (yych != 'o') goto yy186;
-yy639:
-               YYDEBUG(639, *YYCURSOR);
+yy631:
+               YYDEBUG(631, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy640;
+               if (yych == 'N') goto yy632;
                if (yych != 'n') goto yy186;
-yy640:
-               YYDEBUG(640, *YYCURSOR);
+yy632:
+               YYDEBUG(632, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy641;
+               if (yych == 'C') goto yy633;
                if (yych != 'c') goto yy186;
-yy641:
-               YYDEBUG(641, *YYCURSOR);
+yy633:
+               YYDEBUG(633, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy642;
+               if (yych == 'E') goto yy634;
                if (yych != 'e') goto yy186;
-yy642:
-               YYDEBUG(642, *YYCURSOR);
+yy634:
+               YYDEBUG(634, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(643, *YYCURSOR);
+               YYDEBUG(635, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1245 "Zend/zend_language_scanner.l"
+#line 1241 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 6156 "Zend/zend_language_scanner.c"
-yy644:
-               YYDEBUG(644, *YYCURSOR);
+#line 6099 "Zend/zend_language_scanner.c"
+yy636:
+               YYDEBUG(636, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy645;
+               if (yych == 'R') goto yy637;
                if (yych != 'r') goto yy186;
-yy645:
-               YYDEBUG(645, *YYCURSOR);
+yy637:
+               YYDEBUG(637, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy646;
+               if (yych == 'N') goto yy638;
                if (yych != 'n') goto yy186;
-yy646:
-               YYDEBUG(646, *YYCURSOR);
+yy638:
+               YYDEBUG(638, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(647, *YYCURSOR);
+               YYDEBUG(639, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1015 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 6179 "Zend/zend_language_scanner.c"
-yy648:
-               YYDEBUG(648, *YYCURSOR);
+#line 6122 "Zend/zend_language_scanner.c"
+yy640:
+               YYDEBUG(640, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy186;
-                       if (yych <= 'S') goto yy670;
-                       goto yy669;
+                       if (yych <= 'S') goto yy662;
+                       goto yy661;
                } else {
                        if (yych <= 'r') goto yy186;
-                       if (yych <= 's') goto yy670;
-                       if (yych <= 't') goto yy669;
+                       if (yych <= 's') goto yy662;
+                       if (yych <= 't') goto yy661;
                        goto yy186;
                }
-yy649:
-               YYDEBUG(649, *YYCURSOR);
+yy641:
+               YYDEBUG(641, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'A') goto yy661;
+                       if (yych == 'A') goto yy653;
                        if (yych <= 'N') goto yy186;
-                       goto yy662;
+                       goto yy654;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
-                               goto yy661;
+                               goto yy653;
                        } else {
-                               if (yych == 'o') goto yy662;
+                               if (yych == 'o') goto yy654;
                                goto yy186;
                        }
                }
-yy650:
-               YYDEBUG(650, *YYCURSOR);
+yy642:
+               YYDEBUG(642, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy651;
+               if (yych == 'N') goto yy643;
                if (yych != 'n') goto yy186;
-yy651:
-               YYDEBUG(651, *YYCURSOR);
+yy643:
+               YYDEBUG(643, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy186;
-                       if (yych >= 'T') goto yy653;
+                       if (yych >= 'T') goto yy645;
                } else {
                        if (yych <= 'r') goto yy186;
-                       if (yych <= 's') goto yy652;
-                       if (yych <= 't') goto yy653;
+                       if (yych <= 's') goto yy644;
+                       if (yych <= 't') goto yy645;
                        goto yy186;
                }
-yy652:
-               YYDEBUG(652, *YYCURSOR);
+yy644:
+               YYDEBUG(644, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy659;
-               if (yych == 't') goto yy659;
+               if (yych == 'T') goto yy651;
+               if (yych == 't') goto yy651;
                goto yy186;
-yy653:
-               YYDEBUG(653, *YYCURSOR);
+yy645:
+               YYDEBUG(645, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy654;
+               if (yych == 'I') goto yy646;
                if (yych != 'i') goto yy186;
-yy654:
-               YYDEBUG(654, *YYCURSOR);
+yy646:
+               YYDEBUG(646, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy655;
+               if (yych == 'N') goto yy647;
                if (yych != 'n') goto yy186;
-yy655:
-               YYDEBUG(655, *YYCURSOR);
+yy647:
+               YYDEBUG(647, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy656;
+               if (yych == 'U') goto yy648;
                if (yych != 'u') goto yy186;
-yy656:
-               YYDEBUG(656, *YYCURSOR);
+yy648:
+               YYDEBUG(648, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy657;
+               if (yych == 'E') goto yy649;
                if (yych != 'e') goto yy186;
-yy657:
-               YYDEBUG(657, *YYCURSOR);
+yy649:
+               YYDEBUG(649, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(658, *YYCURSOR);
+               YYDEBUG(650, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1111 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 6264 "Zend/zend_language_scanner.c"
-yy659:
-               YYDEBUG(659, *YYCURSOR);
+#line 6207 "Zend/zend_language_scanner.c"
+yy651:
+               YYDEBUG(651, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(660, *YYCURSOR);
+               YYDEBUG(652, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1011 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 6277 "Zend/zend_language_scanner.c"
-yy661:
-               YYDEBUG(661, *YYCURSOR);
+#line 6220 "Zend/zend_language_scanner.c"
+yy653:
+               YYDEBUG(653, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy666;
-               if (yych == 's') goto yy666;
+               if (yych == 'S') goto yy658;
+               if (yych == 's') goto yy658;
                goto yy186;
-yy662:
-               YYDEBUG(662, *YYCURSOR);
+yy654:
+               YYDEBUG(654, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy663;
+               if (yych == 'N') goto yy655;
                if (yych != 'n') goto yy186;
-yy663:
-               YYDEBUG(663, *YYCURSOR);
+yy655:
+               YYDEBUG(655, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy664;
+               if (yych == 'E') goto yy656;
                if (yych != 'e') goto yy186;
-yy664:
-               YYDEBUG(664, *YYCURSOR);
+yy656:
+               YYDEBUG(656, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(665, *YYCURSOR);
+               YYDEBUG(657, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1189 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 6306 "Zend/zend_language_scanner.c"
-yy666:
-               YYDEBUG(666, *YYCURSOR);
+#line 6249 "Zend/zend_language_scanner.c"
+yy658:
+               YYDEBUG(658, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy667;
+               if (yych == 'S') goto yy659;
                if (yych != 's') goto yy186;
-yy667:
-               YYDEBUG(667, *YYCURSOR);
+yy659:
+               YYDEBUG(659, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(668, *YYCURSOR);
+               YYDEBUG(660, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1127 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 6324 "Zend/zend_language_scanner.c"
-yy669:
-               YYDEBUG(669, *YYCURSOR);
+#line 6267 "Zend/zend_language_scanner.c"
+yy661:
+               YYDEBUG(661, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy673;
-               if (yych == 'c') goto yy673;
+               if (yych == 'C') goto yy665;
+               if (yych == 'c') goto yy665;
                goto yy186;
-yy670:
-               YYDEBUG(670, *YYCURSOR);
+yy662:
+               YYDEBUG(662, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy671;
+               if (yych == 'E') goto yy663;
                if (yych != 'e') goto yy186;
-yy671:
-               YYDEBUG(671, *YYCURSOR);
+yy663:
+               YYDEBUG(663, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(672, *YYCURSOR);
+               YYDEBUG(664, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1099 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 6348 "Zend/zend_language_scanner.c"
-yy673:
-               YYDEBUG(673, *YYCURSOR);
+#line 6291 "Zend/zend_language_scanner.c"
+yy665:
+               YYDEBUG(665, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy674;
+               if (yych == 'H') goto yy666;
                if (yych != 'h') goto yy186;
-yy674:
-               YYDEBUG(674, *YYCURSOR);
+yy666:
+               YYDEBUG(666, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(675, *YYCURSOR);
+               YYDEBUG(667, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1023 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 6366 "Zend/zend_language_scanner.c"
-yy676:
-               YYDEBUG(676, *YYCURSOR);
+#line 6309 "Zend/zend_language_scanner.c"
+yy668:
+               YYDEBUG(668, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy693;
-               if (yych == 'n') goto yy693;
+               if (yych == 'N') goto yy685;
+               if (yych == 'n') goto yy685;
                goto yy186;
-yy677:
-               YYDEBUG(677, *YYCURSOR);
+yy669:
+               YYDEBUG(669, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy686;
-               if (yych == 'r') goto yy686;
+               if (yych == 'R') goto yy678;
+               if (yych == 'r') goto yy678;
                goto yy186;
-yy678:
-               YYDEBUG(678, *YYCURSOR);
+yy670:
+               YYDEBUG(670, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy679;
+               if (yych == 'N') goto yy671;
                if (yych != 'n') goto yy186;
-yy679:
-               YYDEBUG(679, *YYCURSOR);
+yy671:
+               YYDEBUG(671, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy680;
+               if (yych == 'C') goto yy672;
                if (yych != 'c') goto yy186;
-yy680:
-               YYDEBUG(680, *YYCURSOR);
+yy672:
+               YYDEBUG(672, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy681;
+               if (yych == 'T') goto yy673;
                if (yych != 't') goto yy186;
-yy681:
-               YYDEBUG(681, *YYCURSOR);
+yy673:
+               YYDEBUG(673, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy682;
+               if (yych == 'I') goto yy674;
                if (yych != 'i') goto yy186;
-yy682:
-               YYDEBUG(682, *YYCURSOR);
+yy674:
+               YYDEBUG(674, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy683;
+               if (yych == 'O') goto yy675;
                if (yych != 'o') goto yy186;
-yy683:
-               YYDEBUG(683, *YYCURSOR);
+yy675:
+               YYDEBUG(675, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy684;
+               if (yych == 'N') goto yy676;
                if (yych != 'n') goto yy186;
-yy684:
-               YYDEBUG(684, *YYCURSOR);
+yy676:
+               YYDEBUG(676, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(685, *YYCURSOR);
+               YYDEBUG(677, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1007 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 6421 "Zend/zend_language_scanner.c"
-yy686:
-               YYDEBUG(686, *YYCURSOR);
+#line 6364 "Zend/zend_language_scanner.c"
+yy678:
+               YYDEBUG(678, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy687;
+                               if (yych <= '/') goto yy679;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'E') goto yy688;
+                               if (yych == 'E') goto yy680;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'e') goto yy688;
+                               if (yych <= 'e') goto yy680;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy687:
-               YYDEBUG(687, *YYCURSOR);
+yy679:
+               YYDEBUG(679, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1059 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 6449 "Zend/zend_language_scanner.c"
-yy688:
-               YYDEBUG(688, *YYCURSOR);
+#line 6392 "Zend/zend_language_scanner.c"
+yy680:
+               YYDEBUG(680, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy689;
+               if (yych == 'A') goto yy681;
                if (yych != 'a') goto yy186;
-yy689:
-               YYDEBUG(689, *YYCURSOR);
+yy681:
+               YYDEBUG(681, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy690;
+               if (yych == 'C') goto yy682;
                if (yych != 'c') goto yy186;
-yy690:
-               YYDEBUG(690, *YYCURSOR);
+yy682:
+               YYDEBUG(682, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy691;
+               if (yych == 'H') goto yy683;
                if (yych != 'h') goto yy186;
-yy691:
-               YYDEBUG(691, *YYCURSOR);
+yy683:
+               YYDEBUG(683, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(692, *YYCURSOR);
+               YYDEBUG(684, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1067 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 6477 "Zend/zend_language_scanner.c"
-yy693:
-               YYDEBUG(693, *YYCURSOR);
+#line 6420 "Zend/zend_language_scanner.c"
+yy685:
+               YYDEBUG(685, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy694;
+               if (yych == 'A') goto yy686;
                if (yych != 'a') goto yy186;
-yy694:
-               YYDEBUG(694, *YYCURSOR);
+yy686:
+               YYDEBUG(686, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy695;
+               if (yych == 'L') goto yy687;
                if (yych != 'l') goto yy186;
-yy695:
-               YYDEBUG(695, *YYCURSOR);
+yy687:
+               YYDEBUG(687, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(696, *YYCURSOR);
+               YYDEBUG(688, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1285 "Zend/zend_language_scanner.l"
+#line 1281 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 6500 "Zend/zend_language_scanner.c"
-yy697:
-               YYDEBUG(697, *YYCURSOR);
+#line 6443 "Zend/zend_language_scanner.c"
+yy689:
+               YYDEBUG(689, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'F') {
-                       if (yych == 'C') goto yy703;
+                       if (yych == 'C') goto yy695;
                        if (yych <= 'E') goto yy186;
-                       goto yy704;
+                       goto yy696;
                } else {
                        if (yych <= 'c') {
                                if (yych <= 'b') goto yy186;
-                               goto yy703;
+                               goto yy695;
                        } else {
-                               if (yych == 'f') goto yy704;
+                               if (yych == 'f') goto yy696;
                                goto yy186;
                        }
                }
-yy698:
-               YYDEBUG(698, *YYCURSOR);
+yy690:
+               YYDEBUG(690, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy701;
-               if (yych == 'e') goto yy701;
+               if (yych == 'E') goto yy693;
+               if (yych == 'e') goto yy693;
                goto yy186;
-yy699:
-               YYDEBUG(699, *YYCURSOR);
+yy691:
+               YYDEBUG(691, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(700, *YYCURSOR);
+               YYDEBUG(692, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1055 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 6535 "Zend/zend_language_scanner.c"
-yy701:
-               YYDEBUG(701, *YYCURSOR);
+#line 6478 "Zend/zend_language_scanner.c"
+yy693:
+               YYDEBUG(693, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(702, *YYCURSOR);
+               YYDEBUG(694, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1003 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 6548 "Zend/zend_language_scanner.c"
-yy703:
-               YYDEBUG(703, *YYCURSOR);
+#line 6491 "Zend/zend_language_scanner.c"
+yy695:
+               YYDEBUG(695, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy710;
-               if (yych == 'l') goto yy710;
+               if (yych == 'L') goto yy702;
+               if (yych == 'l') goto yy702;
                goto yy186;
-yy704:
-               YYDEBUG(704, *YYCURSOR);
+yy696:
+               YYDEBUG(696, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy705;
+               if (yych == 'A') goto yy697;
                if (yych != 'a') goto yy186;
-yy705:
-               YYDEBUG(705, *YYCURSOR);
+yy697:
+               YYDEBUG(697, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy706;
+               if (yych == 'U') goto yy698;
                if (yych != 'u') goto yy186;
-yy706:
-               YYDEBUG(706, *YYCURSOR);
+yy698:
+               YYDEBUG(698, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy707;
+               if (yych == 'L') goto yy699;
                if (yych != 'l') goto yy186;
-yy707:
-               YYDEBUG(707, *YYCURSOR);
+yy699:
+               YYDEBUG(699, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy708;
+               if (yych == 'T') goto yy700;
                if (yych != 't') goto yy186;
-yy708:
-               YYDEBUG(708, *YYCURSOR);
+yy700:
+               YYDEBUG(700, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(709, *YYCURSOR);
+               YYDEBUG(701, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1103 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 6587 "Zend/zend_language_scanner.c"
-yy710:
-               YYDEBUG(710, *YYCURSOR);
+#line 6530 "Zend/zend_language_scanner.c"
+yy702:
+               YYDEBUG(702, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy711;
+               if (yych == 'A') goto yy703;
                if (yych != 'a') goto yy186;
-yy711:
-               YYDEBUG(711, *YYCURSOR);
+yy703:
+               YYDEBUG(703, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy712;
+               if (yych == 'R') goto yy704;
                if (yych != 'r') goto yy186;
-yy712:
-               YYDEBUG(712, *YYCURSOR);
+yy704:
+               YYDEBUG(704, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy713;
+               if (yych == 'E') goto yy705;
                if (yych != 'e') goto yy186;
-yy713:
-               YYDEBUG(713, *YYCURSOR);
+yy705:
+               YYDEBUG(705, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(714, *YYCURSOR);
+               YYDEBUG(706, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1075 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 6615 "Zend/zend_language_scanner.c"
-yy715:
-               YYDEBUG(715, *YYCURSOR);
+#line 6558 "Zend/zend_language_scanner.c"
+yy707:
+               YYDEBUG(707, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy777;
-               if (yych == 'h') goto yy777;
+               if (yych == 'H') goto yy769;
+               if (yych == 'h') goto yy769;
                goto yy186;
-yy716:
-               YYDEBUG(716, *YYCURSOR);
+yy708:
+               YYDEBUG(708, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy771;
-               if (yych == 's') goto yy771;
+               if (yych == 'S') goto yy763;
+               if (yych == 's') goto yy763;
                goto yy186;
-yy717:
-               YYDEBUG(717, *YYCURSOR);
+yy709:
+               YYDEBUG(709, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy767;
-               if (yych == 'p') goto yy767;
+               if (yych == 'P') goto yy759;
+               if (yych == 'p') goto yy759;
                goto yy186;
-yy718:
-               YYDEBUG(718, *YYCURSOR);
+yy710:
+               YYDEBUG(710, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy733;
-               if (yych == 'd') goto yy733;
+               if (yych == 'D') goto yy725;
+               if (yych == 'd') goto yy725;
                goto yy186;
-yy719:
-               YYDEBUG(719, *YYCURSOR);
+yy711:
+               YYDEBUG(711, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy730;
-               if (yych == 'a') goto yy730;
+               if (yych == 'A') goto yy722;
+               if (yych == 'a') goto yy722;
                goto yy186;
-yy720:
-               YYDEBUG(720, *YYCURSOR);
+yy712:
+               YYDEBUG(712, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'I') goto yy721;
+                       if (yych == 'I') goto yy713;
                        if (yych <= 'S') goto yy186;
-                       goto yy722;
+                       goto yy714;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy186;
                        } else {
-                               if (yych == 't') goto yy722;
+                               if (yych == 't') goto yy714;
                                goto yy186;
                        }
                }
-yy721:
-               YYDEBUG(721, *YYCURSOR);
+yy713:
+               YYDEBUG(713, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy728;
-               if (yych == 't') goto yy728;
+               if (yych == 'T') goto yy720;
+               if (yych == 't') goto yy720;
                goto yy186;
-yy722:
-               YYDEBUG(722, *YYCURSOR);
+yy714:
+               YYDEBUG(714, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy723;
+               if (yych == 'E') goto yy715;
                if (yych != 'e') goto yy186;
-yy723:
-               YYDEBUG(723, *YYCURSOR);
+yy715:
+               YYDEBUG(715, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy724;
+               if (yych == 'N') goto yy716;
                if (yych != 'n') goto yy186;
-yy724:
-               YYDEBUG(724, *YYCURSOR);
+yy716:
+               YYDEBUG(716, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy725;
+               if (yych == 'D') goto yy717;
                if (yych != 'd') goto yy186;
-yy725:
-               YYDEBUG(725, *YYCURSOR);
+yy717:
+               YYDEBUG(717, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy726;
+               if (yych == 'S') goto yy718;
                if (yych != 's') goto yy186;
-yy726:
-               YYDEBUG(726, *YYCURSOR);
+yy718:
+               YYDEBUG(718, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(727, *YYCURSOR);
+               YYDEBUG(719, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1139 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 6699 "Zend/zend_language_scanner.c"
-yy728:
-               YYDEBUG(728, *YYCURSOR);
+#line 6642 "Zend/zend_language_scanner.c"
+yy720:
+               YYDEBUG(720, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(729, *YYCURSOR);
+               YYDEBUG(721, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 999 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 6712 "Zend/zend_language_scanner.c"
-yy730:
-               YYDEBUG(730, *YYCURSOR);
+#line 6655 "Zend/zend_language_scanner.c"
+yy722:
+               YYDEBUG(722, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy731;
+               if (yych == 'L') goto yy723;
                if (yych != 'l') goto yy186;
-yy731:
-               YYDEBUG(731, *YYCURSOR);
+yy723:
+               YYDEBUG(723, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(732, *YYCURSOR);
+               YYDEBUG(724, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1229 "Zend/zend_language_scanner.l"
+#line 1225 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 6730 "Zend/zend_language_scanner.c"
-yy733:
-               YYDEBUG(733, *YYCURSOR);
+#line 6673 "Zend/zend_language_scanner.c"
+yy725:
+               YYDEBUG(725, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'D':
-               case 'd':       goto yy734;
+               case 'd':       goto yy726;
                case 'F':
-               case 'f':       goto yy735;
+               case 'f':       goto yy727;
                case 'I':
-               case 'i':       goto yy736;
+               case 'i':       goto yy728;
                case 'S':
-               case 's':       goto yy737;
+               case 's':       goto yy729;
                case 'W':
-               case 'w':       goto yy738;
+               case 'w':       goto yy730;
                default:        goto yy186;
                }
-yy734:
-               YYDEBUG(734, *YYCURSOR);
+yy726:
+               YYDEBUG(726, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy760;
-               if (yych == 'e') goto yy760;
+               if (yych == 'E') goto yy752;
+               if (yych == 'e') goto yy752;
                goto yy186;
-yy735:
-               YYDEBUG(735, *YYCURSOR);
+yy727:
+               YYDEBUG(727, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy752;
-               if (yych == 'o') goto yy752;
+               if (yych == 'O') goto yy744;
+               if (yych == 'o') goto yy744;
                goto yy186;
-yy736:
-               YYDEBUG(736, *YYCURSOR);
+yy728:
+               YYDEBUG(728, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy750;
-               if (yych == 'f') goto yy750;
+               if (yych == 'F') goto yy742;
+               if (yych == 'f') goto yy742;
                goto yy186;
-yy737:
-               YYDEBUG(737, *YYCURSOR);
+yy729:
+               YYDEBUG(729, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy744;
-               if (yych == 'w') goto yy744;
+               if (yych == 'W') goto yy736;
+               if (yych == 'w') goto yy736;
                goto yy186;
-yy738:
-               YYDEBUG(738, *YYCURSOR);
+yy730:
+               YYDEBUG(730, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy739;
+               if (yych == 'H') goto yy731;
                if (yych != 'h') goto yy186;
-yy739:
-               YYDEBUG(739, *YYCURSOR);
+yy731:
+               YYDEBUG(731, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy740;
+               if (yych == 'I') goto yy732;
                if (yych != 'i') goto yy186;
-yy740:
-               YYDEBUG(740, *YYCURSOR);
+yy732:
+               YYDEBUG(732, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy741;
+               if (yych == 'L') goto yy733;
                if (yych != 'l') goto yy186;
-yy741:
-               YYDEBUG(741, *YYCURSOR);
+yy733:
+               YYDEBUG(733, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy742;
+               if (yych == 'E') goto yy734;
                if (yych != 'e') goto yy186;
-yy742:
-               YYDEBUG(742, *YYCURSOR);
+yy734:
+               YYDEBUG(734, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(743, *YYCURSOR);
+               YYDEBUG(735, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1051 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 6804 "Zend/zend_language_scanner.c"
-yy744:
-               YYDEBUG(744, *YYCURSOR);
+#line 6747 "Zend/zend_language_scanner.c"
+yy736:
+               YYDEBUG(736, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy745;
+               if (yych == 'I') goto yy737;
                if (yych != 'i') goto yy186;
-yy745:
-               YYDEBUG(745, *YYCURSOR);
+yy737:
+               YYDEBUG(737, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy746;
+               if (yych == 'T') goto yy738;
                if (yych != 't') goto yy186;
-yy746:
-               YYDEBUG(746, *YYCURSOR);
+yy738:
+               YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy747;
+               if (yych == 'C') goto yy739;
                if (yych != 'c') goto yy186;
-yy747:
-               YYDEBUG(747, *YYCURSOR);
+yy739:
+               YYDEBUG(739, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy748;
+               if (yych == 'H') goto yy740;
                if (yych != 'h') goto yy186;
-yy748:
-               YYDEBUG(748, *YYCURSOR);
+yy740:
+               YYDEBUG(740, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(749, *YYCURSOR);
+               YYDEBUG(741, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1095 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 6837 "Zend/zend_language_scanner.c"
-yy750:
-               YYDEBUG(750, *YYCURSOR);
+#line 6780 "Zend/zend_language_scanner.c"
+yy742:
+               YYDEBUG(742, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(751, *YYCURSOR);
+               YYDEBUG(743, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1039 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 6850 "Zend/zend_language_scanner.c"
-yy752:
-               YYDEBUG(752, *YYCURSOR);
+#line 6793 "Zend/zend_language_scanner.c"
+yy744:
+               YYDEBUG(744, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy753;
+               if (yych == 'R') goto yy745;
                if (yych != 'r') goto yy186;
-yy753:
-               YYDEBUG(753, *YYCURSOR);
+yy745:
+               YYDEBUG(745, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy754;
+                               if (yych <= '/') goto yy746;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'E') goto yy755;
+                               if (yych == 'E') goto yy747;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'e') goto yy755;
+                               if (yych <= 'e') goto yy747;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy754:
-               YYDEBUG(754, *YYCURSOR);
+yy746:
+               YYDEBUG(746, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1063 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 6883 "Zend/zend_language_scanner.c"
-yy755:
-               YYDEBUG(755, *YYCURSOR);
+#line 6826 "Zend/zend_language_scanner.c"
+yy747:
+               YYDEBUG(747, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy756;
+               if (yych == 'A') goto yy748;
                if (yych != 'a') goto yy186;
-yy756:
-               YYDEBUG(756, *YYCURSOR);
+yy748:
+               YYDEBUG(748, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy757;
+               if (yych == 'C') goto yy749;
                if (yych != 'c') goto yy186;
-yy757:
-               YYDEBUG(757, *YYCURSOR);
+yy749:
+               YYDEBUG(749, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy758;
+               if (yych == 'H') goto yy750;
                if (yych != 'h') goto yy186;
-yy758:
-               YYDEBUG(758, *YYCURSOR);
+yy750:
+               YYDEBUG(750, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(759, *YYCURSOR);
+               YYDEBUG(751, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1071 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 6911 "Zend/zend_language_scanner.c"
-yy760:
-               YYDEBUG(760, *YYCURSOR);
+#line 6854 "Zend/zend_language_scanner.c"
+yy752:
+               YYDEBUG(752, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy761;
+               if (yych == 'C') goto yy753;
                if (yych != 'c') goto yy186;
-yy761:
-               YYDEBUG(761, *YYCURSOR);
+yy753:
+               YYDEBUG(753, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy762;
+               if (yych == 'L') goto yy754;
                if (yych != 'l') goto yy186;
-yy762:
-               YYDEBUG(762, *YYCURSOR);
+yy754:
+               YYDEBUG(754, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy763;
+               if (yych == 'A') goto yy755;
                if (yych != 'a') goto yy186;
-yy763:
-               YYDEBUG(763, *YYCURSOR);
+yy755:
+               YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy764;
+               if (yych == 'R') goto yy756;
                if (yych != 'r') goto yy186;
-yy764:
-               YYDEBUG(764, *YYCURSOR);
+yy756:
+               YYDEBUG(756, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy765;
+               if (yych == 'E') goto yy757;
                if (yych != 'e') goto yy186;
-yy765:
-               YYDEBUG(765, *YYCURSOR);
+yy757:
+               YYDEBUG(757, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(766, *YYCURSOR);
+               YYDEBUG(758, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1079 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 6949 "Zend/zend_language_scanner.c"
-yy767:
-               YYDEBUG(767, *YYCURSOR);
+#line 6892 "Zend/zend_language_scanner.c"
+yy759:
+               YYDEBUG(759, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy768;
+               if (yych == 'T') goto yy760;
                if (yych != 't') goto yy186;
-yy768:
-               YYDEBUG(768, *YYCURSOR);
+yy760:
+               YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy769;
+               if (yych == 'Y') goto yy761;
                if (yych != 'y') goto yy186;
-yy769:
-               YYDEBUG(769, *YYCURSOR);
+yy761:
+               YYDEBUG(761, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(770, *YYCURSOR);
+               YYDEBUG(762, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1269 "Zend/zend_language_scanner.l"
+#line 1265 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 6972 "Zend/zend_language_scanner.c"
-yy771:
-               YYDEBUG(771, *YYCURSOR);
+#line 6915 "Zend/zend_language_scanner.c"
+yy763:
+               YYDEBUG(763, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy772;
+               if (yych == 'E') goto yy764;
                if (yych != 'e') goto yy186;
-yy772:
-               YYDEBUG(772, *YYCURSOR);
+yy764:
+               YYDEBUG(764, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy773;
+                               if (yych <= '/') goto yy765;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'I') goto yy774;
+                               if (yych == 'I') goto yy766;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'h') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'i') goto yy774;
+                               if (yych <= 'i') goto yy766;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy773:
-               YYDEBUG(773, *YYCURSOR);
+yy765:
+               YYDEBUG(765, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1043 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 7005 "Zend/zend_language_scanner.c"
-yy774:
-               YYDEBUG(774, *YYCURSOR);
+#line 6948 "Zend/zend_language_scanner.c"
+yy766:
+               YYDEBUG(766, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy775;
+               if (yych == 'F') goto yy767;
                if (yych != 'f') goto yy186;
-yy775:
-               YYDEBUG(775, *YYCURSOR);
+yy767:
+               YYDEBUG(767, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(776, *YYCURSOR);
+               YYDEBUG(768, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1035 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 7023 "Zend/zend_language_scanner.c"
-yy777:
-               YYDEBUG(777, *YYCURSOR);
+#line 6966 "Zend/zend_language_scanner.c"
+yy769:
+               YYDEBUG(769, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy778;
+               if (yych == 'O') goto yy770;
                if (yych != 'o') goto yy186;
-yy778:
-               YYDEBUG(778, *YYCURSOR);
+yy770:
+               YYDEBUG(770, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(779, *YYCURSOR);
+               YYDEBUG(771, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1119 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 7041 "Zend/zend_language_scanner.c"
+#line 6984 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7076,39 +7019,39 @@ yyc_ST_LOOKING_FOR_PROPERTY:
                         64,  64,  64,  64,  64,  64,  64,  64, 
                         64,  64,  64,  64,  64,  64,  64,  64, 
                };
-               YYDEBUG(780, *YYCURSOR);
+               YYDEBUG(772, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '-') {
                        if (yych <= '\r') {
-                               if (yych <= 0x08) goto yy788;
-                               if (yych <= '\n') goto yy782;
-                               if (yych <= '\f') goto yy788;
+                               if (yych <= 0x08) goto yy780;
+                               if (yych <= '\n') goto yy774;
+                               if (yych <= '\f') goto yy780;
                        } else {
-                               if (yych == ' ') goto yy782;
-                               if (yych <= ',') goto yy788;
-                               goto yy784;
+                               if (yych == ' ') goto yy774;
+                               if (yych <= ',') goto yy780;
+                               goto yy776;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '@') goto yy788;
-                               if (yych <= 'Z') goto yy786;
-                               if (yych <= '^') goto yy788;
-                               goto yy786;
+                               if (yych <= '@') goto yy780;
+                               if (yych <= 'Z') goto yy778;
+                               if (yych <= '^') goto yy780;
+                               goto yy778;
                        } else {
-                               if (yych <= '`') goto yy788;
-                               if (yych <= 'z') goto yy786;
-                               if (yych <= '~') goto yy788;
-                               goto yy786;
+                               if (yych <= '`') goto yy780;
+                               if (yych <= 'z') goto yy778;
+                               if (yych <= '~') goto yy780;
+                               goto yy778;
                        }
                }
-yy782:
-               YYDEBUG(782, *YYCURSOR);
+yy774:
+               YYDEBUG(774, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy794;
-yy783:
-               YYDEBUG(783, *YYCURSOR);
+               goto yy786;
+yy775:
+               YYDEBUG(775, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1152 "Zend/zend_language_scanner.l"
                {
@@ -7118,13 +7061,13 @@ yy783:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 7122 "Zend/zend_language_scanner.c"
-yy784:
-               YYDEBUG(784, *YYCURSOR);
+#line 7065 "Zend/zend_language_scanner.c"
+yy776:
+               YYDEBUG(776, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy791;
-yy785:
-               YYDEBUG(785, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '>') goto yy783;
+yy777:
+               YYDEBUG(777, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1171 "Zend/zend_language_scanner.l"
                {
@@ -7132,14 +7075,14 @@ yy785:
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 7136 "Zend/zend_language_scanner.c"
-yy786:
-               YYDEBUG(786, *YYCURSOR);
+#line 7079 "Zend/zend_language_scanner.c"
+yy778:
+               YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy790;
-yy787:
-               YYDEBUG(787, *YYCURSOR);
+               goto yy782;
+yy779:
+               YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1164 "Zend/zend_language_scanner.l"
                {
@@ -7148,43 +7091,43 @@ yy787:
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 7152 "Zend/zend_language_scanner.c"
-yy788:
-               YYDEBUG(788, *YYCURSOR);
+#line 7095 "Zend/zend_language_scanner.c"
+yy780:
+               YYDEBUG(780, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy785;
-yy789:
-               YYDEBUG(789, *YYCURSOR);
+               goto yy777;
+yy781:
+               YYDEBUG(781, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy790:
-               YYDEBUG(790, *YYCURSOR);
+yy782:
+               YYDEBUG(782, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy789;
+                       goto yy781;
                }
-               goto yy787;
-yy791:
-               YYDEBUG(791, *YYCURSOR);
+               goto yy779;
+yy783:
+               YYDEBUG(783, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(792, *YYCURSOR);
+               YYDEBUG(784, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1160 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 7177 "Zend/zend_language_scanner.c"
-yy793:
-               YYDEBUG(793, *YYCURSOR);
+#line 7120 "Zend/zend_language_scanner.c"
+yy785:
+               YYDEBUG(785, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy794:
-               YYDEBUG(794, *YYCURSOR);
+yy786:
+               YYDEBUG(786, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy793;
+                       goto yy785;
                }
-               goto yy783;
+               goto yy775;
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_VARNAME:
@@ -7223,27 +7166,27 @@ yyc_ST_LOOKING_FOR_VARNAME:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(795, *YYCURSOR);
+               YYDEBUG(787, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy799;
-                       if (yych <= 'Z') goto yy797;
-                       if (yych <= '^') goto yy799;
+                       if (yych <= '@') goto yy791;
+                       if (yych <= 'Z') goto yy789;
+                       if (yych <= '^') goto yy791;
                } else {
-                       if (yych <= '`') goto yy799;
-                       if (yych <= 'z') goto yy797;
-                       if (yych <= '~') goto yy799;
+                       if (yych <= '`') goto yy791;
+                       if (yych <= 'z') goto yy789;
+                       if (yych <= '~') goto yy791;
                }
-yy797:
-               YYDEBUG(797, *YYCURSOR);
+yy789:
+               YYDEBUG(789, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy802;
-yy798:
-               YYDEBUG(798, *YYCURSOR);
+               goto yy794;
+yy790:
+               YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1447 "Zend/zend_language_scanner.l"
+#line 1443 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -7251,42 +7194,42 @@ yy798:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 7255 "Zend/zend_language_scanner.c"
-yy799:
-               YYDEBUG(799, *YYCURSOR);
+#line 7198 "Zend/zend_language_scanner.c"
+yy791:
+               YYDEBUG(791, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(800, *YYCURSOR);
+               YYDEBUG(792, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1456 "Zend/zend_language_scanner.l"
+#line 1452 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 7268 "Zend/zend_language_scanner.c"
-yy801:
-               YYDEBUG(801, *YYCURSOR);
+#line 7211 "Zend/zend_language_scanner.c"
+yy793:
+               YYDEBUG(793, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy802:
-               YYDEBUG(802, *YYCURSOR);
+yy794:
+               YYDEBUG(794, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy801;
+                       goto yy793;
                }
-               goto yy798;
+               goto yy790;
        }
 /* *********************************** */
 yyc_ST_NOWDOC:
-       YYDEBUG(803, *YYCURSOR);
+       YYDEBUG(795, *YYCURSOR);
        YYFILL(1);
        yych = *YYCURSOR;
-       YYDEBUG(805, *YYCURSOR);
+       YYDEBUG(797, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(806, *YYCURSOR);
+       YYDEBUG(798, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2283 "Zend/zend_language_scanner.l"
+#line 2275 "Zend/zend_language_scanner.l"
        {
        int newline = 0;
 
@@ -7341,7 +7284,7 @@ nowdoc_scan_done:
        HANDLE_NEWLINES(yytext, yyleng - newline);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 7345 "Zend/zend_language_scanner.c"
+#line 7288 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
        {
@@ -7379,69 +7322,69 @@ yyc_ST_VAR_OFFSET:
                         32,  32,  32,  32,  32,  32,  32,  32, 
                         32,  32,  32,  32,  32,  32,  32,  32, 
                };
-               YYDEBUG(807, *YYCURSOR);
+               YYDEBUG(799, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '/') {
                        if (yych <= ' ') {
                                if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy821;
-                                       if (yych <= '\n') goto yy817;
-                                       goto yy821;
+                                       if (yych <= 0x08) goto yy813;
+                                       if (yych <= '\n') goto yy809;
+                                       goto yy813;
                                } else {
-                                       if (yych <= '\r') goto yy817;
-                                       if (yych <= 0x1F) goto yy821;
-                                       goto yy817;
+                                       if (yych <= '\r') goto yy809;
+                                       if (yych <= 0x1F) goto yy813;
+                                       goto yy809;
                                }
                        } else {
                                if (yych <= '$') {
-                                       if (yych <= '"') goto yy816;
-                                       if (yych <= '#') goto yy817;
-                                       goto yy812;
+                                       if (yych <= '"') goto yy808;
+                                       if (yych <= '#') goto yy809;
+                                       goto yy804;
                                } else {
-                                       if (yych == '\'') goto yy817;
-                                       goto yy816;
+                                       if (yych == '\'') goto yy809;
+                                       goto yy808;
                                }
                        }
                } else {
                        if (yych <= '\\') {
                                if (yych <= '@') {
-                                       if (yych <= '0') goto yy809;
-                                       if (yych <= '9') goto yy811;
-                                       goto yy816;
+                                       if (yych <= '0') goto yy801;
+                                       if (yych <= '9') goto yy803;
+                                       goto yy808;
                                } else {
-                                       if (yych <= 'Z') goto yy819;
-                                       if (yych <= '[') goto yy816;
-                                       goto yy817;
+                                       if (yych <= 'Z') goto yy811;
+                                       if (yych <= '[') goto yy808;
+                                       goto yy809;
                                }
                        } else {
                                if (yych <= '_') {
-                                       if (yych <= ']') goto yy814;
-                                       if (yych <= '^') goto yy816;
-                                       goto yy819;
+                                       if (yych <= ']') goto yy806;
+                                       if (yych <= '^') goto yy808;
+                                       goto yy811;
                                } else {
-                                       if (yych <= '`') goto yy816;
-                                       if (yych <= 'z') goto yy819;
-                                       if (yych <= '~') goto yy816;
-                                       goto yy819;
+                                       if (yych <= '`') goto yy808;
+                                       if (yych <= 'z') goto yy811;
+                                       if (yych <= '~') goto yy808;
+                                       goto yy811;
                                }
                        }
                }
-yy809:
-               YYDEBUG(809, *YYCURSOR);
+yy801:
+               YYDEBUG(801, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'W') {
-                       if (yych <= '/') goto yy810;
-                       if (yych <= '9') goto yy832;
+                       if (yych <= '/') goto yy802;
+                       if (yych <= '9') goto yy824;
                } else {
-                       if (yych <= 'X') goto yy830;
-                       if (yych == 'x') goto yy830;
+                       if (yych <= 'X') goto yy822;
+                       if (yych == 'x') goto yy822;
                }
-yy810:
-               YYDEBUG(810, *YYCURSOR);
+yy802:
+               YYDEBUG(802, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1506 "Zend/zend_language_scanner.l"
+#line 1502 "Zend/zend_language_scanner.l"
                { /* Offset could be treated as a long */
        if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
                zendlval->value.lval = strtol(yytext, NULL, 10);
@@ -7453,81 +7396,81 @@ yy810:
        }
        return T_NUM_STRING;
 }
-#line 7457 "Zend/zend_language_scanner.c"
-yy811:
-               YYDEBUG(811, *YYCURSOR);
+#line 7400 "Zend/zend_language_scanner.c"
+yy803:
+               YYDEBUG(803, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy829;
-yy812:
-               YYDEBUG(812, *YYCURSOR);
+               goto yy821;
+yy804:
+               YYDEBUG(804, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '_') {
-                       if (yych <= '@') goto yy813;
-                       if (yych <= 'Z') goto yy825;
-                       if (yych >= '_') goto yy825;
+                       if (yych <= '@') goto yy805;
+                       if (yych <= 'Z') goto yy817;
+                       if (yych >= '_') goto yy817;
                } else {
-                       if (yych <= '`') goto yy813;
-                       if (yych <= 'z') goto yy825;
-                       if (yych >= 0x7F) goto yy825;
+                       if (yych <= '`') goto yy805;
+                       if (yych <= 'z') goto yy817;
+                       if (yych >= 0x7F) goto yy817;
                }
-yy813:
-               YYDEBUG(813, *YYCURSOR);
+yy805:
+               YYDEBUG(805, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1811 "Zend/zend_language_scanner.l"
+#line 1803 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 7482 "Zend/zend_language_scanner.c"
-yy814:
-               YYDEBUG(814, *YYCURSOR);
+#line 7425 "Zend/zend_language_scanner.c"
+yy806:
+               YYDEBUG(806, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(815, *YYCURSOR);
+               YYDEBUG(807, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1806 "Zend/zend_language_scanner.l"
+#line 1798 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 7493 "Zend/zend_language_scanner.c"
-yy816:
-               YYDEBUG(816, *YYCURSOR);
+#line 7436 "Zend/zend_language_scanner.c"
+yy808:
+               YYDEBUG(808, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy813;
-yy817:
-               YYDEBUG(817, *YYCURSOR);
+               goto yy805;
+yy809:
+               YYDEBUG(809, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(818, *YYCURSOR);
+               YYDEBUG(810, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1816 "Zend/zend_language_scanner.l"
+#line 1808 "Zend/zend_language_scanner.l"
                {
        /* Invalid rule to return a more explicit parse error with proper line number */
        yyless(0);
        yy_pop_state(TSRMLS_C);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 7510 "Zend/zend_language_scanner.c"
-yy819:
-               YYDEBUG(819, *YYCURSOR);
+#line 7453 "Zend/zend_language_scanner.c"
+yy811:
+               YYDEBUG(811, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy824;
-yy820:
-               YYDEBUG(820, *YYCURSOR);
+               goto yy816;
+yy812:
+               YYDEBUG(812, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1823 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 7525 "Zend/zend_language_scanner.c"
-yy821:
-               YYDEBUG(821, *YYCURSOR);
+#line 7468 "Zend/zend_language_scanner.c"
+yy813:
+               YYDEBUG(813, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(822, *YYCURSOR);
+               YYDEBUG(814, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2339 "Zend/zend_language_scanner.l"
+#line 2331 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -7536,100 +7479,100 @@ yy821:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 7540 "Zend/zend_language_scanner.c"
-yy823:
-               YYDEBUG(823, *YYCURSOR);
+#line 7483 "Zend/zend_language_scanner.c"
+yy815:
+               YYDEBUG(815, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy824:
-               YYDEBUG(824, *YYCURSOR);
+yy816:
+               YYDEBUG(816, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy823;
+                       goto yy815;
                }
-               goto yy820;
-yy825:
-               YYDEBUG(825, *YYCURSOR);
+               goto yy812;
+yy817:
+               YYDEBUG(817, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(826, *YYCURSOR);
+               YYDEBUG(818, *YYCURSOR);
                if (yych <= '^') {
                        if (yych <= '9') {
-                               if (yych >= '0') goto yy825;
+                               if (yych >= '0') goto yy817;
                        } else {
-                               if (yych <= '@') goto yy827;
-                               if (yych <= 'Z') goto yy825;
+                               if (yych <= '@') goto yy819;
+                               if (yych <= 'Z') goto yy817;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy825;
+                               if (yych <= '_') goto yy817;
                        } else {
-                               if (yych <= 'z') goto yy825;
-                               if (yych >= 0x7F) goto yy825;
+                               if (yych <= 'z') goto yy817;
+                               if (yych >= 0x7F) goto yy817;
                        }
                }
-yy827:
-               YYDEBUG(827, *YYCURSOR);
+yy819:
+               YYDEBUG(819, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1800 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 7582 "Zend/zend_language_scanner.c"
-yy828:
-               YYDEBUG(828, *YYCURSOR);
+#line 7525 "Zend/zend_language_scanner.c"
+yy820:
+               YYDEBUG(820, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy829:
-               YYDEBUG(829, *YYCURSOR);
+yy821:
+               YYDEBUG(821, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy828;
+                       goto yy820;
                }
-               goto yy810;
-yy830:
-               YYDEBUG(830, *YYCURSOR);
+               goto yy802;
+yy822:
+               YYDEBUG(822, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy835;
+                       goto yy827;
                }
-               YYDEBUG(831, *YYCURSOR);
+               YYDEBUG(823, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy810;
-yy832:
-               YYDEBUG(832, *YYCURSOR);
+               goto yy802;
+yy824:
+               YYDEBUG(824, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(833, *YYCURSOR);
-               if (yych <= '/') goto yy834;
-               if (yych <= '9') goto yy832;
-yy834:
-               YYDEBUG(834, *YYCURSOR);
+               YYDEBUG(825, *YYCURSOR);
+               if (yych <= '/') goto yy826;
+               if (yych <= '9') goto yy824;
+yy826:
+               YYDEBUG(826, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1518 "Zend/zend_language_scanner.l"
+#line 1514 "Zend/zend_language_scanner.l"
                { /* Offset must be treated as a string */
        zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;
        zendlval->type = IS_STRING;
        return T_NUM_STRING;
 }
-#line 7621 "Zend/zend_language_scanner.c"
-yy835:
-               YYDEBUG(835, *YYCURSOR);
+#line 7564 "Zend/zend_language_scanner.c"
+yy827:
+               YYDEBUG(827, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(836, *YYCURSOR);
+               YYDEBUG(828, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy835;
+                       goto yy827;
                }
-               goto yy834;
+               goto yy826;
        }
 }
-#line 2348 "Zend/zend_language_scanner.l"
+#line 2340 "Zend/zend_language_scanner.l"
 
 }
index d504e11071eac8870125f56bbdf76646f0a5f621..cd329c61f942c77c555cccf42c1c5429620f59f3 100644 (file)
@@ -1206,10 +1206,6 @@ NEWLINE ("\r"|"\n"|"\r\n")
        return T_STRING_CAST;
 }
 
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}"scalar"{TABS_AND_SPACES}")" {
-       return T_SCALAR_CAST;
-}
-
 <ST_IN_SCRIPTING>"("{TABS_AND_SPACES}"array"{TABS_AND_SPACES}")" {
        return T_ARRAY_CAST;
 }
index 8ad31d30b71f2e321cdaddbff736103c3872584e..6f3efea38856aeb2d79e0242130b3970cce8d629 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun May  8 16:20:00 2011 */
+/* Generated by re2c 0.13.5 on Thu Jun  2 18:02:57 2011 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {
index 5e500ea635fabfe7af79325f3591971432dfc237..3740f473a2d84f650e2c6880f8903b2346881c48 100644 (file)
@@ -32,7 +32,6 @@ ZEND_API void _zval_dtor_func(zval *zvalue ZEND_FILE_LINE_DC)
        switch (Z_TYPE_P(zvalue) & IS_CONSTANT_TYPE_MASK) {
                case IS_STRING:
                case IS_CONSTANT:
-               case IS_CLASS:
                        CHECK_ZVAL_STRING_REL(zvalue);
                        STR_FREE_REL(zvalue->value.str.val);
                        break;