]> granicus.if.org Git - php/commitdiff
removing scalar types in trunk
authorStanislav Malyshev <stas@php.net>
Sun, 15 May 2011 00:36:13 +0000 (00:36 +0000)
committerStanislav Malyshev <stas@php.net>
Sun, 15 May 2011 00:36:13 +0000 (00:36 +0000)
15 files changed:
Zend/tests/hint/param_type_hint_002.phpt [deleted file]
Zend/tests/hint/param_type_hint_006.phpt [deleted file]
Zend/tests/hint/param_type_hint_007.phpt [deleted file]
Zend/tests/hint/param_type_hint_008.phpt [deleted file]
Zend/tests/hint/param_type_hint_009.phpt [deleted file]
Zend/tests/hint/param_type_hint_010.phpt [deleted file]
Zend/tests/hint/param_type_hint_016.phpt [deleted file]
Zend/tests/hint/param_type_hint_017.phpt [deleted file]
Zend/tests/hint/param_type_hint_018.phpt [deleted file]
Zend/tests/hint/param_type_hint_020.phpt [deleted file]
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
ext/reflection/php_reflection.c

diff --git a/Zend/tests/hint/param_type_hint_002.phpt b/Zend/tests/hint/param_type_hint_002.phpt
deleted file mode 100644 (file)
index 9ee92b1..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
---TEST--
-Parameter type hint - Reflection
---FILE--
-<?php
-
-function test(int $a, double $b, string $c, boolean $d = true, resource $e, array $f = array(), object $g) {
-}
-
-$func = new ReflectionFunction('test');
-Reflection::Export($func);
-
-foreach ($func->getParameters() as $i => $param) {
-    printf(
-        "-- Parameter #%d: %s {\n".
-        "   Allows NULL: %s\n".
-        "   Hint Type: %s\n".
-        "   Passed to by reference: %s\n".
-        "   Is optional?: %s\n",
-        $i, 
-        $param->getName(),
-        var_export($param->getClass(), 1),
-        $param->getTypeHint(),
-        var_export($param->allowsNull(), 1),
-        var_export($param->isPassedByReference(), 1),        
-        $param->isOptional() ? 'yes' : 'no'
-    );
-    printf("   Int: %d | Double: %d | Bool: %d | String: %d | Resource: %d | Array: %d | Object: %d\n", 
-       $param->isInt(), $param->isDouble(), $param->isBool(), $param->isString(),
-       $param->isResource(), $param->isArray(), $param->isObject());
-               print "}\n";
-}
-
-?>
---EXPECTF--
-Function [ <user> function test ] {
-  @@ %s 3 - 4
-
-  - Parameters [7] {
-    Parameter #0 [ <required> integer $a ]
-    Parameter #1 [ <required> double $b ]
-    Parameter #2 [ <required> string $c ]
-    Parameter #3 [ <required> boolean $d ]
-    Parameter #4 [ <required> resource $e ]
-    Parameter #5 [ <required> array $f ]
-    Parameter #6 [ <required> object $g ]
-  }
-}
-
--- Parameter #0: a {
-   Allows NULL: NULL
-   Hint Type: integer
-   Passed to by reference: false
-   Is optional?: false
-   Int: 1 | Double: 0 | Bool: 0 | String: 0 | Resource: 0 | Array: 0 | Object: 0
-}
--- Parameter #1: b {
-   Allows NULL: NULL
-   Hint Type: double
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 1 | Bool: 0 | String: 0 | Resource: 0 | Array: 0 | Object: 0
-}
--- Parameter #2: c {
-   Allows NULL: NULL
-   Hint Type: string
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 0 | Bool: 0 | String: 1 | Resource: 0 | Array: 0 | Object: 0
-}
--- Parameter #3: d {
-   Allows NULL: NULL
-   Hint Type: boolean
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 0 | Bool: 1 | String: 0 | Resource: 0 | Array: 0 | Object: 0
-}
--- Parameter #4: e {
-   Allows NULL: NULL
-   Hint Type: resource
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 0 | Bool: 0 | String: 0 | Resource: 1 | Array: 0 | Object: 0
-}
--- Parameter #5: f {
-   Allows NULL: NULL
-   Hint Type: array
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 0 | Bool: 0 | String: 0 | Resource: 0 | Array: 1 | Object: 0
-}
--- Parameter #6: g {
-   Allows NULL: NULL
-   Hint Type: object
-   Passed to by reference: false
-   Is optional?: false
-   Int: 0 | Double: 0 | Bool: 0 | String: 0 | Resource: 0 | Array: 0 | Object: 1
-}
diff --git a/Zend/tests/hint/param_type_hint_006.phpt b/Zend/tests/hint/param_type_hint_006.phpt
deleted file mode 100644 (file)
index 8948ea1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Parameter type hint - Testing NULL when allowed
---FILE--
-<?php
-
-function test_int(int $a = null) {
-}
-test_int(null);
-
-function test_double(double $a = null) {
-}
-test_double(null);
-
-function test_bool(bool $a = null) {
-}
-test_bool(null);
-
-print "Done";
-
-?>
---EXPECT--
-Done
diff --git a/Zend/tests/hint/param_type_hint_007.phpt b/Zend/tests/hint/param_type_hint_007.phpt
deleted file mode 100644 (file)
index bc885b8..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-Parameter type hint - Testing parameter with reference
---FILE--
-<?php
-
-/* string */
-function test_string(string &$a) {
-       $a .= '!!!';
-}
-
-$str = 'foo';
-test_string($str);
-var_dump($str);
-
-/* integer */
-function test_int(int &$b) {
-       $b += 2;
-}
-
-$b = 2;
-test_int($b);
-var_dump($b);
-
-/* object */
-function test_obj(object &$c) {
-       $c->tested = 1;
-}
-$c = new stdclass;
-test_obj($c);
-var_dump($c);
-
-?>
---EXPECT--
-string(6) "foo!!!"
-int(4)
-object(stdClass)#1 (1) {
-  ["tested"]=>
-  int(1)
-}
---UEXPECT--
-unicode(6) "foo!!!"
-int(4)
-object(stdClass)#1 (1) {
-  [u"tested"]=>
-  int(1)
-}
diff --git a/Zend/tests/hint/param_type_hint_008.phpt b/Zend/tests/hint/param_type_hint_008.phpt
deleted file mode 100644 (file)
index 4e193ac..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-Parameter type hint - Testing string type hint with reference
---FILE--
-<?php
-
-function test(string &$a) {
-       $a .= '!!!';
-}
-
-$x = 'foo';
-
-test($x);
-
-var_dump($x);
-
-?>
---EXPECT--
-string(6) "foo!!!"
---UEXPECT--
-unicode(6) "foo!!!"
diff --git a/Zend/tests/hint/param_type_hint_009.phpt b/Zend/tests/hint/param_type_hint_009.phpt
deleted file mode 100644 (file)
index a17fc0b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-Parameter type hint - Testing default parameter value
---FILE--
-<?php
-
-function test(string &$a, integer $x = 1) {
-       var_dump($x);
-}
-
-$y = 'foo';
-test($y, 2);
-test($y);
-
-?>
---EXPECT--
-int(2)
-int(1)
diff --git a/Zend/tests/hint/param_type_hint_010.phpt b/Zend/tests/hint/param_type_hint_010.phpt
deleted file mode 100644 (file)
index db96082..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Parameter type hint - Testing with heredoc
---FILE--
-<?php
-
-function test(string $str) {
-}
-
-test(<<<FOO
-test!
-FOO
-);
-
-test(<<<'FOO'
-test!
-FOO
-);
-
-test(<<<"FOO"
-test!
-FOO
-);
-
-print "Ok!";
-
-?>
---EXPECT--
-Ok!
diff --git a/Zend/tests/hint/param_type_hint_016.phpt b/Zend/tests/hint/param_type_hint_016.phpt
deleted file mode 100644 (file)
index 4df933d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Parameter type hint - Testing default parameter values
---FILE--
-<?php
-
-function test(string $a, bool $b = NULL, integer $c, double $d = NULL, $e) {
-       print "ok\n";
-}
-
-test('foo', NULL, 1, NULL, 'bar');
-test('foo', true, 0, -1., NULL);
-test('true', false, -1, 2.2222, 1.1);
-test('1.1', false, -1, 11111111111111111111111111, true);
-test('1', false, -1, NULL, new stdClass);
-
-?>
---EXPECT--
-ok
-ok
-ok
-ok
-ok
diff --git a/Zend/tests/hint/param_type_hint_017.phpt b/Zend/tests/hint/param_type_hint_017.phpt
deleted file mode 100644 (file)
index ddc2df8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---TEST--
-Parameter type hint - Testing default parameter values as constants
---FILE--
-<?php
-
-function test(int $foo = PHP_INT_MAX) {
-       print "ok\n";
-}
-
-test();
-
-?>
---EXPECT--
-ok
diff --git a/Zend/tests/hint/param_type_hint_018.phpt b/Zend/tests/hint/param_type_hint_018.phpt
deleted file mode 100644 (file)
index 9276fef..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-Parameter type hint - formatting
---FILE--
-<?php
-
-function test(int$foo) { print "ok\n";}
-test(1);
-
-function test2(int
-
-
-$foo) { print "ok\n";}
-test2(1);
-
-?>
---EXPECT--
-ok
-ok
diff --git a/Zend/tests/hint/param_type_hint_020.phpt b/Zend/tests/hint/param_type_hint_020.phpt
deleted file mode 100644 (file)
index e83d92a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---TEST--
-Parameter type hint - scalar type hints, default value
---FILE--
-<?php
-
-function bar1(scalar $param = null) {}
-function bar2(scalar $param = 123) {}
-function bar3(scalar $param = false) {}
-function bar4(scalar $param = 988.99) {}
-function bar5(scalar $param = "1233") {}
-function bar6(scalar $param = array(1,2,3)) {}
-
-?>
---EXPECTF--
-Fatal error: Default value for parameters with scalar type hint can only be scalar or NULL in %s on line 8
index 59d34db4e56bf7f14479a7f645d6cc60ec82c884..a42b153e67b5f189000f2a281235cdea7efada04 100644 (file)
 %token T_DOUBLE_ARROW
 %token T_LIST
 %token T_ARRAY
-%token T_BOOL_HINT
-%token T_STRING_HINT
-%token T_INT_HINT
-%token T_DOUBLE_HINT
-%token T_RESOURCE_HINT
-%token T_OBJECT_HINT
-%token T_SCALAR_HINT
-%token T_NUMERIC_HINT
 %token T_CLASS_C
 %token T_METHOD_C
 %token T_FUNC_C
@@ -475,14 +467,6 @@ 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; }
-       |       T_BOOL_HINT                                     { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_BOOL; }
-       |       T_STRING_HINT                                   { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_STRING; }
-       |       T_INT_HINT                                      { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_LONG; }
-       |       T_DOUBLE_HINT                                   { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_DOUBLE; }
-       |       T_RESOURCE_HINT                                 { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_RESOURCE; }
-       |       T_OBJECT_HINT                                   { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_OBJECT; }
-       |       T_SCALAR_HINT                                   { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_SCALAR; }
-       |       T_NUMERIC_HINT                                  { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_NUMERIC; }
        |       fully_qualified_class_name                      { $$ = $1; $$.op_type = IS_CONST; Z_TYPE($$.u.constant)=IS_CLASS; }
 ;
 
@@ -941,7 +925,7 @@ method:
                        { zend_do_end_function_call(&$1, &$$, &$3, 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
 ;
 
-method_or_not:                 
+method_or_not:
                method                                          { $$ = $1; $$.EA = ZEND_PARSED_METHOD_CALL; zend_do_push_object(&$$ TSRMLS_CC); }
        |       array_method_dereference        { $$ = $1; zend_do_push_object(&$$ TSRMLS_CC); }
        |       /* empty */ { $$.EA = ZEND_PARSED_MEMBER; }
@@ -964,7 +948,7 @@ variable_class_name:
 
 array_function_dereference:
                array_function_dereference '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); }
-       |       function_call { zend_do_begin_variable_parse(TSRMLS_C); $1.EA = ZEND_PARSED_FUNCTION_CALL; } 
+       |       function_call { zend_do_begin_variable_parse(TSRMLS_C); $1.EA = ZEND_PARSED_FUNCTION_CALL; }
                '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$4 TSRMLS_CC); }
 ;
 
index 574ef7aec5991916bcb6f5bd668b4901c99da5fc..5db41d7eede59df2918347f9ef67b9cb863ed5a9 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun Apr  3 14:18:11 2011 */
+/* Generated by re2c 0.13.5 on Sun May  8 16:20:00 2011 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -471,7 +471,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
 {
        char *file_path = NULL, *buf;
        size_t size, offset = 0;
-       
+
        /* The shebang line was read, get the current position to obtain the buffer start */
        if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
                if ((offset = ftell(file_handle->handle.fp)) == -1) {
@@ -498,7 +498,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
        if (size != -1) {
                if (CG(multibyte)) {
                        SCNG(script_org) = buf;
-                       SCNG(script_org_size) = size;   
+                       SCNG(script_org_size) = size;
                        SCNG(script_filtered) = NULL;
 
                        zend_multibyte_set_filter(NULL TSRMLS_CC);
@@ -1081,7 +1081,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1774 "Zend/zend_language_scanner.l"
+#line 1718 "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 1762 "Zend/zend_language_scanner.l"
+#line 1706 "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 1739 "Zend/zend_language_scanner.l"
+#line 1683 "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 1695 "Zend/zend_language_scanner.l"
+#line 1639 "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 1713 "Zend/zend_language_scanner.l"
+#line 1657 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1438,7 +1438,7 @@ yy45:
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1726 "Zend/zend_language_scanner.l"
+#line 1670 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1477,7 +1477,7 @@ yy50:
 yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1752 "Zend/zend_language_scanner.l"
+#line 1696 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1557,7 +1557,7 @@ yyc_ST_BACKQUOTE:
 yy56:
                YYDEBUG(56, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2225 "Zend/zend_language_scanner.l"
+#line 2169 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -1609,7 +1609,7 @@ yy58:
                ++YYCURSOR;
                YYDEBUG(59, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2169 "Zend/zend_language_scanner.l"
+#line 2113 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
@@ -1624,7 +1624,7 @@ yy61:
                ++YYCURSOR;
                YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2156 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -1647,7 +1647,7 @@ yy63:
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -1659,7 +1659,7 @@ yy66:
                ++YYCURSOR;
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1488 "Zend/zend_language_scanner.l"
+#line 1432 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -1678,7 +1678,7 @@ yy70:
                ++YYCURSOR;
                YYDEBUG(71, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1848 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1704,7 +1704,7 @@ yy73:
                ++YYCURSOR;
                YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1782 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1780,7 +1780,7 @@ yy77:
 yy78:
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2175 "Zend/zend_language_scanner.l"
+#line 2119 "Zend/zend_language_scanner.l"
                {
        if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
                YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1840,7 +1840,7 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2164 "Zend/zend_language_scanner.l"
+#line 2108 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
@@ -1855,7 +1855,7 @@ yy83:
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2156 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -1878,7 +1878,7 @@ yy85:
 yy87:
                YYDEBUG(87, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -1890,7 +1890,7 @@ yy88:
                ++YYCURSOR;
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1488 "Zend/zend_language_scanner.l"
+#line 1432 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -1909,7 +1909,7 @@ yy92:
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1848 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1935,7 +1935,7 @@ yy95:
                ++YYCURSOR;
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1782 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1954,7 +1954,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(100, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2143 "Zend/zend_language_scanner.l"
+#line 2087 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -2028,7 +2028,7 @@ yy103:
 yy104:
                YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2267 "Zend/zend_language_scanner.l"
+#line 2211 "Zend/zend_language_scanner.l"
                {
        int newline = 0;
 
@@ -2114,7 +2114,7 @@ yy107:
                ++YYCURSOR;
                YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2156 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2137,7 +2137,7 @@ yy109:
 yy111:
                YYDEBUG(111, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
@@ -2149,7 +2149,7 @@ yy112:
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1488 "Zend/zend_language_scanner.l"
+#line 1432 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -2168,7 +2168,7 @@ yy116:
                ++YYCURSOR;
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1848 "Zend/zend_language_scanner.l"
+#line 1792 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2194,7 +2194,7 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1838 "Zend/zend_language_scanner.l"
+#line 1782 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2209,37 +2209,37 @@ yyc_ST_IN_SCRIPTING:
        {
                static const unsigned char yybm[] = {
                          0,   0,   0,   0,   0,   0,   0,   0, 
-                         0, 224, 160,   0,   0, 160,   0,   0, 
+                         0, 192,  64,   0,   0,  64,   0,   0, 
                          0,   0,   0,   0,   0,   0,   0,   0, 
                          0,   0,   0,   0,   0,   0,   0,   0, 
-                       224,   0,   0,   0,   0,   0, 128,   0, 
+                       192,   0,   0,   0,   0,   0,   0,   0, 
                          0,   0,   0,   0,   0,   0,   0,   0, 
-                        28,  28,  28,  28,  28,  28,  28,  28
-                        28,  28,   0,   0,   0,   0,   0,   0, 
-                         0,  20,  20,  20,  20,  20,  20,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   0,   0,   0,   0,   4
-                         0,  20,  20,  20,  20,  20,  20,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   0,   0,   0,   0,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
-                         4,   4,   4,   4,   4,   4,   4,   4
+                        56,  56,  56,  56,  56,  56,  56,  56
+                        56,  56,   0,   0,   0,   0,   0,   0, 
+                         0,  40,  40,  40,  40,  40,  40,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   0,   0,   0,   0,   8
+                         0,  40,  40,  40,  40,  40,  40,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   0,   0,   0,   0,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
+                         8,   8,   8,   8,   8,   8,   8,   8
                };
                YYDEBUG(121, *YYCURSOR);
                YYFILL(16);
@@ -2279,12 +2279,12 @@ yyc_ST_IN_SCRIPTING:
                case '\n':
                case '\r':
                case ' ':       goto yy139;
-               case '!':       goto yy153;
+               case '!':       goto yy152;
                case '"':       goto yy179;
                case '#':       goto yy175;
                case '$':       goto yy164;
-               case '%':       goto yy159;
-               case '&':       goto yy160;
+               case '%':       goto yy158;
+               case '&':       goto yy159;
                case '\'':      goto yy177;
                case '(':       goto yy146;
                case ')':
@@ -2294,11 +2294,11 @@ yyc_ST_IN_SCRIPTING:
                case '[':
                case ']':
                case '~':       goto yy165;
-               case '*':       goto yy156;
-               case '+':       goto yy152;
+               case '*':       goto yy155;
+               case '+':       goto yy151;
                case '-':       goto yy137;
-               case '.':       goto yy158;
-               case '/':       goto yy157;
+               case '.':       goto yy157;
+               case '/':       goto yy156;
                case '0':       goto yy171;
                case '1':
                case '2':
@@ -2310,9 +2310,9 @@ yyc_ST_IN_SCRIPTING:
                case '8':
                case '9':       goto yy173;
                case ':':       goto yy141;
-               case '<':       goto yy154;
+               case '<':       goto yy153;
                case '=':       goto yy149;
-               case '>':       goto yy155;
+               case '>':       goto yy154;
                case '?':       goto yy166;
                case 'A':
                case 'a':       goto yy132;
@@ -2335,7 +2335,7 @@ yyc_ST_IN_SCRIPTING:
                case 'N':
                case 'n':       goto yy144;
                case 'O':
-               case 'o':       goto yy151;
+               case 'o':       goto yy162;
                case 'P':
                case 'p':       goto yy136;
                case 'R':
@@ -2353,11 +2353,11 @@ yyc_ST_IN_SCRIPTING:
                case 'X':
                case 'x':       goto yy163;
                case '\\':      goto yy142;
-               case '^':       goto yy162;
+               case '^':       goto yy161;
                case '_':       goto yy148;
                case '`':       goto yy181;
                case '{':       goto yy167;
-               case '|':       goto yy161;
+               case '|':       goto yy160;
                case '}':       goto yy169;
                default:        goto yy174;
                }
@@ -2367,23 +2367,23 @@ yy123:
                YYDEBUG(-1, yych);
                switch ((yych = *YYCURSOR)) {
                case 'C':
-               case 'c':       goto yy812;
+               case 'c':       goto yy715;
                case 'L':
-               case 'l':       goto yy813;
+               case 'l':       goto yy716;
                case 'M':
-               case 'm':       goto yy814;
+               case 'm':       goto yy717;
                case 'N':
-               case 'n':       goto yy815;
+               case 'n':       goto yy718;
                case 'V':
-               case 'v':       goto yy816;
+               case 'v':       goto yy719;
                case 'X':
-               case 'x':       goto yy817;
+               case 'x':       goto yy720;
                default:        goto yy186;
                }
 yy124:
                YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1879 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -2395,20 +2395,20 @@ yy125:
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'H') {
-                               if (yych == 'E') goto yy791;
+                               if (yych == 'E') goto yy697;
                                goto yy186;
                        } else {
-                               if (yych <= 'I') goto yy792;
+                               if (yych <= 'I') goto yy698;
                                if (yych <= 'N') goto yy186;
-                               goto yy793;
+                               goto yy699;
                        }
                } else {
                        if (yych <= 'h') {
-                               if (yych == 'e') goto yy791;
+                               if (yych == 'e') goto yy697;
                                goto yy186;
                        } else {
-                               if (yych <= 'i') goto yy792;
-                               if (yych == 'o') goto yy793;
+                               if (yych <= 'i') goto yy698;
+                               if (yych == 'o') goto yy699;
                                goto yy186;
                        }
                }
@@ -2416,28 +2416,22 @@ yy126:
                YYDEBUG(126, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych <= 'L') {
-                               if (yych == 'I') goto yy767;
-                               if (yych <= 'K') goto yy186;
-                               goto yy768;
+                       if (yych <= 'N') {
+                               if (yych == 'I') goto yy676;
+                               goto yy186;
                        } else {
-                               if (yych == 'O') goto yy769;
+                               if (yych <= 'O') goto yy677;
                                if (yych <= 'T') goto yy186;
-                               goto yy770;
+                               goto yy678;
                        }
                } else {
-                       if (yych <= 'l') {
-                               if (yych == 'i') goto yy767;
-                               if (yych <= 'k') goto yy186;
-                               goto yy768;
+                       if (yych <= 'n') {
+                               if (yych == 'i') goto yy676;
+                               goto yy186;
                        } else {
-                               if (yych <= 'o') {
-                                       if (yych <= 'n') goto yy186;
-                                       goto yy769;
-                               } else {
-                                       if (yych == 'u') goto yy770;
-                                       goto yy186;
-                               }
+                               if (yych <= 'o') goto yy677;
+                               if (yych == 'u') goto yy678;
+                               goto yy186;
                        }
                }
 yy127:
@@ -2445,42 +2439,42 @@ yy127:
                yych = *++YYCURSOR;
                if (yych <= 'O') {
                        if (yych <= 'K') {
-                               if (yych == 'A') goto yy739;
+                               if (yych == 'A') goto yy648;
                                goto yy186;
                        } else {
-                               if (yych <= 'L') goto yy740;
+                               if (yych <= 'L') goto yy649;
                                if (yych <= 'N') goto yy186;
-                               goto yy741;
+                               goto yy650;
                        }
                } else {
                        if (yych <= 'k') {
-                               if (yych == 'a') goto yy739;
+                               if (yych == 'a') goto yy648;
                                goto yy186;
                        } else {
-                               if (yych <= 'l') goto yy740;
-                               if (yych == 'o') goto yy741;
+                               if (yych <= 'l') goto yy649;
+                               if (yych == 'o') goto yy650;
                                goto yy186;
                        }
                }
 yy128:
                YYDEBUG(128, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy701;
-               if (yych == 'e') goto yy701;
+               if (yych == 'E') goto yy630;
+               if (yych == 'e') goto yy630;
                goto yy186;
 yy129:
                YYDEBUG(129, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'R') {
-                       if (yych == 'H') goto yy689;
+                       if (yych == 'H') goto yy618;
                        if (yych <= 'Q') goto yy186;
-                       goto yy690;
+                       goto yy619;
                } else {
                        if (yych <= 'h') {
                                if (yych <= 'g') goto yy186;
-                               goto yy689;
+                               goto yy618;
                        } else {
-                               if (yych == 'r') goto yy690;
+                               if (yych == 'r') goto yy619;
                                goto yy186;
                        }
                }
@@ -2489,53 +2483,53 @@ yy130:
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'L') {
-                               if (yych == 'F') goto yy634;
+                               if (yych == 'F') goto yy565;
                                goto yy186;
                        } else {
-                               if (yych <= 'M') goto yy636;
-                               if (yych <= 'N') goto yy637;
+                               if (yych <= 'M') goto yy567;
+                               if (yych <= 'N') goto yy568;
                                if (yych <= 'R') goto yy186;
-                               goto yy638;
+                               goto yy569;
                        }
                } else {
                        if (yych <= 'm') {
-                               if (yych == 'f') goto yy634;
+                               if (yych == 'f') goto yy565;
                                if (yych <= 'l') goto yy186;
-                               goto yy636;
+                               goto yy567;
                        } else {
-                               if (yych <= 'n') goto yy637;
-                               if (yych == 's') goto yy638;
+                               if (yych <= 'n') goto yy568;
+                               if (yych == 's') goto yy569;
                                goto yy186;
                        }
                }
 yy131:
                YYDEBUG(131, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy629;
-               if (yych == 'h') goto yy629;
+               if (yych == 'H') goto yy560;
+               if (yych == 'h') goto yy560;
                goto yy186;
 yy132:
                YYDEBUG(132, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
                        if (yych <= 'M') {
-                               if (yych == 'B') goto yy611;
+                               if (yych == 'B') goto yy542;
                                goto yy186;
                        } else {
-                               if (yych <= 'N') goto yy612;
+                               if (yych <= 'N') goto yy543;
                                if (yych <= 'Q') goto yy186;
-                               if (yych <= 'R') goto yy613;
-                               goto yy614;
+                               if (yych <= 'R') goto yy544;
+                               goto yy545;
                        }
                } else {
                        if (yych <= 'n') {
-                               if (yych == 'b') goto yy611;
+                               if (yych == 'b') goto yy542;
                                if (yych <= 'm') goto yy186;
-                               goto yy612;
+                               goto yy543;
                        } else {
                                if (yych <= 'q') goto yy186;
-                               if (yych <= 'r') goto yy613;
-                               if (yych <= 's') goto yy614;
+                               if (yych <= 'r') goto yy544;
+                               if (yych <= 's') goto yy545;
                                goto yy186;
                        }
                }
@@ -2543,21 +2537,15 @@ yy133:
                YYDEBUG(133, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'W') {
-                       if (yych <= 'S') {
-                               if (yych == 'C') goto yy585;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'T') goto yy586;
-                               if (yych <= 'V') goto yy186;
-                               goto yy587;
-                       }
+                       if (yych == 'T') goto yy530;
+                       if (yych <= 'V') goto yy186;
+                       goto yy531;
                } else {
-                       if (yych <= 's') {
-                               if (yych == 'c') goto yy585;
-                               goto yy186;
+                       if (yych <= 't') {
+                               if (yych <= 's') goto yy186;
+                               goto yy530;
                        } else {
-                               if (yych <= 't') goto yy586;
-                               if (yych == 'w') goto yy587;
+                               if (yych == 'w') goto yy531;
                                goto yy186;
                        }
                }
@@ -2565,53 +2553,37 @@ yy134:
                YYDEBUG(134, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= 'N') {
-                       if (yych <= '\'') {
-                               if (yych == '"') goto yy554;
-                               if (yych <= '&') goto yy186;
-                               goto yy555;
+               if (yych <= ';') {
+                       if (yych <= '"') {
+                               if (yych <= '!') goto yy186;
+                               goto yy522;
                        } else {
-                               if (yych <= '<') {
-                                       if (yych <= ';') goto yy186;
-                                       goto yy553;
-                               } else {
-                                       if (yych == 'I') goto yy556;
-                                       goto yy186;
-                               }
+                               if (yych == '\'') goto yy523;
+                               goto yy186;
                        }
                } else {
-                       if (yych <= 'i') {
-                               if (yych <= 'Q') {
-                                       if (yych <= 'O') goto yy557;
-                                       goto yy186;
-                               } else {
-                                       if (yych <= 'R') goto yy558;
-                                       if (yych <= 'h') goto yy186;
-                                       goto yy556;
-                               }
+                       if (yych <= 'R') {
+                               if (yych <= '<') goto yy521;
+                               if (yych <= 'Q') goto yy186;
+                               goto yy524;
                        } else {
-                               if (yych <= 'o') {
-                                       if (yych <= 'n') goto yy186;
-                                       goto yy557;
-                               } else {
-                                       if (yych == 'r') goto yy558;
-                                       goto yy186;
-                               }
+                               if (yych == 'r') goto yy524;
+                               goto yy186;
                        }
                }
 yy135:
                YYDEBUG(135, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'L') goto yy543;
+                       if (yych == 'L') goto yy511;
                        if (yych <= 'N') goto yy186;
-                       goto yy544;
+                       goto yy512;
                } else {
                        if (yych <= 'l') {
                                if (yych <= 'k') goto yy186;
-                               goto yy543;
+                               goto yy511;
                        } else {
-                               if (yych == 'o') goto yy544;
+                               if (yych == 'o') goto yy512;
                                goto yy186;
                        }
                }
@@ -2619,15 +2591,15 @@ yy136:
                YYDEBUG(136, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'R') goto yy519;
+                       if (yych == 'R') goto yy487;
                        if (yych <= 'T') goto yy186;
-                       goto yy520;
+                       goto yy488;
                } else {
                        if (yych <= 'r') {
                                if (yych <= 'q') goto yy186;
-                               goto yy519;
+                               goto yy487;
                        } else {
-                               if (yych == 'u') goto yy520;
+                               if (yych == 'u') goto yy488;
                                goto yy186;
                        }
                }
@@ -2635,24 +2607,24 @@ yy137:
                YYDEBUG(137, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '<') {
-                       if (yych == '-') goto yy515;
+                       if (yych == '-') goto yy483;
                } else {
-                       if (yych <= '=') goto yy513;
-                       if (yych <= '>') goto yy517;
+                       if (yych <= '=') goto yy481;
+                       if (yych <= '>') goto yy485;
                }
 yy138:
                YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1477 "Zend/zend_language_scanner.l"
+#line 1421 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 2651 "Zend/zend_language_scanner.c"
+#line 2623 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy512;
+               goto yy480;
 yy140:
                YYDEBUG(140, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
@@ -2664,11 +2636,11 @@ yy140:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 2668 "Zend/zend_language_scanner.c"
+#line 2640 "Zend/zend_language_scanner.c"
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == ':') goto yy509;
+               if (yych == ':') goto yy477;
                goto yy138;
 yy142:
                YYDEBUG(142, *YYCURSOR);
@@ -2679,34 +2651,28 @@ yy142:
                {
        return T_NS_SEPARATOR;
 }
-#line 2683 "Zend/zend_language_scanner.c"
+#line 2655 "Zend/zend_language_scanner.c"
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'U') {
-                       if (yych <= 'D') {
-                               if (yych == 'A') goto yy485;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'E') goto yy486;
-                               if (yych <= 'T') goto yy186;
-                               goto yy487;
-                       }
+               if (yych <= 'E') {
+                       if (yych == 'A') goto yy465;
+                       if (yych <= 'D') goto yy186;
+                       goto yy466;
                } else {
-                       if (yych <= 'd') {
-                               if (yych == 'a') goto yy485;
-                               goto yy186;
+                       if (yych <= 'a') {
+                               if (yych <= '`') goto yy186;
+                               goto yy465;
                        } else {
-                               if (yych <= 'e') goto yy486;
-                               if (yych == 'u') goto yy487;
+                               if (yych == 'e') goto yy466;
                                goto yy186;
                        }
                }
 yy145:
                YYDEBUG(145, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy482;
-               if (yych == 'a') goto yy482;
+               if (yych == 'A') goto yy462;
+               if (yych == 'a') goto yy462;
                goto yy186;
 yy146:
                YYDEBUG(146, *YYCURSOR);
@@ -2715,47 +2681,47 @@ yy146:
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy399;
+                                       if (yych == '\t') goto yy379;
                                        if (yych <= 0x1F) goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                } else {
                                        if (yych <= '@') goto yy138;
                                        if (yych == 'C') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy399;
+                                       if (yych == 'F') goto yy379;
                                        if (yych <= 'H') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                } else {
-                                       if (yych == 'O') goto yy399;
+                                       if (yych == 'O') goto yy379;
                                        if (yych <= 'Q') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'b') {
-                                       if (yych == 'U') goto yy399;
+                                       if (yych == 'U') goto yy379;
                                        if (yych <= '`') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                } else {
-                                       if (yych == 'd') goto yy399;
+                                       if (yych == 'd') goto yy379;
                                        if (yych <= 'e') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                }
                        } else {
                                if (yych <= 'o') {
-                                       if (yych == 'i') goto yy399;
+                                       if (yych == 'i') goto yy379;
                                        if (yych <= 'n') goto yy138;
-                                       goto yy399;
+                                       goto yy379;
                                } else {
                                        if (yych <= 's') {
                                                if (yych <= 'q') goto yy138;
-                                               goto yy399;
+                                               goto yy379;
                                        } else {
-                                               if (yych == 'u') goto yy399;
+                                               if (yych == 'u') goto yy379;
                                                goto yy138;
                                        }
                                }
@@ -2765,140 +2731,120 @@ yy147:
                YYDEBUG(147, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'S') {
-                       if (yych == 'N') goto yy390;
+                       if (yych == 'N') goto yy370;
                        if (yych <= 'R') goto yy186;
-                       goto yy391;
+                       goto yy371;
                } else {
                        if (yych <= 'n') {
                                if (yych <= 'm') goto yy186;
-                               goto yy390;
+                               goto yy370;
                        } else {
-                               if (yych == 's') goto yy391;
+                               if (yych == 's') goto yy371;
                                goto yy186;
                        }
                }
 yy148:
                YYDEBUG(148, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '_') goto yy316;
+               if (yych == '_') goto yy296;
                goto yy186;
 yy149:
                YYDEBUG(149, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= '<') goto yy138;
-               if (yych <= '=') goto yy310;
-               if (yych <= '>') goto yy312;
+               if (yych <= '=') goto yy290;
+               if (yych <= '>') goto yy292;
                goto yy138;
 yy150:
                YYDEBUG(150, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'O') {
-                       if (yych == 'I') goto yy297;
-                       if (yych <= 'N') goto yy186;
-                       goto yy298;
-               } else {
-                       if (yych <= 'i') {
-                               if (yych <= 'h') goto yy186;
-                               goto yy297;
-                       } else {
-                               if (yych == 'o') goto yy298;
-                               goto yy186;
-                       }
-               }
+               if (yych == 'I') goto yy286;
+               if (yych == 'i') goto yy286;
+               goto yy186;
 yy151:
                YYDEBUG(151, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= 'R') {
-                       if (yych == 'B') goto yy284;
-                       if (yych <= 'Q') goto yy186;
-                       goto yy285;
-               } else {
-                       if (yych <= 'b') {
-                               if (yych <= 'a') goto yy186;
-                               goto yy284;
-                       } else {
-                               if (yych == 'r') goto yy285;
-                               goto yy186;
-                       }
-               }
+               if (yych == '+') goto yy284;
+               if (yych == '=') goto yy282;
+               goto yy138;
 yy152:
                YYDEBUG(152, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '+') goto yy282;
-               if (yych == '=') goto yy280;
+               if (yych == '=') goto yy279;
                goto yy138;
 yy153:
                YYDEBUG(153, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == '=') goto yy277;
-               goto yy138;
-yy154:
-               YYDEBUG(154, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= ';') {
-                       if (yych == '/') goto yy249;
+                       if (yych == '/') goto yy251;
                        goto yy138;
                } else {
-                       if (yych <= '<') goto yy247;
-                       if (yych <= '=') goto yy250;
-                       if (yych <= '>') goto yy252;
+                       if (yych <= '<') goto yy249;
+                       if (yych <= '=') goto yy252;
+                       if (yych <= '>') goto yy254;
                        goto yy138;
                }
+yy154:
+               YYDEBUG(154, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= '<') goto yy138;
+               if (yych <= '=') goto yy245;
+               if (yych <= '>') goto yy243;
+               goto yy138;
 yy155:
                YYDEBUG(155, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '<') goto yy138;
-               if (yych <= '=') goto yy243;
-               if (yych <= '>') goto yy241;
+               if (yych == '=') goto yy241;
                goto yy138;
 yy156:
                YYDEBUG(156, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy239;
-               goto yy138;
-yy157:
-               YYDEBUG(157, *YYCURSOR);
-               yych = *++YYCURSOR;
                if (yych <= '.') {
-                       if (yych == '*') goto yy231;
+                       if (yych == '*') goto yy233;
                        goto yy138;
                } else {
-                       if (yych <= '/') goto yy233;
-                       if (yych == '=') goto yy234;
+                       if (yych <= '/') goto yy235;
+                       if (yych == '=') goto yy236;
                        goto yy138;
                }
+yy157:
+               YYDEBUG(157, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych <= '/') goto yy138;
+               if (yych <= '9') goto yy229;
+               if (yych == '=') goto yy231;
+               goto yy138;
 yy158:
                YYDEBUG(158, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '/') goto yy138;
-               if (yych <= '9') goto yy227;
-               if (yych == '=') goto yy229;
+               if (yych <= '<') goto yy138;
+               if (yych <= '=') goto yy225;
+               if (yych <= '>') goto yy223;
                goto yy138;
 yy159:
                YYDEBUG(159, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych <= '<') goto yy138;
-               if (yych <= '=') goto yy223;
-               if (yych <= '>') goto yy221;
+               if (yych == '&') goto yy219;
+               if (yych == '=') goto yy221;
                goto yy138;
 yy160:
                YYDEBUG(160, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '&') goto yy217;
-               if (yych == '=') goto yy219;
+               if (yych == '=') goto yy217;
+               if (yych == '|') goto yy215;
                goto yy138;
 yy161:
                YYDEBUG(161, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy215;
-               if (yych == '|') goto yy213;
+               if (yych == '=') goto yy213;
                goto yy138;
 yy162:
                YYDEBUG(162, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '=') goto yy211;
-               goto yy138;
+               if (yych == 'R') goto yy211;
+               if (yych == 'r') goto yy211;
+               goto yy186;
 yy163:
                YYDEBUG(163, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2933,18 +2879,18 @@ yy167:
                ++YYCURSOR;
                YYDEBUG(168, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1482 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 2942 "Zend/zend_language_scanner.c"
+#line 2888 "Zend/zend_language_scanner.c"
 yy169:
                YYDEBUG(169, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(170, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1494 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2952,7 +2898,7 @@ yy169:
        }
        return '}';
 }
-#line 2956 "Zend/zend_language_scanner.c"
+#line 2902 "Zend/zend_language_scanner.c"
 yy171:
                YYDEBUG(171, *YYCURSOR);
                yyaccept = 2;
@@ -2975,7 +2921,7 @@ yy171:
 yy172:
                YYDEBUG(172, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1520 "Zend/zend_language_scanner.l"
+#line 1464 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -2996,7 +2942,7 @@ yy172:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 3000 "Zend/zend_language_scanner.c"
+#line 2946 "Zend/zend_language_scanner.c"
 yy173:
                YYDEBUG(173, *YYCURSOR);
                yyaccept = 2;
@@ -3024,7 +2970,7 @@ yy175:
 yy176:
                YYDEBUG(176, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1886 "Zend/zend_language_scanner.l"
+#line 1830 "Zend/zend_language_scanner.l"
                {
        while (YYCURSOR < YYLIMIT) {
                switch (*YYCURSOR++) {
@@ -3058,14 +3004,14 @@ yy176:
 
        return T_COMMENT;
 }
-#line 3062 "Zend/zend_language_scanner.c"
+#line 3008 "Zend/zend_language_scanner.c"
 yy177:
                YYDEBUG(177, *YYCURSOR);
                ++YYCURSOR;
 yy178:
                YYDEBUG(178, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1977 "Zend/zend_language_scanner.l"
+#line 1921 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -3133,14 +3079,14 @@ yy178:
        }
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3137 "Zend/zend_language_scanner.c"
+#line 3083 "Zend/zend_language_scanner.c"
 yy179:
                YYDEBUG(179, *YYCURSOR);
                ++YYCURSOR;
 yy180:
                YYDEBUG(180, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2046 "Zend/zend_language_scanner.l"
+#line 1990 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
 
@@ -3181,24 +3127,24 @@ yy180:
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 3185 "Zend/zend_language_scanner.c"
+#line 3131 "Zend/zend_language_scanner.c"
 yy181:
                YYDEBUG(181, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2137 "Zend/zend_language_scanner.l"
+#line 2081 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3196 "Zend/zend_language_scanner.c"
+#line 3142 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(184, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2395 "Zend/zend_language_scanner.l"
+#line 2339 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -3207,7 +3153,7 @@ yy183:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 3211 "Zend/zend_language_scanner.c"
+#line 3157 "Zend/zend_language_scanner.c"
 yy185:
                YYDEBUG(185, *YYCURSOR);
                ++YYCURSOR;
@@ -3215,7 +3161,7 @@ yy185:
                yych = *YYCURSOR;
 yy186:
                YYDEBUG(186, *YYCURSOR);
-               if (yybm[0+yych] & 4) {
+               if (yybm[0+yych] & 8) {
                        goto yy185;
                }
                goto yy124;
@@ -3226,7 +3172,7 @@ yy187:
                YYFILL(3);
                yych = *YYCURSOR;
                YYDEBUG(188, *YYCURSOR);
-               if (yybm[0+yych] & 8) {
+               if (yybm[0+yych] & 16) {
                        goto yy187;
                }
                if (yych == 'E') goto yy192;
@@ -3234,13 +3180,13 @@ yy187:
 yy189:
                YYDEBUG(189, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1581 "Zend/zend_language_scanner.l"
+#line 1525 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 3244 "Zend/zend_language_scanner.c"
+#line 3190 "Zend/zend_language_scanner.c"
 yy190:
                YYDEBUG(190, *YYCURSOR);
                yyaccept = 2;
@@ -3287,10 +3233,10 @@ yy193:
                                if (yyaccept <= 3) {
                                        goto yy189;
                                } else {
-                                       goto yy232;
+                                       goto yy234;
                                }
                        } else {
-                               goto yy248;
+                               goto yy250;
                        }
                }
 yy194:
@@ -3310,7 +3256,7 @@ yy195:
 yy197:
                YYDEBUG(197, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yybm[0+yych] & 16) {
+               if (yybm[0+yych] & 32) {
                        goto yy198;
                }
                goto yy193;
@@ -3320,12 +3266,12 @@ yy198:
                YYFILL(1);
                yych = *YYCURSOR;
                YYDEBUG(199, *YYCURSOR);
-               if (yybm[0+yych] & 16) {
+               if (yybm[0+yych] & 32) {
                        goto yy198;
                }
                YYDEBUG(200, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1541 "Zend/zend_language_scanner.l"
+#line 1485 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -3346,7 +3292,7 @@ yy198:
                return T_DNUMBER;
        }
 }
-#line 3350 "Zend/zend_language_scanner.c"
+#line 3296 "Zend/zend_language_scanner.c"
 yy201:
                YYDEBUG(201, *YYCURSOR);
                ++YYCURSOR;
@@ -3355,7 +3301,7 @@ yy201:
 yy202:
                YYDEBUG(202, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1954 "Zend/zend_language_scanner.l"
+#line 1898 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3363,7 +3309,7 @@ yy202:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 3367 "Zend/zend_language_scanner.c"
+#line 3313 "Zend/zend_language_scanner.c"
 yy203:
                YYDEBUG(203, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3397,13 +3343,13 @@ yy205:
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3407 "Zend/zend_language_scanner.c"
+#line 3353 "Zend/zend_language_scanner.c"
 yy208:
                YYDEBUG(208, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3412,75 +3358,88 @@ yy208:
 yy209:
                YYDEBUG(209, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
                YYDEBUG(210, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1465 "Zend/zend_language_scanner.l"
+#line 1409 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 3425 "Zend/zend_language_scanner.c"
+#line 3371 "Zend/zend_language_scanner.c"
 yy211:
                YYDEBUG(211, *YYCURSOR);
                ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy185;
+               }
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1445 "Zend/zend_language_scanner.l"
+#line 1401 "Zend/zend_language_scanner.l"
                {
-       return T_XOR_EQUAL;
+       return T_LOGICAL_OR;
 }
-#line 3435 "Zend/zend_language_scanner.c"
+#line 3384 "Zend/zend_language_scanner.c"
 yy213:
                YYDEBUG(213, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(214, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1449 "Zend/zend_language_scanner.l"
+#line 1389 "Zend/zend_language_scanner.l"
                {
-       return T_BOOLEAN_OR;
+       return T_XOR_EQUAL;
 }
-#line 3445 "Zend/zend_language_scanner.c"
+#line 3394 "Zend/zend_language_scanner.c"
 yy215:
                YYDEBUG(215, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1441 "Zend/zend_language_scanner.l"
+#line 1393 "Zend/zend_language_scanner.l"
                {
-       return T_OR_EQUAL;
+       return T_BOOLEAN_OR;
 }
-#line 3455 "Zend/zend_language_scanner.c"
+#line 3404 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(218, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1453 "Zend/zend_language_scanner.l"
+#line 1385 "Zend/zend_language_scanner.l"
                {
-       return T_BOOLEAN_AND;
+       return T_OR_EQUAL;
 }
-#line 3465 "Zend/zend_language_scanner.c"
+#line 3414 "Zend/zend_language_scanner.c"
 yy219:
                YYDEBUG(219, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(220, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1437 "Zend/zend_language_scanner.l"
+#line 1397 "Zend/zend_language_scanner.l"
                {
-       return T_AND_EQUAL;
+       return T_BOOLEAN_AND;
 }
-#line 3475 "Zend/zend_language_scanner.c"
+#line 3424 "Zend/zend_language_scanner.c"
 yy221:
                YYDEBUG(221, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '\n') goto yy225;
-               if (yych == '\r') goto yy226;
-yy222:
                YYDEBUG(222, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1963 "Zend/zend_language_scanner.l"
+#line 1381 "Zend/zend_language_scanner.l"
+               {
+       return T_AND_EQUAL;
+}
+#line 3434 "Zend/zend_language_scanner.c"
+yy223:
+               YYDEBUG(223, *YYCURSOR);
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '\n') goto yy227;
+               if (yych == '\r') goto yy228;
+yy224:
+               YYDEBUG(224, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1907 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -3493,61 +3452,61 @@ yy222:
                return yytext[0];
        }
 }
-#line 3497 "Zend/zend_language_scanner.c"
-yy223:
-               YYDEBUG(223, *YYCURSOR);
+#line 3456 "Zend/zend_language_scanner.c"
+yy225:
+               YYDEBUG(225, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(224, *YYCURSOR);
+               YYDEBUG(226, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1425 "Zend/zend_language_scanner.l"
+#line 1369 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 3507 "Zend/zend_language_scanner.c"
-yy225:
-               YYDEBUG(225, *YYCURSOR);
-               yych = *++YYCURSOR;
-               goto yy222;
-yy226:
-               YYDEBUG(226, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == '\n') goto yy225;
-               goto yy222;
+#line 3466 "Zend/zend_language_scanner.c"
 yy227:
                YYDEBUG(227, *YYCURSOR);
+               yych = *++YYCURSOR;
+               goto yy224;
+yy228:
+               YYDEBUG(228, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy227;
+               goto yy224;
+yy229:
+               YYDEBUG(229, *YYCURSOR);
                yyaccept = 3;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(228, *YYCURSOR);
+               YYDEBUG(230, *YYCURSOR);
                if (yych <= 'D') {
                        if (yych <= '/') goto yy189;
-                       if (yych <= '9') goto yy227;
+                       if (yych <= '9') goto yy229;
                        goto yy189;
                } else {
                        if (yych <= 'E') goto yy192;
                        if (yych == 'e') goto yy192;
                        goto yy189;
                }
-yy229:
-               YYDEBUG(229, *YYCURSOR);
+yy231:
+               YYDEBUG(231, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(230, *YYCURSOR);
+               YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1421 "Zend/zend_language_scanner.l"
+#line 1365 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 3542 "Zend/zend_language_scanner.c"
-yy231:
-               YYDEBUG(231, *YYCURSOR);
+#line 3501 "Zend/zend_language_scanner.c"
+yy233:
+               YYDEBUG(233, *YYCURSOR);
                yyaccept = 4;
                yych = *(YYMARKER = ++YYCURSOR);
-               if (yych == '*') goto yy236;
-yy232:
-               YYDEBUG(232, *YYCURSOR);
+               if (yych == '*') goto yy238;
+yy234:
+               YYDEBUG(234, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1920 "Zend/zend_language_scanner.l"
+#line 1864 "Zend/zend_language_scanner.l"
                {
        int doc_com;
 
@@ -3581,281 +3540,281 @@ yy232:
 
        return T_COMMENT;
 }
-#line 3585 "Zend/zend_language_scanner.c"
-yy233:
-               YYDEBUG(233, *YYCURSOR);
+#line 3544 "Zend/zend_language_scanner.c"
+yy235:
+               YYDEBUG(235, *YYCURSOR);
                yych = *++YYCURSOR;
                goto yy176;
-yy234:
-               YYDEBUG(234, *YYCURSOR);
+yy236:
+               YYDEBUG(236, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(235, *YYCURSOR);
+               YYDEBUG(237, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1417 "Zend/zend_language_scanner.l"
+#line 1361 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 3599 "Zend/zend_language_scanner.c"
-yy236:
-               YYDEBUG(236, *YYCURSOR);
+#line 3558 "Zend/zend_language_scanner.c"
+yy238:
+               YYDEBUG(238, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yybm[0+yych] & 32) {
-                       goto yy237;
+               if (yybm[0+yych] & 64) {
+                       goto yy239;
                }
                goto yy193;
-yy237:
-               YYDEBUG(237, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(238, *YYCURSOR);
-               if (yybm[0+yych] & 32) {
-                       goto yy237;
-               }
-               goto yy232;
 yy239:
                YYDEBUG(239, *YYCURSOR);
                ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
                YYDEBUG(240, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
-               {
-       return T_MUL_EQUAL;
-}
-#line 3626 "Zend/zend_language_scanner.c"
+               if (yybm[0+yych] & 64) {
+                       goto yy239;
+               }
+               goto yy234;
 yy241:
                YYDEBUG(241, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy245;
                YYDEBUG(242, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1473 "Zend/zend_language_scanner.l"
+#line 1357 "Zend/zend_language_scanner.l"
                {
-       return T_SR;
+       return T_MUL_EQUAL;
 }
-#line 3637 "Zend/zend_language_scanner.c"
+#line 3585 "Zend/zend_language_scanner.c"
 yy243:
                YYDEBUG(243, *YYCURSOR);
                ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '=') goto yy247;
                YYDEBUG(244, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1401 "Zend/zend_language_scanner.l"
+#line 1417 "Zend/zend_language_scanner.l"
                {
-       return T_IS_GREATER_OR_EQUAL;
+       return T_SR;
 }
-#line 3647 "Zend/zend_language_scanner.c"
+#line 3596 "Zend/zend_language_scanner.c"
 yy245:
                YYDEBUG(245, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(246, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1433 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
                {
-       return T_SR_EQUAL;
+       return T_IS_GREATER_OR_EQUAL;
 }
-#line 3657 "Zend/zend_language_scanner.c"
+#line 3606 "Zend/zend_language_scanner.c"
 yy247:
                YYDEBUG(247, *YYCURSOR);
-               yyaccept = 5;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= ';') goto yy248;
-               if (yych <= '<') goto yy263;
-               if (yych <= '=') goto yy261;
-yy248:
+               ++YYCURSOR;
                YYDEBUG(248, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1469 "Zend/zend_language_scanner.l"
+#line 1377 "Zend/zend_language_scanner.l"
                {
-       return T_SL;
+       return T_SR_EQUAL;
 }
-#line 3672 "Zend/zend_language_scanner.c"
+#line 3616 "Zend/zend_language_scanner.c"
 yy249:
                YYDEBUG(249, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy254;
-               if (yych == 's') goto yy254;
-               goto yy193;
+               yyaccept = 5;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= ';') goto yy250;
+               if (yych <= '<') goto yy265;
+               if (yych <= '=') goto yy263;
 yy250:
                YYDEBUG(250, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(251, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1397 "Zend/zend_language_scanner.l"
+#line 1413 "Zend/zend_language_scanner.l"
                {
-       return T_IS_SMALLER_OR_EQUAL;
+       return T_SL;
 }
-#line 3688 "Zend/zend_language_scanner.c"
+#line 3631 "Zend/zend_language_scanner.c"
+yy251:
+               YYDEBUG(251, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy256;
+               if (yych == 's') goto yy256;
+               goto yy193;
 yy252:
                YYDEBUG(252, *YYCURSOR);
                ++YYCURSOR;
-yy253:
                YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1393 "Zend/zend_language_scanner.l"
+#line 1341 "Zend/zend_language_scanner.l"
                {
-       return T_IS_NOT_EQUAL;
+       return T_IS_SMALLER_OR_EQUAL;
 }
-#line 3699 "Zend/zend_language_scanner.c"
+#line 3647 "Zend/zend_language_scanner.c"
 yy254:
                YYDEBUG(254, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy255;
-               if (yych != 'c') goto yy193;
+               ++YYCURSOR;
 yy255:
                YYDEBUG(255, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy256;
-               if (yych != 'r') goto yy193;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 1337 "Zend/zend_language_scanner.l"
+               {
+       return T_IS_NOT_EQUAL;
+}
+#line 3658 "Zend/zend_language_scanner.c"
 yy256:
                YYDEBUG(256, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy257;
-               if (yych != 'i') goto yy193;
+               if (yych == 'C') goto yy257;
+               if (yych != 'c') goto yy193;
 yy257:
                YYDEBUG(257, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy258;
-               if (yych != 'p') goto yy193;
+               if (yych == 'R') goto yy258;
+               if (yych != 'r') goto yy193;
 yy258:
                YYDEBUG(258, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy259;
-               if (yych != 't') goto yy193;
+               if (yych == 'I') goto yy259;
+               if (yych != 'i') goto yy193;
 yy259:
                YYDEBUG(259, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'P') goto yy260;
+               if (yych != 'p') goto yy193;
+yy260:
+               YYDEBUG(260, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'T') goto yy261;
+               if (yych != 't') goto yy193;
+yy261:
+               YYDEBUG(261, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-               YYDEBUG(260, *YYCURSOR);
+               YYDEBUG(262, *YYCURSOR);
                if (yych <= '\r') {
                        if (yych <= 0x08) goto yy193;
-                       if (yych <= '\n') goto yy259;
+                       if (yych <= '\n') goto yy261;
                        if (yych <= '\f') goto yy193;
-                       goto yy259;
+                       goto yy261;
                } else {
                        if (yych <= ' ') {
                                if (yych <= 0x1F) goto yy193;
-                               goto yy259;
+                               goto yy261;
                        } else {
                                if (yych == '>') goto yy201;
                                goto yy193;
                        }
                }
-yy261:
-               YYDEBUG(261, *YYCURSOR);
+yy263:
+               YYDEBUG(263, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(262, *YYCURSOR);
+               YYDEBUG(264, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1429 "Zend/zend_language_scanner.l"
+#line 1373 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 3754 "Zend/zend_language_scanner.c"
-yy263:
-               YYDEBUG(263, *YYCURSOR);
+#line 3713 "Zend/zend_language_scanner.c"
+yy265:
+               YYDEBUG(265, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(264, *YYCURSOR);
-               if (yybm[0+yych] & 64) {
-                       goto yy263;
+               YYDEBUG(266, *YYCURSOR);
+               if (yybm[0+yych] & 128) {
+                       goto yy265;
                }
                if (yych <= 'Z') {
                        if (yych <= '&') {
-                               if (yych == '"') goto yy268;
+                               if (yych == '"') goto yy270;
                                goto yy193;
                        } else {
-                               if (yych <= '\'') goto yy267;
+                               if (yych <= '\'') goto yy269;
                                if (yych <= '@') goto yy193;
                        }
                } else {
                        if (yych <= '`') {
                                if (yych != '_') goto yy193;
                        } else {
-                               if (yych <= 'z') goto yy265;
+                               if (yych <= 'z') goto yy267;
                                if (yych <= '~') goto yy193;
                        }
                }
-yy265:
-               YYDEBUG(265, *YYCURSOR);
+yy267:
+               YYDEBUG(267, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
-               YYDEBUG(266, *YYCURSOR);
+               YYDEBUG(268, *YYCURSOR);
                if (yych <= '@') {
                        if (yych <= '\f') {
-                               if (yych == '\n') goto yy272;
+                               if (yych == '\n') goto yy274;
                                goto yy193;
                        } else {
-                               if (yych <= '\r') goto yy274;
+                               if (yych <= '\r') goto yy276;
                                if (yych <= '/') goto yy193;
-                               if (yych <= '9') goto yy265;
+                               if (yych <= '9') goto yy267;
                                goto yy193;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy265;
+                               if (yych <= 'Z') goto yy267;
                                if (yych <= '^') goto yy193;
-                               goto yy265;
+                               goto yy267;
                        } else {
                                if (yych <= '`') goto yy193;
-                               if (yych <= 'z') goto yy265;
+                               if (yych <= 'z') goto yy267;
                                if (yych <= '~') goto yy193;
-                               goto yy265;
+                               goto yy267;
                        }
                }
-yy267:
-               YYDEBUG(267, *YYCURSOR);
+yy269:
+               YYDEBUG(269, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == '\'') goto yy193;
-               if (yych <= '/') goto yy276;
+               if (yych <= '/') goto yy278;
                if (yych <= '9') goto yy193;
-               goto yy276;
-yy268:
-               YYDEBUG(268, *YYCURSOR);
+               goto yy278;
+yy270:
+               YYDEBUG(270, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == '"') goto yy193;
-               if (yych <= '/') goto yy270;
+               if (yych <= '/') goto yy272;
                if (yych <= '9') goto yy193;
-               goto yy270;
-yy269:
-               YYDEBUG(269, *YYCURSOR);
+               goto yy272;
+yy271:
+               YYDEBUG(271, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-yy270:
-               YYDEBUG(270, *YYCURSOR);
+yy272:
+               YYDEBUG(272, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
                                if (yych != '"') goto yy193;
                        } else {
-                               if (yych <= '9') goto yy269;
+                               if (yych <= '9') goto yy271;
                                if (yych <= '@') goto yy193;
-                               goto yy269;
+                               goto yy271;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy269;
+                               if (yych == '_') goto yy271;
                                goto yy193;
                        } else {
-                               if (yych <= 'z') goto yy269;
+                               if (yych <= 'z') goto yy271;
                                if (yych <= '~') goto yy193;
-                               goto yy269;
+                               goto yy271;
                        }
                }
-yy271:
-               YYDEBUG(271, *YYCURSOR);
+yy273:
+               YYDEBUG(273, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy272;
-               if (yych == '\r') goto yy274;
+               if (yych == '\n') goto yy274;
+               if (yych == '\r') goto yy276;
                goto yy193;
-yy272:
-               YYDEBUG(272, *YYCURSOR);
+yy274:
+               YYDEBUG(274, *YYCURSOR);
                ++YYCURSOR;
-yy273:
-               YYDEBUG(273, *YYCURSOR);
+yy275:
+               YYDEBUG(275, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2088 "Zend/zend_language_scanner.l"
+#line 2032 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3903,449 +3862,247 @@ yy273:
 
        return T_START_HEREDOC;
 }
-#line 3907 "Zend/zend_language_scanner.c"
-yy274:
-               YYDEBUG(274, *YYCURSOR);
+#line 3866 "Zend/zend_language_scanner.c"
+yy276:
+               YYDEBUG(276, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '\n') goto yy272;
-               goto yy273;
-yy275:
-               YYDEBUG(275, *YYCURSOR);
+               if (yych == '\n') goto yy274;
+               goto yy275;
+yy277:
+               YYDEBUG(277, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
-yy276:
-               YYDEBUG(276, *YYCURSOR);
+yy278:
+               YYDEBUG(278, *YYCURSOR);
                if (yych <= 'Z') {
                        if (yych <= '/') {
-                               if (yych == '\'') goto yy271;
+                               if (yych == '\'') goto yy273;
                                goto yy193;
                        } else {
-                               if (yych <= '9') goto yy275;
+                               if (yych <= '9') goto yy277;
                                if (yych <= '@') goto yy193;
-                               goto yy275;
+                               goto yy277;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych == '_') goto yy275;
+                               if (yych == '_') goto yy277;
                                goto yy193;
                        } else {
-                               if (yych <= 'z') goto yy275;
+                               if (yych <= 'z') goto yy277;
                                if (yych <= '~') goto yy193;
-                               goto yy275;
+                               goto yy277;
                        }
                }
-yy277:
-               YYDEBUG(277, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych != '=') goto yy253;
-               YYDEBUG(278, *YYCURSOR);
-               ++YYCURSOR;
+yy279:
                YYDEBUG(279, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1385 "Zend/zend_language_scanner.l"
-               {
-       return T_IS_NOT_IDENTICAL;
-}
-#line 3951 "Zend/zend_language_scanner.c"
-yy280:
+               yych = *++YYCURSOR;
+               if (yych != '=') goto yy255;
                YYDEBUG(280, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(281, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1405 "Zend/zend_language_scanner.l"
+#line 1329 "Zend/zend_language_scanner.l"
                {
-       return T_PLUS_EQUAL;
+       return T_IS_NOT_IDENTICAL;
 }
-#line 3961 "Zend/zend_language_scanner.c"
+#line 3910 "Zend/zend_language_scanner.c"
 yy282:
                YYDEBUG(282, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(283, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1373 "Zend/zend_language_scanner.l"
+#line 1349 "Zend/zend_language_scanner.l"
                {
-       return T_INC;
+       return T_PLUS_EQUAL;
 }
-#line 3971 "Zend/zend_language_scanner.c"
+#line 3920 "Zend/zend_language_scanner.c"
 yy284:
                YYDEBUG(284, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'J') goto yy287;
-               if (yych == 'j') goto yy287;
-               goto yy186;
-yy285:
-               YYDEBUG(285, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
-                       goto yy185;
-               }
-               YYDEBUG(286, *YYCURSOR);
+               YYDEBUG(285, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1457 "Zend/zend_language_scanner.l"
+#line 1317 "Zend/zend_language_scanner.l"
                {
-       return T_LOGICAL_OR;
+       return T_INC;
 }
-#line 3990 "Zend/zend_language_scanner.c"
+#line 3930 "Zend/zend_language_scanner.c"
+yy286:
+               YYDEBUG(286, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy287;
+               if (yych != 's') goto yy186;
 yy287:
                YYDEBUG(287, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy288;
-               if (yych != 'e') goto yy186;
+               if (yych == 'T') goto yy288;
+               if (yych != 't') goto yy186;
 yy288:
                YYDEBUG(288, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy289;
-               if (yych != 'c') goto yy186;
-yy289:
-               YYDEBUG(289, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy290;
-               if (yych != 't') goto yy186;
-yy290:
-               YYDEBUG(290, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy292;
-                       } else {
-                               if (yych == '\r') goto yy292;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy292;
-                               if (yych <= '#') goto yy124;
-                               goto yy292;
-                       } else {
-                               if (yych == '&') goto yy292;
-                               goto yy124;
-                       }
-               }
-yy291:
-               YYDEBUG(291, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy292:
-               YYDEBUG(292, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy291;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy291;
-                               if (yych <= '#') goto yy193;
-                               goto yy295;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy293:
-               YYDEBUG(293, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(294, *YYCURSOR);
-               if (yybm[0+yych] & 128) {
-                       goto yy293;
-               }
-               if (yych != '$') goto yy193;
-yy295:
-               YYDEBUG(295, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(296, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1368 "Zend/zend_language_scanner.l"
-               {
-       yyless((sizeof("object") - 1));
-       return T_OBJECT_HINT;
-}
-#line 4074 "Zend/zend_language_scanner.c"
-yy297:
-               YYDEBUG(297, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy307;
-               if (yych == 's') goto yy307;
-               goto yy186;
-yy298:
-               YYDEBUG(298, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy299;
-               if (yych != 'n') goto yy186;
-yy299:
-               YYDEBUG(299, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'G') goto yy300;
-               if (yych != 'g') goto yy186;
-yy300:
-               YYDEBUG(300, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy302;
-                       } else {
-                               if (yych == '\r') goto yy302;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy302;
-                               if (yych <= '#') goto yy124;
-                               goto yy302;
-                       } else {
-                               if (yych == '&') goto yy302;
-                               goto yy124;
-                       }
-               }
-yy301:
-               YYDEBUG(301, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy302:
-               YYDEBUG(302, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy301;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy301;
-                               if (yych <= '#') goto yy193;
-                               goto yy305;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy303:
-               YYDEBUG(303, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(304, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy303;
-                       } else {
-                               if (yych == '\r') goto yy303;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy303;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy303;
-                               goto yy193;
-                       }
-               }
-yy305:
-               YYDEBUG(305, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(306, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1341 "Zend/zend_language_scanner.l"
-               {
-       if (yytext[3] == 'e') {
-               yyless((sizeof("integer") - 1));
-       } else  if (yytext[3] == 'g') {
-               yyless((sizeof("long") - 1));
-       } else {
-               yyless(3);
-       }
-       return T_INT_HINT;
-}
-#line 4178 "Zend/zend_language_scanner.c"
-yy307:
-               YYDEBUG(307, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy308;
-               if (yych != 't') goto yy186;
-yy308:
-               YYDEBUG(308, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(309, *YYCURSOR);
+               YYDEBUG(289, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1309 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 4196 "Zend/zend_language_scanner.c"
-yy310:
-               YYDEBUG(310, *YYCURSOR);
+#line 3953 "Zend/zend_language_scanner.c"
+yy290:
+               YYDEBUG(290, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '=') goto yy314;
-               YYDEBUG(311, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '=') goto yy294;
+               YYDEBUG(291, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1389 "Zend/zend_language_scanner.l"
+#line 1333 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 4207 "Zend/zend_language_scanner.c"
-yy312:
-               YYDEBUG(312, *YYCURSOR);
+#line 3964 "Zend/zend_language_scanner.c"
+yy292:
+               YYDEBUG(292, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(313, *YYCURSOR);
+               YYDEBUG(293, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1305 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 4217 "Zend/zend_language_scanner.c"
-yy314:
-               YYDEBUG(314, *YYCURSOR);
+#line 3974 "Zend/zend_language_scanner.c"
+yy294:
+               YYDEBUG(294, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(315, *YYCURSOR);
+               YYDEBUG(295, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1381 "Zend/zend_language_scanner.l"
+#line 1325 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 4227 "Zend/zend_language_scanner.c"
-yy316:
-               YYDEBUG(316, *YYCURSOR);
+#line 3984 "Zend/zend_language_scanner.c"
+yy296:
+               YYDEBUG(296, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'C':
-               case 'c':       goto yy318;
+               case 'c':       goto yy298;
                case 'D':
-               case 'd':       goto yy322;
+               case 'd':       goto yy302;
                case 'F':
-               case 'f':       goto yy319;
+               case 'f':       goto yy299;
                case 'H':
-               case 'h':       goto yy317;
+               case 'h':       goto yy297;
                case 'L':
-               case 'l':       goto yy321;
+               case 'l':       goto yy301;
                case 'M':
-               case 'm':       goto yy320;
+               case 'm':       goto yy300;
                case 'N':
-               case 'n':       goto yy323;
+               case 'n':       goto yy303;
                default:        goto yy186;
                }
-yy317:
-               YYDEBUG(317, *YYCURSOR);
+yy297:
+               YYDEBUG(297, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy377;
-               if (yych == 'a') goto yy377;
+               if (yych == 'A') goto yy357;
+               if (yych == 'a') goto yy357;
                goto yy186;
-yy318:
-               YYDEBUG(318, *YYCURSOR);
+yy298:
+               YYDEBUG(298, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy370;
-               if (yych == 'l') goto yy370;
+               if (yych == 'L') goto yy350;
+               if (yych == 'l') goto yy350;
                goto yy186;
-yy319:
-               YYDEBUG(319, *YYCURSOR);
+yy299:
+               YYDEBUG(299, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
-                       if (yych == 'I') goto yy354;
+                       if (yych == 'I') goto yy334;
                        if (yych <= 'T') goto yy186;
-                       goto yy355;
+                       goto yy335;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy186;
-                               goto yy354;
+                               goto yy334;
                        } else {
-                               if (yych == 'u') goto yy355;
+                               if (yych == 'u') goto yy335;
                                goto yy186;
                        }
                }
-yy320:
-               YYDEBUG(320, *YYCURSOR);
+yy300:
+               YYDEBUG(300, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy346;
-               if (yych == 'e') goto yy346;
+               if (yych == 'E') goto yy326;
+               if (yych == 'e') goto yy326;
                goto yy186;
-yy321:
-               YYDEBUG(321, *YYCURSOR);
+yy301:
+               YYDEBUG(301, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy340;
-               if (yych == 'i') goto yy340;
+               if (yych == 'I') goto yy320;
+               if (yych == 'i') goto yy320;
                goto yy186;
-yy322:
-               YYDEBUG(322, *YYCURSOR);
+yy302:
+               YYDEBUG(302, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy335;
-               if (yych == 'i') goto yy335;
+               if (yych == 'I') goto yy315;
+               if (yych == 'i') goto yy315;
                goto yy186;
-yy323:
-               YYDEBUG(323, *YYCURSOR);
+yy303:
+               YYDEBUG(303, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy324;
+               if (yych == 'A') goto yy304;
                if (yych != 'a') goto yy186;
-yy324:
-               YYDEBUG(324, *YYCURSOR);
+yy304:
+               YYDEBUG(304, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy325;
+               if (yych == 'M') goto yy305;
                if (yych != 'm') goto yy186;
-yy325:
-               YYDEBUG(325, *YYCURSOR);
+yy305:
+               YYDEBUG(305, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy326;
+               if (yych == 'E') goto yy306;
                if (yych != 'e') goto yy186;
-yy326:
-               YYDEBUG(326, *YYCURSOR);
+yy306:
+               YYDEBUG(306, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy327;
+               if (yych == 'S') goto yy307;
                if (yych != 's') goto yy186;
-yy327:
-               YYDEBUG(327, *YYCURSOR);
+yy307:
+               YYDEBUG(307, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy328;
+               if (yych == 'P') goto yy308;
                if (yych != 'p') goto yy186;
-yy328:
-               YYDEBUG(328, *YYCURSOR);
+yy308:
+               YYDEBUG(308, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy329;
+               if (yych == 'A') goto yy309;
                if (yych != 'a') goto yy186;
-yy329:
-               YYDEBUG(329, *YYCURSOR);
+yy309:
+               YYDEBUG(309, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy330;
+               if (yych == 'C') goto yy310;
                if (yych != 'c') goto yy186;
-yy330:
-               YYDEBUG(330, *YYCURSOR);
+yy310:
+               YYDEBUG(310, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy331;
+               if (yych == 'E') goto yy311;
                if (yych != 'e') goto yy186;
-yy331:
-               YYDEBUG(331, *YYCURSOR);
+yy311:
+               YYDEBUG(311, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(332, *YYCURSOR);
+               YYDEBUG(312, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(333, *YYCURSOR);
+               YYDEBUG(313, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(334, *YYCURSOR);
+               YYDEBUG(314, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1685 "Zend/zend_language_scanner.l"
+#line 1629 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -4355,27 +4112,27 @@ yy331:
        }
        return T_NS_C;
 }
-#line 4359 "Zend/zend_language_scanner.c"
-yy335:
-               YYDEBUG(335, *YYCURSOR);
+#line 4116 "Zend/zend_language_scanner.c"
+yy315:
+               YYDEBUG(315, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy336;
+               if (yych == 'R') goto yy316;
                if (yych != 'r') goto yy186;
-yy336:
-               YYDEBUG(336, *YYCURSOR);
+yy316:
+               YYDEBUG(316, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(337, *YYCURSOR);
+               YYDEBUG(317, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(338, *YYCURSOR);
+               YYDEBUG(318, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(339, *YYCURSOR);
+               YYDEBUG(319, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1658 "Zend/zend_language_scanner.l"
+#line 1602 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -4402,73 +4159,73 @@ yy336:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 4406 "Zend/zend_language_scanner.c"
-yy340:
-               YYDEBUG(340, *YYCURSOR);
+#line 4163 "Zend/zend_language_scanner.c"
+yy320:
+               YYDEBUG(320, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy341;
+               if (yych == 'N') goto yy321;
                if (yych != 'n') goto yy186;
-yy341:
-               YYDEBUG(341, *YYCURSOR);
+yy321:
+               YYDEBUG(321, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy342;
+               if (yych == 'E') goto yy322;
                if (yych != 'e') goto yy186;
-yy342:
-               YYDEBUG(342, *YYCURSOR);
+yy322:
+               YYDEBUG(322, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(343, *YYCURSOR);
+               YYDEBUG(323, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(344, *YYCURSOR);
+               YYDEBUG(324, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(345, *YYCURSOR);
+               YYDEBUG(325, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1640 "Zend/zend_language_scanner.l"
+#line 1584 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 4437 "Zend/zend_language_scanner.c"
-yy346:
-               YYDEBUG(346, *YYCURSOR);
+#line 4194 "Zend/zend_language_scanner.c"
+yy326:
+               YYDEBUG(326, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy347;
+               if (yych == 'T') goto yy327;
                if (yych != 't') goto yy186;
-yy347:
-               YYDEBUG(347, *YYCURSOR);
+yy327:
+               YYDEBUG(327, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy348;
+               if (yych == 'H') goto yy328;
                if (yych != 'h') goto yy186;
-yy348:
-               YYDEBUG(348, *YYCURSOR);
+yy328:
+               YYDEBUG(328, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy349;
+               if (yych == 'O') goto yy329;
                if (yych != 'o') goto yy186;
-yy349:
-               YYDEBUG(349, *YYCURSOR);
+yy329:
+               YYDEBUG(329, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy350;
+               if (yych == 'D') goto yy330;
                if (yych != 'd') goto yy186;
-yy350:
-               YYDEBUG(350, *YYCURSOR);
+yy330:
+               YYDEBUG(330, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(351, *YYCURSOR);
+               YYDEBUG(331, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(352, *YYCURSOR);
+               YYDEBUG(332, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(353, *YYCURSOR);
+               YYDEBUG(333, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1619 "Zend/zend_language_scanner.l"
+#line 1563 "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;
@@ -4481,7 +4238,7 @@ yy350:
                len += strlen(func_name);
        }
 
-       zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s", 
+       zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
                class_name ? class_name : "",
                class_name && func_name ? "::" : "",
                func_name ? func_name : ""
@@ -4489,58 +4246,58 @@ yy350:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 4493 "Zend/zend_language_scanner.c"
-yy354:
-               YYDEBUG(354, *YYCURSOR);
+#line 4250 "Zend/zend_language_scanner.c"
+yy334:
+               YYDEBUG(334, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy365;
-               if (yych == 'l') goto yy365;
+               if (yych == 'L') goto yy345;
+               if (yych == 'l') goto yy345;
                goto yy186;
-yy355:
-               YYDEBUG(355, *YYCURSOR);
+yy335:
+               YYDEBUG(335, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy356;
+               if (yych == 'N') goto yy336;
                if (yych != 'n') goto yy186;
-yy356:
-               YYDEBUG(356, *YYCURSOR);
+yy336:
+               YYDEBUG(336, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy357;
+               if (yych == 'C') goto yy337;
                if (yych != 'c') goto yy186;
-yy357:
-               YYDEBUG(357, *YYCURSOR);
+yy337:
+               YYDEBUG(337, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy358;
+               if (yych == 'T') goto yy338;
                if (yych != 't') goto yy186;
-yy358:
-               YYDEBUG(358, *YYCURSOR);
+yy338:
+               YYDEBUG(338, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy359;
+               if (yych == 'I') goto yy339;
                if (yych != 'i') goto yy186;
-yy359:
-               YYDEBUG(359, *YYCURSOR);
+yy339:
+               YYDEBUG(339, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy360;
+               if (yych == 'O') goto yy340;
                if (yych != 'o') goto yy186;
-yy360:
-               YYDEBUG(360, *YYCURSOR);
+yy340:
+               YYDEBUG(340, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy361;
+               if (yych == 'N') goto yy341;
                if (yych != 'n') goto yy186;
-yy361:
-               YYDEBUG(361, *YYCURSOR);
+yy341:
+               YYDEBUG(341, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(362, *YYCURSOR);
+               YYDEBUG(342, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(363, *YYCURSOR);
+               YYDEBUG(343, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(364, *YYCURSOR);
+               YYDEBUG(344, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1603 "Zend/zend_language_scanner.l"
+#line 1547 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -4556,27 +4313,27 @@ yy361:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 4560 "Zend/zend_language_scanner.c"
-yy365:
-               YYDEBUG(365, *YYCURSOR);
+#line 4317 "Zend/zend_language_scanner.c"
+yy345:
+               YYDEBUG(345, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy366;
+               if (yych == 'E') goto yy346;
                if (yych != 'e') goto yy186;
-yy366:
-               YYDEBUG(366, *YYCURSOR);
+yy346:
+               YYDEBUG(346, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(367, *YYCURSOR);
+               YYDEBUG(347, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(368, *YYCURSOR);
+               YYDEBUG(348, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(369, *YYCURSOR);
+               YYDEBUG(349, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1646 "Zend/zend_language_scanner.l"
+#line 1590 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -4588,37 +4345,37 @@ yy366:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 4592 "Zend/zend_language_scanner.c"
-yy370:
-               YYDEBUG(370, *YYCURSOR);
+#line 4349 "Zend/zend_language_scanner.c"
+yy350:
+               YYDEBUG(350, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy371;
+               if (yych == 'A') goto yy351;
                if (yych != 'a') goto yy186;
-yy371:
-               YYDEBUG(371, *YYCURSOR);
+yy351:
+               YYDEBUG(351, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy372;
+               if (yych == 'S') goto yy352;
                if (yych != 's') goto yy186;
-yy372:
-               YYDEBUG(372, *YYCURSOR);
+yy352:
+               YYDEBUG(352, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy373;
+               if (yych == 'S') goto yy353;
                if (yych != 's') goto yy186;
-yy373:
-               YYDEBUG(373, *YYCURSOR);
+yy353:
+               YYDEBUG(353, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(374, *YYCURSOR);
+               YYDEBUG(354, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(375, *YYCURSOR);
+               YYDEBUG(355, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(376, *YYCURSOR);
+               YYDEBUG(356, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1587 "Zend/zend_language_scanner.l"
+#line 1531 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -4634,3470 +4391,2653 @@ yy373:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 4638 "Zend/zend_language_scanner.c"
-yy377:
-               YYDEBUG(377, *YYCURSOR);
+#line 4395 "Zend/zend_language_scanner.c"
+yy357:
+               YYDEBUG(357, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy378;
+               if (yych == 'L') goto yy358;
                if (yych != 'l') goto yy186;
-yy378:
-               YYDEBUG(378, *YYCURSOR);
+yy358:
+               YYDEBUG(358, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy379;
+               if (yych == 'T') goto yy359;
                if (yych != 't') goto yy186;
-yy379:
-               YYDEBUG(379, *YYCURSOR);
+yy359:
+               YYDEBUG(359, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych != '_') goto yy186;
-               YYDEBUG(380, *YYCURSOR);
+               YYDEBUG(360, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy381;
+               if (yych == 'C') goto yy361;
                if (yych != 'c') goto yy186;
-yy381:
-               YYDEBUG(381, *YYCURSOR);
+yy361:
+               YYDEBUG(361, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy382;
+               if (yych == 'O') goto yy362;
                if (yych != 'o') goto yy186;
-yy382:
-               YYDEBUG(382, *YYCURSOR);
+yy362:
+               YYDEBUG(362, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy383;
+               if (yych == 'M') goto yy363;
                if (yych != 'm') goto yy186;
-yy383:
-               YYDEBUG(383, *YYCURSOR);
+yy363:
+               YYDEBUG(363, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy384;
+               if (yych == 'P') goto yy364;
                if (yych != 'p') goto yy186;
-yy384:
-               YYDEBUG(384, *YYCURSOR);
+yy364:
+               YYDEBUG(364, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy385;
+               if (yych == 'I') goto yy365;
                if (yych != 'i') goto yy186;
-yy385:
-               YYDEBUG(385, *YYCURSOR);
+yy365:
+               YYDEBUG(365, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy386;
+               if (yych == 'L') goto yy366;
                if (yych != 'l') goto yy186;
-yy386:
-               YYDEBUG(386, *YYCURSOR);
+yy366:
+               YYDEBUG(366, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy387;
+               if (yych == 'E') goto yy367;
                if (yych != 'e') goto yy186;
-yy387:
-               YYDEBUG(387, *YYCURSOR);
+yy367:
+               YYDEBUG(367, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy388;
+               if (yych == 'R') goto yy368;
                if (yych != 'r') goto yy186;
-yy388:
-               YYDEBUG(388, *YYCURSOR);
+yy368:
+               YYDEBUG(368, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(389, *YYCURSOR);
+               YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1273 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 4704 "Zend/zend_language_scanner.c"
-yy390:
-               YYDEBUG(390, *YYCURSOR);
+#line 4461 "Zend/zend_language_scanner.c"
+yy370:
+               YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy394;
-               if (yych == 's') goto yy394;
+               if (yych == 'S') goto yy374;
+               if (yych == 's') goto yy374;
                goto yy186;
-yy391:
-               YYDEBUG(391, *YYCURSOR);
+yy371:
+               YYDEBUG(371, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy392;
+               if (yych == 'E') goto yy372;
                if (yych != 'e') goto yy186;
-yy392:
-               YYDEBUG(392, *YYCURSOR);
+yy372:
+               YYDEBUG(372, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(393, *YYCURSOR);
+               YYDEBUG(373, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1253 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 4728 "Zend/zend_language_scanner.c"
-yy394:
-               YYDEBUG(394, *YYCURSOR);
+#line 4485 "Zend/zend_language_scanner.c"
+yy374:
+               YYDEBUG(374, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy395;
+               if (yych == 'E') goto yy375;
                if (yych != 'e') goto yy186;
-yy395:
-               YYDEBUG(395, *YYCURSOR);
+yy375:
+               YYDEBUG(375, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy396;
+               if (yych == 'T') goto yy376;
                if (yych != 't') goto yy186;
-yy396:
-               YYDEBUG(396, *YYCURSOR);
+yy376:
+               YYDEBUG(376, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(397, *YYCURSOR);
+               YYDEBUG(377, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1301 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 4751 "Zend/zend_language_scanner.c"
-yy398:
-               YYDEBUG(398, *YYCURSOR);
+#line 4508 "Zend/zend_language_scanner.c"
+yy378:
+               YYDEBUG(378, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(7);
                yych = *YYCURSOR;
-yy399:
-               YYDEBUG(399, *YYCURSOR);
+yy379:
+               YYDEBUG(379, *YYCURSOR);
                if (yych <= 'S') {
                        if (yych <= 'D') {
                                if (yych <= ' ') {
-                                       if (yych == '\t') goto yy398;
+                                       if (yych == '\t') goto yy378;
                                        if (yych <= 0x1F) goto yy193;
-                                       goto yy398;
+                                       goto yy378;
                                } else {
                                        if (yych <= 'A') {
                                                if (yych <= '@') goto yy193;
-                                               goto yy403;
+                                               goto yy383;
                                        } else {
-                                               if (yych <= 'B') goto yy401;
+                                               if (yych <= 'B') goto yy381;
                                                if (yych <= 'C') goto yy193;
-                                               goto yy406;
+                                               goto yy386;
                                        }
                                }
                        } else {
                                if (yych <= 'I') {
-                                       if (yych == 'F') goto yy407;
+                                       if (yych == 'F') goto yy387;
                                        if (yych <= 'H') goto yy193;
-                                       goto yy408;
+                                       goto yy388;
                                } else {
                                        if (yych <= 'O') {
                                                if (yych <= 'N') goto yy193;
-                                               goto yy402;
+                                               goto yy382;
                                        } else {
                                                if (yych <= 'Q') goto yy193;
-                                               if (yych <= 'R') goto yy405;
-                                               goto yy404;
+                                               if (yych <= 'R') goto yy385;
+                                               goto yy384;
                                        }
                                }
                        }
                } else {
                        if (yych <= 'f') {
                                if (yych <= 'a') {
-                                       if (yych == 'U') goto yy400;
+                                       if (yych == 'U') goto yy380;
                                        if (yych <= '`') goto yy193;
-                                       goto yy403;
+                                       goto yy383;
                                } else {
                                        if (yych <= 'c') {
-                                               if (yych <= 'b') goto yy401;
+                                               if (yych <= 'b') goto yy381;
                                                goto yy193;
                                        } else {
-                                               if (yych <= 'd') goto yy406;
+                                               if (yych <= 'd') goto yy386;
                                                if (yych <= 'e') goto yy193;
-                                               goto yy407;
+                                               goto yy387;
                                        }
                                }
                        } else {
                                if (yych <= 'q') {
                                        if (yych <= 'i') {
                                                if (yych <= 'h') goto yy193;
-                                               goto yy408;
+                                               goto yy388;
                                        } else {
-                                               if (yych == 'o') goto yy402;
+                                               if (yych == 'o') goto yy382;
                                                goto yy193;
                                        }
                                } else {
                                        if (yych <= 's') {
-                                               if (yych <= 'r') goto yy405;
-                                               goto yy404;
+                                               if (yych <= 'r') goto yy385;
+                                               goto yy384;
                                        } else {
                                                if (yych != 'u') goto yy193;
                                        }
                                }
                        }
                }
-yy400:
-               YYDEBUG(400, *YYCURSOR);
+yy380:
+               YYDEBUG(380, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy475;
-               if (yych == 'n') goto yy475;
+               if (yych == 'N') goto yy455;
+               if (yych == 'n') goto yy455;
                goto yy193;
-yy401:
-               YYDEBUG(401, *YYCURSOR);
+yy381:
+               YYDEBUG(381, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy462;
+                       if (yych == 'I') goto yy442;
                        if (yych <= 'N') goto yy193;
-                       goto yy463;
+                       goto yy443;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy193;
-                               goto yy462;
+                               goto yy442;
                        } else {
-                               if (yych == 'o') goto yy463;
+                               if (yych == 'o') goto yy443;
                                goto yy193;
                        }
                }
-yy402:
-               YYDEBUG(402, *YYCURSOR);
+yy382:
+               YYDEBUG(382, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy454;
-               if (yych == 'b') goto yy454;
+               if (yych == 'B') goto yy434;
+               if (yych == 'b') goto yy434;
                goto yy193;
-yy403:
-               YYDEBUG(403, *YYCURSOR);
+yy383:
+               YYDEBUG(383, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy447;
-               if (yych == 'r') goto yy447;
+               if (yych == 'R') goto yy427;
+               if (yych == 'r') goto yy427;
                goto yy193;
-yy404:
-               YYDEBUG(404, *YYCURSOR);
+yy384:
+               YYDEBUG(384, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'C') goto yy432;
+                       if (yych == 'C') goto yy412;
                        if (yych <= 'S') goto yy193;
-                       goto yy431;
+                       goto yy411;
                } else {
                        if (yych <= 'c') {
                                if (yych <= 'b') goto yy193;
-                               goto yy432;
+                               goto yy412;
                        } else {
-                               if (yych == 't') goto yy431;
+                               if (yych == 't') goto yy411;
                                goto yy193;
                        }
                }
-yy405:
-               YYDEBUG(405, *YYCURSOR);
+yy385:
+               YYDEBUG(385, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy429;
-               if (yych == 'e') goto yy429;
+               if (yych == 'E') goto yy409;
+               if (yych == 'e') goto yy409;
                goto yy193;
-yy406:
-               YYDEBUG(406, *YYCURSOR);
+yy386:
+               YYDEBUG(386, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy425;
-               if (yych == 'o') goto yy425;
+               if (yych == 'O') goto yy405;
+               if (yych == 'o') goto yy405;
                goto yy193;
-yy407:
-               YYDEBUG(407, *YYCURSOR);
+yy387:
+               YYDEBUG(387, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy418;
-               if (yych == 'l') goto yy418;
+               if (yych == 'L') goto yy398;
+               if (yych == 'l') goto yy398;
                goto yy193;
-yy408:
-               YYDEBUG(408, *YYCURSOR);
+yy388:
+               YYDEBUG(388, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy409;
+               if (yych == 'N') goto yy389;
                if (yych != 'n') goto yy193;
-yy409:
-               YYDEBUG(409, *YYCURSOR);
+yy389:
+               YYDEBUG(389, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy410;
+               if (yych == 'T') goto yy390;
                if (yych != 't') goto yy193;
-yy410:
-               YYDEBUG(410, *YYCURSOR);
+yy390:
+               YYDEBUG(390, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy411;
-               if (yych != 'e') goto yy413;
-yy411:
-               YYDEBUG(411, *YYCURSOR);
+               if (yych == 'E') goto yy391;
+               if (yych != 'e') goto yy393;
+yy391:
+               YYDEBUG(391, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy416;
-               if (yych == 'g') goto yy416;
+               if (yych == 'G') goto yy396;
+               if (yych == 'g') goto yy396;
                goto yy193;
-yy412:
-               YYDEBUG(412, *YYCURSOR);
+yy392:
+               YYDEBUG(392, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy413:
-               YYDEBUG(413, *YYCURSOR);
+yy393:
+               YYDEBUG(393, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy412;
+                       if (yych == '\t') goto yy392;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy412;
+                       if (yych <= ' ') goto yy392;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(414, *YYCURSOR);
+               YYDEBUG(394, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(415, *YYCURSOR);
+               YYDEBUG(395, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1197 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 4937 "Zend/zend_language_scanner.c"
-yy416:
-               YYDEBUG(416, *YYCURSOR);
+#line 4694 "Zend/zend_language_scanner.c"
+yy396:
+               YYDEBUG(396, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy417;
+               if (yych == 'E') goto yy397;
                if (yych != 'e') goto yy193;
-yy417:
-               YYDEBUG(417, *YYCURSOR);
+yy397:
+               YYDEBUG(397, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy412;
-               if (yych == 'r') goto yy412;
+               if (yych == 'R') goto yy392;
+               if (yych == 'r') goto yy392;
                goto yy193;
-yy418:
-               YYDEBUG(418, *YYCURSOR);
+yy398:
+               YYDEBUG(398, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy419;
+               if (yych == 'O') goto yy399;
                if (yych != 'o') goto yy193;
-yy419:
-               YYDEBUG(419, *YYCURSOR);
+yy399:
+               YYDEBUG(399, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy420;
+               if (yych == 'A') goto yy400;
                if (yych != 'a') goto yy193;
-yy420:
-               YYDEBUG(420, *YYCURSOR);
+yy400:
+               YYDEBUG(400, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy421;
+               if (yych == 'T') goto yy401;
                if (yych != 't') goto yy193;
-yy421:
-               YYDEBUG(421, *YYCURSOR);
+yy401:
+               YYDEBUG(401, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(422, *YYCURSOR);
+               YYDEBUG(402, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy421;
+                       if (yych == '\t') goto yy401;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy421;
+                       if (yych <= ' ') goto yy401;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(423, *YYCURSOR);
+               YYDEBUG(403, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(424, *YYCURSOR);
+               YYDEBUG(404, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1201 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 4985 "Zend/zend_language_scanner.c"
-yy425:
-               YYDEBUG(425, *YYCURSOR);
+#line 4742 "Zend/zend_language_scanner.c"
+yy405:
+               YYDEBUG(405, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy426;
+               if (yych == 'U') goto yy406;
                if (yych != 'u') goto yy193;
-yy426:
-               YYDEBUG(426, *YYCURSOR);
+yy406:
+               YYDEBUG(406, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy427;
+               if (yych == 'B') goto yy407;
                if (yych != 'b') goto yy193;
-yy427:
-               YYDEBUG(427, *YYCURSOR);
+yy407:
+               YYDEBUG(407, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy428;
+               if (yych == 'L') goto yy408;
                if (yych != 'l') goto yy193;
-yy428:
-               YYDEBUG(428, *YYCURSOR);
+yy408:
+               YYDEBUG(408, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy421;
-               if (yych == 'e') goto yy421;
+               if (yych == 'E') goto yy401;
+               if (yych == 'e') goto yy401;
                goto yy193;
-yy429:
-               YYDEBUG(429, *YYCURSOR);
+yy409:
+               YYDEBUG(409, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy430;
+               if (yych == 'A') goto yy410;
                if (yych != 'a') goto yy193;
-yy430:
-               YYDEBUG(430, *YYCURSOR);
+yy410:
+               YYDEBUG(410, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy421;
-               if (yych == 'l') goto yy421;
+               if (yych == 'L') goto yy401;
+               if (yych == 'l') goto yy401;
                goto yy193;
-yy431:
-               YYDEBUG(431, *YYCURSOR);
+yy411:
+               YYDEBUG(411, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy440;
-               if (yych == 'r') goto yy440;
+               if (yych == 'R') goto yy420;
+               if (yych == 'r') goto yy420;
                goto yy193;
-yy432:
-               YYDEBUG(432, *YYCURSOR);
+yy412:
+               YYDEBUG(412, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy433;
+               if (yych == 'A') goto yy413;
                if (yych != 'a') goto yy193;
-yy433:
-               YYDEBUG(433, *YYCURSOR);
+yy413:
+               YYDEBUG(413, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy434;
+               if (yych == 'L') goto yy414;
                if (yych != 'l') goto yy193;
-yy434:
-               YYDEBUG(434, *YYCURSOR);
+yy414:
+               YYDEBUG(414, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy435;
+               if (yych == 'A') goto yy415;
                if (yych != 'a') goto yy193;
-yy435:
-               YYDEBUG(435, *YYCURSOR);
+yy415:
+               YYDEBUG(415, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy436;
+               if (yych == 'R') goto yy416;
                if (yych != 'r') goto yy193;
-yy436:
-               YYDEBUG(436, *YYCURSOR);
+yy416:
+               YYDEBUG(416, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(437, *YYCURSOR);
+               YYDEBUG(417, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy436;
+                       if (yych == '\t') goto yy416;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy436;
+                       if (yych <= ' ') goto yy416;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(438, *YYCURSOR);
+               YYDEBUG(418, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(439, *YYCURSOR);
+               YYDEBUG(419, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1209 "Zend/zend_language_scanner.l"
                {
        return T_SCALAR_CAST;
 }
-#line 5065 "Zend/zend_language_scanner.c"
-yy440:
-               YYDEBUG(440, *YYCURSOR);
+#line 4822 "Zend/zend_language_scanner.c"
+yy420:
+               YYDEBUG(420, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy441;
+               if (yych == 'I') goto yy421;
                if (yych != 'i') goto yy193;
-yy441:
-               YYDEBUG(441, *YYCURSOR);
+yy421:
+               YYDEBUG(421, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy442;
+               if (yych == 'N') goto yy422;
                if (yych != 'n') goto yy193;
-yy442:
-               YYDEBUG(442, *YYCURSOR);
+yy422:
+               YYDEBUG(422, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy443;
+               if (yych == 'G') goto yy423;
                if (yych != 'g') goto yy193;
-yy443:
-               YYDEBUG(443, *YYCURSOR);
+yy423:
+               YYDEBUG(423, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(444, *YYCURSOR);
+               YYDEBUG(424, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy443;
+                       if (yych == '\t') goto yy423;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy443;
+                       if (yych <= ' ') goto yy423;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(445, *YYCURSOR);
+               YYDEBUG(425, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(446, *YYCURSOR);
+               YYDEBUG(426, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1205 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 5102 "Zend/zend_language_scanner.c"
-yy447:
-               YYDEBUG(447, *YYCURSOR);
+#line 4859 "Zend/zend_language_scanner.c"
+yy427:
+               YYDEBUG(427, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy448;
+               if (yych == 'R') goto yy428;
                if (yych != 'r') goto yy193;
-yy448:
-               YYDEBUG(448, *YYCURSOR);
+yy428:
+               YYDEBUG(428, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy449;
+               if (yych == 'A') goto yy429;
                if (yych != 'a') goto yy193;
-yy449:
-               YYDEBUG(449, *YYCURSOR);
+yy429:
+               YYDEBUG(429, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy450;
+               if (yych == 'Y') goto yy430;
                if (yych != 'y') goto yy193;
-yy450:
-               YYDEBUG(450, *YYCURSOR);
+yy430:
+               YYDEBUG(430, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(451, *YYCURSOR);
+               YYDEBUG(431, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy450;
+                       if (yych == '\t') goto yy430;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy450;
+                       if (yych <= ' ') goto yy430;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(452, *YYCURSOR);
+               YYDEBUG(432, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(453, *YYCURSOR);
+               YYDEBUG(433, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1213 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 5139 "Zend/zend_language_scanner.c"
-yy454:
-               YYDEBUG(454, *YYCURSOR);
+#line 4896 "Zend/zend_language_scanner.c"
+yy434:
+               YYDEBUG(434, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'J') goto yy455;
+               if (yych == 'J') goto yy435;
                if (yych != 'j') goto yy193;
-yy455:
-               YYDEBUG(455, *YYCURSOR);
+yy435:
+               YYDEBUG(435, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy456;
+               if (yych == 'E') goto yy436;
                if (yych != 'e') goto yy193;
-yy456:
-               YYDEBUG(456, *YYCURSOR);
+yy436:
+               YYDEBUG(436, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy457;
+               if (yych == 'C') goto yy437;
                if (yych != 'c') goto yy193;
-yy457:
-               YYDEBUG(457, *YYCURSOR);
+yy437:
+               YYDEBUG(437, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy458;
+               if (yych == 'T') goto yy438;
                if (yych != 't') goto yy193;
-yy458:
-               YYDEBUG(458, *YYCURSOR);
+yy438:
+               YYDEBUG(438, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(459, *YYCURSOR);
+               YYDEBUG(439, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy458;
+                       if (yych == '\t') goto yy438;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy458;
+                       if (yych <= ' ') goto yy438;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(460, *YYCURSOR);
+               YYDEBUG(440, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(461, *YYCURSOR);
+               YYDEBUG(441, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1217 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 5181 "Zend/zend_language_scanner.c"
-yy462:
-               YYDEBUG(462, *YYCURSOR);
+#line 4938 "Zend/zend_language_scanner.c"
+yy442:
+               YYDEBUG(442, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy472;
-               if (yych == 'n') goto yy472;
+               if (yych == 'N') goto yy452;
+               if (yych == 'n') goto yy452;
                goto yy193;
-yy463:
-               YYDEBUG(463, *YYCURSOR);
+yy443:
+               YYDEBUG(443, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy464;
+               if (yych == 'O') goto yy444;
                if (yych != 'o') goto yy193;
-yy464:
-               YYDEBUG(464, *YYCURSOR);
+yy444:
+               YYDEBUG(444, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy465;
+               if (yych == 'L') goto yy445;
                if (yych != 'l') goto yy193;
-yy465:
-               YYDEBUG(465, *YYCURSOR);
+yy445:
+               YYDEBUG(445, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy470;
-               if (yych == 'e') goto yy470;
-               goto yy467;
-yy466:
-               YYDEBUG(466, *YYCURSOR);
+               if (yych == 'E') goto yy450;
+               if (yych == 'e') goto yy450;
+               goto yy447;
+yy446:
+               YYDEBUG(446, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy467:
-               YYDEBUG(467, *YYCURSOR);
+yy447:
+               YYDEBUG(447, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy466;
+                       if (yych == '\t') goto yy446;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy466;
+                       if (yych <= ' ') goto yy446;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(468, *YYCURSOR);
+               YYDEBUG(448, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(469, *YYCURSOR);
+               YYDEBUG(449, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1221 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 5226 "Zend/zend_language_scanner.c"
-yy470:
-               YYDEBUG(470, *YYCURSOR);
+#line 4983 "Zend/zend_language_scanner.c"
+yy450:
+               YYDEBUG(450, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy471;
+               if (yych == 'A') goto yy451;
                if (yych != 'a') goto yy193;
-yy471:
-               YYDEBUG(471, *YYCURSOR);
+yy451:
+               YYDEBUG(451, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy466;
-               if (yych == 'n') goto yy466;
+               if (yych == 'N') goto yy446;
+               if (yych == 'n') goto yy446;
                goto yy193;
-yy472:
-               YYDEBUG(472, *YYCURSOR);
+yy452:
+               YYDEBUG(452, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy473;
+               if (yych == 'A') goto yy453;
                if (yych != 'a') goto yy193;
-yy473:
-               YYDEBUG(473, *YYCURSOR);
+yy453:
+               YYDEBUG(453, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy474;
+               if (yych == 'R') goto yy454;
                if (yych != 'r') goto yy193;
-yy474:
-               YYDEBUG(474, *YYCURSOR);
+yy454:
+               YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy443;
-               if (yych == 'y') goto yy443;
+               if (yych == 'Y') goto yy423;
+               if (yych == 'y') goto yy423;
                goto yy193;
-yy475:
-               YYDEBUG(475, *YYCURSOR);
+yy455:
+               YYDEBUG(455, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy476;
+               if (yych == 'S') goto yy456;
                if (yych != 's') goto yy193;
-yy476:
-               YYDEBUG(476, *YYCURSOR);
+yy456:
+               YYDEBUG(456, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy477;
+               if (yych == 'E') goto yy457;
                if (yych != 'e') goto yy193;
-yy477:
-               YYDEBUG(477, *YYCURSOR);
+yy457:
+               YYDEBUG(457, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy478;
+               if (yych == 'T') goto yy458;
                if (yych != 't') goto yy193;
-yy478:
-               YYDEBUG(478, *YYCURSOR);
+yy458:
+               YYDEBUG(458, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(479, *YYCURSOR);
+               YYDEBUG(459, *YYCURSOR);
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy478;
+                       if (yych == '\t') goto yy458;
                        goto yy193;
                } else {
-                       if (yych <= ' ') goto yy478;
+                       if (yych <= ' ') goto yy458;
                        if (yych != ')') goto yy193;
                }
-               YYDEBUG(480, *YYCURSOR);
+               YYDEBUG(460, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(481, *YYCURSOR);
+               YYDEBUG(461, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1225 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 5290 "Zend/zend_language_scanner.c"
-yy482:
-               YYDEBUG(482, *YYCURSOR);
+#line 5047 "Zend/zend_language_scanner.c"
+yy462:
+               YYDEBUG(462, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy483;
+               if (yych == 'R') goto yy463;
                if (yych != 'r') goto yy186;
-yy483:
-               YYDEBUG(483, *YYCURSOR);
+yy463:
+               YYDEBUG(463, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(484, *YYCURSOR);
+               YYDEBUG(464, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1193 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 5308 "Zend/zend_language_scanner.c"
-yy485:
-               YYDEBUG(485, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'M') goto yy501;
-               if (yych == 'm') goto yy501;
-               goto yy186;
-yy486:
-               YYDEBUG(486, *YYCURSOR);
+#line 5065 "Zend/zend_language_scanner.c"
+yy465:
+               YYDEBUG(465, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy499;
-               if (yych == 'w') goto yy499;
+               if (yych == 'M') goto yy469;
+               if (yych == 'm') goto yy469;
                goto yy186;
-yy487:
-               YYDEBUG(487, *YYCURSOR);
+yy466:
+               YYDEBUG(466, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy488;
-               if (yych != 'm') goto yy186;
-yy488:
-               YYDEBUG(488, *YYCURSOR);
+               if (yych == 'W') goto yy467;
+               if (yych != 'w') goto yy186;
+yy467:
+               YYDEBUG(467, *YYCURSOR);
+               ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy185;
+               }
+               YYDEBUG(468, *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);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy489;
+               if (yych == 'E') goto yy470;
                if (yych != 'e') goto yy186;
-yy489:
-               YYDEBUG(489, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy490;
-               if (yych != 'r') goto yy186;
-yy490:
-               YYDEBUG(490, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy491;
-               if (yych != 'i') goto yy186;
-yy491:
-               YYDEBUG(491, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy492;
-               if (yych != 'c') goto yy186;
-yy492:
-               YYDEBUG(492, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy494;
-                       } else {
-                               if (yych == '\r') goto yy494;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy494;
-                               if (yych <= '#') goto yy124;
-                               goto yy494;
-                       } else {
-                               if (yych == '&') goto yy494;
-                               goto yy124;
-                       }
-               }
-yy493:
-               YYDEBUG(493, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy494:
-               YYDEBUG(494, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy493;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy493;
-                               if (yych <= '#') goto yy193;
-                               goto yy497;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy495:
-               YYDEBUG(495, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(496, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy495;
-                       } else {
-                               if (yych == '\r') goto yy495;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy495;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy495;
-                               goto yy193;
-                       }
-               }
-yy497:
-               YYDEBUG(497, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(498, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1336 "Zend/zend_language_scanner.l"
-               {
-       yyless(7);
-       return T_NUMERIC_HINT;
-}
-#line 5427 "Zend/zend_language_scanner.c"
-yy499:
-               YYDEBUG(499, *YYCURSOR);
-               ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
-                       goto yy185;
-               }
-               YYDEBUG(500, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
-               {
-       return T_NEW;
-}
-#line 5440 "Zend/zend_language_scanner.c"
-yy501:
-               YYDEBUG(501, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy502;
-               if (yych != 'e') goto yy186;
-yy502:
-               YYDEBUG(502, *YYCURSOR);
+yy470:
+               YYDEBUG(470, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy503;
+               if (yych == 'S') goto yy471;
                if (yych != 's') goto yy186;
-yy503:
-               YYDEBUG(503, *YYCURSOR);
+yy471:
+               YYDEBUG(471, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy504;
+               if (yych == 'P') goto yy472;
                if (yych != 'p') goto yy186;
-yy504:
-               YYDEBUG(504, *YYCURSOR);
+yy472:
+               YYDEBUG(472, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy505;
+               if (yych == 'A') goto yy473;
                if (yych != 'a') goto yy186;
-yy505:
-               YYDEBUG(505, *YYCURSOR);
+yy473:
+               YYDEBUG(473, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy506;
+               if (yych == 'C') goto yy474;
                if (yych != 'c') goto yy186;
-yy506:
-               YYDEBUG(506, *YYCURSOR);
+yy474:
+               YYDEBUG(474, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy507;
+               if (yych == 'E') goto yy475;
                if (yych != 'e') goto yy186;
-yy507:
-               YYDEBUG(507, *YYCURSOR);
+yy475:
+               YYDEBUG(475, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(508, *YYCURSOR);
+               YYDEBUG(476, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1249 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 5483 "Zend/zend_language_scanner.c"
-yy509:
-               YYDEBUG(509, *YYCURSOR);
+#line 5132 "Zend/zend_language_scanner.c"
+yy477:
+               YYDEBUG(477, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(510, *YYCURSOR);
+               YYDEBUG(478, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1177 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5493 "Zend/zend_language_scanner.c"
-yy511:
-               YYDEBUG(511, *YYCURSOR);
+#line 5142 "Zend/zend_language_scanner.c"
+yy479:
+               YYDEBUG(479, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy512:
-               YYDEBUG(512, *YYCURSOR);
+yy480:
+               YYDEBUG(480, *YYCURSOR);
                if (yych <= '\f') {
                        if (yych <= 0x08) goto yy140;
-                       if (yych <= '\n') goto yy511;
+                       if (yych <= '\n') goto yy479;
                        goto yy140;
                } else {
-                       if (yych <= '\r') goto yy511;
-                       if (yych == ' ') goto yy511;
+                       if (yych <= '\r') goto yy479;
+                       if (yych == ' ') goto yy479;
                        goto yy140;
                }
-yy513:
-               YYDEBUG(513, *YYCURSOR);
+yy481:
+               YYDEBUG(481, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(514, *YYCURSOR);
+               YYDEBUG(482, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1409 "Zend/zend_language_scanner.l"
+#line 1353 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 5519 "Zend/zend_language_scanner.c"
-yy515:
-               YYDEBUG(515, *YYCURSOR);
+#line 5168 "Zend/zend_language_scanner.c"
+yy483:
+               YYDEBUG(483, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(516, *YYCURSOR);
+               YYDEBUG(484, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1377 "Zend/zend_language_scanner.l"
+#line 1321 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 5529 "Zend/zend_language_scanner.c"
-yy517:
-               YYDEBUG(517, *YYCURSOR);
+#line 5178 "Zend/zend_language_scanner.c"
+yy485:
+               YYDEBUG(485, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(518, *YYCURSOR);
+               YYDEBUG(486, *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 5540 "Zend/zend_language_scanner.c"
-yy519:
-               YYDEBUG(519, *YYCURSOR);
+#line 5189 "Zend/zend_language_scanner.c"
+yy487:
+               YYDEBUG(487, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'I') goto yy526;
+                       if (yych == 'I') goto yy494;
                        if (yych <= 'N') goto yy186;
-                       goto yy527;
+                       goto yy495;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy186;
-                               goto yy526;
+                               goto yy494;
                        } else {
-                               if (yych == 'o') goto yy527;
+                               if (yych == 'o') goto yy495;
                                goto yy186;
                        }
                }
-yy520:
-               YYDEBUG(520, *YYCURSOR);
+yy488:
+               YYDEBUG(488, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy521;
+               if (yych == 'B') goto yy489;
                if (yych != 'b') goto yy186;
-yy521:
-               YYDEBUG(521, *YYCURSOR);
+yy489:
+               YYDEBUG(489, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy522;
+               if (yych == 'L') goto yy490;
                if (yych != 'l') goto yy186;
-yy522:
-               YYDEBUG(522, *YYCURSOR);
+yy490:
+               YYDEBUG(490, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy523;
+               if (yych == 'I') goto yy491;
                if (yych != 'i') goto yy186;
-yy523:
-               YYDEBUG(523, *YYCURSOR);
+yy491:
+               YYDEBUG(491, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy524;
+               if (yych == 'C') goto yy492;
                if (yych != 'c') goto yy186;
-yy524:
-               YYDEBUG(524, *YYCURSOR);
+yy492:
+               YYDEBUG(492, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(525, *YYCURSOR);
+               YYDEBUG(493, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1297 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 5589 "Zend/zend_language_scanner.c"
-yy526:
-               YYDEBUG(526, *YYCURSOR);
+#line 5238 "Zend/zend_language_scanner.c"
+yy494:
+               YYDEBUG(494, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'V') {
-                       if (yych == 'N') goto yy535;
+                       if (yych == 'N') goto yy503;
                        if (yych <= 'U') goto yy186;
-                       goto yy536;
+                       goto yy504;
                } else {
                        if (yych <= 'n') {
                                if (yych <= 'm') goto yy186;
-                               goto yy535;
+                               goto yy503;
                        } else {
-                               if (yych == 'v') goto yy536;
+                               if (yych == 'v') goto yy504;
                                goto yy186;
                        }
                }
-yy527:
-               YYDEBUG(527, *YYCURSOR);
+yy495:
+               YYDEBUG(495, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy528;
+               if (yych == 'T') goto yy496;
                if (yych != 't') goto yy186;
-yy528:
-               YYDEBUG(528, *YYCURSOR);
+yy496:
+               YYDEBUG(496, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy529;
+               if (yych == 'E') goto yy497;
                if (yych != 'e') goto yy186;
-yy529:
-               YYDEBUG(529, *YYCURSOR);
+yy497:
+               YYDEBUG(497, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy530;
+               if (yych == 'C') goto yy498;
                if (yych != 'c') goto yy186;
-yy530:
-               YYDEBUG(530, *YYCURSOR);
+yy498:
+               YYDEBUG(498, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy531;
+               if (yych == 'T') goto yy499;
                if (yych != 't') goto yy186;
-yy531:
-               YYDEBUG(531, *YYCURSOR);
+yy499:
+               YYDEBUG(499, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy532;
+               if (yych == 'E') goto yy500;
                if (yych != 'e') goto yy186;
-yy532:
-               YYDEBUG(532, *YYCURSOR);
+yy500:
+               YYDEBUG(500, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy533;
+               if (yych == 'D') goto yy501;
                if (yych != 'd') goto yy186;
-yy533:
-               YYDEBUG(533, *YYCURSOR);
+yy501:
+               YYDEBUG(501, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(534, *YYCURSOR);
+               YYDEBUG(502, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1293 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 5648 "Zend/zend_language_scanner.c"
-yy535:
-               YYDEBUG(535, *YYCURSOR);
+#line 5297 "Zend/zend_language_scanner.c"
+yy503:
+               YYDEBUG(503, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy541;
-               if (yych == 't') goto yy541;
+               if (yych == 'T') goto yy509;
+               if (yych == 't') goto yy509;
                goto yy186;
-yy536:
-               YYDEBUG(536, *YYCURSOR);
+yy504:
+               YYDEBUG(504, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy537;
+               if (yych == 'A') goto yy505;
                if (yych != 'a') goto yy186;
-yy537:
-               YYDEBUG(537, *YYCURSOR);
+yy505:
+               YYDEBUG(505, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy538;
+               if (yych == 'T') goto yy506;
                if (yych != 't') goto yy186;
-yy538:
-               YYDEBUG(538, *YYCURSOR);
+yy506:
+               YYDEBUG(506, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy539;
+               if (yych == 'E') goto yy507;
                if (yych != 'e') goto yy186;
-yy539:
-               YYDEBUG(539, *YYCURSOR);
+yy507:
+               YYDEBUG(507, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(540, *YYCURSOR);
+               YYDEBUG(508, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1289 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 5682 "Zend/zend_language_scanner.c"
-yy541:
-               YYDEBUG(541, *YYCURSOR);
+#line 5331 "Zend/zend_language_scanner.c"
+yy509:
+               YYDEBUG(509, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(542, *YYCURSOR);
+               YYDEBUG(510, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1123 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 5695 "Zend/zend_language_scanner.c"
-yy543:
-               YYDEBUG(543, *YYCURSOR);
+#line 5344 "Zend/zend_language_scanner.c"
+yy511:
+               YYDEBUG(511, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy548;
-               if (yych == 'o') goto yy548;
+               if (yych == 'O') goto yy516;
+               if (yych == 'o') goto yy516;
                goto yy186;
-yy544:
-               YYDEBUG(544, *YYCURSOR);
+yy512:
+               YYDEBUG(512, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy545;
+               if (yych == 'T') goto yy513;
                if (yych != 't') goto yy186;
-yy545:
-               YYDEBUG(545, *YYCURSOR);
+yy513:
+               YYDEBUG(513, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy546;
+               if (yych == 'O') goto yy514;
                if (yych != 'o') goto yy186;
-yy546:
-               YYDEBUG(546, *YYCURSOR);
+yy514:
+               YYDEBUG(514, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(547, *YYCURSOR);
+               YYDEBUG(515, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1115 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 5724 "Zend/zend_language_scanner.c"
-yy548:
-               YYDEBUG(548, *YYCURSOR);
+#line 5373 "Zend/zend_language_scanner.c"
+yy516:
+               YYDEBUG(516, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'B') goto yy549;
+               if (yych == 'B') goto yy517;
                if (yych != 'b') goto yy186;
-yy549:
-               YYDEBUG(549, *YYCURSOR);
+yy517:
+               YYDEBUG(517, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy550;
+               if (yych == 'A') goto yy518;
                if (yych != 'a') goto yy186;
-yy550:
-               YYDEBUG(550, *YYCURSOR);
+yy518:
+               YYDEBUG(518, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy551;
+               if (yych == 'L') goto yy519;
                if (yych != 'l') goto yy186;
-yy551:
-               YYDEBUG(551, *YYCURSOR);
+yy519:
+               YYDEBUG(519, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(552, *YYCURSOR);
+               YYDEBUG(520, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1261 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 5752 "Zend/zend_language_scanner.c"
-yy553:
-               YYDEBUG(553, *YYCURSOR);
+#line 5401 "Zend/zend_language_scanner.c"
+yy521:
+               YYDEBUG(521, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy584;
+               if (yych == '<') goto yy529;
                goto yy193;
-yy554:
-               YYDEBUG(554, *YYCURSOR);
+yy522:
+               YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
                goto yy180;
-yy555:
-               YYDEBUG(555, *YYCURSOR);
+yy523:
+               YYDEBUG(523, *YYCURSOR);
                yych = *++YYCURSOR;
                goto yy178;
-yy556:
-               YYDEBUG(556, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy574;
-               if (yych == 'n') goto yy574;
-               goto yy186;
-yy557:
-               YYDEBUG(557, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'O') goto yy563;
-               if (yych == 'o') goto yy563;
-               goto yy186;
-yy558:
-               YYDEBUG(558, *YYCURSOR);
+yy524:
+               YYDEBUG(524, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy559;
+               if (yych == 'E') goto yy525;
                if (yych != 'e') goto yy186;
-yy559:
-               YYDEBUG(559, *YYCURSOR);
+yy525:
+               YYDEBUG(525, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy560;
+               if (yych == 'A') goto yy526;
                if (yych != 'a') goto yy186;
-yy560:
-               YYDEBUG(560, *YYCURSOR);
+yy526:
+               YYDEBUG(526, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'K') goto yy561;
+               if (yych == 'K') goto yy527;
                if (yych != 'k') goto yy186;
-yy561:
-               YYDEBUG(561, *YYCURSOR);
+yy527:
+               YYDEBUG(527, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(562, *YYCURSOR);
+               YYDEBUG(528, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1107 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 5805 "Zend/zend_language_scanner.c"
-yy563:
-               YYDEBUG(563, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy564;
-               if (yych != 'l') goto yy186;
-yy564:
-               YYDEBUG(564, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= '9') {
-                       if (yych <= ' ') {
-                               if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy124;
-                                       if (yych <= '\n') goto yy566;
-                                       goto yy124;
-                               } else {
-                                       if (yych <= '\r') goto yy566;
-                                       if (yych <= 0x1F) goto yy124;
-                                       goto yy566;
-                               }
-                       } else {
-                               if (yych <= '%') {
-                                       if (yych == '$') goto yy566;
-                                       goto yy124;
-                               } else {
-                                       if (yych <= '&') goto yy566;
-                                       if (yych <= '/') goto yy124;
-                                       goto yy185;
-                               }
-                       }
-               } else {
-                       if (yych <= '_') {
-                               if (yych <= 'E') {
-                                       if (yych <= '@') goto yy124;
-                                       if (yych <= 'D') goto yy185;
-                                       goto yy571;
-                               } else {
-                                       if (yych <= 'Z') goto yy185;
-                                       if (yych <= '^') goto yy124;
-                                       goto yy185;
-                               }
-                       } else {
-                               if (yych <= 'e') {
-                                       if (yych <= '`') goto yy124;
-                                       if (yych <= 'd') goto yy185;
-                                       goto yy571;
-                               } else {
-                                       if (yych <= 'z') goto yy185;
-                                       if (yych <= '~') goto yy124;
-                                       goto yy185;
-                               }
-                       }
-               }
-yy565:
-               YYDEBUG(565, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy566:
-               YYDEBUG(566, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy565;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy565;
-                               if (yych <= '#') goto yy193;
-                               goto yy569;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy567:
-               YYDEBUG(567, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(568, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy567;
-                       } else {
-                               if (yych == '\r') goto yy567;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy567;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy567;
-                               goto yy193;
-                       }
-               }
-yy569:
-               YYDEBUG(569, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(570, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1317 "Zend/zend_language_scanner.l"
-               {
-       if (yytext[4] == 'e') {
-               yyless((sizeof("boolean") - 1));
-       } else {
-               yyless((sizeof("bool") - 1));
-       }
-       return T_BOOL_HINT;
-}
-#line 5919 "Zend/zend_language_scanner.c"
-yy571:
-               YYDEBUG(571, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy572;
-               if (yych != 'a') goto yy186;
-yy572:
-               YYDEBUG(572, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy573;
-               if (yych != 'n') goto yy186;
-yy573:
-               YYDEBUG(573, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy566;
-                       } else {
-                               if (yych == '\r') goto yy566;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy566;
-                               if (yych <= '#') goto yy124;
-                               goto yy566;
-                       } else {
-                               if (yych == '&') goto yy566;
-                               goto yy124;
-                       }
-               }
-yy574:
-               YYDEBUG(574, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy575;
-               if (yych != 'a') goto yy186;
-yy575:
-               YYDEBUG(575, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy576;
-               if (yych != 'r') goto yy186;
-yy576:
-               YYDEBUG(576, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy577;
-               if (yych != 'y') goto yy186;
-yy577:
-               YYDEBUG(577, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy579;
-                       } else {
-                               if (yych == '\r') goto yy579;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy579;
-                               if (yych <= '#') goto yy124;
-                               goto yy579;
-                       } else {
-                               if (yych == '&') goto yy579;
-                               goto yy124;
-                       }
-               }
-yy578:
-               YYDEBUG(578, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy579:
-               YYDEBUG(579, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy578;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy578;
-                               if (yych <= '#') goto yy193;
-                               goto yy582;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy580:
-               YYDEBUG(580, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(581, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy580;
-                       } else {
-                               if (yych == '\r') goto yy580;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy580;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy580;
-                               goto yy193;
-                       }
-               }
-yy582:
-               YYDEBUG(582, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(583, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1326 "Zend/zend_language_scanner.l"
-               {
-       yyless(6);
-       return T_STRING_HINT;
-}
-#line 6051 "Zend/zend_language_scanner.c"
-yy584:
-               YYDEBUG(584, *YYCURSOR);
+#line 5442 "Zend/zend_language_scanner.c"
+yy529:
+               YYDEBUG(529, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == '<') goto yy263;
+               if (yych == '<') goto yy265;
                goto yy193;
-yy585:
-               YYDEBUG(585, *YYCURSOR);
+yy530:
+               YYDEBUG(530, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy601;
-               if (yych == 'a') goto yy601;
+               if (yych == 'A') goto yy537;
+               if (yych == 'a') goto yy537;
                goto yy186;
-yy586:
-               YYDEBUG(586, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych <= 'R') {
-                       if (yych == 'A') goto yy593;
-                       if (yych <= 'Q') goto yy186;
-                       goto yy594;
-               } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy186;
-                               goto yy593;
-                       } else {
-                               if (yych == 'r') goto yy594;
-                               goto yy186;
-                       }
-               }
-yy587:
-               YYDEBUG(587, *YYCURSOR);
+yy531:
+               YYDEBUG(531, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy588;
+               if (yych == 'I') goto yy532;
                if (yych != 'i') goto yy186;
-yy588:
-               YYDEBUG(588, *YYCURSOR);
+yy532:
+               YYDEBUG(532, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy589;
+               if (yych == 'T') goto yy533;
                if (yych != 't') goto yy186;
-yy589:
-               YYDEBUG(589, *YYCURSOR);
+yy533:
+               YYDEBUG(533, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy590;
+               if (yych == 'C') goto yy534;
                if (yych != 'c') goto yy186;
-yy590:
-               YYDEBUG(590, *YYCURSOR);
+yy534:
+               YYDEBUG(534, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy591;
+               if (yych == 'H') goto yy535;
                if (yych != 'h') goto yy186;
-yy591:
-               YYDEBUG(591, *YYCURSOR);
+yy535:
+               YYDEBUG(535, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(592, *YYCURSOR);
+               YYDEBUG(536, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1091 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 6111 "Zend/zend_language_scanner.c"
-yy593:
-               YYDEBUG(593, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy597;
-               if (yych == 't') goto yy597;
-               goto yy186;
-yy594:
-               YYDEBUG(594, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'I') goto yy595;
-               if (yych != 'i') goto yy186;
-yy595:
-               YYDEBUG(595, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy596;
-               if (yych != 'n') goto yy186;
-yy596:
-               YYDEBUG(596, *YYCURSOR);
+#line 5486 "Zend/zend_language_scanner.c"
+yy537:
+               YYDEBUG(537, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'G') goto yy577;
-               if (yych == 'g') goto yy577;
-               goto yy186;
-yy597:
-               YYDEBUG(597, *YYCURSOR);
+               if (yych == 'T') goto yy538;
+               if (yych != 't') goto yy186;
+yy538:
+               YYDEBUG(538, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy598;
+               if (yych == 'I') goto yy539;
                if (yych != 'i') goto yy186;
-yy598:
-               YYDEBUG(598, *YYCURSOR);
+yy539:
+               YYDEBUG(539, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy599;
+               if (yych == 'C') goto yy540;
                if (yych != 'c') goto yy186;
-yy599:
-               YYDEBUG(599, *YYCURSOR);
+yy540:
+               YYDEBUG(540, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(600, *YYCURSOR);
+               YYDEBUG(541, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1277 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 6156 "Zend/zend_language_scanner.c"
-yy601:
-               YYDEBUG(601, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy602;
-               if (yych != 'l') goto yy186;
-yy602:
-               YYDEBUG(602, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy603;
-               if (yych != 'a') goto yy186;
-yy603:
-               YYDEBUG(603, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy604;
-               if (yych != 'r') goto yy186;
-yy604:
-               YYDEBUG(604, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy606;
-                       } else {
-                               if (yych == '\r') goto yy606;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy606;
-                               if (yych <= '#') goto yy124;
-                               goto yy606;
-                       } else {
-                               if (yych == '&') goto yy606;
-                               goto yy124;
-                       }
-               }
-yy605:
-               YYDEBUG(605, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy606:
-               YYDEBUG(606, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy605;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy605;
-                               if (yych <= '#') goto yy193;
-                               goto yy609;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy607:
-               YYDEBUG(607, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(608, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy607;
-                       } else {
-                               if (yych == '\r') goto yy607;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy607;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy607;
-                               goto yy193;
-                       }
-               }
-yy609:
-               YYDEBUG(609, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(610, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1331 "Zend/zend_language_scanner.l"
-               {
-       yyless(6);
-       return T_SCALAR_HINT;
-}
-#line 6253 "Zend/zend_language_scanner.c"
-yy611:
-               YYDEBUG(611, *YYCURSOR);
+#line 5514 "Zend/zend_language_scanner.c"
+yy542:
+               YYDEBUG(542, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy622;
-               if (yych == 's') goto yy622;
+               if (yych == 'S') goto yy553;
+               if (yych == 's') goto yy553;
                goto yy186;
-yy612:
-               YYDEBUG(612, *YYCURSOR);
+yy543:
+               YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy620;
-               if (yych == 'd') goto yy620;
+               if (yych == 'D') goto yy551;
+               if (yych == 'd') goto yy551;
                goto yy186;
-yy613:
-               YYDEBUG(613, *YYCURSOR);
+yy544:
+               YYDEBUG(544, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy616;
-               if (yych == 'r') goto yy616;
+               if (yych == 'R') goto yy547;
+               if (yych == 'r') goto yy547;
                goto yy186;
-yy614:
-               YYDEBUG(614, *YYCURSOR);
+yy545:
+               YYDEBUG(545, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(615, *YYCURSOR);
+               YYDEBUG(546, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1087 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 6284 "Zend/zend_language_scanner.c"
-yy616:
-               YYDEBUG(616, *YYCURSOR);
+#line 5545 "Zend/zend_language_scanner.c"
+yy547:
+               YYDEBUG(547, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy617;
+               if (yych == 'A') goto yy548;
                if (yych != 'a') goto yy186;
-yy617:
-               YYDEBUG(617, *YYCURSOR);
+yy548:
+               YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy618;
+               if (yych == 'Y') goto yy549;
                if (yych != 'y') goto yy186;
-yy618:
-               YYDEBUG(618, *YYCURSOR);
+yy549:
+               YYDEBUG(549, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(619, *YYCURSOR);
+               YYDEBUG(550, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1313 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 6307 "Zend/zend_language_scanner.c"
-yy620:
-               YYDEBUG(620, *YYCURSOR);
+#line 5568 "Zend/zend_language_scanner.c"
+yy551:
+               YYDEBUG(551, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(621, *YYCURSOR);
+               YYDEBUG(552, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1461 "Zend/zend_language_scanner.l"
+#line 1405 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 6320 "Zend/zend_language_scanner.c"
-yy622:
-               YYDEBUG(622, *YYCURSOR);
+#line 5581 "Zend/zend_language_scanner.c"
+yy553:
+               YYDEBUG(553, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy623;
+               if (yych == 'T') goto yy554;
                if (yych != 't') goto yy186;
-yy623:
-               YYDEBUG(623, *YYCURSOR);
+yy554:
+               YYDEBUG(554, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy624;
+               if (yych == 'R') goto yy555;
                if (yych != 'r') goto yy186;
-yy624:
-               YYDEBUG(624, *YYCURSOR);
+yy555:
+               YYDEBUG(555, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy625;
+               if (yych == 'A') goto yy556;
                if (yych != 'a') goto yy186;
-yy625:
-               YYDEBUG(625, *YYCURSOR);
+yy556:
+               YYDEBUG(556, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy626;
+               if (yych == 'C') goto yy557;
                if (yych != 'c') goto yy186;
-yy626:
-               YYDEBUG(626, *YYCURSOR);
+yy557:
+               YYDEBUG(557, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy627;
+               if (yych == 'T') goto yy558;
                if (yych != 't') goto yy186;
-yy627:
-               YYDEBUG(627, *YYCURSOR);
+yy558:
+               YYDEBUG(558, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(628, *YYCURSOR);
+               YYDEBUG(559, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1281 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 6358 "Zend/zend_language_scanner.c"
-yy629:
-               YYDEBUG(629, *YYCURSOR);
+#line 5619 "Zend/zend_language_scanner.c"
+yy560:
+               YYDEBUG(560, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy630;
+               if (yych == 'I') goto yy561;
                if (yych != 'i') goto yy186;
-yy630:
-               YYDEBUG(630, *YYCURSOR);
+yy561:
+               YYDEBUG(561, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy631;
+               if (yych == 'L') goto yy562;
                if (yych != 'l') goto yy186;
-yy631:
-               YYDEBUG(631, *YYCURSOR);
+yy562:
+               YYDEBUG(562, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy632;
+               if (yych == 'E') goto yy563;
                if (yych != 'e') goto yy186;
-yy632:
-               YYDEBUG(632, *YYCURSOR);
+yy563:
+               YYDEBUG(563, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(633, *YYCURSOR);
+               YYDEBUG(564, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1047 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 6386 "Zend/zend_language_scanner.c"
-yy634:
-               YYDEBUG(634, *YYCURSOR);
+#line 5647 "Zend/zend_language_scanner.c"
+yy565:
+               YYDEBUG(565, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(635, *YYCURSOR);
+               YYDEBUG(566, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1031 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 6399 "Zend/zend_language_scanner.c"
-yy636:
-               YYDEBUG(636, *YYCURSOR);
+#line 5660 "Zend/zend_language_scanner.c"
+yy567:
+               YYDEBUG(567, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy680;
-               if (yych == 'p') goto yy680;
+               if (yych == 'P') goto yy609;
+               if (yych == 'p') goto yy609;
                goto yy186;
-yy637:
-               YYDEBUG(637, *YYCURSOR);
+yy568:
+               YYDEBUG(568, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'C') {
                                if (yych <= 'B') goto yy186;
-                               goto yy645;
+                               goto yy576;
                        } else {
                                if (yych <= 'R') goto yy186;
-                               if (yych <= 'S') goto yy643;
-                               goto yy644;
+                               if (yych <= 'S') goto yy574;
+                               goto yy575;
                        }
                } else {
                        if (yych <= 'r') {
-                               if (yych == 'c') goto yy645;
+                               if (yych == 'c') goto yy576;
                                goto yy186;
                        } else {
-                               if (yych <= 's') goto yy643;
-                               if (yych <= 't') goto yy644;
+                               if (yych <= 's') goto yy574;
+                               if (yych <= 't') goto yy575;
                                goto yy186;
                        }
                }
-yy638:
-               YYDEBUG(638, *YYCURSOR);
+yy569:
+               YYDEBUG(569, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy639;
+               if (yych == 'S') goto yy570;
                if (yych != 's') goto yy186;
-yy639:
-               YYDEBUG(639, *YYCURSOR);
+yy570:
+               YYDEBUG(570, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy640;
+               if (yych == 'E') goto yy571;
                if (yych != 'e') goto yy186;
-yy640:
-               YYDEBUG(640, *YYCURSOR);
+yy571:
+               YYDEBUG(571, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy641;
+               if (yych == 'T') goto yy572;
                if (yych != 't') goto yy186;
-yy641:
-               YYDEBUG(641, *YYCURSOR);
+yy572:
+               YYDEBUG(572, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(642, *YYCURSOR);
+               YYDEBUG(573, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1265 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 6455 "Zend/zend_language_scanner.c"
-yy643:
-               YYDEBUG(643, *YYCURSOR);
+#line 5716 "Zend/zend_language_scanner.c"
+yy574:
+               YYDEBUG(574, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy666;
-               if (yych == 't') goto yy666;
+               if (yych == 'T') goto yy595;
+               if (yych == 't') goto yy595;
                goto yy186;
-yy644:
-               YYDEBUG(644, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yych <= '9') {
-                       if (yych <= ' ') {
-                               if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy124;
-                                       if (yych <= '\n') goto yy302;
-                                       goto yy124;
-                               } else {
-                                       if (yych <= '\r') goto yy302;
-                                       if (yych <= 0x1F) goto yy124;
-                                       goto yy302;
-                               }
-                       } else {
-                               if (yych <= '%') {
-                                       if (yych == '$') goto yy302;
-                                       goto yy124;
-                               } else {
-                                       if (yych <= '&') goto yy302;
-                                       if (yych <= '/') goto yy124;
-                                       goto yy185;
-                               }
-                       }
-               } else {
-                       if (yych <= '_') {
-                               if (yych <= 'E') {
-                                       if (yych <= '@') goto yy124;
-                                       if (yych <= 'D') goto yy185;
-                                       goto yy657;
-                               } else {
-                                       if (yych <= 'Z') goto yy185;
-                                       if (yych <= '^') goto yy124;
-                                       goto yy185;
-                               }
-                       } else {
-                               if (yych <= 'e') {
-                                       if (yych <= '`') goto yy124;
-                                       if (yych <= 'd') goto yy185;
-                                       goto yy657;
-                               } else {
-                                       if (yych <= 'z') goto yy185;
-                                       if (yych <= '~') goto yy124;
-                                       goto yy185;
-                               }
-                       }
-               }
-yy645:
-               YYDEBUG(645, *YYCURSOR);
+yy575:
+               YYDEBUG(575, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'E') goto yy588;
+               if (yych == 'e') goto yy588;
+               goto yy186;
+yy576:
+               YYDEBUG(576, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy646;
+               if (yych == 'L') goto yy577;
                if (yych != 'l') goto yy186;
-yy646:
-               YYDEBUG(646, *YYCURSOR);
+yy577:
+               YYDEBUG(577, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy647;
+               if (yych == 'U') goto yy578;
                if (yych != 'u') goto yy186;
-yy647:
-               YYDEBUG(647, *YYCURSOR);
+yy578:
+               YYDEBUG(578, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy648;
+               if (yych == 'D') goto yy579;
                if (yych != 'd') goto yy186;
-yy648:
-               YYDEBUG(648, *YYCURSOR);
+yy579:
+               YYDEBUG(579, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy649;
+               if (yych == 'E') goto yy580;
                if (yych != 'e') goto yy186;
-yy649:
-               YYDEBUG(649, *YYCURSOR);
+yy580:
+               YYDEBUG(580, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy185;
                        } else {
-                               if (yych <= '@') goto yy650;
+                               if (yych <= '@') goto yy581;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy651;
+                               if (yych <= '_') goto yy582;
                        } else {
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy650:
-               YYDEBUG(650, *YYCURSOR);
+yy581:
+               YYDEBUG(581, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1233 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 6555 "Zend/zend_language_scanner.c"
-yy651:
-               YYDEBUG(651, *YYCURSOR);
+#line 5774 "Zend/zend_language_scanner.c"
+yy582:
+               YYDEBUG(582, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy652;
+               if (yych == 'O') goto yy583;
                if (yych != 'o') goto yy186;
-yy652:
-               YYDEBUG(652, *YYCURSOR);
+yy583:
+               YYDEBUG(583, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy653;
+               if (yych == 'N') goto yy584;
                if (yych != 'n') goto yy186;
-yy653:
-               YYDEBUG(653, *YYCURSOR);
+yy584:
+               YYDEBUG(584, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy654;
+               if (yych == 'C') goto yy585;
                if (yych != 'c') goto yy186;
-yy654:
-               YYDEBUG(654, *YYCURSOR);
+yy585:
+               YYDEBUG(585, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy655;
+               if (yych == 'E') goto yy586;
                if (yych != 'e') goto yy186;
-yy655:
-               YYDEBUG(655, *YYCURSOR);
+yy586:
+               YYDEBUG(586, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(656, *YYCURSOR);
+               YYDEBUG(587, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1237 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 6588 "Zend/zend_language_scanner.c"
-yy657:
-               YYDEBUG(657, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych <= 'R') {
-                       if (yych == 'G') goto yy659;
-                       if (yych <= 'Q') goto yy186;
-               } else {
-                       if (yych <= 'g') {
-                               if (yych <= 'f') goto yy186;
-                               goto yy659;
-                       } else {
-                               if (yych != 'r') goto yy186;
-                       }
-               }
-               YYDEBUG(658, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'F') goto yy661;
-               if (yych == 'f') goto yy661;
-               goto yy186;
-yy659:
-               YYDEBUG(659, *YYCURSOR);
+#line 5807 "Zend/zend_language_scanner.c"
+yy588:
+               YYDEBUG(588, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy660;
-               if (yych != 'e') goto yy186;
-yy660:
-               YYDEBUG(660, *YYCURSOR);
+               if (yych == 'R') goto yy589;
+               if (yych != 'r') goto yy186;
+yy589:
+               YYDEBUG(589, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy300;
-               if (yych == 'r') goto yy300;
-               goto yy186;
-yy661:
-               YYDEBUG(661, *YYCURSOR);
+               if (yych == 'F') goto yy590;
+               if (yych != 'f') goto yy186;
+yy590:
+               YYDEBUG(590, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy662;
+               if (yych == 'A') goto yy591;
                if (yych != 'a') goto yy186;
-yy662:
-               YYDEBUG(662, *YYCURSOR);
+yy591:
+               YYDEBUG(591, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy663;
+               if (yych == 'C') goto yy592;
                if (yych != 'c') goto yy186;
-yy663:
-               YYDEBUG(663, *YYCURSOR);
+yy592:
+               YYDEBUG(592, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy664;
+               if (yych == 'E') goto yy593;
                if (yych != 'e') goto yy186;
-yy664:
-               YYDEBUG(664, *YYCURSOR);
+yy593:
+               YYDEBUG(593, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(665, *YYCURSOR);
+               YYDEBUG(594, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1131 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 6646 "Zend/zend_language_scanner.c"
-yy666:
-               YYDEBUG(666, *YYCURSOR);
+#line 5845 "Zend/zend_language_scanner.c"
+yy595:
+               YYDEBUG(595, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
-                       if (yych == 'A') goto yy667;
+                       if (yych == 'A') goto yy596;
                        if (yych <= 'D') goto yy186;
-                       goto yy668;
+                       goto yy597;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
                        } else {
-                               if (yych == 'e') goto yy668;
+                               if (yych == 'e') goto yy597;
                                goto yy186;
                        }
                }
-yy667:
-               YYDEBUG(667, *YYCURSOR);
+yy596:
+               YYDEBUG(596, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy674;
-               if (yych == 'n') goto yy674;
+               if (yych == 'N') goto yy603;
+               if (yych == 'n') goto yy603;
                goto yy186;
-yy668:
-               YYDEBUG(668, *YYCURSOR);
+yy597:
+               YYDEBUG(597, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy669;
+               if (yych == 'A') goto yy598;
                if (yych != 'a') goto yy186;
-yy669:
-               YYDEBUG(669, *YYCURSOR);
+yy598:
+               YYDEBUG(598, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy670;
+               if (yych == 'D') goto yy599;
                if (yych != 'd') goto yy186;
-yy670:
-               YYDEBUG(670, *YYCURSOR);
+yy599:
+               YYDEBUG(599, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy671;
+               if (yych == 'O') goto yy600;
                if (yych != 'o') goto yy186;
-yy671:
-               YYDEBUG(671, *YYCURSOR);
+yy600:
+               YYDEBUG(600, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy672;
+               if (yych == 'F') goto yy601;
                if (yych != 'f') goto yy186;
-yy672:
-               YYDEBUG(672, *YYCURSOR);
+yy601:
+               YYDEBUG(601, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(673, *YYCURSOR);
+               YYDEBUG(602, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1257 "Zend/zend_language_scanner.l"
                {
         return T_INSTEADOF;
 }
-#line 6700 "Zend/zend_language_scanner.c"
-yy674:
-               YYDEBUG(674, *YYCURSOR);
+#line 5899 "Zend/zend_language_scanner.c"
+yy603:
+               YYDEBUG(603, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy675;
+               if (yych == 'C') goto yy604;
                if (yych != 'c') goto yy186;
-yy675:
-               YYDEBUG(675, *YYCURSOR);
+yy604:
+               YYDEBUG(604, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy676;
+               if (yych == 'E') goto yy605;
                if (yych != 'e') goto yy186;
-yy676:
-               YYDEBUG(676, *YYCURSOR);
+yy605:
+               YYDEBUG(605, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy677;
-               if (yych != 'o') goto yy186;
-yy677:
-               YYDEBUG(677, *YYCURSOR);
+               if (yych == 'O') goto yy606;
+               if (yych != 'o') goto yy186;
+yy606:
+               YYDEBUG(606, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy678;
+               if (yych == 'F') goto yy607;
                if (yych != 'f') goto yy186;
-yy678:
-               YYDEBUG(678, *YYCURSOR);
+yy607:
+               YYDEBUG(607, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(679, *YYCURSOR);
+               YYDEBUG(608, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1083 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 6733 "Zend/zend_language_scanner.c"
-yy680:
-               YYDEBUG(680, *YYCURSOR);
+#line 5932 "Zend/zend_language_scanner.c"
+yy609:
+               YYDEBUG(609, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy681;
+               if (yych == 'L') goto yy610;
                if (yych != 'l') goto yy186;
-yy681:
-               YYDEBUG(681, *YYCURSOR);
+yy610:
+               YYDEBUG(610, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy682;
+               if (yych == 'E') goto yy611;
                if (yych != 'e') goto yy186;
-yy682:
-               YYDEBUG(682, *YYCURSOR);
+yy611:
+               YYDEBUG(611, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'M') goto yy683;
+               if (yych == 'M') goto yy612;
                if (yych != 'm') goto yy186;
-yy683:
-               YYDEBUG(683, *YYCURSOR);
+yy612:
+               YYDEBUG(612, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy684;
+               if (yych == 'E') goto yy613;
                if (yych != 'e') goto yy186;
-yy684:
-               YYDEBUG(684, *YYCURSOR);
+yy613:
+               YYDEBUG(613, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy685;
+               if (yych == 'N') goto yy614;
                if (yych != 'n') goto yy186;
-yy685:
-               YYDEBUG(685, *YYCURSOR);
+yy614:
+               YYDEBUG(614, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy686;
+               if (yych == 'T') goto yy615;
                if (yych != 't') goto yy186;
-yy686:
-               YYDEBUG(686, *YYCURSOR);
+yy615:
+               YYDEBUG(615, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy687;
+               if (yych == 'S') goto yy616;
                if (yych != 's') goto yy186;
-yy687:
-               YYDEBUG(687, *YYCURSOR);
+yy616:
+               YYDEBUG(616, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(688, *YYCURSOR);
+               YYDEBUG(617, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1143 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 6781 "Zend/zend_language_scanner.c"
-yy689:
-               YYDEBUG(689, *YYCURSOR);
+#line 5980 "Zend/zend_language_scanner.c"
+yy618:
+               YYDEBUG(618, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy697;
-               if (yych == 'r') goto yy697;
+               if (yych == 'R') goto yy626;
+               if (yych == 'r') goto yy626;
                goto yy186;
-yy690:
-               YYDEBUG(690, *YYCURSOR);
+yy619:
+               YYDEBUG(619, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'Y') {
-                       if (yych == 'A') goto yy693;
+                       if (yych == 'A') goto yy622;
                        if (yych <= 'X') goto yy186;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
-                               goto yy693;
+                               goto yy622;
                        } else {
                                if (yych != 'y') goto yy186;
                        }
                }
-               YYDEBUG(691, *YYCURSOR);
+               YYDEBUG(620, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(692, *YYCURSOR);
+               YYDEBUG(621, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1019 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 6813 "Zend/zend_language_scanner.c"
-yy693:
-               YYDEBUG(693, *YYCURSOR);
+#line 6012 "Zend/zend_language_scanner.c"
+yy622:
+               YYDEBUG(622, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy694;
+               if (yych == 'I') goto yy623;
                if (yych != 'i') goto yy186;
-yy694:
-               YYDEBUG(694, *YYCURSOR);
+yy623:
+               YYDEBUG(623, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy695;
+               if (yych == 'T') goto yy624;
                if (yych != 't') goto yy186;
-yy695:
-               YYDEBUG(695, *YYCURSOR);
+yy624:
+               YYDEBUG(624, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(696, *YYCURSOR);
+               YYDEBUG(625, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1135 "Zend/zend_language_scanner.l"
                {
        return T_TRAIT;
 }
-#line 6836 "Zend/zend_language_scanner.c"
-yy697:
-               YYDEBUG(697, *YYCURSOR);
+#line 6035 "Zend/zend_language_scanner.c"
+yy626:
+               YYDEBUG(626, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy698;
+               if (yych == 'O') goto yy627;
                if (yych != 'o') goto yy186;
-yy698:
-               YYDEBUG(698, *YYCURSOR);
+yy627:
+               YYDEBUG(627, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy699;
+               if (yych == 'W') goto yy628;
                if (yych != 'w') goto yy186;
-yy699:
-               YYDEBUG(699, *YYCURSOR);
+yy628:
+               YYDEBUG(628, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(700, *YYCURSOR);
+               YYDEBUG(629, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1027 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 6859 "Zend/zend_language_scanner.c"
-yy701:
-               YYDEBUG(701, *YYCURSOR);
+#line 6058 "Zend/zend_language_scanner.c"
+yy630:
+               YYDEBUG(630, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych <= 'P') {
-                               if (yych == 'A') goto yy704;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'Q') goto yy703;
-                               if (yych <= 'R') goto yy186;
-                               if (yych <= 'S') goto yy705;
-                       }
+                       if (yych == 'Q') goto yy632;
+                       if (yych <= 'S') goto yy186;
                } else {
                        if (yych <= 'q') {
-                               if (yych == 'a') goto yy704;
                                if (yych <= 'p') goto yy186;
-                               goto yy703;
+                               goto yy632;
                        } else {
-                               if (yych <= 'r') goto yy186;
-                               if (yych <= 's') goto yy705;
-                               if (yych >= 'u') goto yy186;
+                               if (yych != 't') goto yy186;
                        }
                }
-               YYDEBUG(702, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'U') goto yy735;
-               if (yych == 'u') goto yy735;
-               goto yy186;
-yy703:
-               YYDEBUG(703, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'U') goto yy724;
-               if (yych == 'u') goto yy724;
-               goto yy186;
-yy704:
-               YYDEBUG(704, *YYCURSOR);
+               YYDEBUG(631, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy717;
-               if (yych == 'l') goto yy717;
+               if (yych == 'U') goto yy644;
+               if (yych == 'u') goto yy644;
                goto yy186;
-yy705:
-               YYDEBUG(705, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'O') goto yy706;
-               if (yych != 'o') goto yy186;
-yy706:
-               YYDEBUG(706, *YYCURSOR);
+yy632:
+               YYDEBUG(632, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy707;
+               if (yych == 'U') goto yy633;
                if (yych != 'u') goto yy186;
-yy707:
-               YYDEBUG(707, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'R') goto yy708;
-               if (yych != 'r') goto yy186;
-yy708:
-               YYDEBUG(708, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'C') goto yy709;
-               if (yych != 'c') goto yy186;
-yy709:
-               YYDEBUG(709, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy710;
-               if (yych != 'e') goto yy186;
-yy710:
-               YYDEBUG(710, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy712;
-                       } else {
-                               if (yych == '\r') goto yy712;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy712;
-                               if (yych <= '#') goto yy124;
-                               goto yy712;
-                       } else {
-                               if (yych == '&') goto yy712;
-                               goto yy124;
-                       }
-               }
-yy711:
-               YYDEBUG(711, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy712:
-               YYDEBUG(712, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy711;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy711;
-                               if (yych <= '#') goto yy193;
-                               goto yy715;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy713:
-               YYDEBUG(713, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(714, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy713;
-                       } else {
-                               if (yych == '\r') goto yy713;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy713;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy713;
-                               goto yy193;
-                       }
-               }
-yy715:
-               YYDEBUG(715, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(716, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1363 "Zend/zend_language_scanner.l"
-               {
-       yyless((sizeof("resource") - 1));
-       return T_RESOURCE_HINT;
-}
-#line 7006 "Zend/zend_language_scanner.c"
-yy717:
-               YYDEBUG(717, *YYCURSOR);
-               yyaccept = 0;
-               yych = *(YYMARKER = ++YYCURSOR);
-               if (yybm[0+yych] & 4) {
-                       goto yy185;
-               }
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy124;
-                               goto yy719;
-                       } else {
-                               if (yych == '\r') goto yy719;
-                               goto yy124;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy719;
-                               if (yych <= '#') goto yy124;
-                               goto yy719;
-                       } else {
-                               if (yych == '&') goto yy719;
-                               goto yy124;
-                       }
-               }
-yy718:
-               YYDEBUG(718, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-yy719:
-               YYDEBUG(719, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               if (yych <= '\t') goto yy718;
-                       } else {
-                               if (yych != '\r') goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy718;
-                               if (yych <= '#') goto yy193;
-                               goto yy722;
-                       } else {
-                               if (yych != '&') goto yy193;
-                       }
-               }
-yy720:
-               YYDEBUG(720, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(721, *YYCURSOR);
-               if (yych <= 0x1F) {
-                       if (yych <= '\n') {
-                               if (yych <= 0x08) goto yy193;
-                               goto yy720;
-                       } else {
-                               if (yych == '\r') goto yy720;
-                               goto yy193;
-                       }
-               } else {
-                       if (yych <= '$') {
-                               if (yych <= ' ') goto yy720;
-                               if (yych <= '#') goto yy193;
-                       } else {
-                               if (yych == '&') goto yy720;
-                               goto yy193;
-                       }
-               }
-yy722:
-               YYDEBUG(722, *YYCURSOR);
-               ++YYCURSOR;
-               YYDEBUG(723, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 1352 "Zend/zend_language_scanner.l"
-               {
-       if (yytext[4] == 'l') {
-               yyless((sizeof("double") - 1));
-       } else  if (yytext[4] == 't') {
-               yyless((sizeof("float") - 1));
-       } else {
-               yyless(4);
-       }
-       return T_DOUBLE_HINT;
-}
-#line 7094 "Zend/zend_language_scanner.c"
-yy724:
-               YYDEBUG(724, *YYCURSOR);
+yy633:
+               YYDEBUG(633, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy725;
+               if (yych == 'I') goto yy634;
                if (yych != 'i') goto yy186;
-yy725:
-               YYDEBUG(725, *YYCURSOR);
+yy634:
+               YYDEBUG(634, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy726;
+               if (yych == 'R') goto yy635;
                if (yych != 'r') goto yy186;
-yy726:
-               YYDEBUG(726, *YYCURSOR);
+yy635:
+               YYDEBUG(635, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy727;
+               if (yych == 'E') goto yy636;
                if (yych != 'e') goto yy186;
-yy727:
-               YYDEBUG(727, *YYCURSOR);
+yy636:
+               YYDEBUG(636, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '9') {
                                if (yych >= '0') goto yy185;
                        } else {
-                               if (yych <= '@') goto yy728;
+                               if (yych <= '@') goto yy637;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy729;
+                               if (yych <= '_') goto yy638;
                        } else {
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy728:
-               YYDEBUG(728, *YYCURSOR);
+yy637:
+               YYDEBUG(637, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1241 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 7135 "Zend/zend_language_scanner.c"
-yy729:
-               YYDEBUG(729, *YYCURSOR);
+#line 6123 "Zend/zend_language_scanner.c"
+yy638:
+               YYDEBUG(638, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy730;
+               if (yych == 'O') goto yy639;
                if (yych != 'o') goto yy186;
-yy730:
-               YYDEBUG(730, *YYCURSOR);
+yy639:
+               YYDEBUG(639, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy731;
+               if (yych == 'N') goto yy640;
                if (yych != 'n') goto yy186;
-yy731:
-               YYDEBUG(731, *YYCURSOR);
+yy640:
+               YYDEBUG(640, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy732;
+               if (yych == 'C') goto yy641;
                if (yych != 'c') goto yy186;
-yy732:
-               YYDEBUG(732, *YYCURSOR);
+yy641:
+               YYDEBUG(641, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy733;
+               if (yych == 'E') goto yy642;
                if (yych != 'e') goto yy186;
-yy733:
-               YYDEBUG(733, *YYCURSOR);
+yy642:
+               YYDEBUG(642, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(734, *YYCURSOR);
+               YYDEBUG(643, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1245 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
-}
-#line 7168 "Zend/zend_language_scanner.c"
-yy735:
-               YYDEBUG(735, *YYCURSOR);
+}
+#line 6156 "Zend/zend_language_scanner.c"
+yy644:
+               YYDEBUG(644, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy736;
+               if (yych == 'R') goto yy645;
                if (yych != 'r') goto yy186;
-yy736:
-               YYDEBUG(736, *YYCURSOR);
+yy645:
+               YYDEBUG(645, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy737;
+               if (yych == 'N') goto yy646;
                if (yych != 'n') goto yy186;
-yy737:
-               YYDEBUG(737, *YYCURSOR);
+yy646:
+               YYDEBUG(646, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(738, *YYCURSOR);
+               YYDEBUG(647, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1015 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 7191 "Zend/zend_language_scanner.c"
-yy739:
-               YYDEBUG(739, *YYCURSOR);
+#line 6179 "Zend/zend_language_scanner.c"
+yy648:
+               YYDEBUG(648, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy186;
-                       if (yych <= 'S') goto yy761;
-                       goto yy760;
+                       if (yych <= 'S') goto yy670;
+                       goto yy669;
                } else {
                        if (yych <= 'r') goto yy186;
-                       if (yych <= 's') goto yy761;
-                       if (yych <= 't') goto yy760;
+                       if (yych <= 's') goto yy670;
+                       if (yych <= 't') goto yy669;
                        goto yy186;
                }
-yy740:
-               YYDEBUG(740, *YYCURSOR);
+yy649:
+               YYDEBUG(649, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
-                       if (yych == 'A') goto yy752;
+                       if (yych == 'A') goto yy661;
                        if (yych <= 'N') goto yy186;
-                       goto yy753;
+                       goto yy662;
                } else {
                        if (yych <= 'a') {
                                if (yych <= '`') goto yy186;
-                               goto yy752;
+                               goto yy661;
                        } else {
-                               if (yych == 'o') goto yy753;
+                               if (yych == 'o') goto yy662;
                                goto yy186;
                        }
                }
-yy741:
-               YYDEBUG(741, *YYCURSOR);
+yy650:
+               YYDEBUG(650, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy742;
+               if (yych == 'N') goto yy651;
                if (yych != 'n') goto yy186;
-yy742:
-               YYDEBUG(742, *YYCURSOR);
+yy651:
+               YYDEBUG(651, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'R') goto yy186;
-                       if (yych >= 'T') goto yy744;
+                       if (yych >= 'T') goto yy653;
                } else {
                        if (yych <= 'r') goto yy186;
-                       if (yych <= 's') goto yy743;
-                       if (yych <= 't') goto yy744;
+                       if (yych <= 's') goto yy652;
+                       if (yych <= 't') goto yy653;
                        goto yy186;
                }
-yy743:
-               YYDEBUG(743, *YYCURSOR);
+yy652:
+               YYDEBUG(652, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy750;
-               if (yych == 't') goto yy750;
+               if (yych == 'T') goto yy659;
+               if (yych == 't') goto yy659;
                goto yy186;
-yy744:
-               YYDEBUG(744, *YYCURSOR);
+yy653:
+               YYDEBUG(653, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy745;
+               if (yych == 'I') goto yy654;
                if (yych != 'i') goto yy186;
-yy745:
-               YYDEBUG(745, *YYCURSOR);
+yy654:
+               YYDEBUG(654, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy746;
+               if (yych == 'N') goto yy655;
                if (yych != 'n') goto yy186;
-yy746:
-               YYDEBUG(746, *YYCURSOR);
+yy655:
+               YYDEBUG(655, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy747;
+               if (yych == 'U') goto yy656;
                if (yych != 'u') goto yy186;
-yy747:
-               YYDEBUG(747, *YYCURSOR);
+yy656:
+               YYDEBUG(656, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy748;
+               if (yych == 'E') goto yy657;
                if (yych != 'e') goto yy186;
-yy748:
-               YYDEBUG(748, *YYCURSOR);
+yy657:
+               YYDEBUG(657, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(749, *YYCURSOR);
+               YYDEBUG(658, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1111 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 7276 "Zend/zend_language_scanner.c"
-yy750:
-               YYDEBUG(750, *YYCURSOR);
+#line 6264 "Zend/zend_language_scanner.c"
+yy659:
+               YYDEBUG(659, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(751, *YYCURSOR);
+               YYDEBUG(660, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1011 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 7289 "Zend/zend_language_scanner.c"
-yy752:
-               YYDEBUG(752, *YYCURSOR);
+#line 6277 "Zend/zend_language_scanner.c"
+yy661:
+               YYDEBUG(661, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy757;
-               if (yych == 's') goto yy757;
+               if (yych == 'S') goto yy666;
+               if (yych == 's') goto yy666;
                goto yy186;
-yy753:
-               YYDEBUG(753, *YYCURSOR);
+yy662:
+               YYDEBUG(662, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy754;
+               if (yych == 'N') goto yy663;
                if (yych != 'n') goto yy186;
-yy754:
-               YYDEBUG(754, *YYCURSOR);
+yy663:
+               YYDEBUG(663, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy755;
+               if (yych == 'E') goto yy664;
                if (yych != 'e') goto yy186;
-yy755:
-               YYDEBUG(755, *YYCURSOR);
+yy664:
+               YYDEBUG(664, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(756, *YYCURSOR);
+               YYDEBUG(665, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1189 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 7318 "Zend/zend_language_scanner.c"
-yy757:
-               YYDEBUG(757, *YYCURSOR);
+#line 6306 "Zend/zend_language_scanner.c"
+yy666:
+               YYDEBUG(666, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy758;
+               if (yych == 'S') goto yy667;
                if (yych != 's') goto yy186;
-yy758:
-               YYDEBUG(758, *YYCURSOR);
+yy667:
+               YYDEBUG(667, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(759, *YYCURSOR);
+               YYDEBUG(668, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1127 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 7336 "Zend/zend_language_scanner.c"
-yy760:
-               YYDEBUG(760, *YYCURSOR);
+#line 6324 "Zend/zend_language_scanner.c"
+yy669:
+               YYDEBUG(669, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy764;
-               if (yych == 'c') goto yy764;
+               if (yych == 'C') goto yy673;
+               if (yych == 'c') goto yy673;
                goto yy186;
-yy761:
-               YYDEBUG(761, *YYCURSOR);
+yy670:
+               YYDEBUG(670, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy762;
+               if (yych == 'E') goto yy671;
                if (yych != 'e') goto yy186;
-yy762:
-               YYDEBUG(762, *YYCURSOR);
+yy671:
+               YYDEBUG(671, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(763, *YYCURSOR);
+               YYDEBUG(672, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1099 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 7360 "Zend/zend_language_scanner.c"
-yy764:
-               YYDEBUG(764, *YYCURSOR);
+#line 6348 "Zend/zend_language_scanner.c"
+yy673:
+               YYDEBUG(673, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy765;
+               if (yych == 'H') goto yy674;
                if (yych != 'h') goto yy186;
-yy765:
-               YYDEBUG(765, *YYCURSOR);
+yy674:
+               YYDEBUG(674, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(766, *YYCURSOR);
+               YYDEBUG(675, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1023 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 7378 "Zend/zend_language_scanner.c"
-yy767:
-               YYDEBUG(767, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'N') goto yy787;
-               if (yych == 'n') goto yy787;
-               goto yy186;
-yy768:
-               YYDEBUG(768, *YYCURSOR);
+#line 6366 "Zend/zend_language_scanner.c"
+yy676:
+               YYDEBUG(676, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy785;
-               if (yych == 'o') goto yy785;
+               if (yych == 'N') goto yy693;
+               if (yych == 'n') goto yy693;
                goto yy186;
-yy769:
-               YYDEBUG(769, *YYCURSOR);
+yy677:
+               YYDEBUG(677, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy778;
-               if (yych == 'r') goto yy778;
+               if (yych == 'R') goto yy686;
+               if (yych == 'r') goto yy686;
                goto yy186;
-yy770:
-               YYDEBUG(770, *YYCURSOR);
+yy678:
+               YYDEBUG(678, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy771;
+               if (yych == 'N') goto yy679;
                if (yych != 'n') goto yy186;
-yy771:
-               YYDEBUG(771, *YYCURSOR);
+yy679:
+               YYDEBUG(679, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy772;
+               if (yych == 'C') goto yy680;
                if (yych != 'c') goto yy186;
-yy772:
-               YYDEBUG(772, *YYCURSOR);
+yy680:
+               YYDEBUG(680, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy773;
+               if (yych == 'T') goto yy681;
                if (yych != 't') goto yy186;
-yy773:
-               YYDEBUG(773, *YYCURSOR);
+yy681:
+               YYDEBUG(681, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy774;
+               if (yych == 'I') goto yy682;
                if (yych != 'i') goto yy186;
-yy774:
-               YYDEBUG(774, *YYCURSOR);
+yy682:
+               YYDEBUG(682, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy775;
+               if (yych == 'O') goto yy683;
                if (yych != 'o') goto yy186;
-yy775:
-               YYDEBUG(775, *YYCURSOR);
+yy683:
+               YYDEBUG(683, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy776;
+               if (yych == 'N') goto yy684;
                if (yych != 'n') goto yy186;
-yy776:
-               YYDEBUG(776, *YYCURSOR);
+yy684:
+               YYDEBUG(684, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(777, *YYCURSOR);
+               YYDEBUG(685, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1007 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 7439 "Zend/zend_language_scanner.c"
-yy778:
-               YYDEBUG(778, *YYCURSOR);
+#line 6421 "Zend/zend_language_scanner.c"
+yy686:
+               YYDEBUG(686, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy779;
+                               if (yych <= '/') goto yy687;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'E') goto yy780;
+                               if (yych == 'E') goto yy688;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'e') goto yy780;
+                               if (yych <= 'e') goto yy688;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy779:
-               YYDEBUG(779, *YYCURSOR);
+yy687:
+               YYDEBUG(687, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1059 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 7467 "Zend/zend_language_scanner.c"
-yy780:
-               YYDEBUG(780, *YYCURSOR);
+#line 6449 "Zend/zend_language_scanner.c"
+yy688:
+               YYDEBUG(688, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy781;
+               if (yych == 'A') goto yy689;
                if (yych != 'a') goto yy186;
-yy781:
-               YYDEBUG(781, *YYCURSOR);
+yy689:
+               YYDEBUG(689, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy782;
+               if (yych == 'C') goto yy690;
                if (yych != 'c') goto yy186;
-yy782:
-               YYDEBUG(782, *YYCURSOR);
+yy690:
+               YYDEBUG(690, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy783;
+               if (yych == 'H') goto yy691;
                if (yych != 'h') goto yy186;
-yy783:
-               YYDEBUG(783, *YYCURSOR);
+yy691:
+               YYDEBUG(691, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(784, *YYCURSOR);
+               YYDEBUG(692, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1067 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 7495 "Zend/zend_language_scanner.c"
-yy785:
-               YYDEBUG(785, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'A') goto yy786;
-               if (yych != 'a') goto yy186;
-yy786:
-               YYDEBUG(786, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'T') goto yy717;
-               if (yych == 't') goto yy717;
-               goto yy186;
-yy787:
-               YYDEBUG(787, *YYCURSOR);
+#line 6477 "Zend/zend_language_scanner.c"
+yy693:
+               YYDEBUG(693, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy788;
+               if (yych == 'A') goto yy694;
                if (yych != 'a') goto yy186;
-yy788:
-               YYDEBUG(788, *YYCURSOR);
+yy694:
+               YYDEBUG(694, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy789;
+               if (yych == 'L') goto yy695;
                if (yych != 'l') goto yy186;
-yy789:
-               YYDEBUG(789, *YYCURSOR);
+yy695:
+               YYDEBUG(695, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(790, *YYCURSOR);
+               YYDEBUG(696, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1285 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 7529 "Zend/zend_language_scanner.c"
-yy791:
-               YYDEBUG(791, *YYCURSOR);
+#line 6500 "Zend/zend_language_scanner.c"
+yy697:
+               YYDEBUG(697, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'F') {
-                       if (yych == 'C') goto yy800;
+                       if (yych == 'C') goto yy703;
                        if (yych <= 'E') goto yy186;
-                       goto yy801;
+                       goto yy704;
                } else {
                        if (yych <= 'c') {
                                if (yych <= 'b') goto yy186;
-                               goto yy800;
+                               goto yy703;
                        } else {
-                               if (yych == 'f') goto yy801;
+                               if (yych == 'f') goto yy704;
                                goto yy186;
                        }
                }
-yy792:
-               YYDEBUG(792, *YYCURSOR);
+yy698:
+               YYDEBUG(698, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy798;
-               if (yych == 'e') goto yy798;
+               if (yych == 'E') goto yy701;
+               if (yych == 'e') goto yy701;
                goto yy186;
-yy793:
-               YYDEBUG(793, *YYCURSOR);
+yy699:
+               YYDEBUG(699, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) <= '^') {
-                       if (yych <= '@') {
-                               if (yych <= '/') goto yy794;
-                               if (yych <= '9') goto yy185;
-                       } else {
-                               if (yych == 'U') goto yy795;
-                               if (yych <= 'Z') goto yy185;
-                       }
-               } else {
-                       if (yych <= 't') {
-                               if (yych != '`') goto yy185;
-                       } else {
-                               if (yych <= 'u') goto yy795;
-                               if (yych <= 'z') goto yy185;
-                               if (yych >= 0x7F) goto yy185;
-                       }
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
+                       goto yy185;
                }
-yy794:
-               YYDEBUG(794, *YYCURSOR);
+               YYDEBUG(700, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1055 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 7579 "Zend/zend_language_scanner.c"
-yy795:
-               YYDEBUG(795, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'B') goto yy796;
-               if (yych != 'b') goto yy186;
-yy796:
-               YYDEBUG(796, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'L') goto yy797;
-               if (yych != 'l') goto yy186;
-yy797:
-               YYDEBUG(797, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'E') goto yy717;
-               if (yych == 'e') goto yy717;
-               goto yy186;
-yy798:
-               YYDEBUG(798, *YYCURSOR);
+#line 6535 "Zend/zend_language_scanner.c"
+yy701:
+               YYDEBUG(701, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(799, *YYCURSOR);
+               YYDEBUG(702, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1003 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7608 "Zend/zend_language_scanner.c"
-yy800:
-               YYDEBUG(800, *YYCURSOR);
+#line 6548 "Zend/zend_language_scanner.c"
+yy703:
+               YYDEBUG(703, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy807;
-               if (yych == 'l') goto yy807;
+               if (yych == 'L') goto yy710;
+               if (yych == 'l') goto yy710;
                goto yy186;
-yy801:
-               YYDEBUG(801, *YYCURSOR);
+yy704:
+               YYDEBUG(704, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy802;
+               if (yych == 'A') goto yy705;
                if (yych != 'a') goto yy186;
-yy802:
-               YYDEBUG(802, *YYCURSOR);
+yy705:
+               YYDEBUG(705, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'U') goto yy803;
+               if (yych == 'U') goto yy706;
                if (yych != 'u') goto yy186;
-yy803:
-               YYDEBUG(803, *YYCURSOR);
+yy706:
+               YYDEBUG(706, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy804;
+               if (yych == 'L') goto yy707;
                if (yych != 'l') goto yy186;
-yy804:
-               YYDEBUG(804, *YYCURSOR);
+yy707:
+               YYDEBUG(707, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy805;
+               if (yych == 'T') goto yy708;
                if (yych != 't') goto yy186;
-yy805:
-               YYDEBUG(805, *YYCURSOR);
+yy708:
+               YYDEBUG(708, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(806, *YYCURSOR);
+               YYDEBUG(709, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1103 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 7647 "Zend/zend_language_scanner.c"
-yy807:
-               YYDEBUG(807, *YYCURSOR);
+#line 6587 "Zend/zend_language_scanner.c"
+yy710:
+               YYDEBUG(710, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy808;
+               if (yych == 'A') goto yy711;
                if (yych != 'a') goto yy186;
-yy808:
-               YYDEBUG(808, *YYCURSOR);
+yy711:
+               YYDEBUG(711, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy809;
+               if (yych == 'R') goto yy712;
                if (yych != 'r') goto yy186;
-yy809:
-               YYDEBUG(809, *YYCURSOR);
+yy712:
+               YYDEBUG(712, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy810;
+               if (yych == 'E') goto yy713;
                if (yych != 'e') goto yy186;
-yy810:
-               YYDEBUG(810, *YYCURSOR);
+yy713:
+               YYDEBUG(713, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(811, *YYCURSOR);
+               YYDEBUG(714, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1075 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 7675 "Zend/zend_language_scanner.c"
-yy812:
-               YYDEBUG(812, *YYCURSOR);
+#line 6615 "Zend/zend_language_scanner.c"
+yy715:
+               YYDEBUG(715, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy874;
-               if (yych == 'h') goto yy874;
+               if (yych == 'H') goto yy777;
+               if (yych == 'h') goto yy777;
                goto yy186;
-yy813:
-               YYDEBUG(813, *YYCURSOR);
+yy716:
+               YYDEBUG(716, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy868;
-               if (yych == 's') goto yy868;
+               if (yych == 'S') goto yy771;
+               if (yych == 's') goto yy771;
                goto yy186;
-yy814:
-               YYDEBUG(814, *YYCURSOR);
+yy717:
+               YYDEBUG(717, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'P') goto yy864;
-               if (yych == 'p') goto yy864;
+               if (yych == 'P') goto yy767;
+               if (yych == 'p') goto yy767;
                goto yy186;
-yy815:
-               YYDEBUG(815, *YYCURSOR);
+yy718:
+               YYDEBUG(718, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy830;
-               if (yych == 'd') goto yy830;
+               if (yych == 'D') goto yy733;
+               if (yych == 'd') goto yy733;
                goto yy186;
-yy816:
-               YYDEBUG(816, *YYCURSOR);
+yy719:
+               YYDEBUG(719, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy827;
-               if (yych == 'a') goto yy827;
+               if (yych == 'A') goto yy730;
+               if (yych == 'a') goto yy730;
                goto yy186;
-yy817:
-               YYDEBUG(817, *YYCURSOR);
+yy720:
+               YYDEBUG(720, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
-                       if (yych == 'I') goto yy818;
+                       if (yych == 'I') goto yy721;
                        if (yych <= 'S') goto yy186;
-                       goto yy819;
+                       goto yy722;
                } else {
                        if (yych <= 'i') {
                                if (yych <= 'h') goto yy186;
                        } else {
-                               if (yych == 't') goto yy819;
+                               if (yych == 't') goto yy722;
                                goto yy186;
                        }
                }
-yy818:
-               YYDEBUG(818, *YYCURSOR);
+yy721:
+               YYDEBUG(721, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy825;
-               if (yych == 't') goto yy825;
+               if (yych == 'T') goto yy728;
+               if (yych == 't') goto yy728;
                goto yy186;
-yy819:
-               YYDEBUG(819, *YYCURSOR);
+yy722:
+               YYDEBUG(722, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy820;
+               if (yych == 'E') goto yy723;
                if (yych != 'e') goto yy186;
-yy820:
-               YYDEBUG(820, *YYCURSOR);
+yy723:
+               YYDEBUG(723, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'N') goto yy821;
+               if (yych == 'N') goto yy724;
                if (yych != 'n') goto yy186;
-yy821:
-               YYDEBUG(821, *YYCURSOR);
+yy724:
+               YYDEBUG(724, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'D') goto yy822;
+               if (yych == 'D') goto yy725;
                if (yych != 'd') goto yy186;
-yy822:
-               YYDEBUG(822, *YYCURSOR);
+yy725:
+               YYDEBUG(725, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'S') goto yy823;
+               if (yych == 'S') goto yy726;
                if (yych != 's') goto yy186;
-yy823:
-               YYDEBUG(823, *YYCURSOR);
+yy726:
+               YYDEBUG(726, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(824, *YYCURSOR);
+               YYDEBUG(727, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1139 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 7759 "Zend/zend_language_scanner.c"
-yy825:
-               YYDEBUG(825, *YYCURSOR);
+#line 6699 "Zend/zend_language_scanner.c"
+yy728:
+               YYDEBUG(728, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(826, *YYCURSOR);
+               YYDEBUG(729, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 999 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7772 "Zend/zend_language_scanner.c"
-yy827:
-               YYDEBUG(827, *YYCURSOR);
+#line 6712 "Zend/zend_language_scanner.c"
+yy730:
+               YYDEBUG(730, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy828;
+               if (yych == 'L') goto yy731;
                if (yych != 'l') goto yy186;
-yy828:
-               YYDEBUG(828, *YYCURSOR);
+yy731:
+               YYDEBUG(731, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(829, *YYCURSOR);
+               YYDEBUG(732, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1229 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 7790 "Zend/zend_language_scanner.c"
-yy830:
-               YYDEBUG(830, *YYCURSOR);
+#line 6730 "Zend/zend_language_scanner.c"
+yy733:
+               YYDEBUG(733, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'D':
-               case 'd':       goto yy831;
+               case 'd':       goto yy734;
                case 'F':
-               case 'f':       goto yy832;
+               case 'f':       goto yy735;
                case 'I':
-               case 'i':       goto yy833;
+               case 'i':       goto yy736;
                case 'S':
-               case 's':       goto yy834;
+               case 's':       goto yy737;
                case 'W':
-               case 'w':       goto yy835;
+               case 'w':       goto yy738;
                default:        goto yy186;
                }
-yy831:
-               YYDEBUG(831, *YYCURSOR);
+yy734:
+               YYDEBUG(734, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy857;
-               if (yych == 'e') goto yy857;
+               if (yych == 'E') goto yy760;
+               if (yych == 'e') goto yy760;
                goto yy186;
-yy832:
-               YYDEBUG(832, *YYCURSOR);
+yy735:
+               YYDEBUG(735, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy849;
-               if (yych == 'o') goto yy849;
+               if (yych == 'O') goto yy752;
+               if (yych == 'o') goto yy752;
                goto yy186;
-yy833:
-               YYDEBUG(833, *YYCURSOR);
+yy736:
+               YYDEBUG(736, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy847;
-               if (yych == 'f') goto yy847;
+               if (yych == 'F') goto yy750;
+               if (yych == 'f') goto yy750;
                goto yy186;
-yy834:
-               YYDEBUG(834, *YYCURSOR);
+yy737:
+               YYDEBUG(737, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'W') goto yy841;
-               if (yych == 'w') goto yy841;
+               if (yych == 'W') goto yy744;
+               if (yych == 'w') goto yy744;
                goto yy186;
-yy835:
-               YYDEBUG(835, *YYCURSOR);
+yy738:
+               YYDEBUG(738, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy836;
+               if (yych == 'H') goto yy739;
                if (yych != 'h') goto yy186;
-yy836:
-               YYDEBUG(836, *YYCURSOR);
+yy739:
+               YYDEBUG(739, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy837;
+               if (yych == 'I') goto yy740;
                if (yych != 'i') goto yy186;
-yy837:
-               YYDEBUG(837, *YYCURSOR);
+yy740:
+               YYDEBUG(740, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy838;
+               if (yych == 'L') goto yy741;
                if (yych != 'l') goto yy186;
-yy838:
-               YYDEBUG(838, *YYCURSOR);
+yy741:
+               YYDEBUG(741, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy839;
+               if (yych == 'E') goto yy742;
                if (yych != 'e') goto yy186;
-yy839:
-               YYDEBUG(839, *YYCURSOR);
+yy742:
+               YYDEBUG(742, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(840, *YYCURSOR);
+               YYDEBUG(743, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1051 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 7864 "Zend/zend_language_scanner.c"
-yy841:
-               YYDEBUG(841, *YYCURSOR);
+#line 6804 "Zend/zend_language_scanner.c"
+yy744:
+               YYDEBUG(744, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'I') goto yy842;
+               if (yych == 'I') goto yy745;
                if (yych != 'i') goto yy186;
-yy842:
-               YYDEBUG(842, *YYCURSOR);
+yy745:
+               YYDEBUG(745, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy843;
+               if (yych == 'T') goto yy746;
                if (yych != 't') goto yy186;
-yy843:
-               YYDEBUG(843, *YYCURSOR);
+yy746:
+               YYDEBUG(746, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy844;
+               if (yych == 'C') goto yy747;
                if (yych != 'c') goto yy186;
-yy844:
-               YYDEBUG(844, *YYCURSOR);
+yy747:
+               YYDEBUG(747, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy845;
+               if (yych == 'H') goto yy748;
                if (yych != 'h') goto yy186;
-yy845:
-               YYDEBUG(845, *YYCURSOR);
+yy748:
+               YYDEBUG(748, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(846, *YYCURSOR);
+               YYDEBUG(749, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1095 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 7897 "Zend/zend_language_scanner.c"
-yy847:
-               YYDEBUG(847, *YYCURSOR);
+#line 6837 "Zend/zend_language_scanner.c"
+yy750:
+               YYDEBUG(750, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(848, *YYCURSOR);
+               YYDEBUG(751, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1039 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 7910 "Zend/zend_language_scanner.c"
-yy849:
-               YYDEBUG(849, *YYCURSOR);
+#line 6850 "Zend/zend_language_scanner.c"
+yy752:
+               YYDEBUG(752, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy850;
+               if (yych == 'R') goto yy753;
                if (yych != 'r') goto yy186;
-yy850:
-               YYDEBUG(850, *YYCURSOR);
+yy753:
+               YYDEBUG(753, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy851;
+                               if (yych <= '/') goto yy754;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'E') goto yy852;
+                               if (yych == 'E') goto yy755;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'd') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'e') goto yy852;
+                               if (yych <= 'e') goto yy755;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy851:
-               YYDEBUG(851, *YYCURSOR);
+yy754:
+               YYDEBUG(754, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1063 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 7943 "Zend/zend_language_scanner.c"
-yy852:
-               YYDEBUG(852, *YYCURSOR);
+#line 6883 "Zend/zend_language_scanner.c"
+yy755:
+               YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy853;
+               if (yych == 'A') goto yy756;
                if (yych != 'a') goto yy186;
-yy853:
-               YYDEBUG(853, *YYCURSOR);
+yy756:
+               YYDEBUG(756, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy854;
+               if (yych == 'C') goto yy757;
                if (yych != 'c') goto yy186;
-yy854:
-               YYDEBUG(854, *YYCURSOR);
+yy757:
+               YYDEBUG(757, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'H') goto yy855;
+               if (yych == 'H') goto yy758;
                if (yych != 'h') goto yy186;
-yy855:
-               YYDEBUG(855, *YYCURSOR);
+yy758:
+               YYDEBUG(758, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(856, *YYCURSOR);
+               YYDEBUG(759, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1071 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 7971 "Zend/zend_language_scanner.c"
-yy857:
-               YYDEBUG(857, *YYCURSOR);
+#line 6911 "Zend/zend_language_scanner.c"
+yy760:
+               YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'C') goto yy858;
+               if (yych == 'C') goto yy761;
                if (yych != 'c') goto yy186;
-yy858:
-               YYDEBUG(858, *YYCURSOR);
+yy761:
+               YYDEBUG(761, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'L') goto yy859;
+               if (yych == 'L') goto yy762;
                if (yych != 'l') goto yy186;
-yy859:
-               YYDEBUG(859, *YYCURSOR);
+yy762:
+               YYDEBUG(762, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'A') goto yy860;
+               if (yych == 'A') goto yy763;
                if (yych != 'a') goto yy186;
-yy860:
-               YYDEBUG(860, *YYCURSOR);
+yy763:
+               YYDEBUG(763, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'R') goto yy861;
+               if (yych == 'R') goto yy764;
                if (yych != 'r') goto yy186;
-yy861:
-               YYDEBUG(861, *YYCURSOR);
+yy764:
+               YYDEBUG(764, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy862;
+               if (yych == 'E') goto yy765;
                if (yych != 'e') goto yy186;
-yy862:
-               YYDEBUG(862, *YYCURSOR);
+yy765:
+               YYDEBUG(765, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(863, *YYCURSOR);
+               YYDEBUG(766, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1079 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 8009 "Zend/zend_language_scanner.c"
-yy864:
-               YYDEBUG(864, *YYCURSOR);
+#line 6949 "Zend/zend_language_scanner.c"
+yy767:
+               YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'T') goto yy865;
+               if (yych == 'T') goto yy768;
                if (yych != 't') goto yy186;
-yy865:
-               YYDEBUG(865, *YYCURSOR);
+yy768:
+               YYDEBUG(768, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'Y') goto yy866;
+               if (yych == 'Y') goto yy769;
                if (yych != 'y') goto yy186;
-yy866:
-               YYDEBUG(866, *YYCURSOR);
+yy769:
+               YYDEBUG(769, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(867, *YYCURSOR);
+               YYDEBUG(770, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1269 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 8032 "Zend/zend_language_scanner.c"
-yy868:
-               YYDEBUG(868, *YYCURSOR);
+#line 6972 "Zend/zend_language_scanner.c"
+yy771:
+               YYDEBUG(771, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy869;
+               if (yych == 'E') goto yy772;
                if (yych != 'e') goto yy186;
-yy869:
-               YYDEBUG(869, *YYCURSOR);
+yy772:
+               YYDEBUG(772, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
-                               if (yych <= '/') goto yy870;
+                               if (yych <= '/') goto yy773;
                                if (yych <= '9') goto yy185;
                        } else {
-                               if (yych == 'I') goto yy871;
+                               if (yych == 'I') goto yy774;
                                if (yych <= 'Z') goto yy185;
                        }
                } else {
                        if (yych <= 'h') {
                                if (yych != '`') goto yy185;
                        } else {
-                               if (yych <= 'i') goto yy871;
+                               if (yych <= 'i') goto yy774;
                                if (yych <= 'z') goto yy185;
                                if (yych >= 0x7F) goto yy185;
                        }
                }
-yy870:
-               YYDEBUG(870, *YYCURSOR);
+yy773:
+               YYDEBUG(773, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1043 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 8065 "Zend/zend_language_scanner.c"
-yy871:
-               YYDEBUG(871, *YYCURSOR);
+#line 7005 "Zend/zend_language_scanner.c"
+yy774:
+               YYDEBUG(774, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'F') goto yy872;
+               if (yych == 'F') goto yy775;
                if (yych != 'f') goto yy186;
-yy872:
-               YYDEBUG(872, *YYCURSOR);
+yy775:
+               YYDEBUG(775, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(873, *YYCURSOR);
+               YYDEBUG(776, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1035 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 8083 "Zend/zend_language_scanner.c"
-yy874:
-               YYDEBUG(874, *YYCURSOR);
+#line 7023 "Zend/zend_language_scanner.c"
+yy777:
+               YYDEBUG(777, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'O') goto yy875;
+               if (yych == 'O') goto yy778;
                if (yych != 'o') goto yy186;
-yy875:
-               YYDEBUG(875, *YYCURSOR);
+yy778:
+               YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 4) {
+               if (yybm[0+(yych = *YYCURSOR)] & 8) {
                        goto yy185;
                }
-               YYDEBUG(876, *YYCURSOR);
+               YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1119 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 8101 "Zend/zend_language_scanner.c"
+#line 7041 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8136,39 +7076,39 @@ yyc_ST_LOOKING_FOR_PROPERTY:
                         64,  64,  64,  64,  64,  64,  64,  64, 
                         64,  64,  64,  64,  64,  64,  64,  64, 
                };
-               YYDEBUG(877, *YYCURSOR);
+               YYDEBUG(780, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '-') {
                        if (yych <= '\r') {
-                               if (yych <= 0x08) goto yy885;
-                               if (yych <= '\n') goto yy879;
-                               if (yych <= '\f') goto yy885;
+                               if (yych <= 0x08) goto yy788;
+                               if (yych <= '\n') goto yy782;
+                               if (yych <= '\f') goto yy788;
                        } else {
-                               if (yych == ' ') goto yy879;
-                               if (yych <= ',') goto yy885;
-                               goto yy881;
+                               if (yych == ' ') goto yy782;
+                               if (yych <= ',') goto yy788;
+                               goto yy784;
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= '@') goto yy885;
-                               if (yych <= 'Z') goto yy883;
-                               if (yych <= '^') goto yy885;
-                               goto yy883;
+                               if (yych <= '@') goto yy788;
+                               if (yych <= 'Z') goto yy786;
+                               if (yych <= '^') goto yy788;
+                               goto yy786;
                        } else {
-                               if (yych <= '`') goto yy885;
-                               if (yych <= 'z') goto yy883;
-                               if (yych <= '~') goto yy885;
-                               goto yy883;
+                               if (yych <= '`') goto yy788;
+                               if (yych <= 'z') goto yy786;
+                               if (yych <= '~') goto yy788;
+                               goto yy786;
                        }
                }
-yy879:
-               YYDEBUG(879, *YYCURSOR);
+yy782:
+               YYDEBUG(782, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy891;
-yy880:
-               YYDEBUG(880, *YYCURSOR);
+               goto yy794;
+yy783:
+               YYDEBUG(783, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1152 "Zend/zend_language_scanner.l"
                {
@@ -8178,13 +7118,13 @@ yy880:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 8182 "Zend/zend_language_scanner.c"
-yy881:
-               YYDEBUG(881, *YYCURSOR);
+#line 7122 "Zend/zend_language_scanner.c"
+yy784:
+               YYDEBUG(784, *YYCURSOR);
                ++YYCURSOR;
-               if ((yych = *YYCURSOR) == '>') goto yy888;
-yy882:
-               YYDEBUG(882, *YYCURSOR);
+               if ((yych = *YYCURSOR) == '>') goto yy791;
+yy785:
+               YYDEBUG(785, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1171 "Zend/zend_language_scanner.l"
                {
@@ -8192,14 +7132,14 @@ yy882:
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 8196 "Zend/zend_language_scanner.c"
-yy883:
-               YYDEBUG(883, *YYCURSOR);
+#line 7136 "Zend/zend_language_scanner.c"
+yy786:
+               YYDEBUG(786, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy887;
-yy884:
-               YYDEBUG(884, *YYCURSOR);
+               goto yy790;
+yy787:
+               YYDEBUG(787, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1164 "Zend/zend_language_scanner.l"
                {
@@ -8208,43 +7148,43 @@ yy884:
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8212 "Zend/zend_language_scanner.c"
-yy885:
-               YYDEBUG(885, *YYCURSOR);
+#line 7152 "Zend/zend_language_scanner.c"
+yy788:
+               YYDEBUG(788, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy882;
-yy886:
-               YYDEBUG(886, *YYCURSOR);
+               goto yy785;
+yy789:
+               YYDEBUG(789, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy887:
-               YYDEBUG(887, *YYCURSOR);
+yy790:
+               YYDEBUG(790, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy886;
+                       goto yy789;
                }
-               goto yy884;
-yy888:
-               YYDEBUG(888, *YYCURSOR);
+               goto yy787;
+yy791:
+               YYDEBUG(791, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(889, *YYCURSOR);
+               YYDEBUG(792, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 1160 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 8237 "Zend/zend_language_scanner.c"
-yy890:
-               YYDEBUG(890, *YYCURSOR);
+#line 7177 "Zend/zend_language_scanner.c"
+yy793:
+               YYDEBUG(793, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy891:
-               YYDEBUG(891, *YYCURSOR);
+yy794:
+               YYDEBUG(794, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy890;
+                       goto yy793;
                }
-               goto yy880;
+               goto yy783;
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_VARNAME:
@@ -8283,27 +7223,27 @@ yyc_ST_LOOKING_FOR_VARNAME:
                        128, 128, 128, 128, 128, 128, 128, 128, 
                        128, 128, 128, 128, 128, 128, 128, 128, 
                };
-               YYDEBUG(892, *YYCURSOR);
+               YYDEBUG(795, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '_') {
-                       if (yych <= '@') goto yy896;
-                       if (yych <= 'Z') goto yy894;
-                       if (yych <= '^') goto yy896;
+                       if (yych <= '@') goto yy799;
+                       if (yych <= 'Z') goto yy797;
+                       if (yych <= '^') goto yy799;
                } else {
-                       if (yych <= '`') goto yy896;
-                       if (yych <= 'z') goto yy894;
-                       if (yych <= '~') goto yy896;
+                       if (yych <= '`') goto yy799;
+                       if (yych <= 'z') goto yy797;
+                       if (yych <= '~') goto yy799;
                }
-yy894:
-               YYDEBUG(894, *YYCURSOR);
+yy797:
+               YYDEBUG(797, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy899;
-yy895:
-               YYDEBUG(895, *YYCURSOR);
+               goto yy802;
+yy798:
+               YYDEBUG(798, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1503 "Zend/zend_language_scanner.l"
+#line 1447 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -8311,42 +7251,42 @@ yy895:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8315 "Zend/zend_language_scanner.c"
-yy896:
-               YYDEBUG(896, *YYCURSOR);
+#line 7255 "Zend/zend_language_scanner.c"
+yy799:
+               YYDEBUG(799, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(897, *YYCURSOR);
+               YYDEBUG(800, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1512 "Zend/zend_language_scanner.l"
+#line 1456 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8328 "Zend/zend_language_scanner.c"
-yy898:
-               YYDEBUG(898, *YYCURSOR);
+#line 7268 "Zend/zend_language_scanner.c"
+yy801:
+               YYDEBUG(801, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy899:
-               YYDEBUG(899, *YYCURSOR);
+yy802:
+               YYDEBUG(802, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy898;
+                       goto yy801;
                }
-               goto yy895;
+               goto yy798;
        }
 /* *********************************** */
 yyc_ST_NOWDOC:
-       YYDEBUG(900, *YYCURSOR);
+       YYDEBUG(803, *YYCURSOR);
        YYFILL(1);
        yych = *YYCURSOR;
-       YYDEBUG(902, *YYCURSOR);
+       YYDEBUG(805, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(903, *YYCURSOR);
+       YYDEBUG(806, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2339 "Zend/zend_language_scanner.l"
+#line 2283 "Zend/zend_language_scanner.l"
        {
        int newline = 0;
 
@@ -8401,7 +7341,7 @@ nowdoc_scan_done:
        HANDLE_NEWLINES(yytext, yyleng - newline);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8405 "Zend/zend_language_scanner.c"
+#line 7345 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
        {
@@ -8439,69 +7379,69 @@ yyc_ST_VAR_OFFSET:
                         32,  32,  32,  32,  32,  32,  32,  32, 
                         32,  32,  32,  32,  32,  32,  32,  32, 
                };
-               YYDEBUG(904, *YYCURSOR);
+               YYDEBUG(807, *YYCURSOR);
                YYFILL(3);
                yych = *YYCURSOR;
                if (yych <= '/') {
                        if (yych <= ' ') {
                                if (yych <= '\f') {
-                                       if (yych <= 0x08) goto yy918;
-                                       if (yych <= '\n') goto yy914;
-                                       goto yy918;
+                                       if (yych <= 0x08) goto yy821;
+                                       if (yych <= '\n') goto yy817;
+                                       goto yy821;
                                } else {
-                                       if (yych <= '\r') goto yy914;
-                                       if (yych <= 0x1F) goto yy918;
-                                       goto yy914;
+                                       if (yych <= '\r') goto yy817;
+                                       if (yych <= 0x1F) goto yy821;
+                                       goto yy817;
                                }
                        } else {
                                if (yych <= '$') {
-                                       if (yych <= '"') goto yy913;
-                                       if (yych <= '#') goto yy914;
-                                       goto yy909;
+                                       if (yych <= '"') goto yy816;
+                                       if (yych <= '#') goto yy817;
+                                       goto yy812;
                                } else {
-                                       if (yych == '\'') goto yy914;
-                                       goto yy913;
+                                       if (yych == '\'') goto yy817;
+                                       goto yy816;
                                }
                        }
                } else {
                        if (yych <= '\\') {
                                if (yych <= '@') {
-                                       if (yych <= '0') goto yy906;
-                                       if (yych <= '9') goto yy908;
-                                       goto yy913;
+                                       if (yych <= '0') goto yy809;
+                                       if (yych <= '9') goto yy811;
+                                       goto yy816;
                                } else {
-                                       if (yych <= 'Z') goto yy916;
-                                       if (yych <= '[') goto yy913;
-                                       goto yy914;
+                                       if (yych <= 'Z') goto yy819;
+                                       if (yych <= '[') goto yy816;
+                                       goto yy817;
                                }
                        } else {
                                if (yych <= '_') {
-                                       if (yych <= ']') goto yy911;
-                                       if (yych <= '^') goto yy913;
-                                       goto yy916;
+                                       if (yych <= ']') goto yy814;
+                                       if (yych <= '^') goto yy816;
+                                       goto yy819;
                                } else {
-                                       if (yych <= '`') goto yy913;
-                                       if (yych <= 'z') goto yy916;
-                                       if (yych <= '~') goto yy913;
-                                       goto yy916;
+                                       if (yych <= '`') goto yy816;
+                                       if (yych <= 'z') goto yy819;
+                                       if (yych <= '~') goto yy816;
+                                       goto yy819;
                                }
                        }
                }
-yy906:
-               YYDEBUG(906, *YYCURSOR);
+yy809:
+               YYDEBUG(809, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'W') {
-                       if (yych <= '/') goto yy907;
-                       if (yych <= '9') goto yy929;
+                       if (yych <= '/') goto yy810;
+                       if (yych <= '9') goto yy832;
                } else {
-                       if (yych <= 'X') goto yy927;
-                       if (yych == 'x') goto yy927;
+                       if (yych <= 'X') goto yy830;
+                       if (yych == 'x') goto yy830;
                }
-yy907:
-               YYDEBUG(907, *YYCURSOR);
+yy810:
+               YYDEBUG(810, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1562 "Zend/zend_language_scanner.l"
+#line 1506 "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);
@@ -8513,81 +7453,81 @@ yy907:
        }
        return T_NUM_STRING;
 }
-#line 8517 "Zend/zend_language_scanner.c"
-yy908:
-               YYDEBUG(908, *YYCURSOR);
+#line 7457 "Zend/zend_language_scanner.c"
+yy811:
+               YYDEBUG(811, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy926;
-yy909:
-               YYDEBUG(909, *YYCURSOR);
+               goto yy829;
+yy812:
+               YYDEBUG(812, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '_') {
-                       if (yych <= '@') goto yy910;
-                       if (yych <= 'Z') goto yy922;
-                       if (yych >= '_') goto yy922;
+                       if (yych <= '@') goto yy813;
+                       if (yych <= 'Z') goto yy825;
+                       if (yych >= '_') goto yy825;
                } else {
-                       if (yych <= '`') goto yy910;
-                       if (yych <= 'z') goto yy922;
-                       if (yych >= 0x7F) goto yy922;
+                       if (yych <= '`') goto yy813;
+                       if (yych <= 'z') goto yy825;
+                       if (yych >= 0x7F) goto yy825;
                }
-yy910:
-               YYDEBUG(910, *YYCURSOR);
+yy813:
+               YYDEBUG(813, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1867 "Zend/zend_language_scanner.l"
+#line 1811 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 8542 "Zend/zend_language_scanner.c"
-yy911:
-               YYDEBUG(911, *YYCURSOR);
+#line 7482 "Zend/zend_language_scanner.c"
+yy814:
+               YYDEBUG(814, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(912, *YYCURSOR);
+               YYDEBUG(815, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1862 "Zend/zend_language_scanner.l"
+#line 1806 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 8553 "Zend/zend_language_scanner.c"
-yy913:
-               YYDEBUG(913, *YYCURSOR);
+#line 7493 "Zend/zend_language_scanner.c"
+yy816:
+               YYDEBUG(816, *YYCURSOR);
                yych = *++YYCURSOR;
-               goto yy910;
-yy914:
-               YYDEBUG(914, *YYCURSOR);
+               goto yy813;
+yy817:
+               YYDEBUG(817, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(915, *YYCURSOR);
+               YYDEBUG(818, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1872 "Zend/zend_language_scanner.l"
+#line 1816 "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 8570 "Zend/zend_language_scanner.c"
-yy916:
-               YYDEBUG(916, *YYCURSOR);
+#line 7510 "Zend/zend_language_scanner.c"
+yy819:
+               YYDEBUG(819, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
-               goto yy921;
-yy917:
-               YYDEBUG(917, *YYCURSOR);
+               goto yy824;
+yy820:
+               YYDEBUG(820, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1879 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8585 "Zend/zend_language_scanner.c"
-yy918:
-               YYDEBUG(918, *YYCURSOR);
+#line 7525 "Zend/zend_language_scanner.c"
+yy821:
+               YYDEBUG(821, *YYCURSOR);
                ++YYCURSOR;
-               YYDEBUG(919, *YYCURSOR);
+               YYDEBUG(822, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2395 "Zend/zend_language_scanner.l"
+#line 2339 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -8596,100 +7536,100 @@ yy918:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 8600 "Zend/zend_language_scanner.c"
-yy920:
-               YYDEBUG(920, *YYCURSOR);
+#line 7540 "Zend/zend_language_scanner.c"
+yy823:
+               YYDEBUG(823, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy921:
-               YYDEBUG(921, *YYCURSOR);
+yy824:
+               YYDEBUG(824, *YYCURSOR);
                if (yybm[0+yych] & 32) {
-                       goto yy920;
+                       goto yy823;
                }
-               goto yy917;
-yy922:
-               YYDEBUG(922, *YYCURSOR);
+               goto yy820;
+yy825:
+               YYDEBUG(825, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(923, *YYCURSOR);
+               YYDEBUG(826, *YYCURSOR);
                if (yych <= '^') {
                        if (yych <= '9') {
-                               if (yych >= '0') goto yy922;
+                               if (yych >= '0') goto yy825;
                        } else {
-                               if (yych <= '@') goto yy924;
-                               if (yych <= 'Z') goto yy922;
+                               if (yych <= '@') goto yy827;
+                               if (yych <= 'Z') goto yy825;
                        }
                } else {
                        if (yych <= '`') {
-                               if (yych <= '_') goto yy922;
+                               if (yych <= '_') goto yy825;
                        } else {
-                               if (yych <= 'z') goto yy922;
-                               if (yych >= 0x7F) goto yy922;
+                               if (yych <= 'z') goto yy825;
+                               if (yych >= 0x7F) goto yy825;
                        }
                }
-yy924:
-               YYDEBUG(924, *YYCURSOR);
+yy827:
+               YYDEBUG(827, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1856 "Zend/zend_language_scanner.l"
+#line 1800 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 8642 "Zend/zend_language_scanner.c"
-yy925:
-               YYDEBUG(925, *YYCURSOR);
+#line 7582 "Zend/zend_language_scanner.c"
+yy828:
+               YYDEBUG(828, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy926:
-               YYDEBUG(926, *YYCURSOR);
+yy829:
+               YYDEBUG(829, *YYCURSOR);
                if (yybm[0+yych] & 64) {
-                       goto yy925;
+                       goto yy828;
                }
-               goto yy907;
-yy927:
-               YYDEBUG(927, *YYCURSOR);
+               goto yy810;
+yy830:
+               YYDEBUG(830, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 128) {
-                       goto yy932;
+                       goto yy835;
                }
-               YYDEBUG(928, *YYCURSOR);
+               YYDEBUG(831, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               goto yy907;
-yy929:
-               YYDEBUG(929, *YYCURSOR);
+               goto yy810;
+yy832:
+               YYDEBUG(832, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(930, *YYCURSOR);
-               if (yych <= '/') goto yy931;
-               if (yych <= '9') goto yy929;
-yy931:
-               YYDEBUG(931, *YYCURSOR);
+               YYDEBUG(833, *YYCURSOR);
+               if (yych <= '/') goto yy834;
+               if (yych <= '9') goto yy832;
+yy834:
+               YYDEBUG(834, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1574 "Zend/zend_language_scanner.l"
+#line 1518 "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 8681 "Zend/zend_language_scanner.c"
-yy932:
-               YYDEBUG(932, *YYCURSOR);
+#line 7621 "Zend/zend_language_scanner.c"
+yy835:
+               YYDEBUG(835, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-               YYDEBUG(933, *YYCURSOR);
+               YYDEBUG(836, *YYCURSOR);
                if (yybm[0+yych] & 128) {
-                       goto yy932;
+                       goto yy835;
                }
-               goto yy931;
+               goto yy834;
        }
 }
-#line 2404 "Zend/zend_language_scanner.l"
+#line 2348 "Zend/zend_language_scanner.l"
 
 }
index acdd08d4069247222309d695f93943fb5d346733..1e7f92d285a460030941d7c48ae9fdbe9b20ae3a 100644 (file)
@@ -469,7 +469,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
 {
        char *file_path = NULL, *buf;
        size_t size, offset = 0;
-       
+
        /* The shebang line was read, get the current position to obtain the buffer start */
        if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
                if ((offset = ftell(file_handle->handle.fp)) == -1) {
@@ -496,7 +496,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
        if (size != -1) {
                if (CG(multibyte)) {
                        SCNG(script_org) = buf;
-                       SCNG(script_org_size) = size;   
+                       SCNG(script_org_size) = size;
                        SCNG(script_filtered) = NULL;
 
                        zend_multibyte_set_filter(NULL TSRMLS_CC);
@@ -1314,62 +1314,6 @@ NEWLINE ("\r"|"\n"|"\r\n")
        return T_ARRAY;
 }
 
-<ST_IN_SCRIPTING>("bool"|"boolean"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       if (yytext[4] == 'e') {
-               yyless((sizeof("boolean") - 1));
-       } else {
-               yyless((sizeof("bool") - 1));
-       }
-       return T_BOOL_HINT;
-}
-
-<ST_IN_SCRIPTING>("string"|"binary"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       yyless(6);
-       return T_STRING_HINT;
-}
-
-<ST_IN_SCRIPTING>"scalar"{TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       yyless(6);
-       return T_SCALAR_HINT;
-}
-
-<ST_IN_SCRIPTING>"numeric"{TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       yyless(7);
-       return T_NUMERIC_HINT;
-}
-
-<ST_IN_SCRIPTING>("int"|"integer"|"long"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       if (yytext[3] == 'e') {
-               yyless((sizeof("integer") - 1));
-       } else  if (yytext[3] == 'g') {
-               yyless((sizeof("long") - 1));
-       } else {
-               yyless(3);
-       }
-       return T_INT_HINT;
-}
-
-<ST_IN_SCRIPTING>("real"|"double"|"float"){TABS_AND_SPACES}[ \r\n\t&]*"$" {
-       if (yytext[4] == 'l') {
-               yyless((sizeof("double") - 1));
-       } else  if (yytext[4] == 't') {
-               yyless((sizeof("float") - 1));
-       } else {
-               yyless(4);
-       }
-       return T_DOUBLE_HINT;
-}
-
-<ST_IN_SCRIPTING>"resource"{TABS_AND_SPACES}[ \t\r\n&]*"$" {
-       yyless((sizeof("resource") - 1));
-       return T_RESOURCE_HINT;
-}
-
-<ST_IN_SCRIPTING>"object"{TABS_AND_SPACES}[ \t\r\n&]*"$" {
-       yyless((sizeof("object") - 1));
-       return T_OBJECT_HINT;
-}
-
 <ST_IN_SCRIPTING>"++" {
        return T_INC;
 }
@@ -1628,7 +1572,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
                len += strlen(func_name);
        }
 
-       zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s", 
+       zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
                class_name ? class_name : "",
                class_name && func_name ? "::" : "",
                func_name ? func_name : ""
index cbc854943bab37012449b66d947a479e3103cc9c..8ad31d30b71f2e321cdaddbff736103c3872584e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun Apr  3 14:18:11 2011 */
+/* Generated by re2c 0.13.5 on Sun May  8 16:20:00 2011 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {
index 874dff2c6031be8a9aa2a162dbe4f5e8611701e3..8eb7af24b590f39831d0ebf229adb8a3b8367cfb 100644 (file)
@@ -125,7 +125,7 @@ static void string_init(string *str)
        str->alloced = 1024;
        *str->string = '\0';
 }
-       
+
 static string *string_printf(string *str, const char *format, ...)
 {
        int len;
@@ -358,7 +358,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
 {
        int count, count_static_props = 0, count_static_funcs = 0, count_shadow_props = 0;
        string sub_indent;
-       
+
        string_init(&sub_indent);
        string_printf(&sub_indent, "%s    ", indent);
 
@@ -397,7 +397,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                }
                if (ce->ce_flags & ZEND_ACC_FINAL_CLASS) {
                        string_printf(str, "final ");
-               } 
+               }
                string_printf(str, "class ");
        }
        string_printf(str, "%s", ce->name);
@@ -452,7 +452,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
 
        /* Static properties */
        if (&ce->properties_info) {
-               /* counting static properties */                
+               /* counting static properties */
                count = zend_hash_num_elements(&ce->properties_info);
                if (count > 0) {
                        HashPosition pos;
@@ -470,7 +470,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                        }
                }
 
-               /* static properties */         
+               /* static properties */
                string_printf(str, "\n%s  - Static properties [%d] {\n", indent, count_static_props);
                if (count_static_props > 0) {
                        HashPosition pos;
@@ -488,10 +488,10 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                }
                string_printf(str, "%s  }\n", indent);
        }
-       
+
        /* Static methods */
        if (&ce->function_table) {
-               /* counting static methods */           
+               /* counting static methods */
                count = zend_hash_num_elements(&ce->function_table);
                if (count > 0) {
                        HashPosition pos;
@@ -509,7 +509,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                        }
                }
 
-               /* static methods */            
+               /* static methods */
                string_printf(str, "\n%s  - Static methods [%d] {", indent, count_static_funcs);
                if (count_static_funcs > 0) {
                        HashPosition pos;
@@ -573,7 +573,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                                        if (prop_name_size && prop_name[0]) { /* skip all private and protected properties */
                                                if (!zend_hash_quick_exists(&ce->properties_info, prop_name, prop_name_size, zend_get_hash_value(prop_name, prop_name_size))) {
                                                        count++;
-                                                       _property_string(&dyn, NULL, prop_name, sub_indent.string TSRMLS_CC);   
+                                                       _property_string(&dyn, NULL, prop_name, sub_indent.string TSRMLS_CC);
                                                }
                                        }
                                        efree(prop_name);
@@ -644,7 +644,7 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in
                }
                string_printf(str, "%s  }\n", indent);
        }
-       
+
        string_printf(str, "%s}\n", indent);
        string_free(&sub_indent);
 }
@@ -825,7 +825,7 @@ static void _function_string(string *str, zend_function *fptr, zend_class_entry
        unsigned int lc_name_len;
 
        /* TBD: Repair indenting of doc comment (or is this to be done in the parser?)
-        * What's "wrong" is that any whitespace before the doc comment start is 
+        * What's "wrong" is that any whitespace before the doc comment start is
         * swallowed, leading to an unaligned comment.
         */
        if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.doc_comment) {
@@ -904,7 +904,7 @@ static void _function_string(string *str, zend_function *fptr, zend_class_entry
        string_printf(str, "%s ] {\n", fptr->common.function_name);
        /* The information where a function is declared is only available for user classes */
        if (fptr->type == ZEND_USER_FUNCTION) {
-               string_printf(str, "%s  @@ %s %d - %d\n", indent, 
+               string_printf(str, "%s  @@ %s %d - %d\n", indent,
                                                fptr->op_array.filename,
                                                fptr->op_array.line_start,
                                                fptr->op_array.line_end);
@@ -936,7 +936,7 @@ static void _property_string(string *str, zend_property_info *prop, char *prop_n
                                string_write(str, "<default> ", sizeof("<default> ") - 1);
                        }
                }
-       
+
                /* These are mutually exclusive */
                switch (prop->flags & ZEND_ACC_PPP_MASK) {
                        case ZEND_ACC_PUBLIC:
@@ -1049,7 +1049,7 @@ static void _extension_string(string *str, zend_module_entry *module, char *inde
 
                while(dep->name) {
                        string_printf(str, "%s    Dependency [ %s (", indent, dep->name);
-                       
+
                        switch(dep->type) {
                        case MODULE_DEP_REQUIRED:
                                string_write(str, "Required", sizeof("Required") - 1);
@@ -1065,10 +1065,10 @@ static void _extension_string(string *str, zend_module_entry *module, char *inde
                                break;
                        }
 
-                       if (dep->rel) { 
+                       if (dep->rel) {
                                string_printf(str, " %s", dep->rel);
                        }
-                       if (dep->version) {     
+                       if (dep->version) {
                                string_printf(str, " %s", dep->version);
                        }
                        string_write(str, ") ]\n", sizeof(") ]\n") - 1);
@@ -1092,7 +1092,7 @@ static void _extension_string(string *str, zend_module_entry *module, char *inde
        {
                string str_constants;
                int num_constants = 0;
-               
+
                string_init(&str_constants);
                zend_hash_apply_with_arguments(EG(zend_constants) TSRMLS_CC, (apply_func_args_t) _extension_const_string, 4, &str_constants, indent, module, &num_constants);
                if (num_constants) {
@@ -1116,18 +1116,18 @@ static void _extension_string(string *str, zend_module_entry *module, char *inde
                                func++;
                                continue;
                        }
-                       
+
                        _function_string(str, fptr, NULL, "    " TSRMLS_CC);
                        func++;
                }
                string_printf(str, "%s  }\n", indent);
        }
-       
+
        {
                string str_classes;
                string sub_indent;
                int num_classes = 0;
-               
+
                string_init(&sub_indent);
                string_printf(&sub_indent, "%s    ", indent);
                string_init(&str_classes);
@@ -1403,7 +1403,7 @@ static void _reflection_export(INTERNAL_FUNCTION_PARAMETERS, zend_class_entry *c
        fcc.object_ptr = reflector_ptr;
 
        result = zend_call_function(&fci, &fcc TSRMLS_CC);
-       
+
        if (retval_ptr) {
                zval_ptr_dtor(&retval_ptr);
        }
@@ -1578,10 +1578,10 @@ ZEND_METHOD(reflection_function, __construct)
                        nsname = &lcname[1];
                        name_len--;
                }
-               
+
                if (zend_hash_find(EG(function_table), nsname, name_len + 1, (void **)&fptr) == FAILURE) {
                        efree(lcname);
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Function %s() does not exist", name_str);
                        return;
                }
@@ -1671,7 +1671,7 @@ ZEND_METHOD(reflection_function, getClosure)
 {
        reflection_object *intern;
        zend_function *fptr;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -1804,7 +1804,7 @@ ZEND_METHOD(reflection_function, getStaticVariables)
        zval *tmp_copy;
        reflection_object *intern;
        zend_function *fptr;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -1830,7 +1830,7 @@ ZEND_METHOD(reflection_function, invoke)
        zend_fcall_info_cache fcc;
        reflection_object *intern;
        zend_function *fptr;
-       
+
        METHOD_NOTSTATIC(reflection_function_ptr);
        GET_REFLECTION_OBJECT_PTR(fptr);
 
@@ -1861,7 +1861,7 @@ ZEND_METHOD(reflection_function, invoke)
        }
 
        if (result == FAILURE) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Invocation of function %s() failed", fptr->common.function_name);
                return;
        }
@@ -1891,7 +1891,7 @@ ZEND_METHOD(reflection_function, invokeArgs)
        reflection_object *intern;
        zend_function *fptr;
        zval *param_array;
-       
+
        METHOD_NOTSTATIC(reflection_function_ptr);
        GET_REFLECTION_OBJECT_PTR(fptr);
 
@@ -1900,9 +1900,9 @@ ZEND_METHOD(reflection_function, invokeArgs)
        }
 
        argc = zend_hash_num_elements(Z_ARRVAL_P(param_array));
-       
+
        params = safe_emalloc(sizeof(zval **), argc, 0);
-       zend_hash_apply_with_argument(Z_ARRVAL_P(param_array), (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);    
+       zend_hash_apply_with_argument(Z_ARRVAL_P(param_array), (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);
        params -= argc;
 
        fci.size = sizeof(fci);
@@ -1926,7 +1926,7 @@ ZEND_METHOD(reflection_function, invokeArgs)
        efree(params);
 
        if (result == FAILURE) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Invocation of function %s() failed", fptr->common.function_name);
                return;
        }
@@ -1995,7 +1995,7 @@ ZEND_METHOD(reflection_function, getParameters)
 
        array_init(return_value);
        for (i = 0; i < fptr->common.num_args; i++) {
-               zval *parameter;   
+               zval *parameter;
 
                ALLOC_ZVAL(parameter);
                reflection_parameter_factory(_copy_function(fptr TSRMLS_CC), intern->obj, arg_info, i, fptr->common.required_num_args, parameter TSRMLS_CC);
@@ -2086,7 +2086,7 @@ ZEND_METHOD(reflection_parameter, __construct)
        if (intern == NULL) {
                return;
        }
-       
+
        /* First, find the function */
        switch (Z_TYPE_P(reference)) {
                case IS_STRING: {
@@ -2097,7 +2097,7 @@ ZEND_METHOD(reflection_parameter, __construct)
                                lcname = zend_str_tolower_dup(Z_STRVAL_P(reference), lcname_len);
                                if (zend_hash_find(EG(function_table), lcname, lcname_len + 1, (void**) &fptr) == FAILURE) {
                                        efree(lcname);
-                                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                                "Function %s() does not exist", Z_STRVAL_P(reference));
                                        return;
                                }
@@ -2112,7 +2112,7 @@ ZEND_METHOD(reflection_parameter, __construct)
                                zend_class_entry **pce;
                                unsigned int lcname_len;
                                char *lcname;
-                               
+
                                if ((zend_hash_index_find(Z_ARRVAL_P(reference), 0, (void **) &classref) == FAILURE)
                                        || (zend_hash_index_find(Z_ARRVAL_P(reference), 1, (void **) &method) == FAILURE))
                                {
@@ -2131,7 +2131,7 @@ ZEND_METHOD(reflection_parameter, __construct)
                                        }
                                        ce = *pce;
                                }
-                               
+
                                convert_to_string_ex(method);
                                lcname_len = Z_STRLEN_PP(method);
                                lcname = zend_str_tolower_dup(Z_STRVAL_PP(method), lcname_len);
@@ -2144,17 +2144,17 @@ ZEND_METHOD(reflection_parameter, __construct)
 -                                         not the closure itself */
                                } else if (zend_hash_find(&ce->function_table, lcname, lcname_len + 1, (void **) &fptr) == FAILURE) {
                                        efree(lcname);
-                                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                                "Method %s::%s() does not exist", ce->name, Z_STRVAL_PP(method));
                                        return;
                                }
                                efree(lcname);
                        }
                        break;
-               
+
                case IS_OBJECT: {
                                ce = Z_OBJCE_P(reference);
-                               
+
                                if (instanceof_function(ce, zend_ce_closure TSRMLS_CC)) {
                                        fptr = (zend_function *)zend_get_closure_method_def(reference TSRMLS_CC);
                                        Z_ADDREF_P(reference);
@@ -2166,12 +2166,12 @@ ZEND_METHOD(reflection_parameter, __construct)
                                }
                        }
                        break;
-                       
+
                default:
                        _DO_THROW("The parameter class is expected to be either a string, an array(class, method) or a callable object");
                        /* returns out of this function */
        }
-       
+
        /* Now, search for the parameter */
        arg_info = fptr->common.arg_info;
        if (Z_TYPE_PP(parameter) == IS_LONG) {
@@ -2214,7 +2214,7 @@ ZEND_METHOD(reflection_parameter, __construct)
                        /* returns out of this function */
                }
        }
-       
+
        MAKE_STD_ZVAL(name);
        if (arg_info[position].name) {
                ZVAL_STRINGL(name, arg_info[position].name, arg_info[position].name_len, 1);
@@ -2301,7 +2301,7 @@ ZEND_METHOD(reflection_parameter, getDeclaringClass)
 
        if (param->fptr->common.scope) {
                zend_reflection_class_factory(param->fptr->common.scope, return_value TSRMLS_CC);
-       }       
+       }
 }
 /* }}} */
 
@@ -2334,7 +2334,7 @@ ZEND_METHOD(reflection_parameter, getClass)
                if (0 == zend_binary_strcasecmp(param->arg_info->class_name, param->arg_info->class_name_len, "self", sizeof("self")- 1)) {
                        ce = param->fptr->common.scope;
                        if (!ce) {
-                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                        "Parameter uses 'self' as type hint but function is not a class member!");
                                return;
                        }
@@ -2342,18 +2342,18 @@ ZEND_METHOD(reflection_parameter, getClass)
                } else if (0 == zend_binary_strcasecmp(param->arg_info->class_name, param->arg_info->class_name_len, "parent", sizeof("parent")- 1)) {
                        ce = param->fptr->common.scope;
                        if (!ce) {
-                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                        "Parameter uses 'parent' as type hint but function is not a class member!");
                                return;
                        }
                        if (!ce->parent) {
-                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                        "Parameter uses 'parent' as type hint although class does not have a parent!");
                                return;
                        }
                        pce= &ce->parent;
                } else if (zend_lookup_class(param->arg_info->class_name, param->arg_info->class_name_len, &pce TSRMLS_CC) == FAILURE) {
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Class %s does not exist", param->arg_info->class_name);
                        return;
                }
@@ -2378,102 +2378,6 @@ ZEND_METHOD(reflection_parameter, isArray)
 }
 /* }}} */
 
-/* {{{ proto public bool ReflectionParameter::isInt()
-   Returns whether parameter MUST be a long */
-ZEND_METHOD(reflection_parameter, isInt)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_LONG);
-}
-/* }}} */
-
-/* {{{ proto public bool ReflectionParameter::isDouble()
-   Returns whether parameter MUST be a double */
-ZEND_METHOD(reflection_parameter, isDouble)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_DOUBLE);
-}
-/* }}} */
-
-/* {{{ proto public bool ReflectionParameter::isBool()
-   Returns whether parameter MUST be a boolean */
-ZEND_METHOD(reflection_parameter, isBool)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_BOOL);
-}
-/* }}} */
-
-/* {{{ proto public bool ReflectionParameter::isObject()
-   Returns whether parameter MUST be a boolean */
-ZEND_METHOD(reflection_parameter, isObject)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_OBJECT);
-}
-/* }}} */
-
-/* {{{ proto public bool ReflectionParameter::isString()
-   Returns whether parameter MUST be a string */
-ZEND_METHOD(reflection_parameter, isString)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_STRING);
-}
-/* }}} */
-
-/* {{{ proto public bool ReflectionParameter::isResource()
-   Returns whether parameter MUST be a resource */
-ZEND_METHOD(reflection_parameter, isResource)
-{
-       reflection_object *intern;
-       parameter_reference *param;
-
-       if (zend_parse_parameters_none() == FAILURE) {
-               return;
-       }
-       GET_REFLECTION_OBJECT_PTR(param);
-
-       RETVAL_BOOL(param->arg_info->type_hint == IS_RESOURCE);
-}
-/* }}} */
-
 /* {{{ proto public string ReflectionParameter::getTypeHint()
    Returns what type hint is defined for this parameter */
 ZEND_METHOD(reflection_parameter, getTypeHint)
@@ -2622,12 +2526,12 @@ ZEND_METHOD(reflection_parameter, getDefaultValue)
                return;
        }
        if (param->offset < param->required) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Parameter is not optional"); 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Parameter is not optional");
                return;
        }
        precv = _get_recv_op((zend_op_array*)param->fptr, param->offset);
        if (!precv || precv->opcode != ZEND_RECV_INIT || precv->op2_type == IS_UNUSED) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Internal error"); 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Internal error");
                return;
        }
 
@@ -2668,7 +2572,7 @@ ZEND_METHOD(reflection_method, __construct)
                        return;
                }
                if ((tmp = strstr(name_str, "::")) == NULL) {
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Invalid method name %s", name_str); 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Invalid method name %s", name_str);
                        return;
                }
                classname = &ztmp;
@@ -2688,13 +2592,13 @@ ZEND_METHOD(reflection_method, __construct)
        if (intern == NULL) {
                return;
        }
-       
+
        /* Find the class entry */
        switch (Z_TYPE_P(classname)) {
                case IS_STRING:
                        if (zend_lookup_class(Z_STRVAL_P(classname), Z_STRLEN_P(classname), &pce TSRMLS_CC) == FAILURE) {
                                zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-                                               "Class %s does not exist", Z_STRVAL_P(classname)); 
+                                               "Class %s does not exist", Z_STRVAL_P(classname));
                                if (classname == &ztmp) {
                                        zval_dtor(&ztmp);
                                }
@@ -2728,7 +2632,7 @@ ZEND_METHOD(reflection_method, __construct)
                /* do nothing, mptr already set */
        } else if (zend_hash_find(&ce->function_table, lcname, name_len + 1, (void **) &mptr) == FAILURE) {
                efree(lcname);
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Method %s::%s() does not exist", ce->name, name_str);
                return;
        }
@@ -2738,7 +2642,7 @@ ZEND_METHOD(reflection_method, __construct)
        ZVAL_STRINGL(classname, mptr->common.scope->name, mptr->common.scope->name_length, 1);
 
        reflection_update_property(object, "class", classname);
-       
+
        MAKE_STD_ZVAL(name);
        ZVAL_STRING(name, mptr->common.function_name, 1);
        reflection_update_property(object, "name", name);
@@ -2773,7 +2677,7 @@ ZEND_METHOD(reflection_method, getClosure)
        reflection_object *intern;
        zval *obj;
        zend_function *mptr;
-       
+
        METHOD_NOTSTATIC(reflection_method_ptr);
        GET_REFLECTION_OBJECT_PTR(mptr);
 
@@ -2814,7 +2718,7 @@ ZEND_METHOD(reflection_method, invoke)
        zend_fcall_info fci;
        zend_fcall_info_cache fcc;
        zend_class_entry *obj_ce;
-       
+
        METHOD_NOTSTATIC(reflection_method_ptr);
 
        GET_REFLECTION_OBJECT_PTR(mptr);
@@ -2824,12 +2728,12 @@ ZEND_METHOD(reflection_method, invoke)
                 && intern->ignore_visibility == 0)
        {
                if (mptr->common.fn_flags & ZEND_ACC_ABSTRACT) {
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
-                               "Trying to invoke abstract method %s::%s()", 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
+                               "Trying to invoke abstract method %s::%s()",
                                mptr->common.scope->name, mptr->common.function_name);
                } else {
                        zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-                               "Trying to invoke %s method %s::%s() from scope %s", 
+                               "Trying to invoke %s method %s::%s() from scope %s",
                                mptr->common.fn_flags & ZEND_ACC_PROTECTED ? "protected" : "private",
                                mptr->common.scope->name, mptr->common.function_name,
                                Z_OBJCE_P(getThis())->name);
@@ -2840,7 +2744,7 @@ ZEND_METHOD(reflection_method, invoke)
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "+", &params, &num_args) == FAILURE) {
                return;
        }
-       
+
        /* In case this is a static method, we should'nt pass an object_ptr
         * (which is used as calling context aka $this). We can thus ignore the
         * first parameter.
@@ -2866,10 +2770,10 @@ ZEND_METHOD(reflection_method, invoke)
                        _DO_THROW("Given object is not an instance of the class this method was declared in");
                        /* Returns from this function */
                }
-       
+
                object_ptr = *params[0];
        }
-       
+
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        fci.function_name = NULL;
@@ -2887,13 +2791,13 @@ ZEND_METHOD(reflection_method, invoke)
        fcc.object_ptr = object_ptr;
 
        result = zend_call_function(&fci, &fcc TSRMLS_CC);
-       
+
        if (params) {
                efree(params);
        }
 
        if (result == FAILURE) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Invocation of method %s::%s() failed", mptr->common.scope->name, mptr->common.function_name);
                return;
        }
@@ -2919,7 +2823,7 @@ ZEND_METHOD(reflection_method, invokeArgs)
        zend_fcall_info_cache fcc;
        zend_class_entry *obj_ce;
        zval *param_array;
-       
+
        METHOD_NOTSTATIC(reflection_method_ptr);
 
        GET_REFLECTION_OBJECT_PTR(mptr);
@@ -2933,12 +2837,12 @@ ZEND_METHOD(reflection_method, invokeArgs)
                 && intern->ignore_visibility == 0)
        {
                if (mptr->common.fn_flags & ZEND_ACC_ABSTRACT) {
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
-                               "Trying to invoke abstract method %s::%s()", 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
+                               "Trying to invoke abstract method %s::%s()",
                                mptr->common.scope->name, mptr->common.function_name);
                } else {
                        zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-                               "Trying to invoke %s method %s::%s() from scope %s", 
+                               "Trying to invoke %s method %s::%s() from scope %s",
                                mptr->common.fn_flags & ZEND_ACC_PROTECTED ? "protected" : "private",
                                mptr->common.scope->name, mptr->common.function_name,
                                Z_OBJCE_P(getThis())->name);
@@ -2947,11 +2851,11 @@ ZEND_METHOD(reflection_method, invokeArgs)
        }
 
        argc = zend_hash_num_elements(Z_ARRVAL_P(param_array));
-       
+
        params = safe_emalloc(sizeof(zval **), argc, 0);
-       zend_hash_apply_with_argument(Z_ARRVAL_P(param_array), (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);    
+       zend_hash_apply_with_argument(Z_ARRVAL_P(param_array), (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);
        params -= argc;
-       
+
        /* In case this is a static method, we should'nt pass an object_ptr
         * (which is used as calling context aka $this). We can thus ignore the
         * first parameter.
@@ -2965,11 +2869,11 @@ ZEND_METHOD(reflection_method, invokeArgs)
                if (!object) {
                        efree(params);
                        zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-                               "Trying to invoke non static method %s::%s() without an object", 
+                               "Trying to invoke non static method %s::%s() without an object",
                                mptr->common.scope->name, mptr->common.function_name);
                        return;
                }
-               
+
                obj_ce = Z_OBJCE_P(object);
 
                if (!instanceof_function(obj_ce, mptr->common.scope TSRMLS_CC)) {
@@ -2978,7 +2882,7 @@ ZEND_METHOD(reflection_method, invokeArgs)
                        /* Returns from this function */
                }
        }
-       
+
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        fci.function_name = NULL;
@@ -2996,11 +2900,11 @@ ZEND_METHOD(reflection_method, invokeArgs)
        fcc.object_ptr = object;
 
        result = zend_call_function(&fci, &fcc TSRMLS_CC);
-       
+
        efree(params);
 
        if (result == FAILURE) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Invocation of method %s::%s() failed", mptr->common.scope->name, mptr->common.function_name);
                return;
        }
@@ -3147,7 +3051,7 @@ ZEND_METHOD(reflection_method, isConstructor)
                return;
        }
        GET_REFLECTION_OBJECT_PTR(mptr);
-       /* we need to check if the ctor is the ctor of the class level we we 
+       /* we need to check if the ctor is the ctor of the class level we we
         * looking at since we might be looking at an inherited old style ctor
         * defined in base class. */
        RETURN_BOOL(mptr->common.fn_flags & ZEND_ACC_CTOR && intern->ce->constructor && intern->ce->constructor->common.scope == mptr->common.scope);
@@ -3194,7 +3098,7 @@ ZEND_METHOD(reflection_method, getDeclaringClass)
 
        METHOD_NOTSTATIC(reflection_method_ptr);
        GET_REFLECTION_OBJECT_PTR(mptr);
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -3212,13 +3116,13 @@ ZEND_METHOD(reflection_method, getPrototype)
 
        METHOD_NOTSTATIC(reflection_method_ptr);
        GET_REFLECTION_OBJECT_PTR(mptr);
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
-       
+
        if (!mptr->common.prototype) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Method %s::%s does not have a prototype", intern->ce->name, mptr->common.function_name);
                return;
        }
@@ -3280,7 +3184,7 @@ static void reflection_class_object_ctor(INTERNAL_FUNCTION_PARAMETERS, int is_ob
        if (intern == NULL) {
                return;
        }
-       
+
        if (Z_TYPE_P(argument) == IS_OBJECT) {
                MAKE_STD_ZVAL(classname);
                ZVAL_STRINGL(classname, Z_OBJCE_P(argument)->name, Z_OBJCE_P(argument)->name_length, 1);
@@ -3290,7 +3194,7 @@ static void reflection_class_object_ctor(INTERNAL_FUNCTION_PARAMETERS, int is_ob
                        intern->obj = argument;
                        zval_add_ref(&argument);
                }
-       } else { 
+       } else {
                convert_to_string_ex(&argument);
                if (zend_lookup_class(Z_STRVAL_P(argument), Z_STRLEN_P(argument), &ce TSRMLS_CC) == FAILURE) {
                        if (!EG(exception)) {
@@ -3357,7 +3261,7 @@ static void add_class_vars(zend_class_entry *ce, int statics, zval *return_value
                zval_copy_ctor(prop_copy);
                INIT_PZVAL(prop_copy);
 
-               /* this is necessary to make it able to work with default array 
+               /* this is necessary to make it able to work with default array
                * properties, returned to user */
                if (Z_TYPE_P(prop_copy) == IS_CONSTANT_ARRAY || (Z_TYPE_P(prop_copy) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
                        zval_update_constant(&prop_copy, (void *) 1 TSRMLS_CC);
@@ -3378,7 +3282,7 @@ ZEND_METHOD(reflection_class, getStaticProperties)
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
-       
+
        GET_REFLECTION_OBJECT_PTR(ce);
 
        zend_update_class_constants(ce TSRMLS_CC);
@@ -3397,7 +3301,7 @@ ZEND_METHOD(reflection_class, getStaticPropertyValue)
        char *name;
        int name_len;
        zval **prop, *def_value = NULL;
-       
+
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &name, &name_len, &def_value) == FAILURE) {
                return;
        }
@@ -3410,7 +3314,7 @@ ZEND_METHOD(reflection_class, getStaticPropertyValue)
                if (def_value) {
                        RETURN_ZVAL(def_value, 1, 0);
                } else {
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Class %s does not have a property named %s", ce->name, name);
                }
                return;
@@ -3431,7 +3335,7 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue)
        zval **variable_ptr, *value;
        int refcount;
        zend_uchar is_ref;
-       
+
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz", &name, &name_len, &value) == FAILURE) {
                return;
        }
@@ -3441,10 +3345,10 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue)
        zend_update_class_constants(ce TSRMLS_CC);
        variable_ptr = zend_std_get_static_property(ce, name, name_len, 1, NULL TSRMLS_CC);
        if (!variable_ptr) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Class %s does not have a property named %s", ce->name, name);
                return;
-       }       
+       }
        refcount = Z_REFCOUNT_PP(variable_ptr);
        is_ref = Z_ISREF_PP(variable_ptr);
        zval_dtor(*variable_ptr);
@@ -3462,7 +3366,7 @@ ZEND_METHOD(reflection_class, getDefaultProperties)
 {
        reflection_object *intern;
        zend_class_entry *ce;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -3631,7 +3535,7 @@ ZEND_METHOD(reflection_class, hasMethod)
 {
        reflection_object *intern;
        zend_class_entry *ce;
-       char *name, *lc_name; 
+       char *name, *lc_name;
        int name_len;
 
        METHOD_NOTSTATIC(reflection_class_ptr);
@@ -3661,7 +3565,7 @@ ZEND_METHOD(reflection_class, getMethod)
        zend_class_entry *ce;
        zend_function *mptr;
        zval obj_tmp;
-       char *name, *lc_name; 
+       char *name, *lc_name;
        int name_len;
 
        METHOD_NOTSTATIC(reflection_class_ptr);
@@ -3692,7 +3596,7 @@ ZEND_METHOD(reflection_class, getMethod)
                efree(lc_name);
        } else {
                efree(lc_name);
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Method %s does not exist", name);
                return;
        }
@@ -3730,7 +3634,7 @@ static int _addmethod_va(zend_function *mptr TSRMLS_DC, int num_args, va_list ar
        zval *retval = va_arg(args, zval*);
        long filter = va_arg(args, long);
        zval *obj = va_arg(args, zval *);
-       
+
        _addmethod(mptr, ce, retval, filter, obj TSRMLS_CC);
        return ZEND_HASH_APPLY_KEEP;
 }
@@ -3776,7 +3680,7 @@ ZEND_METHOD(reflection_class, hasProperty)
        reflection_object *intern;
        zend_property_info *property_info;
        zend_class_entry *ce;
-       char *name; 
+       char *name;
        int name_len;
        zval *property;
 
@@ -3813,7 +3717,7 @@ ZEND_METHOD(reflection_class, getProperty)
        reflection_object *intern;
        zend_class_entry *ce, **pce;
        zend_property_info *property_info;
-       char *name, *tmp, *classname; 
+       char *name, *tmp, *classname;
        int name_len, classname_len;
 
        METHOD_NOTSTATIC(reflection_class_ptr);
@@ -3869,9 +3773,9 @@ ZEND_METHOD(reflection_class, getProperty)
                if (zend_hash_find(&ce->properties_info, name, name_len + 1, (void**) &property_info) == SUCCESS && (property_info->flags & ZEND_ACC_SHADOW) == 0) {
                        reflection_property_factory(ce, property_info, return_value TSRMLS_CC);
                        return;
-               }               
+               }
        }
-       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Property %s does not exist", name);
 }
 /* }}} */
@@ -3887,7 +3791,7 @@ static int _addproperty(zend_property_info *pptr TSRMLS_DC, int num_args, va_lis
        if (pptr->flags & ZEND_ACC_SHADOW) {
                return 0;
        }
-       
+
        if (pptr->flags & filter) {
                ALLOC_ZVAL(property);
                reflection_property_factory(ce, pptr, property TSRMLS_CC);
@@ -3998,7 +3902,7 @@ ZEND_METHOD(reflection_class, getConstant)
        reflection_object *intern;
        zend_class_entry *ce;
        zval **value;
-       char *name; 
+       char *name;
        int name_len;
 
        METHOD_NOTSTATIC(reflection_class_ptr);
@@ -4082,7 +3986,7 @@ ZEND_METHOD(reflection_class, isCloneable)
                        object_init_ex(&obj, ce);
                        RETVAL_BOOL(Z_OBJ_HANDLER(obj, clone_obj) != NULL);
                        zval_dtor(&obj);
-               }               
+               }
        }
 }
 /* }}} */
@@ -4147,7 +4051,7 @@ ZEND_METHOD(reflection_class, isInstance)
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &object) == FAILURE) {
                return;
        }
-       GET_REFLECTION_OBJECT_PTR(ce);  
+       GET_REFLECTION_OBJECT_PTR(ce);
        RETURN_BOOL(HAS_CLASS_ENTRY(*object) && instanceof_function(Z_OBJCE_P(object), ce TSRMLS_CC));
 }
 /* }}} */
@@ -4159,7 +4063,7 @@ ZEND_METHOD(reflection_class, newInstance)
        zval *retval_ptr = NULL;
        reflection_object *intern;
        zend_class_entry *ce;
-       
+
        METHOD_NOTSTATIC(reflection_class_ptr);
        GET_REFLECTION_OBJECT_PTR(ce);
 
@@ -4233,8 +4137,8 @@ ZEND_METHOD(reflection_class, newInstanceArgs)
        zend_class_entry *ce;
        int argc = 0;
        HashTable *args;
-       
-       
+
+
        METHOD_NOTSTATIC(reflection_class_ptr);
        GET_REFLECTION_OBJECT_PTR(ce);
 
@@ -4244,7 +4148,7 @@ ZEND_METHOD(reflection_class, newInstanceArgs)
        if (ZEND_NUM_ARGS() > 0) {
                argc = args->nNumOfElements;
        }
-       
+
        /* Run the constructor if there is one */
        if (ce->constructor) {
                zval ***params = NULL;
@@ -4255,10 +4159,10 @@ ZEND_METHOD(reflection_class, newInstanceArgs)
                        zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Access to non-public constructor of class %s", ce->name);
                        return;
                }
-               
+
                if (argc) {
                        params = safe_emalloc(sizeof(zval **), argc, 0);
-                       zend_hash_apply_with_argument(args, (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);       
+                       zend_hash_apply_with_argument(args, (apply_func_arg_t)_zval_array_to_c_array, &params TSRMLS_CC);
                        params -= argc;
                }
 
@@ -4439,7 +4343,7 @@ ZEND_METHOD(reflection_class, getParentClass)
                return;
        }
        GET_REFLECTION_OBJECT_PTR(ce);
-       
+
        if (ce->parent) {
                zend_reflection_class_factory(ce->parent, return_value TSRMLS_CC);
        } else {
@@ -4462,16 +4366,16 @@ ZEND_METHOD(reflection_class, isSubclassOf)
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &class_name) == FAILURE) {
                return;
        }
-       
+
        switch(class_name->type) {
                case IS_STRING:
                        if (zend_lookup_class(Z_STRVAL_P(class_name), Z_STRLEN_P(class_name), &pce TSRMLS_CC) == FAILURE) {
-                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                                "Class %s does not exist", Z_STRVAL_P(class_name));
                                return;
                        }
                        class_ce = *pce;
-                       break;                  
+                       break;
                case IS_OBJECT:
                        if (instanceof_function(Z_OBJCE_P(class_name), reflection_class_ptr TSRMLS_CC)) {
                                argument = (reflection_object *) zend_object_store_get_object(class_name TSRMLS_CC);
@@ -4484,7 +4388,7 @@ ZEND_METHOD(reflection_class, isSubclassOf)
                        }
                        /* no break */
                default:
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                        "Parameter one must either be a string or a ReflectionClass object");
                        return;
        }
@@ -4507,16 +4411,16 @@ ZEND_METHOD(reflection_class, implementsInterface)
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &interface) == FAILURE) {
                return;
        }
-       
+
        switch(interface->type) {
                case IS_STRING:
                        if (zend_lookup_class(Z_STRVAL_P(interface), Z_STRLEN_P(interface), &pce TSRMLS_CC) == FAILURE) {
-                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                                "Interface %s does not exist", Z_STRVAL_P(interface));
                                return;
                        }
                        interface_ce = *pce;
-                       break;                  
+                       break;
                case IS_OBJECT:
                        if (instanceof_function(Z_OBJCE_P(interface), reflection_class_ptr TSRMLS_CC)) {
                                argument = (reflection_object *) zend_object_store_get_object(interface TSRMLS_CC);
@@ -4529,13 +4433,13 @@ ZEND_METHOD(reflection_class, implementsInterface)
                        }
                        /* no break */
                default:
-                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+                       zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                        "Parameter one must either be a string or a ReflectionClass object");
                        return;
        }
 
        if (!(interface_ce->ce_flags & ZEND_ACC_INTERFACE)) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Interface %s is a Class", interface_ce->name);
                return;
        }
@@ -4549,7 +4453,7 @@ ZEND_METHOD(reflection_class, isIterateable)
 {
        reflection_object *intern;
        zend_class_entry *ce;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -4567,7 +4471,7 @@ ZEND_METHOD(reflection_class, getExtension)
 {
        reflection_object *intern;
        zend_class_entry *ce;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -4587,7 +4491,7 @@ ZEND_METHOD(reflection_class, getExtensionName)
 {
        reflection_object *intern;
        zend_class_entry *ce;
-       
+
        if (zend_parse_parameters_none() == FAILURE) {
                return;
        }
@@ -4719,13 +4623,13 @@ ZEND_METHOD(reflection_property, __construct)
        if (intern == NULL) {
                return;
        }
-       
+
        /* Find the class entry */
        switch (Z_TYPE_P(classname)) {
                case IS_STRING:
                        if (zend_lookup_class(Z_STRVAL_P(classname), Z_STRLEN_P(classname), &pce TSRMLS_CC) == FAILURE) {
                                zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
-                                               "Class %s does not exist", Z_STRVAL_P(classname)); 
+                                               "Class %s does not exist", Z_STRVAL_P(classname));
                                return;
                        }
                        ce = *pce;
@@ -4734,7 +4638,7 @@ ZEND_METHOD(reflection_property, __construct)
                case IS_OBJECT:
                        ce = Z_OBJCE_P(classname);
                        break;
-                       
+
                default:
                        _DO_THROW("The parameter class is expected to be either a string or an object");
                        /* returns out of this function */
@@ -4752,12 +4656,12 @@ ZEND_METHOD(reflection_property, __construct)
                        return;
                }
        }
-       
+
        if (dynam_prop == 0 && (property_info->flags & ZEND_ACC_PRIVATE) == 0) {
                /* we have to search the class hierarchy for this (implicit) public or protected property */
                zend_class_entry *tmp_ce = ce;
                zend_property_info *tmp_info;
-               
+
                while (tmp_ce && zend_hash_find(&tmp_ce->properties_info, name_str, name_len + 1, (void **) &tmp_info) != SUCCESS) {
                        ce = tmp_ce;
                        property_info = tmp_info;
@@ -4765,15 +4669,15 @@ ZEND_METHOD(reflection_property, __construct)
                }
        }
 
-       MAKE_STD_ZVAL(classname);       
+       MAKE_STD_ZVAL(classname);
        MAKE_STD_ZVAL(propname);
-       
+
        if (dynam_prop == 0) {
                zend_unmangle_property_name(property_info->name, property_info->name_length, &class_name, &prop_name);
                ZVAL_STRINGL(classname, property_info->ce->name, property_info->ce->name_length, 1);
                ZVAL_STRING(propname, prop_name, 1);
        } else {
-               ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);  
+               ZVAL_STRINGL(classname, ce->name, ce->name_length, 1);
                ZVAL_STRINGL(propname, name_str, name_len, 1);
        }
        reflection_update_property(object, "class", classname);
@@ -4910,7 +4814,7 @@ ZEND_METHOD(reflection_property, getValue)
 
        if (!(ref->prop.flags & (ZEND_ACC_PUBLIC | ZEND_ACC_IMPLICIT_PUBLIC)) && intern->ignore_visibility == 0) {
                _default_get_entry(getThis(), "name", sizeof("name"), &name TSRMLS_CC);
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Cannot access non-public member %s::%s", intern->ce->name, Z_STRVAL(name));
                zval_dtor(&name);
                return;
@@ -4927,7 +4831,7 @@ ZEND_METHOD(reflection_property, getValue)
                INIT_PZVAL(return_value);
        } else {
                char *class_name, *prop_name;
-               
+
                if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &object) == FAILURE) {
                        return;
                }
@@ -4958,7 +4862,7 @@ ZEND_METHOD(reflection_property, setValue)
 
        if (!(ref->prop.flags & ZEND_ACC_PUBLIC) && intern->ignore_visibility == 0) {
                _default_get_entry(getThis(), "name", sizeof("name"), &name TSRMLS_CC);
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Cannot access non-public member %s::%s", intern->ce->name, Z_STRVAL(name));
                zval_dtor(&name);
                return;
@@ -5124,7 +5028,7 @@ ZEND_METHOD(reflection_extension, __construct)
        zend_str_tolower_copy(lcname, name_str, name_len);
        if (zend_hash_find(&module_registry, lcname, name_len + 1, (void **)&module) == FAILURE) {
                free_alloca(lcname, use_heap);
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Extension %s does not exist", name_str);
                return;
        }
@@ -5213,7 +5117,7 @@ ZEND_METHOD(reflection_extension, getFunctions)
                                func++;
                                continue;
                        }
-                       
+
                        ALLOC_ZVAL(function);
                        reflection_function_factory(fptr, NULL, function TSRMLS_CC);
                        add_assoc_zval_ex(return_value, func->fname, strlen(func->fname)+1, function);
@@ -5357,11 +5261,11 @@ ZEND_METHOD(reflection_extension, getDependencies)
                return;
        }
        GET_REFLECTION_OBJECT_PTR(module);
-       
+
        array_init(return_value);
 
        dep = module->deps;
-       
+
        if (!dep)
        {
                return;
@@ -5371,7 +5275,7 @@ ZEND_METHOD(reflection_extension, getDependencies)
                char *relation;
                char *rel_type;
                int len;
-               
+
                switch(dep->type) {
                case MODULE_DEP_REQUIRED:
                        rel_type = "Required";
@@ -5387,10 +5291,10 @@ ZEND_METHOD(reflection_extension, getDependencies)
                        break;
                }
 
-               len = spprintf(&relation, 0, "%s%s%s%s%s", 
+               len = spprintf(&relation, 0, "%s%s%s%s%s",
                                                rel_type,
                                                dep->rel ? " " : "",
-                                               dep->rel ? dep->rel : "", 
+                                               dep->rel ? dep->rel : "",
                                                dep->version ? " " : "",
                                                dep->version ? dep->version : "");
                add_assoc_stringl(return_value, dep->name, relation, len, 0);
@@ -5478,7 +5382,7 @@ ZEND_METHOD(reflection_zend_extension, __construct)
 
        extension = zend_get_extension(name_str);
        if (!extension) {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                                "Zend Extension %s does not exist", name_str);
                return;
        }
@@ -5506,7 +5410,7 @@ ZEND_METHOD(reflection_zend_extension, __toString)
        string_init(&str);
        _zend_extension_string(&str, extension, "" TSRMLS_CC);
        RETURN_STRINGL(str.string, str.len - 1, 0);
-}       
+}
 /* }}} */
 
 /* {{{ proto public string ReflectionZendExtension::getName()
@@ -5933,13 +5837,7 @@ static const zend_function_entry reflection_parameter_functions[] = {
        ZEND_ME(reflection_parameter, getDeclaringClass, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, getClass, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, isArray, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isInt, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isDouble, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isBool, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, getTypeHint, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isString, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isObject, arginfo_reflection__void, 0)
-       ZEND_ME(reflection_parameter, isResource, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, allowsNull, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, getPosition, arginfo_reflection__void, 0)
        ZEND_ME(reflection_parameter, isOptional, arginfo_reflection__void, 0)
@@ -6008,7 +5906,7 @@ static void _reflection_write_property(zval *object, zval *member, zval *value,
                && ((Z_STRLEN_P(member) == sizeof("name") - 1  && !memcmp(Z_STRVAL_P(member), "name",  sizeof("name")))
                        || (Z_STRLEN_P(member) == sizeof("class") - 1 && !memcmp(Z_STRVAL_P(member), "class", sizeof("class")))))
        {
-               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, 
+               zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC,
                        "Cannot set read-only property %s::$%s", Z_OBJCE_P(object)->name, Z_STRVAL_P(member));
        }
        else