]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.4' into PHP-5.5
authorDmitry Stogov <dmitry@zend.com>
Wed, 14 Nov 2012 14:03:38 +0000 (18:03 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 14 Nov 2012 14:03:38 +0000 (18:03 +0400)
* PHP-5.4:
  Fixed compiler reenterability
  Fixed compiler reenterability

Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h

1  2 
Zend/zend_compile.c
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h

Simple merge
index 07ccb5d751a2f42a5ea28499c7759ab182ceb929,ede433313e5978938f20340b4720b812a1246422..48be8eaf7de3f5fb609a39c43ae9a66ff2ff7ae9
@@@ -1,4 -1,4 +1,4 @@@
- /* Generated by re2c 0.13.5 on Mon Aug 20 13:34:50 2012 */
 -/* Generated by re2c 0.13.5 on Wed Nov 14 17:46:56 2012 */
++/* Generated by re2c 0.13.5 on Wed Nov 14 17:50:16 2012 */
  #line 1 "Zend/zend_language_scanner.l"
  /*
     +----------------------------------------------------------------------+
@@@ -1000,7 -1000,7 +1002,7 @@@ restart
  yymore_restart:
  
  
--#line 1004 "Zend/zend_language_scanner.c"
++#line 1006 "Zend/zend_language_scanner.c"
  {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@@ -1099,7 -1099,7 +1101,7 @@@ yyc_INITIAL
  yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1801 "Zend/zend_language_scanner.l"
 -#line 1792 "Zend/zend_language_scanner.l"
++#line 1803 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@@ -1159,7 -1159,7 +1161,7 @@@ inline_html
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
  }
--#line 1163 "Zend/zend_language_scanner.c"
++#line 1165 "Zend/zend_language_scanner.c"
  yy4:
                YYDEBUG(4, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1177,7 -1177,7 +1179,7 @@@ yy5
  yy6:
                YYDEBUG(6, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1789 "Zend/zend_language_scanner.l"
 -#line 1780 "Zend/zend_language_scanner.l"
++#line 1791 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
                goto inline_char_handler;
        }
  }
--#line 1193 "Zend/zend_language_scanner.c"
++#line 1195 "Zend/zend_language_scanner.c"
  yy7:
                YYDEBUG(7, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy43;
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1766 "Zend/zend_language_scanner.l"
 -#line 1757 "Zend/zend_language_scanner.l"
++#line 1768 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
                goto inline_char_handler;
        }
  }
--#line 1212 "Zend/zend_language_scanner.c"
++#line 1214 "Zend/zend_language_scanner.c"
  yy9:
                YYDEBUG(9, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1394,7 -1394,7 +1396,7 @@@ yy35
                ++YYCURSOR;
                YYDEBUG(38, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1726 "Zend/zend_language_scanner.l"
 -#line 1717 "Zend/zend_language_scanner.l"
++#line 1728 "Zend/zend_language_scanner.l"
                {
        YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
  
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
  }
--#line 1415 "Zend/zend_language_scanner.c"
++#line 1417 "Zend/zend_language_scanner.c"
  yy39:
                YYDEBUG(39, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1438,7 -1438,7 +1440,7 @@@ yy43
                ++YYCURSOR;
                YYDEBUG(44, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1744 "Zend/zend_language_scanner.l"
 -#line 1735 "Zend/zend_language_scanner.l"
++#line 1746 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
                goto inline_char_handler;
        }
  }
--#line 1454 "Zend/zend_language_scanner.c"
++#line 1456 "Zend/zend_language_scanner.c"
  yy45:
                YYDEBUG(45, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1757 "Zend/zend_language_scanner.l"
 -#line 1748 "Zend/zend_language_scanner.l"
++#line 1759 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG_WITH_ECHO;
  }
--#line 1468 "Zend/zend_language_scanner.c"
++#line 1470 "Zend/zend_language_scanner.c"
  yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1491,7 -1491,7 +1493,7 @@@ yy50
  yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1779 "Zend/zend_language_scanner.l"
 -#line 1770 "Zend/zend_language_scanner.l"
++#line 1781 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
  }
--#line 1504 "Zend/zend_language_scanner.c"
++#line 1506 "Zend/zend_language_scanner.c"
  yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
@@@ -1571,7 -1571,7 +1573,7 @@@ yyc_ST_BACKQUOTE
  yy56:
                YYDEBUG(56, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2252 "Zend/zend_language_scanner.l"
 -#line 2243 "Zend/zend_language_scanner.l"
++#line 2254 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
  }
--#line 1616 "Zend/zend_language_scanner.c"
++#line 1618 "Zend/zend_language_scanner.c"
  yy57:
                YYDEBUG(57, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1623,12 -1623,12 +1625,12 @@@ yy58
                ++YYCURSOR;
                YYDEBUG(59, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2196 "Zend/zend_language_scanner.l"
 -#line 2187 "Zend/zend_language_scanner.l"
++#line 2198 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
  }
--#line 1632 "Zend/zend_language_scanner.c"
++#line 1634 "Zend/zend_language_scanner.c"
  yy60:
                YYDEBUG(60, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1638,14 -1638,14 +1640,14 @@@ yy61
                ++YYCURSOR;
                YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2183 "Zend/zend_language_scanner.l"
 -#line 2174 "Zend/zend_language_scanner.l"
++#line 2185 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
  }
--#line 1649 "Zend/zend_language_scanner.c"
++#line 1651 "Zend/zend_language_scanner.c"
  yy63:
                YYDEBUG(63, *YYCURSOR);
                yyaccept = 0;
  yy65:
                YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1883 "Zend/zend_language_scanner.l"
 -#line 1874 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1671 "Zend/zend_language_scanner.c"
++#line 1673 "Zend/zend_language_scanner.c"
  yy66:
                YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1459 "Zend/zend_language_scanner.l"
 -#line 1451 "Zend/zend_language_scanner.l"
++#line 1461 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
  }
--#line 1682 "Zend/zend_language_scanner.c"
++#line 1684 "Zend/zend_language_scanner.c"
  yy68:
                YYDEBUG(68, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1692,7 -1692,7 +1694,7 @@@ yy70
                ++YYCURSOR;
                YYDEBUG(71, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
 -#line 1866 "Zend/zend_language_scanner.l"
++#line 1877 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1704 "Zend/zend_language_scanner.c"
++#line 1706 "Zend/zend_language_scanner.c"
  yy72:
                YYDEBUG(72, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1718,7 -1718,7 +1720,7 @@@ yy73
                ++YYCURSOR;
                YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1865 "Zend/zend_language_scanner.l"
 -#line 1856 "Zend/zend_language_scanner.l"
++#line 1867 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1730 "Zend/zend_language_scanner.c"
++#line 1732 "Zend/zend_language_scanner.c"
        }
  /* *********************************** */
  yyc_ST_DOUBLE_QUOTES:
@@@ -1794,7 -1794,7 +1796,7 @@@ yy77
  yy78:
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2202 "Zend/zend_language_scanner.l"
 -#line 2193 "Zend/zend_language_scanner.l"
++#line 2204 "Zend/zend_language_scanner.l"
                {
        if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
                YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@@ -1843,7 -1843,7 +1845,7 @@@ double_quotes_scan_done
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
  }
--#line 1847 "Zend/zend_language_scanner.c"
++#line 1849 "Zend/zend_language_scanner.c"
  yy79:
                YYDEBUG(79, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1854,12 -1854,12 +1856,12 @@@ yy80
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2191 "Zend/zend_language_scanner.l"
 -#line 2182 "Zend/zend_language_scanner.l"
++#line 2193 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
  }
--#line 1863 "Zend/zend_language_scanner.c"
++#line 1865 "Zend/zend_language_scanner.c"
  yy82:
                YYDEBUG(82, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1869,14 -1869,14 +1871,14 @@@ yy83
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2183 "Zend/zend_language_scanner.l"
 -#line 2174 "Zend/zend_language_scanner.l"
++#line 2185 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
  }
--#line 1880 "Zend/zend_language_scanner.c"
++#line 1882 "Zend/zend_language_scanner.c"
  yy85:
                YYDEBUG(85, *YYCURSOR);
                yyaccept = 0;
  yy87:
                YYDEBUG(87, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1883 "Zend/zend_language_scanner.l"
 -#line 1874 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1902 "Zend/zend_language_scanner.c"
++#line 1904 "Zend/zend_language_scanner.c"
  yy88:
                YYDEBUG(88, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1459 "Zend/zend_language_scanner.l"
 -#line 1451 "Zend/zend_language_scanner.l"
++#line 1461 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
  }
--#line 1913 "Zend/zend_language_scanner.c"
++#line 1915 "Zend/zend_language_scanner.c"
  yy90:
                YYDEBUG(90, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1923,7 -1923,7 +1925,7 @@@ yy92
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
 -#line 1866 "Zend/zend_language_scanner.l"
++#line 1877 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1935 "Zend/zend_language_scanner.c"
++#line 1937 "Zend/zend_language_scanner.c"
  yy94:
                YYDEBUG(94, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -1949,7 -1949,7 +1951,7 @@@ yy95
                ++YYCURSOR;
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1865 "Zend/zend_language_scanner.l"
 -#line 1856 "Zend/zend_language_scanner.l"
++#line 1867 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
--#line 1961 "Zend/zend_language_scanner.c"
++#line 1963 "Zend/zend_language_scanner.c"
        }
  /* *********************************** */
  yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(100, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
- #line 2169 "Zend/zend_language_scanner.l"
 -#line 2161 "Zend/zend_language_scanner.l"
++#line 2171 "Zend/zend_language_scanner.l"
        {
 -      YYCURSOR += CG(heredoc_len) - 1;
 -      yyleng = CG(heredoc_len);
 +      zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
 +
 +      YYCURSOR += heredoc_label->length - 1;
 +      yyleng = heredoc_label->length;
 +
 +      heredoc_label_dtor(heredoc_label);
 +      efree(heredoc_label);
  
 -      Z_STRVAL_P(zendlval) = CG(heredoc);
 -      Z_STRLEN_P(zendlval) = CG(heredoc_len);
 -      CG(heredoc) = NULL;
 -      CG(heredoc_len) = 0;
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
  }
- #line 1985 "Zend/zend_language_scanner.c"
 -#line 1984 "Zend/zend_language_scanner.c"
++#line 1987 "Zend/zend_language_scanner.c"
  /* *********************************** */
  yyc_ST_HEREDOC:
        {
@@@ -2043,7 -2042,7 +2045,7 @@@ yy103
  yy104:
                YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2294 "Zend/zend_language_scanner.l"
 -#line 2285 "Zend/zend_language_scanner.l"
++#line 2296 "Zend/zend_language_scanner.l"
                {
        int newline = 0;
  
@@@ -2116,7 -2113,7 +2118,7 @@@ heredoc_scan_done
        zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
  }
- #line 2120 "Zend/zend_language_scanner.c"
 -#line 2117 "Zend/zend_language_scanner.c"
++#line 2122 "Zend/zend_language_scanner.c"
  yy105:
                YYDEBUG(105, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -2131,14 -2128,14 +2133,14 @@@ yy107
                ++YYCURSOR;
                YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2183 "Zend/zend_language_scanner.l"
 -#line 2174 "Zend/zend_language_scanner.l"
++#line 2185 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
  }
- #line 2142 "Zend/zend_language_scanner.c"
 -#line 2139 "Zend/zend_language_scanner.c"
++#line 2144 "Zend/zend_language_scanner.c"
  yy109:
                YYDEBUG(109, *YYCURSOR);
                yyaccept = 0;
  yy111:
                YYDEBUG(111, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1883 "Zend/zend_language_scanner.l"
 -#line 1874 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
- #line 2164 "Zend/zend_language_scanner.c"
 -#line 2161 "Zend/zend_language_scanner.c"
++#line 2166 "Zend/zend_language_scanner.c"
  yy112:
                YYDEBUG(112, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1459 "Zend/zend_language_scanner.l"
 -#line 1451 "Zend/zend_language_scanner.l"
++#line 1461 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
  }
- #line 2175 "Zend/zend_language_scanner.c"
 -#line 2172 "Zend/zend_language_scanner.c"
++#line 2177 "Zend/zend_language_scanner.c"
  yy114:
                YYDEBUG(114, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -2185,7 -2182,7 +2187,7 @@@ yy116
                ++YYCURSOR;
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
 -#line 1866 "Zend/zend_language_scanner.l"
++#line 1877 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
- #line 2197 "Zend/zend_language_scanner.c"
 -#line 2194 "Zend/zend_language_scanner.c"
++#line 2199 "Zend/zend_language_scanner.c"
  yy118:
                YYDEBUG(118, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -2211,7 -2208,7 +2213,7 @@@ yy119
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1865 "Zend/zend_language_scanner.l"
 -#line 1856 "Zend/zend_language_scanner.l"
++#line 1867 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
- #line 2223 "Zend/zend_language_scanner.c"
 -#line 2220 "Zend/zend_language_scanner.c"
++#line 2225 "Zend/zend_language_scanner.c"
        }
  /* *********************************** */
  yyc_ST_IN_SCRIPTING:
@@@ -2402,13 -2397,13 +2404,13 @@@ yy123
  yy124:
                YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1906 "Zend/zend_language_scanner.l"
 -#line 1897 "Zend/zend_language_scanner.l"
++#line 1908 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
  }
- #line 2412 "Zend/zend_language_scanner.c"
 -#line 2407 "Zend/zend_language_scanner.c"
++#line 2414 "Zend/zend_language_scanner.c"
  yy125:
                YYDEBUG(125, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -2588,72 -2577,72 +2590,72 @@@ yy135
                        }
                } else {
                        if (yych <= 'R') {
 -                              if (yych <= '<') goto yy525;
 -                              if (yych <= 'Q') goto yy186;
 -                              goto yy528;
 +                              if (yych <= '<') goto yy526;
 +                              if (yych <= 'Q') goto yy187;
 +                              goto yy529;
                        } else {
 -                              if (yych == 'r') goto yy528;
 -                              goto yy186;
 +                              if (yych == 'r') goto yy529;
 +                              goto yy187;
                        }
                }
 -yy135:
 -              YYDEBUG(135, *YYCURSOR);
 +yy136:
 +              YYDEBUG(136, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
 -                      if (yych == 'L') goto yy515;
 -                      if (yych <= 'N') goto yy186;
 -                      goto yy516;
 +                      if (yych == 'L') goto yy516;
 +                      if (yych <= 'N') goto yy187;
 +                      goto yy517;
                } else {
                        if (yych <= 'l') {
 -                              if (yych <= 'k') goto yy186;
 -                              goto yy515;
 +                              if (yych <= 'k') goto yy187;
 +                              goto yy516;
                        } else {
 -                              if (yych == 'o') goto yy516;
 -                              goto yy186;
 +                              if (yych == 'o') goto yy517;
 +                              goto yy187;
                        }
                }
 -yy136:
 -              YYDEBUG(136, *YYCURSOR);
 +yy137:
 +              YYDEBUG(137, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
 -                      if (yych == 'R') goto yy491;
 -                      if (yych <= 'T') goto yy186;
 -                      goto yy492;
 +                      if (yych == 'R') goto yy492;
 +                      if (yych <= 'T') goto yy187;
 +                      goto yy493;
                } else {
                        if (yych <= 'r') {
 -                              if (yych <= 'q') goto yy186;
 -                              goto yy491;
 +                              if (yych <= 'q') goto yy187;
 +                              goto yy492;
                        } else {
 -                              if (yych == 'u') goto yy492;
 -                              goto yy186;
 +                              if (yych == 'u') goto yy493;
 +                              goto yy187;
                        }
                }
 -yy137:
 -              YYDEBUG(137, *YYCURSOR);
 +yy138:
 +              YYDEBUG(138, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '<') {
 -                      if (yych == '-') goto yy487;
 +                      if (yych == '-') goto yy488;
                } else {
 -                      if (yych <= '=') goto yy485;
 -                      if (yych <= '>') goto yy489;
 +                      if (yych <= '=') goto yy486;
 +                      if (yych <= '>') goto yy490;
                }
 -yy138:
 -              YYDEBUG(138, *YYCURSOR);
 +yy139:
 +              YYDEBUG(139, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1448 "Zend/zend_language_scanner.l"
 -#line 1440 "Zend/zend_language_scanner.l"
++#line 1450 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
  }
- #line 2648 "Zend/zend_language_scanner.c"
 -#line 2637 "Zend/zend_language_scanner.c"
 -yy139:
 -              YYDEBUG(139, *YYCURSOR);
 -              ++YYCURSOR;
 -              yych = *YYCURSOR;
 -              goto yy484;
++#line 2650 "Zend/zend_language_scanner.c"
  yy140:
                YYDEBUG(140, *YYCURSOR);
 +              ++YYCURSOR;
 +              yych = *YYCURSOR;
 +              goto yy485;
 +yy141:
 +              YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1179 "Zend/zend_language_scanner.l"
 -#line 1171 "Zend/zend_language_scanner.l"
++#line 1181 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
  }
- #line 2665 "Zend/zend_language_scanner.c"
 -#line 2654 "Zend/zend_language_scanner.c"
 -yy141:
 -              YYDEBUG(141, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == ':') goto yy481;
 -              goto yy138;
++#line 2667 "Zend/zend_language_scanner.c"
  yy142:
                YYDEBUG(142, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              if (yych == ':') goto yy482;
 +              goto yy139;
 +yy143:
                YYDEBUG(143, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(144, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1208 "Zend/zend_language_scanner.l"
 -#line 1200 "Zend/zend_language_scanner.l"
++#line 1210 "Zend/zend_language_scanner.l"
                {
        return T_NS_SEPARATOR;
  }
- #line 2680 "Zend/zend_language_scanner.c"
 -#line 2669 "Zend/zend_language_scanner.c"
 -yy144:
 -              YYDEBUG(144, *YYCURSOR);
++#line 2682 "Zend/zend_language_scanner.c"
 +yy145:
 +              YYDEBUG(145, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
 -                      if (yych == 'A') goto yy469;
 -                      if (yych <= 'D') goto yy186;
 -                      goto yy470;
 +                      if (yych == 'A') goto yy470;
 +                      if (yych <= 'D') goto yy187;
 +                      goto yy471;
                } else {
                        if (yych <= 'a') {
 -                              if (yych <= '`') goto yy186;
 -                              goto yy469;
 +                              if (yych <= '`') goto yy187;
 +                              goto yy470;
                        } else {
 -                              if (yych == 'e') goto yy470;
 -                              goto yy186;
 +                              if (yych == 'e') goto yy471;
 +                              goto yy187;
                        }
                }
 -yy145:
 -              YYDEBUG(145, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy466;
 -              if (yych == 'a') goto yy466;
 -              goto yy186;
  yy146:
                YYDEBUG(146, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'A') goto yy467;
 +              if (yych == 'a') goto yy467;
 +              goto yy187;
 +yy147:
 +              YYDEBUG(147, *YYCURSOR);
                yyaccept = 1;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'S') {
@@@ -2893,29 -2886,25 +2895,29 @@@ yy165
  yy166:
                YYDEBUG(166, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == '>') goto yy205;
 -              goto yy138;
 +              goto yy139;
  yy167:
                YYDEBUG(167, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              if (yych == '>') goto yy206;
 +              goto yy139;
 +yy168:
                YYDEBUG(168, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(169, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1453 "Zend/zend_language_scanner.l"
 -#line 1445 "Zend/zend_language_scanner.l"
++#line 1455 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
  }
- #line 2913 "Zend/zend_language_scanner.c"
 -#line 2902 "Zend/zend_language_scanner.c"
 -yy169:
 -              YYDEBUG(169, *YYCURSOR);
 -              ++YYCURSOR;
++#line 2915 "Zend/zend_language_scanner.c"
 +yy170:
                YYDEBUG(170, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(171, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1465 "Zend/zend_language_scanner.l"
 -#line 1457 "Zend/zend_language_scanner.l"
++#line 1467 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
        }
        return '}';
  }
- #line 2927 "Zend/zend_language_scanner.c"
 -#line 2916 "Zend/zend_language_scanner.c"
 -yy171:
 -              YYDEBUG(171, *YYCURSOR);
++#line 2929 "Zend/zend_language_scanner.c"
 +yy172:
 +              YYDEBUG(172, *YYCURSOR);
                yyaccept = 2;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= 'E') {
                                }
                        }
                }
 -yy172:
 -              YYDEBUG(172, *YYCURSOR);
 +yy173:
 +              YYDEBUG(173, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1516 "Zend/zend_language_scanner.l"
 -#line 1507 "Zend/zend_language_scanner.l"
++#line 1518 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
        zendlval->type = IS_LONG;
        return T_LNUMBER;
  }
- #line 2976 "Zend/zend_language_scanner.c"
 -#line 2965 "Zend/zend_language_scanner.c"
 -yy173:
 -              YYDEBUG(173, *YYCURSOR);
++#line 2978 "Zend/zend_language_scanner.c"
 +yy174:
 +              YYDEBUG(174, *YYCURSOR);
                yyaccept = 2;
                yych = *(YYMARKER = ++YYCURSOR);
                if (yych <= '9') {
 -                      if (yych == '.') goto yy187;
 -                      if (yych <= '/') goto yy172;
 -                      goto yy190;
 +                      if (yych == '.') goto yy188;
 +                      if (yych <= '/') goto yy173;
 +                      goto yy191;
                } else {
                        if (yych <= 'E') {
 -                              if (yych <= 'D') goto yy172;
 -                              goto yy192;
 +                              if (yych <= 'D') goto yy173;
 +                              goto yy193;
                        } else {
 -                              if (yych == 'e') goto yy192;
 -                              goto yy172;
 +                              if (yych == 'e') goto yy193;
 +                              goto yy173;
                        }
                }
 -yy174:
 -              YYDEBUG(174, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy186;
  yy175:
                YYDEBUG(175, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              goto yy187;
  yy176:
                YYDEBUG(176, *YYCURSOR);
 +              ++YYCURSOR;
 +yy177:
 +              YYDEBUG(177, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1913 "Zend/zend_language_scanner.l"
 -#line 1904 "Zend/zend_language_scanner.l"
++#line 1915 "Zend/zend_language_scanner.l"
                {
        while (YYCURSOR < YYLIMIT) {
                switch (*YYCURSOR++) {
  
        return T_COMMENT;
  }
- #line 3038 "Zend/zend_language_scanner.c"
 -#line 3027 "Zend/zend_language_scanner.c"
 -yy177:
 -              YYDEBUG(177, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3040 "Zend/zend_language_scanner.c"
  yy178:
                YYDEBUG(178, *YYCURSOR);
 +              ++YYCURSOR;
 +yy179:
 +              YYDEBUG(179, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2004 "Zend/zend_language_scanner.l"
 -#line 1995 "Zend/zend_language_scanner.l"
++#line 2006 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
        }
        return T_CONSTANT_ENCAPSED_STRING;
  }
- #line 3113 "Zend/zend_language_scanner.c"
 -#line 3102 "Zend/zend_language_scanner.c"
 -yy179:
 -              YYDEBUG(179, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3115 "Zend/zend_language_scanner.c"
  yy180:
                YYDEBUG(180, *YYCURSOR);
 +              ++YYCURSOR;
 +yy181:
 +              YYDEBUG(181, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2073 "Zend/zend_language_scanner.l"
 -#line 2064 "Zend/zend_language_scanner.l"
++#line 2075 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
  
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
  }
- #line 3161 "Zend/zend_language_scanner.c"
 -#line 3150 "Zend/zend_language_scanner.c"
 -yy181:
 -              YYDEBUG(181, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3163 "Zend/zend_language_scanner.c"
 +yy182:
                YYDEBUG(182, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(183, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2163 "Zend/zend_language_scanner.l"
 -#line 2155 "Zend/zend_language_scanner.l"
++#line 2165 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
  }
- #line 3172 "Zend/zend_language_scanner.c"
 -#line 3161 "Zend/zend_language_scanner.c"
 -yy183:
 -              YYDEBUG(183, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3174 "Zend/zend_language_scanner.c"
 +yy184:
                YYDEBUG(184, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(185, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2426 "Zend/zend_language_scanner.l"
 -#line 2413 "Zend/zend_language_scanner.l"
++#line 2428 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
  }
- #line 3187 "Zend/zend_language_scanner.c"
 -#line 3176 "Zend/zend_language_scanner.c"
 -yy185:
 -              YYDEBUG(185, *YYCURSOR);
++#line 3189 "Zend/zend_language_scanner.c"
 +yy186:
 +              YYDEBUG(186, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
@@@ -3201,24 -3190,24 +3203,24 @@@ yy188
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
 -              YYDEBUG(188, *YYCURSOR);
 +              YYDEBUG(189, *YYCURSOR);
                if (yybm[0+yych] & 8) {
 -                      goto yy187;
 +                      goto yy188;
                }
 -              if (yych == 'E') goto yy192;
 -              if (yych == 'e') goto yy192;
 -yy189:
 -              YYDEBUG(189, *YYCURSOR);
 +              if (yych == 'E') goto yy193;
 +              if (yych == 'e') goto yy193;
 +yy190:
 +              YYDEBUG(190, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1581 "Zend/zend_language_scanner.l"
 -#line 1572 "Zend/zend_language_scanner.l"
++#line 1583 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
  }
- #line 3220 "Zend/zend_language_scanner.c"
 -#line 3209 "Zend/zend_language_scanner.c"
 -yy190:
 -              YYDEBUG(190, *YYCURSOR);
++#line 3222 "Zend/zend_language_scanner.c"
 +yy191:
 +              YYDEBUG(191, *YYCURSOR);
                yyaccept = 2;
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
@@@ -3302,13 -3291,13 +3304,13 @@@ yy200
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(200, *YYCURSOR);
 +              YYDEBUG(201, *YYCURSOR);
                if (yybm[0+yych] & 16) {
 -                      goto yy199;
 +                      goto yy200;
                }
 -              YYDEBUG(201, *YYCURSOR);
 +              YYDEBUG(202, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1491 "Zend/zend_language_scanner.l"
 -#line 1482 "Zend/zend_language_scanner.l"
++#line 1493 "Zend/zend_language_scanner.l"
                {
        char *bin = yytext + 2; /* Skip "0b" */
        int len = yyleng - 2;
                return T_DNUMBER;
        }
  }
- #line 3337 "Zend/zend_language_scanner.c"
 -#line 3326 "Zend/zend_language_scanner.c"
 -yy202:
 -              YYDEBUG(202, *YYCURSOR);
++#line 3339 "Zend/zend_language_scanner.c"
 +yy203:
 +              YYDEBUG(203, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(203, *YYCURSOR);
 +              YYDEBUG(204, *YYCURSOR);
                if (yybm[0+yych] & 32) {
 -                      goto yy202;
 +                      goto yy203;
                }
 -              YYDEBUG(204, *YYCURSOR);
 +              YYDEBUG(205, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1537 "Zend/zend_language_scanner.l"
 -#line 1528 "Zend/zend_language_scanner.l"
++#line 1539 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
                return T_DNUMBER;
        }
  }
- #line 3374 "Zend/zend_language_scanner.c"
 -#line 3363 "Zend/zend_language_scanner.c"
 -yy205:
 -              YYDEBUG(205, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '\n') goto yy207;
 -              if (yych == '\r') goto yy208;
++#line 3376 "Zend/zend_language_scanner.c"
  yy206:
                YYDEBUG(206, *YYCURSOR);
 +              ++YYCURSOR;
 +              if ((yych = *YYCURSOR) == '\n') goto yy208;
 +              if (yych == '\r') goto yy209;
 +yy207:
 +              YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1981 "Zend/zend_language_scanner.l"
 -#line 1972 "Zend/zend_language_scanner.l"
++#line 1983 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
  }
- #line 3391 "Zend/zend_language_scanner.c"
 -#line 3380 "Zend/zend_language_scanner.c"
 -yy207:
 -              YYDEBUG(207, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy206;
++#line 3393 "Zend/zend_language_scanner.c"
  yy208:
                YYDEBUG(208, *YYCURSOR);
                yych = *++YYCURSOR;
                        }
                } else {
                        if (yych <= '`') {
 -                              if (yych <= '_') goto yy209;
 +                              if (yych <= '_') goto yy210;
                        } else {
 -                              if (yych <= 'z') goto yy209;
 -                              if (yych >= 0x7F) goto yy209;
 +                              if (yych <= 'z') goto yy210;
 +                              if (yych >= 0x7F) goto yy210;
                        }
                }
 -yy211:
 -              YYDEBUG(211, *YYCURSOR);
 +yy212:
 +              YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1883 "Zend/zend_language_scanner.l"
 -#line 1874 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
- #line 3431 "Zend/zend_language_scanner.c"
 -#line 3420 "Zend/zend_language_scanner.c"
 -yy212:
 -              YYDEBUG(212, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy213;
 -              if (yych != 'r') goto yy186;
++#line 3433 "Zend/zend_language_scanner.c"
  yy213:
                YYDEBUG(213, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy214;
 +              if (yych != 'r') goto yy187;
 +yy214:
 +              YYDEBUG(214, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(214, *YYCURSOR);
 +              YYDEBUG(215, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1436 "Zend/zend_language_scanner.l"
 -#line 1428 "Zend/zend_language_scanner.l"
++#line 1438 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
  }
- #line 3449 "Zend/zend_language_scanner.c"
 -#line 3438 "Zend/zend_language_scanner.c"
 -yy215:
 -              YYDEBUG(215, *YYCURSOR);
++#line 3451 "Zend/zend_language_scanner.c"
 +yy216:
 +              YYDEBUG(216, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(216, *YYCURSOR);
 +              YYDEBUG(217, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1428 "Zend/zend_language_scanner.l"
 -#line 1420 "Zend/zend_language_scanner.l"
++#line 1430 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
  }
- #line 3462 "Zend/zend_language_scanner.c"
 -#line 3451 "Zend/zend_language_scanner.c"
 -yy217:
 -              YYDEBUG(217, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3464 "Zend/zend_language_scanner.c"
 +yy218:
                YYDEBUG(218, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(219, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1416 "Zend/zend_language_scanner.l"
 -#line 1408 "Zend/zend_language_scanner.l"
++#line 1418 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
  }
- #line 3472 "Zend/zend_language_scanner.c"
 -#line 3461 "Zend/zend_language_scanner.c"
 -yy219:
 -              YYDEBUG(219, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3474 "Zend/zend_language_scanner.c"
 +yy220:
                YYDEBUG(220, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(221, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1420 "Zend/zend_language_scanner.l"
 -#line 1412 "Zend/zend_language_scanner.l"
++#line 1422 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
  }
- #line 3482 "Zend/zend_language_scanner.c"
 -#line 3471 "Zend/zend_language_scanner.c"
 -yy221:
 -              YYDEBUG(221, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3484 "Zend/zend_language_scanner.c"
 +yy222:
                YYDEBUG(222, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(223, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1412 "Zend/zend_language_scanner.l"
 -#line 1404 "Zend/zend_language_scanner.l"
++#line 1414 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
  }
- #line 3492 "Zend/zend_language_scanner.c"
 -#line 3481 "Zend/zend_language_scanner.c"
 -yy223:
 -              YYDEBUG(223, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3494 "Zend/zend_language_scanner.c"
 +yy224:
                YYDEBUG(224, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(225, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1424 "Zend/zend_language_scanner.l"
 -#line 1416 "Zend/zend_language_scanner.l"
++#line 1426 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
  }
- #line 3502 "Zend/zend_language_scanner.c"
 -#line 3491 "Zend/zend_language_scanner.c"
 -yy225:
 -              YYDEBUG(225, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3504 "Zend/zend_language_scanner.c"
 +yy226:
                YYDEBUG(226, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(227, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1408 "Zend/zend_language_scanner.l"
 -#line 1400 "Zend/zend_language_scanner.l"
++#line 1410 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
  }
- #line 3512 "Zend/zend_language_scanner.c"
 -#line 3501 "Zend/zend_language_scanner.c"
 -yy227:
 -              YYDEBUG(227, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '\n') goto yy231;
 -              if (yych == '\r') goto yy232;
++#line 3514 "Zend/zend_language_scanner.c"
  yy228:
                YYDEBUG(228, *YYCURSOR);
 +              ++YYCURSOR;
 +              if ((yych = *YYCURSOR) == '\n') goto yy232;
 +              if (yych == '\r') goto yy233;
 +yy229:
 +              YYDEBUG(229, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1990 "Zend/zend_language_scanner.l"
 -#line 1981 "Zend/zend_language_scanner.l"
++#line 1992 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
                return yytext[0];
        }
  }
- #line 3534 "Zend/zend_language_scanner.c"
 -#line 3523 "Zend/zend_language_scanner.c"
 -yy229:
 -              YYDEBUG(229, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3536 "Zend/zend_language_scanner.c"
 +yy230:
                YYDEBUG(230, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(231, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1396 "Zend/zend_language_scanner.l"
 -#line 1388 "Zend/zend_language_scanner.l"
++#line 1398 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
  }
- #line 3544 "Zend/zend_language_scanner.c"
 -#line 3533 "Zend/zend_language_scanner.c"
 -yy231:
 -              YYDEBUG(231, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy228;
++#line 3546 "Zend/zend_language_scanner.c"
  yy232:
                YYDEBUG(232, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -3556,35 -3545,35 +3558,35 @@@ yy234
                YYMARKER = ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
 -              YYDEBUG(234, *YYCURSOR);
 +              YYDEBUG(235, *YYCURSOR);
                if (yych <= 'D') {
 -                      if (yych <= '/') goto yy189;
 -                      if (yych <= '9') goto yy233;
 -                      goto yy189;
 +                      if (yych <= '/') goto yy190;
 +                      if (yych <= '9') goto yy234;
 +                      goto yy190;
                } else {
 -                      if (yych <= 'E') goto yy192;
 -                      if (yych == 'e') goto yy192;
 -                      goto yy189;
 +                      if (yych <= 'E') goto yy193;
 +                      if (yych == 'e') goto yy193;
 +                      goto yy190;
                }
 -yy235:
 -              YYDEBUG(235, *YYCURSOR);
 -              ++YYCURSOR;
 +yy236:
                YYDEBUG(236, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(237, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1392 "Zend/zend_language_scanner.l"
 -#line 1384 "Zend/zend_language_scanner.l"
++#line 1394 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
  }
- #line 3579 "Zend/zend_language_scanner.c"
 -#line 3568 "Zend/zend_language_scanner.c"
 -yy237:
 -              YYDEBUG(237, *YYCURSOR);
 -              yyaccept = 4;
 -              yych = *(YYMARKER = ++YYCURSOR);
 -              if (yych == '*') goto yy242;
++#line 3581 "Zend/zend_language_scanner.c"
  yy238:
                YYDEBUG(238, *YYCURSOR);
 +              yyaccept = 4;
 +              yych = *(YYMARKER = ++YYCURSOR);
 +              if (yych == '*') goto yy243;
 +yy239:
 +              YYDEBUG(239, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1947 "Zend/zend_language_scanner.l"
 -#line 1938 "Zend/zend_language_scanner.l"
++#line 1949 "Zend/zend_language_scanner.l"
                {
        int doc_com;
  
  
        return T_COMMENT;
  }
- #line 3622 "Zend/zend_language_scanner.c"
 -#line 3611 "Zend/zend_language_scanner.c"
 -yy239:
 -              YYDEBUG(239, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy176;
++#line 3624 "Zend/zend_language_scanner.c"
  yy240:
                YYDEBUG(240, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              goto yy177;
 +yy241:
                YYDEBUG(241, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(242, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1388 "Zend/zend_language_scanner.l"
 -#line 1380 "Zend/zend_language_scanner.l"
++#line 1390 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
  }
- #line 3636 "Zend/zend_language_scanner.c"
 -#line 3625 "Zend/zend_language_scanner.c"
 -yy242:
 -              YYDEBUG(242, *YYCURSOR);
++#line 3638 "Zend/zend_language_scanner.c"
 +yy243:
 +              YYDEBUG(243, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yybm[0+yych] & 64) {
 -                      goto yy243;
 +                      goto yy244;
                }
 -              goto yy193;
 -yy243:
 -              YYDEBUG(243, *YYCURSOR);
 +              goto yy194;
 +yy244:
 +              YYDEBUG(244, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(244, *YYCURSOR);
 +              YYDEBUG(245, *YYCURSOR);
                if (yybm[0+yych] & 64) {
 -                      goto yy243;
 +                      goto yy244;
                }
 -              goto yy238;
 -yy245:
 -              YYDEBUG(245, *YYCURSOR);
 -              ++YYCURSOR;
 +              goto yy239;
 +yy246:
                YYDEBUG(246, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(247, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1384 "Zend/zend_language_scanner.l"
 -#line 1376 "Zend/zend_language_scanner.l"
++#line 1386 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
  }
- #line 3663 "Zend/zend_language_scanner.c"
 -#line 3652 "Zend/zend_language_scanner.c"
 -yy247:
 -              YYDEBUG(247, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '=') goto yy251;
++#line 3665 "Zend/zend_language_scanner.c"
 +yy248:
                YYDEBUG(248, *YYCURSOR);
 +              ++YYCURSOR;
 +              if ((yych = *YYCURSOR) == '=') goto yy252;
 +              YYDEBUG(249, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1444 "Zend/zend_language_scanner.l"
 -#line 1436 "Zend/zend_language_scanner.l"
++#line 1446 "Zend/zend_language_scanner.l"
                {
        return T_SR;
  }
- #line 3674 "Zend/zend_language_scanner.c"
 -#line 3663 "Zend/zend_language_scanner.c"
 -yy249:
 -              YYDEBUG(249, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3676 "Zend/zend_language_scanner.c"
 +yy250:
                YYDEBUG(250, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(251, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1372 "Zend/zend_language_scanner.l"
 -#line 1364 "Zend/zend_language_scanner.l"
++#line 1374 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
  }
- #line 3684 "Zend/zend_language_scanner.c"
 -#line 3673 "Zend/zend_language_scanner.c"
 -yy251:
 -              YYDEBUG(251, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3686 "Zend/zend_language_scanner.c"
 +yy252:
                YYDEBUG(252, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1404 "Zend/zend_language_scanner.l"
 -#line 1396 "Zend/zend_language_scanner.l"
++#line 1406 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
  }
- #line 3694 "Zend/zend_language_scanner.c"
 -#line 3683 "Zend/zend_language_scanner.c"
 -yy253:
 -              YYDEBUG(253, *YYCURSOR);
 -              yyaccept = 5;
 -              yych = *(YYMARKER = ++YYCURSOR);
 -              if (yych <= ';') goto yy254;
 -              if (yych <= '<') goto yy269;
 -              if (yych <= '=') goto yy267;
++#line 3696 "Zend/zend_language_scanner.c"
  yy254:
                YYDEBUG(254, *YYCURSOR);
 +              yyaccept = 5;
 +              yych = *(YYMARKER = ++YYCURSOR);
 +              if (yych <= ';') goto yy255;
 +              if (yych <= '<') goto yy270;
 +              if (yych <= '=') goto yy268;
 +yy255:
 +              YYDEBUG(255, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1440 "Zend/zend_language_scanner.l"
 -#line 1432 "Zend/zend_language_scanner.l"
++#line 1442 "Zend/zend_language_scanner.l"
                {
        return T_SL;
  }
- #line 3709 "Zend/zend_language_scanner.c"
 -#line 3698 "Zend/zend_language_scanner.c"
 -yy255:
 -              YYDEBUG(255, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy260;
 -              if (yych == 's') goto yy260;
 -              goto yy193;
++#line 3711 "Zend/zend_language_scanner.c"
  yy256:
                YYDEBUG(256, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              if (yych == 'S') goto yy261;
 +              if (yych == 's') goto yy261;
 +              goto yy194;
 +yy257:
                YYDEBUG(257, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(258, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1368 "Zend/zend_language_scanner.l"
 -#line 1360 "Zend/zend_language_scanner.l"
++#line 1370 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
  }
- #line 3725 "Zend/zend_language_scanner.c"
 -#line 3714 "Zend/zend_language_scanner.c"
 -yy258:
 -              YYDEBUG(258, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3727 "Zend/zend_language_scanner.c"
  yy259:
                YYDEBUG(259, *YYCURSOR);
 +              ++YYCURSOR;
 +yy260:
 +              YYDEBUG(260, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1364 "Zend/zend_language_scanner.l"
 -#line 1356 "Zend/zend_language_scanner.l"
++#line 1366 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
  }
- #line 3736 "Zend/zend_language_scanner.c"
 -#line 3725 "Zend/zend_language_scanner.c"
 -yy260:
 -              YYDEBUG(260, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy261;
 -              if (yych != 'c') goto yy193;
++#line 3738 "Zend/zend_language_scanner.c"
  yy261:
                YYDEBUG(261, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -3763,33 -3752,33 +3765,33 @@@ yy266
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
 -              YYDEBUG(266, *YYCURSOR);
 +              YYDEBUG(267, *YYCURSOR);
                if (yych <= '\r') {
 -                      if (yych <= 0x08) goto yy193;
 -                      if (yych <= '\n') goto yy265;
 -                      if (yych <= '\f') goto yy193;
 -                      goto yy265;
 +                      if (yych <= 0x08) goto yy194;
 +                      if (yych <= '\n') goto yy266;
 +                      if (yych <= '\f') goto yy194;
 +                      goto yy266;
                } else {
                        if (yych <= ' ') {
 -                              if (yych <= 0x1F) goto yy193;
 -                              goto yy265;
 +                              if (yych <= 0x1F) goto yy194;
 +                              goto yy266;
                        } else {
 -                              if (yych == '>') goto yy205;
 -                              goto yy193;
 +                              if (yych == '>') goto yy206;
 +                              goto yy194;
                        }
                }
 -yy267:
 -              YYDEBUG(267, *YYCURSOR);
 -              ++YYCURSOR;
 +yy268:
                YYDEBUG(268, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(269, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1400 "Zend/zend_language_scanner.l"
 -#line 1392 "Zend/zend_language_scanner.l"
++#line 1402 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
  }
- #line 3791 "Zend/zend_language_scanner.c"
 -#line 3780 "Zend/zend_language_scanner.c"
 -yy269:
 -              YYDEBUG(269, *YYCURSOR);
++#line 3793 "Zend/zend_language_scanner.c"
 +yy270:
 +              YYDEBUG(270, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
@@@ -3872,27 -3861,27 +3874,27 @@@ yy277
                        }
                } else {
                        if (yych <= '`') {
 -                              if (yych == '_') goto yy275;
 -                              goto yy193;
 +                              if (yych == '_') goto yy276;
 +                              goto yy194;
                        } else {
 -                              if (yych <= 'z') goto yy275;
 -                              if (yych <= '~') goto yy193;
 -                              goto yy275;
 +                              if (yych <= 'z') goto yy276;
 +                              if (yych <= '~') goto yy194;
 +                              goto yy276;
                        }
                }
 -yy277:
 -              YYDEBUG(277, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == '\n') goto yy278;
 -              if (yych == '\r') goto yy280;
 -              goto yy193;
  yy278:
                YYDEBUG(278, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              if (yych == '\n') goto yy279;
 +              if (yych == '\r') goto yy281;
 +              goto yy194;
  yy279:
                YYDEBUG(279, *YYCURSOR);
 +              ++YYCURSOR;
 +yy280:
 +              YYDEBUG(280, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2115 "Zend/zend_language_scanner.l"
 -#line 2106 "Zend/zend_language_scanner.l"
++#line 2117 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
                }
        }
  
 +      zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
 +
        return T_START_HEREDOC;
  }
- #line 3943 "Zend/zend_language_scanner.c"
 -#line 3933 "Zend/zend_language_scanner.c"
 -yy280:
 -              YYDEBUG(280, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == '\n') goto yy278;
 -              goto yy279;
++#line 3945 "Zend/zend_language_scanner.c"
  yy281:
                YYDEBUG(281, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == '\n') goto yy279;
 +              goto yy280;
 +yy282:
 +              YYDEBUG(282, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(3);
                yych = *YYCURSOR;
                        }
                } else {
                        if (yych <= '`') {
 -                              if (yych == '_') goto yy281;
 -                              goto yy193;
 +                              if (yych == '_') goto yy282;
 +                              goto yy194;
                        } else {
 -                              if (yych <= 'z') goto yy281;
 -                              if (yych <= '~') goto yy193;
 -                              goto yy281;
 +                              if (yych <= 'z') goto yy282;
 +                              if (yych <= '~') goto yy194;
 +                              goto yy282;
                        }
                }
 -yy283:
 -              YYDEBUG(283, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych != '=') goto yy259;
 +yy284:
                YYDEBUG(284, *YYCURSOR);
 -              ++YYCURSOR;
 +              yych = *++YYCURSOR;
 +              if (yych != '=') goto yy260;
                YYDEBUG(285, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(286, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1356 "Zend/zend_language_scanner.l"
 -#line 1348 "Zend/zend_language_scanner.l"
++#line 1358 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
  }
- #line 3987 "Zend/zend_language_scanner.c"
 -#line 3977 "Zend/zend_language_scanner.c"
 -yy286:
 -              YYDEBUG(286, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3989 "Zend/zend_language_scanner.c"
 +yy287:
                YYDEBUG(287, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(288, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1376 "Zend/zend_language_scanner.l"
 -#line 1368 "Zend/zend_language_scanner.l"
++#line 1378 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
  }
- #line 3997 "Zend/zend_language_scanner.c"
 -#line 3987 "Zend/zend_language_scanner.c"
 -yy288:
 -              YYDEBUG(288, *YYCURSOR);
 -              ++YYCURSOR;
++#line 3999 "Zend/zend_language_scanner.c"
 +yy289:
                YYDEBUG(289, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(290, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1344 "Zend/zend_language_scanner.l"
 -#line 1336 "Zend/zend_language_scanner.l"
++#line 1346 "Zend/zend_language_scanner.l"
                {
        return T_INC;
  }
- #line 4007 "Zend/zend_language_scanner.c"
 -#line 3997 "Zend/zend_language_scanner.c"
 -yy290:
 -              YYDEBUG(290, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy291;
 -              if (yych != 's') goto yy186;
++#line 4009 "Zend/zend_language_scanner.c"
  yy291:
                YYDEBUG(291, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy292;
 -              if (yych != 't') goto yy186;
 +              if (yych == 'S') goto yy292;
 +              if (yych != 's') goto yy187;
  yy292:
                YYDEBUG(292, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy293;
 +              if (yych != 't') goto yy187;
 +yy293:
 +              YYDEBUG(293, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(293, *YYCURSOR);
 +              YYDEBUG(294, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1332 "Zend/zend_language_scanner.l"
 -#line 1324 "Zend/zend_language_scanner.l"
++#line 1334 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
  }
- #line 4030 "Zend/zend_language_scanner.c"
 -#line 4020 "Zend/zend_language_scanner.c"
 -yy294:
 -              YYDEBUG(294, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '=') goto yy298;
++#line 4032 "Zend/zend_language_scanner.c"
 +yy295:
                YYDEBUG(295, *YYCURSOR);
 +              ++YYCURSOR;
 +              if ((yych = *YYCURSOR) == '=') goto yy299;
 +              YYDEBUG(296, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1360 "Zend/zend_language_scanner.l"
 -#line 1352 "Zend/zend_language_scanner.l"
++#line 1362 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
  }
- #line 4041 "Zend/zend_language_scanner.c"
 -#line 4031 "Zend/zend_language_scanner.c"
 -yy296:
 -              YYDEBUG(296, *YYCURSOR);
 -              ++YYCURSOR;
++#line 4043 "Zend/zend_language_scanner.c"
 +yy297:
                YYDEBUG(297, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(298, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1328 "Zend/zend_language_scanner.l"
 -#line 1320 "Zend/zend_language_scanner.l"
++#line 1330 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
  }
- #line 4051 "Zend/zend_language_scanner.c"
 -#line 4041 "Zend/zend_language_scanner.c"
 -yy298:
 -              YYDEBUG(298, *YYCURSOR);
 -              ++YYCURSOR;
++#line 4053 "Zend/zend_language_scanner.c"
 +yy299:
                YYDEBUG(299, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(300, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1352 "Zend/zend_language_scanner.l"
 -#line 1344 "Zend/zend_language_scanner.l"
++#line 1354 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
  }
- #line 4061 "Zend/zend_language_scanner.c"
 -#line 4051 "Zend/zend_language_scanner.c"
 -yy300:
 -              YYDEBUG(300, *YYCURSOR);
++#line 4063 "Zend/zend_language_scanner.c"
 +yy301:
 +              YYDEBUG(301, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
@@@ -4171,23 -4166,18 +4173,23 @@@ yy315
  yy316:
                YYDEBUG(316, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'E') goto yy317;
 +              if (yych != 'e') goto yy187;
 +yy317:
                YYDEBUG(317, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(318, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(319, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(319, *YYCURSOR);
 +              YYDEBUG(320, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1716 "Zend/zend_language_scanner.l"
 -#line 1707 "Zend/zend_language_scanner.l"
++#line 1718 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
        }
        return T_NS_C;
  }
- #line 4201 "Zend/zend_language_scanner.c"
 -#line 4191 "Zend/zend_language_scanner.c"
 -yy320:
 -              YYDEBUG(320, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy321;
 -              if (yych != 'r') goto yy186;
++#line 4203 "Zend/zend_language_scanner.c"
  yy321:
                YYDEBUG(321, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'R') goto yy322;
 +              if (yych != 'r') goto yy187;
 +yy322:
                YYDEBUG(322, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(323, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(324, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(324, *YYCURSOR);
 +              YYDEBUG(325, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1689 "Zend/zend_language_scanner.l"
 -#line 1680 "Zend/zend_language_scanner.l"
++#line 1691 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
        zendlval->type = IS_STRING;
        return T_DIR;
  }
- #line 4248 "Zend/zend_language_scanner.c"
 -#line 4238 "Zend/zend_language_scanner.c"
 -yy325:
 -              YYDEBUG(325, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy326;
 -              if (yych != 'n') goto yy186;
++#line 4250 "Zend/zend_language_scanner.c"
  yy326:
                YYDEBUG(326, *YYCURSOR);
                yych = *++YYCURSOR;
  yy327:
                YYDEBUG(327, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'E') goto yy328;
 +              if (yych != 'e') goto yy187;
 +yy328:
                YYDEBUG(328, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(329, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(330, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(330, *YYCURSOR);
 +              YYDEBUG(331, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1671 "Zend/zend_language_scanner.l"
 -#line 1662 "Zend/zend_language_scanner.l"
++#line 1673 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
  }
- #line 4279 "Zend/zend_language_scanner.c"
 -#line 4269 "Zend/zend_language_scanner.c"
 -yy331:
 -              YYDEBUG(331, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy332;
 -              if (yych != 't') goto yy186;
++#line 4281 "Zend/zend_language_scanner.c"
  yy332:
                YYDEBUG(332, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4294,23 -4289,18 +4296,23 @@@ yy334
  yy335:
                YYDEBUG(335, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'D') goto yy336;
 +              if (yych != 'd') goto yy187;
 +yy336:
                YYDEBUG(336, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(337, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(338, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(338, *YYCURSOR);
 +              YYDEBUG(339, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1650 "Zend/zend_language_scanner.l"
 -#line 1641 "Zend/zend_language_scanner.l"
++#line 1652 "Zend/zend_language_scanner.l"
                {
        const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
        const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
        zendlval->type = IS_STRING;
        return T_METHOD_C;
  }
- #line 4335 "Zend/zend_language_scanner.c"
 -#line 4325 "Zend/zend_language_scanner.c"
 -yy339:
 -              YYDEBUG(339, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy350;
 -              if (yych == 'l') goto yy350;
 -              goto yy186;
++#line 4337 "Zend/zend_language_scanner.c"
  yy340:
                YYDEBUG(340, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4366,23 -4361,18 +4368,23 @@@ yy345
  yy346:
                YYDEBUG(346, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'N') goto yy347;
 +              if (yych != 'n') goto yy187;
 +yy347:
                YYDEBUG(347, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(348, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(349, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(349, *YYCURSOR);
 +              YYDEBUG(350, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1634 "Zend/zend_language_scanner.l"
 -#line 1625 "Zend/zend_language_scanner.l"
++#line 1636 "Zend/zend_language_scanner.l"
                {
        const char *func_name = NULL;
  
        zendlval->type = IS_STRING;
        return T_FUNC_C;
  }
- #line 4402 "Zend/zend_language_scanner.c"
 -#line 4392 "Zend/zend_language_scanner.c"
 -yy350:
 -              YYDEBUG(350, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy351;
 -              if (yych != 'e') goto yy186;
++#line 4404 "Zend/zend_language_scanner.c"
  yy351:
                YYDEBUG(351, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'E') goto yy352;
 +              if (yych != 'e') goto yy187;
 +yy352:
                YYDEBUG(352, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(353, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(354, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(354, *YYCURSOR);
 +              YYDEBUG(355, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1677 "Zend/zend_language_scanner.l"
 -#line 1668 "Zend/zend_language_scanner.l"
++#line 1679 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
  
        zendlval->type = IS_STRING;
        return T_FILE;
  }
- #line 4434 "Zend/zend_language_scanner.c"
 -#line 4424 "Zend/zend_language_scanner.c"
 -yy355:
 -              YYDEBUG(355, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy356;
 -              if (yych != 'a') goto yy186;
++#line 4436 "Zend/zend_language_scanner.c"
  yy356:
                YYDEBUG(356, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4444,23 -4439,18 +4446,23 @@@ yy357
  yy358:
                YYDEBUG(358, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'T') goto yy359;
 +              if (yych != 't') goto yy187;
 +yy359:
                YYDEBUG(359, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(360, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(361, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(361, *YYCURSOR);
 +              YYDEBUG(362, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1614 "Zend/zend_language_scanner.l"
 -#line 1605 "Zend/zend_language_scanner.l"
++#line 1616 "Zend/zend_language_scanner.l"
                {
        const char *trait_name = NULL;
        
        
        return T_TRAIT_C;
  }
- #line 4484 "Zend/zend_language_scanner.c"
 -#line 4474 "Zend/zend_language_scanner.c"
 -yy362:
 -              YYDEBUG(362, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy363;
 -              if (yych != 'a') goto yy186;
++#line 4486 "Zend/zend_language_scanner.c"
  yy363:
                YYDEBUG(363, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4494,23 -4489,18 +4496,23 @@@ yy364
  yy365:
                YYDEBUG(365, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych == 'S') goto yy366;
 +              if (yych != 's') goto yy187;
 +yy366:
                YYDEBUG(366, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych != '_') goto yy186;
 +              if (yych != '_') goto yy187;
                YYDEBUG(367, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '_') goto yy187;
 +              YYDEBUG(368, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(368, *YYCURSOR);
 +              YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1587 "Zend/zend_language_scanner.l"
 -#line 1578 "Zend/zend_language_scanner.l"
++#line 1589 "Zend/zend_language_scanner.l"
                {
        const char *class_name = NULL;
        
        }
        return T_CLASS_C;
  }
- #line 4541 "Zend/zend_language_scanner.c"
 -#line 4531 "Zend/zend_language_scanner.c"
 -yy369:
 -              YYDEBUG(369, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy370;
 -              if (yych != 'l') goto yy186;
++#line 4543 "Zend/zend_language_scanner.c"
  yy370:
                YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4584,75 -4579,70 +4586,75 @@@ yy378
  yy379:
                YYDEBUG(379, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy380;
 -              if (yych != 'r') goto yy186;
 +              if (yych == 'E') goto yy380;
 +              if (yych != 'e') goto yy187;
  yy380:
                YYDEBUG(380, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy381;
 +              if (yych != 'r') goto yy187;
 +yy381:
 +              YYDEBUG(381, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(381, *YYCURSOR);
 +              YYDEBUG(382, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1296 "Zend/zend_language_scanner.l"
 -#line 1288 "Zend/zend_language_scanner.l"
++#line 1298 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
  }
- #line 4607 "Zend/zend_language_scanner.c"
 -#line 4597 "Zend/zend_language_scanner.c"
 -yy382:
 -              YYDEBUG(382, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy386;
 -              if (yych == 's') goto yy386;
 -              goto yy186;
++#line 4609 "Zend/zend_language_scanner.c"
  yy383:
                YYDEBUG(383, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy384;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'S') goto yy387;
 +              if (yych == 's') goto yy387;
 +              goto yy187;
  yy384:
                YYDEBUG(384, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy385;
 +              if (yych != 'e') goto yy187;
 +yy385:
 +              YYDEBUG(385, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(385, *YYCURSOR);
 +              YYDEBUG(386, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1276 "Zend/zend_language_scanner.l"
 -#line 1268 "Zend/zend_language_scanner.l"
++#line 1278 "Zend/zend_language_scanner.l"
                {
        return T_USE;
  }
- #line 4631 "Zend/zend_language_scanner.c"
 -#line 4621 "Zend/zend_language_scanner.c"
 -yy386:
 -              YYDEBUG(386, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy387;
 -              if (yych != 'e') goto yy186;
++#line 4633 "Zend/zend_language_scanner.c"
  yy387:
                YYDEBUG(387, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy388;
 -              if (yych != 't') goto yy186;
 +              if (yych == 'E') goto yy388;
 +              if (yych != 'e') goto yy187;
  yy388:
                YYDEBUG(388, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy389;
 +              if (yych != 't') goto yy187;
 +yy389:
 +              YYDEBUG(389, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(389, *YYCURSOR);
 +              YYDEBUG(390, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1324 "Zend/zend_language_scanner.l"
 -#line 1316 "Zend/zend_language_scanner.l"
++#line 1326 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
  }
- #line 4654 "Zend/zend_language_scanner.c"
 -#line 4644 "Zend/zend_language_scanner.c"
 -yy390:
 -              YYDEBUG(390, *YYCURSOR);
++#line 4656 "Zend/zend_language_scanner.c"
 +yy391:
 +              YYDEBUG(391, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(7);
                yych = *YYCURSOR;
@@@ -4809,24 -4799,29 +4811,24 @@@ yy405
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy405:
 -              YYDEBUG(405, *YYCURSOR);
 +yy406:
 +              YYDEBUG(406, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy404;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy405;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy404;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy405;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(406, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(407, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(408, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1224 "Zend/zend_language_scanner.l"
 -#line 1216 "Zend/zend_language_scanner.l"
++#line 1226 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
  }
- #line 4830 "Zend/zend_language_scanner.c"
 -#line 4820 "Zend/zend_language_scanner.c"
 -yy408:
 -              YYDEBUG(408, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy409;
 -              if (yych != 'e') goto yy193;
++#line 4832 "Zend/zend_language_scanner.c"
  yy409:
                YYDEBUG(409, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4858,23 -4848,28 +4860,23 @@@ yy414
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(414, *YYCURSOR);
 +              YYDEBUG(415, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy413;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy414;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy413;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy414;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(415, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(416, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(417, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1228 "Zend/zend_language_scanner.l"
 -#line 1220 "Zend/zend_language_scanner.l"
++#line 1230 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
  }
- #line 4878 "Zend/zend_language_scanner.c"
 -#line 4868 "Zend/zend_language_scanner.c"
 -yy417:
 -              YYDEBUG(417, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'U') goto yy418;
 -              if (yych != 'u') goto yy193;
++#line 4880 "Zend/zend_language_scanner.c"
  yy418:
                YYDEBUG(418, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4932,23 -4922,28 +4934,23 @@@ yy428
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(428, *YYCURSOR);
 +              YYDEBUG(429, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy427;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy428;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy427;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy428;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(429, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(430, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(431, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1232 "Zend/zend_language_scanner.l"
 -#line 1224 "Zend/zend_language_scanner.l"
++#line 1234 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
  }
- #line 4952 "Zend/zend_language_scanner.c"
 -#line 4942 "Zend/zend_language_scanner.c"
 -yy431:
 -              YYDEBUG(431, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy432;
 -              if (yych != 'r') goto yy193;
++#line 4954 "Zend/zend_language_scanner.c"
  yy432:
                YYDEBUG(432, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -4969,23 -4959,28 +4971,23 @@@ yy435
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(435, *YYCURSOR);
 +              YYDEBUG(436, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy434;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy435;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy434;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy435;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(436, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(437, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(438, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1236 "Zend/zend_language_scanner.l"
 -#line 1228 "Zend/zend_language_scanner.l"
++#line 1238 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
  }
- #line 4989 "Zend/zend_language_scanner.c"
 -#line 4979 "Zend/zend_language_scanner.c"
 -yy438:
 -              YYDEBUG(438, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'J') goto yy439;
 -              if (yych != 'j') goto yy193;
++#line 4991 "Zend/zend_language_scanner.c"
  yy439:
                YYDEBUG(439, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5011,23 -5001,29 +5013,23 @@@ yy443
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(443, *YYCURSOR);
 +              YYDEBUG(444, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy442;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy443;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy442;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy443;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(444, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(445, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(446, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1240 "Zend/zend_language_scanner.l"
 -#line 1232 "Zend/zend_language_scanner.l"
++#line 1242 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
  }
- #line 5031 "Zend/zend_language_scanner.c"
 -#line 5021 "Zend/zend_language_scanner.c"
 -yy446:
 -              YYDEBUG(446, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy456;
 -              if (yych == 'n') goto yy456;
 -              goto yy193;
++#line 5033 "Zend/zend_language_scanner.c"
  yy447:
                YYDEBUG(447, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5055,24 -5045,29 +5057,24 @@@ yy451
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy451:
 -              YYDEBUG(451, *YYCURSOR);
 +yy452:
 +              YYDEBUG(452, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy450;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy451;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy450;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy451;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(452, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(453, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(454, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1244 "Zend/zend_language_scanner.l"
 -#line 1236 "Zend/zend_language_scanner.l"
++#line 1246 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
  }
- #line 5076 "Zend/zend_language_scanner.c"
 -#line 5066 "Zend/zend_language_scanner.c"
 -yy454:
 -              YYDEBUG(454, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy455;
 -              if (yych != 'a') goto yy193;
++#line 5078 "Zend/zend_language_scanner.c"
  yy455:
                YYDEBUG(455, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5120,65 -5110,70 +5122,65 @@@ yy463
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(463, *YYCURSOR);
 +              YYDEBUG(464, *YYCURSOR);
                if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy462;
 -                      goto yy193;
 +                      if (yych == '\t') goto yy463;
 +                      goto yy194;
                } else {
 -                      if (yych <= ' ') goto yy462;
 -                      if (yych != ')') goto yy193;
 +                      if (yych <= ' ') goto yy463;
 +                      if (yych != ')') goto yy194;
                }
 -              YYDEBUG(464, *YYCURSOR);
 -              ++YYCURSOR;
                YYDEBUG(465, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(466, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1248 "Zend/zend_language_scanner.l"
 -#line 1240 "Zend/zend_language_scanner.l"
++#line 1250 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
  }
- #line 5140 "Zend/zend_language_scanner.c"
 -#line 5130 "Zend/zend_language_scanner.c"
 -yy466:
 -              YYDEBUG(466, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy467;
 -              if (yych != 'r') goto yy186;
++#line 5142 "Zend/zend_language_scanner.c"
  yy467:
                YYDEBUG(467, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy468;
 +              if (yych != 'r') goto yy187;
 +yy468:
 +              YYDEBUG(468, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(468, *YYCURSOR);
 +              YYDEBUG(469, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1220 "Zend/zend_language_scanner.l"
 -#line 1212 "Zend/zend_language_scanner.l"
++#line 1222 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
  }
- #line 5158 "Zend/zend_language_scanner.c"
 -#line 5148 "Zend/zend_language_scanner.c"
 -yy469:
 -              YYDEBUG(469, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'M') goto yy473;
 -              if (yych == 'm') goto yy473;
 -              goto yy186;
++#line 5160 "Zend/zend_language_scanner.c"
  yy470:
                YYDEBUG(470, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'W') goto yy471;
 -              if (yych != 'w') goto yy186;
 +              if (yych == 'M') goto yy474;
 +              if (yych == 'm') goto yy474;
 +              goto yy187;
  yy471:
                YYDEBUG(471, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'W') goto yy472;
 +              if (yych != 'w') goto yy187;
 +yy472:
 +              YYDEBUG(472, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(472, *YYCURSOR);
 +              YYDEBUG(473, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1212 "Zend/zend_language_scanner.l"
 -#line 1204 "Zend/zend_language_scanner.l"
++#line 1214 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
  }
- #line 5182 "Zend/zend_language_scanner.c"
 -#line 5172 "Zend/zend_language_scanner.c"
 -yy473:
 -              YYDEBUG(473, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy474;
 -              if (yych != 'e') goto yy186;
++#line 5184 "Zend/zend_language_scanner.c"
  yy474:
                YYDEBUG(474, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5202,99 -5197,99 +5204,99 @@@ yy477
  yy478:
                YYDEBUG(478, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy479;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'C') goto yy479;
 +              if (yych != 'c') goto yy187;
  yy479:
                YYDEBUG(479, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy480;
 +              if (yych != 'e') goto yy187;
 +yy480:
 +              YYDEBUG(480, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(480, *YYCURSOR);
 +              YYDEBUG(481, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1272 "Zend/zend_language_scanner.l"
 -#line 1264 "Zend/zend_language_scanner.l"
++#line 1274 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
  }
- #line 5225 "Zend/zend_language_scanner.c"
 -#line 5215 "Zend/zend_language_scanner.c"
 -yy481:
 -              YYDEBUG(481, *YYCURSOR);
 -              ++YYCURSOR;
++#line 5227 "Zend/zend_language_scanner.c"
 +yy482:
                YYDEBUG(482, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(483, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1204 "Zend/zend_language_scanner.l"
 -#line 1196 "Zend/zend_language_scanner.l"
++#line 1206 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
  }
- #line 5235 "Zend/zend_language_scanner.c"
 -#line 5225 "Zend/zend_language_scanner.c"
 -yy483:
 -              YYDEBUG(483, *YYCURSOR);
++#line 5237 "Zend/zend_language_scanner.c"
 +yy484:
 +              YYDEBUG(484, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy484:
 -              YYDEBUG(484, *YYCURSOR);
 +yy485:
 +              YYDEBUG(485, *YYCURSOR);
                if (yych <= '\f') {
 -                      if (yych <= 0x08) goto yy140;
 -                      if (yych <= '\n') goto yy483;
 -                      goto yy140;
 +                      if (yych <= 0x08) goto yy141;
 +                      if (yych <= '\n') goto yy484;
 +                      goto yy141;
                } else {
 -                      if (yych <= '\r') goto yy483;
 -                      if (yych == ' ') goto yy483;
 -                      goto yy140;
 +                      if (yych <= '\r') goto yy484;
 +                      if (yych == ' ') goto yy484;
 +                      goto yy141;
                }
 -yy485:
 -              YYDEBUG(485, *YYCURSOR);
 -              ++YYCURSOR;
 +yy486:
                YYDEBUG(486, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(487, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1380 "Zend/zend_language_scanner.l"
 -#line 1372 "Zend/zend_language_scanner.l"
++#line 1382 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
  }
- #line 5261 "Zend/zend_language_scanner.c"
 -#line 5251 "Zend/zend_language_scanner.c"
 -yy487:
 -              YYDEBUG(487, *YYCURSOR);
 -              ++YYCURSOR;
++#line 5263 "Zend/zend_language_scanner.c"
 +yy488:
                YYDEBUG(488, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(489, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1348 "Zend/zend_language_scanner.l"
 -#line 1340 "Zend/zend_language_scanner.l"
++#line 1350 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
  }
- #line 5271 "Zend/zend_language_scanner.c"
 -#line 5261 "Zend/zend_language_scanner.c"
 -yy489:
 -              YYDEBUG(489, *YYCURSOR);
 -              ++YYCURSOR;
++#line 5273 "Zend/zend_language_scanner.c"
 +yy490:
                YYDEBUG(490, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(491, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1174 "Zend/zend_language_scanner.l"
 -#line 1166 "Zend/zend_language_scanner.l"
++#line 1176 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
  }
- #line 5282 "Zend/zend_language_scanner.c"
 -#line 5272 "Zend/zend_language_scanner.c"
 -yy491:
 -              YYDEBUG(491, *YYCURSOR);
++#line 5284 "Zend/zend_language_scanner.c"
 +yy492:
 +              YYDEBUG(492, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
 -                      if (yych == 'I') goto yy498;
 -                      if (yych <= 'N') goto yy186;
 -                      goto yy499;
 +                      if (yych == 'I') goto yy499;
 +                      if (yych <= 'N') goto yy187;
 +                      goto yy500;
                } else {
                        if (yych <= 'i') {
 -                              if (yych <= 'h') goto yy186;
 -                              goto yy498;
 +                              if (yych <= 'h') goto yy187;
 +                              goto yy499;
                        } else {
 -                              if (yych == 'o') goto yy499;
 -                              goto yy186;
 +                              if (yych == 'o') goto yy500;
 +                              goto yy187;
                        }
                }
 -yy492:
 -              YYDEBUG(492, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'B') goto yy493;
 -              if (yych != 'b') goto yy186;
  yy493:
                YYDEBUG(493, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5308,42 -5303,42 +5310,42 @@@ yy494
  yy495:
                YYDEBUG(495, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy496;
 -              if (yych != 'c') goto yy186;
 +              if (yych == 'I') goto yy496;
 +              if (yych != 'i') goto yy187;
  yy496:
                YYDEBUG(496, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'C') goto yy497;
 +              if (yych != 'c') goto yy187;
 +yy497:
 +              YYDEBUG(497, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(497, *YYCURSOR);
 +              YYDEBUG(498, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1320 "Zend/zend_language_scanner.l"
 -#line 1312 "Zend/zend_language_scanner.l"
++#line 1322 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
  }
- #line 5331 "Zend/zend_language_scanner.c"
 -#line 5321 "Zend/zend_language_scanner.c"
 -yy498:
 -              YYDEBUG(498, *YYCURSOR);
++#line 5333 "Zend/zend_language_scanner.c"
 +yy499:
 +              YYDEBUG(499, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'V') {
 -                      if (yych == 'N') goto yy507;
 -                      if (yych <= 'U') goto yy186;
 -                      goto yy508;
 +                      if (yych == 'N') goto yy508;
 +                      if (yych <= 'U') goto yy187;
 +                      goto yy509;
                } else {
                        if (yych <= 'n') {
 -                              if (yych <= 'm') goto yy186;
 -                              goto yy507;
 +                              if (yych <= 'm') goto yy187;
 +                              goto yy508;
                        } else {
 -                              if (yych == 'v') goto yy508;
 -                              goto yy186;
 +                              if (yych == 'v') goto yy509;
 +                              goto yy187;
                        }
                }
 -yy499:
 -              YYDEBUG(499, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy500;
 -              if (yych != 't') goto yy186;
  yy500:
                YYDEBUG(500, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5367,26 -5362,27 +5369,26 @@@ yy503
  yy504:
                YYDEBUG(504, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'D') goto yy505;
 -              if (yych != 'd') goto yy186;
 +              if (yych == 'E') goto yy505;
 +              if (yych != 'e') goto yy187;
  yy505:
                YYDEBUG(505, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'D') goto yy506;
 +              if (yych != 'd') goto yy187;
 +yy506:
 +              YYDEBUG(506, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(506, *YYCURSOR);
 +              YYDEBUG(507, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1316 "Zend/zend_language_scanner.l"
 -#line 1308 "Zend/zend_language_scanner.l"
++#line 1318 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
  }
- #line 5390 "Zend/zend_language_scanner.c"
 -#line 5380 "Zend/zend_language_scanner.c"
 -yy507:
 -              YYDEBUG(507, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy513;
 -              if (yych == 't') goto yy513;
 -              goto yy186;
++#line 5392 "Zend/zend_language_scanner.c"
  yy508:
                YYDEBUG(508, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5401,39 -5396,40 +5403,39 @@@ yy509
  yy510:
                YYDEBUG(510, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy511;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'T') goto yy511;
 +              if (yych != 't') goto yy187;
  yy511:
                YYDEBUG(511, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy512;
 +              if (yych != 'e') goto yy187;
 +yy512:
 +              YYDEBUG(512, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(512, *YYCURSOR);
 +              YYDEBUG(513, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1312 "Zend/zend_language_scanner.l"
 -#line 1304 "Zend/zend_language_scanner.l"
++#line 1314 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
  }
- #line 5424 "Zend/zend_language_scanner.c"
 -#line 5414 "Zend/zend_language_scanner.c"
 -yy513:
 -              YYDEBUG(513, *YYCURSOR);
++#line 5426 "Zend/zend_language_scanner.c"
 +yy514:
 +              YYDEBUG(514, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(514, *YYCURSOR);
 +              YYDEBUG(515, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1150 "Zend/zend_language_scanner.l"
 -#line 1142 "Zend/zend_language_scanner.l"
++#line 1152 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
  }
- #line 5437 "Zend/zend_language_scanner.c"
 -#line 5427 "Zend/zend_language_scanner.c"
 -yy515:
 -              YYDEBUG(515, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy520;
 -              if (yych == 'o') goto yy520;
 -              goto yy186;
++#line 5439 "Zend/zend_language_scanner.c"
  yy516:
                YYDEBUG(516, *YYCURSOR);
                yych = *++YYCURSOR;
  yy517:
                YYDEBUG(517, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy518;
 -              if (yych != 'o') goto yy186;
 +              if (yych == 'T') goto yy518;
 +              if (yych != 't') goto yy187;
  yy518:
                YYDEBUG(518, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'O') goto yy519;
 +              if (yych != 'o') goto yy187;
 +yy519:
 +              YYDEBUG(519, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(519, *YYCURSOR);
 +              YYDEBUG(520, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1142 "Zend/zend_language_scanner.l"
 -#line 1134 "Zend/zend_language_scanner.l"
++#line 1144 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
  }
- #line 5466 "Zend/zend_language_scanner.c"
 -#line 5456 "Zend/zend_language_scanner.c"
 -yy520:
 -              YYDEBUG(520, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'B') goto yy521;
 -              if (yych != 'b') goto yy186;
++#line 5468 "Zend/zend_language_scanner.c"
  yy521:
                YYDEBUG(521, *YYCURSOR);
                yych = *++YYCURSOR;
  yy522:
                YYDEBUG(522, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy523;
 -              if (yych != 'l') goto yy186;
 +              if (yych == 'A') goto yy523;
 +              if (yych != 'a') goto yy187;
  yy523:
                YYDEBUG(523, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'L') goto yy524;
 +              if (yych != 'l') goto yy187;
 +yy524:
 +              YYDEBUG(524, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(524, *YYCURSOR);
 +              YYDEBUG(525, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1284 "Zend/zend_language_scanner.l"
 -#line 1276 "Zend/zend_language_scanner.l"
++#line 1286 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
  }
- #line 5494 "Zend/zend_language_scanner.c"
 -#line 5484 "Zend/zend_language_scanner.c"
 -yy525:
 -              YYDEBUG(525, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == '<') goto yy533;
 -              goto yy193;
++#line 5496 "Zend/zend_language_scanner.c"
  yy526:
                YYDEBUG(526, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5512,26 -5507,26 +5514,26 @@@ yy529
  yy530:
                YYDEBUG(530, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'K') goto yy531;
 -              if (yych != 'k') goto yy186;
 +              if (yych == 'A') goto yy531;
 +              if (yych != 'a') goto yy187;
  yy531:
                YYDEBUG(531, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'K') goto yy532;
 +              if (yych != 'k') goto yy187;
 +yy532:
 +              YYDEBUG(532, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(532, *YYCURSOR);
 +              YYDEBUG(533, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1134 "Zend/zend_language_scanner.l"
 -#line 1126 "Zend/zend_language_scanner.l"
++#line 1136 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
  }
- #line 5535 "Zend/zend_language_scanner.c"
 -#line 5525 "Zend/zend_language_scanner.c"
 -yy533:
 -              YYDEBUG(533, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == '<') goto yy269;
 -              goto yy193;
++#line 5537 "Zend/zend_language_scanner.c"
  yy534:
                YYDEBUG(534, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5556,26 -5551,26 +5558,26 @@@ yy537
  yy538:
                YYDEBUG(538, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy539;
 -              if (yych != 'h') goto yy186;
 +              if (yych == 'C') goto yy539;
 +              if (yych != 'c') goto yy187;
  yy539:
                YYDEBUG(539, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'H') goto yy540;
 +              if (yych != 'h') goto yy187;
 +yy540:
 +              YYDEBUG(540, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(540, *YYCURSOR);
 +              YYDEBUG(541, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1118 "Zend/zend_language_scanner.l"
 -#line 1110 "Zend/zend_language_scanner.l"
++#line 1120 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
  }
- #line 5579 "Zend/zend_language_scanner.c"
 -#line 5569 "Zend/zend_language_scanner.c"
 -yy541:
 -              YYDEBUG(541, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy542;
 -              if (yych != 't') goto yy186;
++#line 5581 "Zend/zend_language_scanner.c"
  yy542:
                YYDEBUG(542, *YYCURSOR);
                yych = *++YYCURSOR;
  yy543:
                YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy544;
 -              if (yych != 'c') goto yy186;
 +              if (yych == 'I') goto yy544;
 +              if (yych != 'i') goto yy187;
  yy544:
                YYDEBUG(544, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'C') goto yy545;
 +              if (yych != 'c') goto yy187;
 +yy545:
 +              YYDEBUG(545, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(545, *YYCURSOR);
 +              YYDEBUG(546, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1300 "Zend/zend_language_scanner.l"
 -#line 1292 "Zend/zend_language_scanner.l"
++#line 1302 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
  }
- #line 5607 "Zend/zend_language_scanner.c"
 -#line 5597 "Zend/zend_language_scanner.c"
 -yy546:
 -              YYDEBUG(546, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy557;
 -              if (yych == 's') goto yy557;
 -              goto yy186;
++#line 5609 "Zend/zend_language_scanner.c"
  yy547:
                YYDEBUG(547, *YYCURSOR);
                yych = *++YYCURSOR;
  yy548:
                YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy551;
 -              if (yych == 'r') goto yy551;
 -              goto yy186;
 +              if (yych == 'D') goto yy556;
 +              if (yych == 'd') goto yy556;
 +              goto yy187;
  yy549:
                YYDEBUG(549, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy552;
 +              if (yych == 'r') goto yy552;
 +              goto yy187;
 +yy550:
 +              YYDEBUG(550, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(550, *YYCURSOR);
 +              YYDEBUG(551, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1114 "Zend/zend_language_scanner.l"
 -#line 1106 "Zend/zend_language_scanner.l"
++#line 1116 "Zend/zend_language_scanner.l"
                {
        return T_AS;
  }
- #line 5638 "Zend/zend_language_scanner.c"
 -#line 5628 "Zend/zend_language_scanner.c"
 -yy551:
 -              YYDEBUG(551, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy552;
 -              if (yych != 'a') goto yy186;
++#line 5640 "Zend/zend_language_scanner.c"
  yy552:
                YYDEBUG(552, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'Y') goto yy553;
 -              if (yych != 'y') goto yy186;
 +              if (yych == 'A') goto yy553;
 +              if (yych != 'a') goto yy187;
  yy553:
                YYDEBUG(553, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'Y') goto yy554;
 +              if (yych != 'y') goto yy187;
 +yy554:
 +              YYDEBUG(554, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(554, *YYCURSOR);
 +              YYDEBUG(555, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1336 "Zend/zend_language_scanner.l"
 -#line 1328 "Zend/zend_language_scanner.l"
++#line 1338 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
  }
- #line 5661 "Zend/zend_language_scanner.c"
 -#line 5651 "Zend/zend_language_scanner.c"
 -yy555:
 -              YYDEBUG(555, *YYCURSOR);
++#line 5663 "Zend/zend_language_scanner.c"
 +yy556:
 +              YYDEBUG(556, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(556, *YYCURSOR);
 +              YYDEBUG(557, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1432 "Zend/zend_language_scanner.l"
 -#line 1424 "Zend/zend_language_scanner.l"
++#line 1434 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
  }
- #line 5674 "Zend/zend_language_scanner.c"
 -#line 5664 "Zend/zend_language_scanner.c"
 -yy557:
 -              YYDEBUG(557, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy558;
 -              if (yych != 't') goto yy186;
++#line 5676 "Zend/zend_language_scanner.c"
  yy558:
                YYDEBUG(558, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5689,26 -5684,26 +5691,26 @@@ yy560
  yy561:
                YYDEBUG(561, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy562;
 -              if (yych != 't') goto yy186;
 +              if (yych == 'C') goto yy562;
 +              if (yych != 'c') goto yy187;
  yy562:
                YYDEBUG(562, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy563;
 +              if (yych != 't') goto yy187;
 +yy563:
 +              YYDEBUG(563, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(563, *YYCURSOR);
 +              YYDEBUG(564, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1304 "Zend/zend_language_scanner.l"
 -#line 1296 "Zend/zend_language_scanner.l"
++#line 1306 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
  }
- #line 5712 "Zend/zend_language_scanner.c"
 -#line 5702 "Zend/zend_language_scanner.c"
 -yy564:
 -              YYDEBUG(564, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy565;
 -              if (yych != 'i') goto yy186;
++#line 5714 "Zend/zend_language_scanner.c"
  yy565:
                YYDEBUG(565, *YYCURSOR);
                yych = *++YYCURSOR;
  yy566:
                YYDEBUG(566, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy567;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'L') goto yy567;
 +              if (yych != 'l') goto yy187;
  yy567:
                YYDEBUG(567, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy568;
 +              if (yych != 'e') goto yy187;
 +yy568:
 +              YYDEBUG(568, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(568, *YYCURSOR);
 +              YYDEBUG(569, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1074 "Zend/zend_language_scanner.l"
 -#line 1066 "Zend/zend_language_scanner.l"
++#line 1076 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
  }
- #line 5740 "Zend/zend_language_scanner.c"
 -#line 5730 "Zend/zend_language_scanner.c"
 -yy569:
 -              YYDEBUG(569, *YYCURSOR);
++#line 5742 "Zend/zend_language_scanner.c"
 +yy570:
 +              YYDEBUG(570, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(570, *YYCURSOR);
 +              YYDEBUG(571, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1058 "Zend/zend_language_scanner.l"
 -#line 1050 "Zend/zend_language_scanner.l"
++#line 1060 "Zend/zend_language_scanner.l"
                {
        return T_IF;
  }
- #line 5753 "Zend/zend_language_scanner.c"
 -#line 5743 "Zend/zend_language_scanner.c"
 -yy571:
 -              YYDEBUG(571, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'P') goto yy613;
 -              if (yych == 'p') goto yy613;
 -              goto yy186;
++#line 5755 "Zend/zend_language_scanner.c"
  yy572:
                YYDEBUG(572, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5786,26 -5781,27 +5788,26 @@@ yy574
  yy575:
                YYDEBUG(575, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy576;
 -              if (yych != 't') goto yy186;
 +              if (yych == 'E') goto yy576;
 +              if (yych != 'e') goto yy187;
  yy576:
                YYDEBUG(576, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy577;
 +              if (yych != 't') goto yy187;
 +yy577:
 +              YYDEBUG(577, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(577, *YYCURSOR);
 +              YYDEBUG(578, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1288 "Zend/zend_language_scanner.l"
 -#line 1280 "Zend/zend_language_scanner.l"
++#line 1290 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
  }
- #line 5809 "Zend/zend_language_scanner.c"
 -#line 5799 "Zend/zend_language_scanner.c"
 -yy578:
 -              YYDEBUG(578, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy599;
 -              if (yych == 't') goto yy599;
 -              goto yy186;
++#line 5811 "Zend/zend_language_scanner.c"
  yy579:
                YYDEBUG(579, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5850,20 -5840,25 +5852,20 @@@ yy585
                        }
                } else {
                        if (yych <= '`') {
 -                              if (yych <= '_') goto yy586;
 +                              if (yych <= '_') goto yy587;
                        } else {
 -                              if (yych <= 'z') goto yy185;
 -                              if (yych >= 0x7F) goto yy185;
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
                        }
                }
 -yy585:
 -              YYDEBUG(585, *YYCURSOR);
 +yy586:
 +              YYDEBUG(586, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1256 "Zend/zend_language_scanner.l"
 -#line 1248 "Zend/zend_language_scanner.l"
++#line 1258 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
  }
- #line 5867 "Zend/zend_language_scanner.c"
 -#line 5857 "Zend/zend_language_scanner.c"
 -yy586:
 -              YYDEBUG(586, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy587;
 -              if (yych != 'o') goto yy186;
++#line 5869 "Zend/zend_language_scanner.c"
  yy587:
                YYDEBUG(587, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5877,26 -5872,26 +5879,26 @@@ yy588
  yy589:
                YYDEBUG(589, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy590;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'C') goto yy590;
 +              if (yych != 'c') goto yy187;
  yy590:
                YYDEBUG(590, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy591;
 +              if (yych != 'e') goto yy187;
 +yy591:
 +              YYDEBUG(591, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(591, *YYCURSOR);
 +              YYDEBUG(592, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1260 "Zend/zend_language_scanner.l"
 -#line 1252 "Zend/zend_language_scanner.l"
++#line 1262 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
  }
- #line 5900 "Zend/zend_language_scanner.c"
 -#line 5890 "Zend/zend_language_scanner.c"
 -yy592:
 -              YYDEBUG(592, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy593;
 -              if (yych != 'r') goto yy186;
++#line 5902 "Zend/zend_language_scanner.c"
  yy593:
                YYDEBUG(593, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5915,41 -5910,42 +5917,41 @@@ yy595
  yy596:
                YYDEBUG(596, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy597;
 -              if (yych != 'e') goto yy186;
 +              if (yych == 'C') goto yy597;
 +              if (yych != 'c') goto yy187;
  yy597:
                YYDEBUG(597, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy598;
 +              if (yych != 'e') goto yy187;
 +yy598:
 +              YYDEBUG(598, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(598, *YYCURSOR);
 +              YYDEBUG(599, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1158 "Zend/zend_language_scanner.l"
 -#line 1150 "Zend/zend_language_scanner.l"
++#line 1160 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
  }
- #line 5938 "Zend/zend_language_scanner.c"
 -#line 5928 "Zend/zend_language_scanner.c"
 -yy599:
 -              YYDEBUG(599, *YYCURSOR);
++#line 5940 "Zend/zend_language_scanner.c"
 +yy600:
 +              YYDEBUG(600, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'E') {
 -                      if (yych == 'A') goto yy600;
 -                      if (yych <= 'D') goto yy186;
 -                      goto yy601;
 +                      if (yych == 'A') goto yy601;
 +                      if (yych <= 'D') goto yy187;
 +                      goto yy602;
                } else {
                        if (yych <= 'a') {
 -                              if (yych <= '`') goto yy186;
 +                              if (yych <= '`') goto yy187;
                        } else {
 -                              if (yych == 'e') goto yy601;
 -                              goto yy186;
 +                              if (yych == 'e') goto yy602;
 +                              goto yy187;
                        }
                }
 -yy600:
 -              YYDEBUG(600, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy607;
 -              if (yych == 'n') goto yy607;
 -              goto yy186;
  yy601:
                YYDEBUG(601, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -5969,26 -5964,26 +5971,26 @@@ yy603
  yy604:
                YYDEBUG(604, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'F') goto yy605;
 -              if (yych != 'f') goto yy186;
 +              if (yych == 'O') goto yy605;
 +              if (yych != 'o') goto yy187;
  yy605:
                YYDEBUG(605, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'F') goto yy606;
 +              if (yych != 'f') goto yy187;
 +yy606:
 +              YYDEBUG(606, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(606, *YYCURSOR);
 +              YYDEBUG(607, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1280 "Zend/zend_language_scanner.l"
 -#line 1272 "Zend/zend_language_scanner.l"
++#line 1282 "Zend/zend_language_scanner.l"
                {
          return T_INSTEADOF;
  }
- #line 5992 "Zend/zend_language_scanner.c"
 -#line 5982 "Zend/zend_language_scanner.c"
 -yy607:
 -              YYDEBUG(607, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy608;
 -              if (yych != 'c') goto yy186;
++#line 5994 "Zend/zend_language_scanner.c"
  yy608:
                YYDEBUG(608, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6002,26 -5997,26 +6004,26 @@@ yy609
  yy610:
                YYDEBUG(610, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'F') goto yy611;
 -              if (yych != 'f') goto yy186;
 +              if (yych == 'O') goto yy611;
 +              if (yych != 'o') goto yy187;
  yy611:
                YYDEBUG(611, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'F') goto yy612;
 +              if (yych != 'f') goto yy187;
 +yy612:
 +              YYDEBUG(612, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(612, *YYCURSOR);
 +              YYDEBUG(613, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1110 "Zend/zend_language_scanner.l"
 -#line 1102 "Zend/zend_language_scanner.l"
++#line 1112 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
  }
- #line 6025 "Zend/zend_language_scanner.c"
 -#line 6015 "Zend/zend_language_scanner.c"
 -yy613:
 -              YYDEBUG(613, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy614;
 -              if (yych != 'l') goto yy186;
++#line 6027 "Zend/zend_language_scanner.c"
  yy614:
                YYDEBUG(614, *YYCURSOR);
                yych = *++YYCURSOR;
  yy619:
                YYDEBUG(619, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy620;
 -              if (yych != 's') goto yy186;
 +              if (yych == 'T') goto yy620;
 +              if (yych != 't') goto yy187;
  yy620:
                YYDEBUG(620, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'S') goto yy621;
 +              if (yych != 's') goto yy187;
 +yy621:
 +              YYDEBUG(621, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(621, *YYCURSOR);
 +              YYDEBUG(622, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1170 "Zend/zend_language_scanner.l"
 -#line 1162 "Zend/zend_language_scanner.l"
++#line 1172 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
  }
- #line 6073 "Zend/zend_language_scanner.c"
 -#line 6063 "Zend/zend_language_scanner.c"
 -yy622:
 -              YYDEBUG(622, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy630;
 -              if (yych == 'r') goto yy630;
 -              goto yy186;
++#line 6075 "Zend/zend_language_scanner.c"
  yy623:
                YYDEBUG(623, *YYCURSOR);
                yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy631;
 +              if (yych == 'r') goto yy631;
 +              goto yy187;
 +yy624:
 +              YYDEBUG(624, *YYCURSOR);
 +              yych = *++YYCURSOR;
                if (yych <= 'Y') {
 -                      if (yych == 'A') goto yy626;
 -                      if (yych <= 'X') goto yy186;
 +                      if (yych == 'A') goto yy627;
 +                      if (yych <= 'X') goto yy187;
                } else {
                        if (yych <= 'a') {
 -                              if (yych <= '`') goto yy186;
 -                              goto yy626;
 +                              if (yych <= '`') goto yy187;
 +                              goto yy627;
                        } else {
 -                              if (yych != 'y') goto yy186;
 +                              if (yych != 'y') goto yy187;
                        }
                }
 -              YYDEBUG(624, *YYCURSOR);
 +              YYDEBUG(625, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(625, *YYCURSOR);
 +              YYDEBUG(626, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1042 "Zend/zend_language_scanner.l"
 -#line 1038 "Zend/zend_language_scanner.l"
++#line 1044 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
  }
- #line 6105 "Zend/zend_language_scanner.c"
 -#line 6095 "Zend/zend_language_scanner.c"
 -yy626:
 -              YYDEBUG(626, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy627;
 -              if (yych != 'i') goto yy186;
++#line 6107 "Zend/zend_language_scanner.c"
  yy627:
                YYDEBUG(627, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy628;
 -              if (yych != 't') goto yy186;
 +              if (yych == 'I') goto yy628;
 +              if (yych != 'i') goto yy187;
  yy628:
                YYDEBUG(628, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy629;
 +              if (yych != 't') goto yy187;
 +yy629:
 +              YYDEBUG(629, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(629, *YYCURSOR);
 +              YYDEBUG(630, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1162 "Zend/zend_language_scanner.l"
 -#line 1154 "Zend/zend_language_scanner.l"
++#line 1164 "Zend/zend_language_scanner.l"
                {
        return T_TRAIT;
  }
- #line 6128 "Zend/zend_language_scanner.c"
 -#line 6118 "Zend/zend_language_scanner.c"
 -yy630:
 -              YYDEBUG(630, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy631;
 -              if (yych != 'o') goto yy186;
++#line 6130 "Zend/zend_language_scanner.c"
  yy631:
                YYDEBUG(631, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'W') goto yy632;
 -              if (yych != 'w') goto yy186;
 +              if (yych == 'O') goto yy632;
 +              if (yych != 'o') goto yy187;
  yy632:
                YYDEBUG(632, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'W') goto yy633;
 +              if (yych != 'w') goto yy187;
 +yy633:
 +              YYDEBUG(633, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(633, *YYCURSOR);
 +              YYDEBUG(634, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1054 "Zend/zend_language_scanner.l"
 -#line 1046 "Zend/zend_language_scanner.l"
++#line 1056 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
  }
- #line 6151 "Zend/zend_language_scanner.c"
 -#line 6141 "Zend/zend_language_scanner.c"
 -yy634:
 -              YYDEBUG(634, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych <= 'T') {
 -                      if (yych == 'Q') goto yy636;
 -                      if (yych <= 'S') goto yy186;
 -              } else {
 -                      if (yych <= 'q') {
 -                              if (yych <= 'p') goto yy186;
 -                              goto yy636;
 -                      } else {
 -                              if (yych != 't') goto yy186;
 -                      }
 -              }
++#line 6153 "Zend/zend_language_scanner.c"
 +yy635:
                YYDEBUG(635, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'U') goto yy648;
 -              if (yych == 'u') goto yy648;
 -              goto yy186;
 +              if (yych == 'E') goto yy636;
 +              if (yych != 'e') goto yy187;
  yy636:
                YYDEBUG(636, *YYCURSOR);
                yych = *++YYCURSOR;
  yy637:
                YYDEBUG(637, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy638;
 -              if (yych != 'i') goto yy186;
 +              if (yych == 'D') goto yy638;
 +              if (yych != 'd') goto yy187;
  yy638:
                YYDEBUG(638, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy639;
 -              if (yych != 'r') goto yy186;
 -yy639:
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
                YYDEBUG(639, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy640;
 -              if (yych != 'e') goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1038 "Zend/zend_language_scanner.l"
++#line 1040 "Zend/zend_language_scanner.l"
 +              {
 +      return T_YIELD;
 +}
- #line 6179 "Zend/zend_language_scanner.c"
++#line 6181 "Zend/zend_language_scanner.c"
  yy640:
                YYDEBUG(640, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) <= '^') {
 -                      if (yych <= '9') {
 -                              if (yych >= '0') goto yy185;
 -                      } else {
 -                              if (yych <= '@') goto yy641;
 -                              if (yych <= 'Z') goto yy185;
 -                      }
 +              yych = *++YYCURSOR;
 +              if (yych <= 'T') {
 +                      if (yych == 'Q') goto yy642;
 +                      if (yych <= 'S') goto yy187;
                } else {
 -                      if (yych <= '`') {
 -                              if (yych <= '_') goto yy642;
 +                      if (yych <= 'q') {
 +                              if (yych <= 'p') goto yy187;
 +                              goto yy642;
                        } else {
 -                              if (yych <= 'z') goto yy185;
 -                              if (yych >= 0x7F) goto yy185;
 +                              if (yych != 't') goto yy187;
                        }
                }
 -yy641:
                YYDEBUG(641, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 1256 "Zend/zend_language_scanner.l"
 -              {
 -      return T_REQUIRE;
 -}
 -#line 6206 "Zend/zend_language_scanner.c"
 +              yych = *++YYCURSOR;
 +              if (yych == 'U') goto yy654;
 +              if (yych == 'u') goto yy654;
 +              goto yy187;
  yy642:
                YYDEBUG(642, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6218,29 -6226,16 +6220,29 @@@ yy645
  yy646:
                YYDEBUG(646, *YYCURSOR);
                ++YYCURSOR;
 -              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +              if ((yych = *YYCURSOR) <= '^') {
 +                      if (yych <= '9') {
 +                              if (yych >= '0') goto yy186;
 +                      } else {
 +                              if (yych <= '@') goto yy647;
 +                              if (yych <= 'Z') goto yy186;
 +                      }
 +              } else {
 +                      if (yych <= '`') {
 +                              if (yych <= '_') goto yy648;
 +                      } else {
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
 +                      }
                }
 +yy647:
                YYDEBUG(647, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1264 "Zend/zend_language_scanner.l"
 -#line 1260 "Zend/zend_language_scanner.l"
++#line 1266 "Zend/zend_language_scanner.l"
                {
 -      return T_REQUIRE_ONCE;
 +      return T_REQUIRE;
  }
- #line 6244 "Zend/zend_language_scanner.c"
 -#line 6239 "Zend/zend_language_scanner.c"
++#line 6246 "Zend/zend_language_scanner.c"
  yy648:
                YYDEBUG(648, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6250,55 -6245,22 +6252,55 @@@ yy649
                YYDEBUG(649, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'N') goto yy650;
 -              if (yych != 'n') goto yy186;
 +              if (yych != 'n') goto yy187;
  yy650:
                YYDEBUG(650, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'C') goto yy651;
 +              if (yych != 'c') goto yy187;
 +yy651:
 +              YYDEBUG(651, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy652;
 +              if (yych != 'e') goto yy187;
 +yy652:
 +              YYDEBUG(652, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(651, *YYCURSOR);
 +              YYDEBUG(653, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1268 "Zend/zend_language_scanner.l"
++#line 1270 "Zend/zend_language_scanner.l"
 +              {
 +      return T_REQUIRE_ONCE;
 +}
- #line 6277 "Zend/zend_language_scanner.c"
++#line 6279 "Zend/zend_language_scanner.c"
 +yy654:
 +              YYDEBUG(654, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'R') goto yy655;
 +              if (yych != 'r') goto yy187;
 +yy655:
 +              YYDEBUG(655, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'N') goto yy656;
 +              if (yych != 'n') goto yy187;
 +yy656:
 +              YYDEBUG(656, *YYCURSOR);
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
 +              YYDEBUG(657, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
--#line 1034 "Zend/zend_language_scanner.l"
++#line 1036 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
  }
- #line 6300 "Zend/zend_language_scanner.c"
 -#line 6262 "Zend/zend_language_scanner.c"
 -yy652:
 -              YYDEBUG(652, *YYCURSOR);
++#line 6302 "Zend/zend_language_scanner.c"
 +yy658:
 +              YYDEBUG(658, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
                        if (yych <= 'L') {
                        }
                } else {
                        if (yych <= 'r') {
 -                              if (yych == 'l') goto yy675;
 -                              goto yy186;
 +                              if (yych == 'l') goto yy681;
 +                              goto yy187;
                        } else {
 -                              if (yych <= 's') goto yy674;
 -                              if (yych <= 't') goto yy673;
 -                              goto yy186;
 +                              if (yych <= 's') goto yy680;
 +                              if (yych <= 't') goto yy679;
 +                              goto yy187;
                        }
                }
 -yy653:
 -              YYDEBUG(653, *YYCURSOR);
 +yy659:
 +              YYDEBUG(659, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'O') {
 -                      if (yych == 'A') goto yy665;
 -                      if (yych <= 'N') goto yy186;
 -                      goto yy666;
 +                      if (yych == 'A') goto yy671;
 +                      if (yych <= 'N') goto yy187;
 +                      goto yy672;
                } else {
                        if (yych <= 'a') {
 -                              if (yych <= '`') goto yy186;
 -                              goto yy665;
 +                              if (yych <= '`') goto yy187;
 +                              goto yy671;
                        } else {
 -                              if (yych == 'o') goto yy666;
 -                              goto yy186;
 +                              if (yych == 'o') goto yy672;
 +                              goto yy187;
                        }
                }
 -yy654:
 -              YYDEBUG(654, *YYCURSOR);
 +yy660:
 +              YYDEBUG(660, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy655;
 -              if (yych != 'n') goto yy186;
 -yy655:
 -              YYDEBUG(655, *YYCURSOR);
 +              if (yych == 'N') goto yy661;
 +              if (yych != 'n') goto yy187;
 +yy661:
 +              YYDEBUG(661, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'T') {
 -                      if (yych <= 'R') goto yy186;
 -                      if (yych >= 'T') goto yy657;
 +                      if (yych <= 'R') goto yy187;
 +                      if (yych >= 'T') goto yy663;
                } else {
 -                      if (yych <= 'r') goto yy186;
 -                      if (yych <= 's') goto yy656;
 -                      if (yych <= 't') goto yy657;
 -                      goto yy186;
 +                      if (yych <= 'r') goto yy187;
 +                      if (yych <= 's') goto yy662;
 +                      if (yych <= 't') goto yy663;
 +                      goto yy187;
                }
 -yy656:
 -              YYDEBUG(656, *YYCURSOR);
 +yy662:
 +              YYDEBUG(662, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy663;
 -              if (yych == 't') goto yy663;
 -              goto yy186;
 -yy657:
 -              YYDEBUG(657, *YYCURSOR);
 +              if (yych == 'T') goto yy669;
 +              if (yych == 't') goto yy669;
 +              goto yy187;
 +yy663:
 +              YYDEBUG(663, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy658;
 -              if (yych != 'i') goto yy186;
 -yy658:
 -              YYDEBUG(658, *YYCURSOR);
 +              if (yych == 'I') goto yy664;
 +              if (yych != 'i') goto yy187;
 +yy664:
 +              YYDEBUG(664, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy659;
 -              if (yych != 'n') goto yy186;
 -yy659:
 -              YYDEBUG(659, *YYCURSOR);
 +              if (yych == 'N') goto yy665;
 +              if (yych != 'n') goto yy187;
 +yy665:
 +              YYDEBUG(665, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'U') goto yy660;
 -              if (yych != 'u') goto yy186;
 -yy660:
 -              YYDEBUG(660, *YYCURSOR);
 +              if (yych == 'U') goto yy666;
 +              if (yych != 'u') goto yy187;
 +yy666:
 +              YYDEBUG(666, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy661;
 -              if (yych != 'e') goto yy186;
 -yy661:
 -              YYDEBUG(661, *YYCURSOR);
 +              if (yych == 'E') goto yy667;
 +              if (yych != 'e') goto yy187;
 +yy667:
 +              YYDEBUG(667, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(662, *YYCURSOR);
 +              YYDEBUG(668, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1138 "Zend/zend_language_scanner.l"
 -#line 1130 "Zend/zend_language_scanner.l"
++#line 1140 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
  }
- #line 6394 "Zend/zend_language_scanner.c"
 -#line 6356 "Zend/zend_language_scanner.c"
 -yy663:
 -              YYDEBUG(663, *YYCURSOR);
++#line 6396 "Zend/zend_language_scanner.c"
 +yy669:
 +              YYDEBUG(669, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(664, *YYCURSOR);
 +              YYDEBUG(670, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
--#line 1030 "Zend/zend_language_scanner.l"
++#line 1032 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
  }
- #line 6407 "Zend/zend_language_scanner.c"
 -#line 6369 "Zend/zend_language_scanner.c"
 -yy665:
 -              YYDEBUG(665, *YYCURSOR);
++#line 6409 "Zend/zend_language_scanner.c"
 +yy671:
 +              YYDEBUG(671, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy670;
 -              if (yych == 's') goto yy670;
 -              goto yy186;
 -yy666:
 -              YYDEBUG(666, *YYCURSOR);
 +              if (yych == 'S') goto yy676;
 +              if (yych == 's') goto yy676;
 +              goto yy187;
 +yy672:
 +              YYDEBUG(672, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy667;
 -              if (yych != 'n') goto yy186;
 -yy667:
 -              YYDEBUG(667, *YYCURSOR);
 +              if (yych == 'N') goto yy673;
 +              if (yych != 'n') goto yy187;
 +yy673:
 +              YYDEBUG(673, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy668;
 -              if (yych != 'e') goto yy186;
 -yy668:
 -              YYDEBUG(668, *YYCURSOR);
 +              if (yych == 'E') goto yy674;
 +              if (yych != 'e') goto yy187;
 +yy674:
 +              YYDEBUG(674, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(669, *YYCURSOR);
 +              YYDEBUG(675, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1216 "Zend/zend_language_scanner.l"
 -#line 1208 "Zend/zend_language_scanner.l"
++#line 1218 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
  }
- #line 6436 "Zend/zend_language_scanner.c"
 -#line 6398 "Zend/zend_language_scanner.c"
 -yy670:
 -              YYDEBUG(670, *YYCURSOR);
++#line 6438 "Zend/zend_language_scanner.c"
 +yy676:
 +              YYDEBUG(676, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy671;
 -              if (yych != 's') goto yy186;
 -yy671:
 -              YYDEBUG(671, *YYCURSOR);
 +              if (yych == 'S') goto yy677;
 +              if (yych != 's') goto yy187;
 +yy677:
 +              YYDEBUG(677, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(672, *YYCURSOR);
 +              YYDEBUG(678, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1154 "Zend/zend_language_scanner.l"
 -#line 1146 "Zend/zend_language_scanner.l"
++#line 1156 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
  }
- #line 6454 "Zend/zend_language_scanner.c"
 -#line 6416 "Zend/zend_language_scanner.c"
 -yy673:
 -              YYDEBUG(673, *YYCURSOR);
++#line 6456 "Zend/zend_language_scanner.c"
 +yy679:
 +              YYDEBUG(679, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy684;
 -              if (yych == 'c') goto yy684;
 -              goto yy186;
 -yy674:
 -              YYDEBUG(674, *YYCURSOR);
 +              if (yych == 'C') goto yy690;
 +              if (yych == 'c') goto yy690;
 +              goto yy187;
 +yy680:
 +              YYDEBUG(680, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy682;
 -              if (yych == 'e') goto yy682;
 -              goto yy186;
 -yy675:
 -              YYDEBUG(675, *YYCURSOR);
 +              if (yych == 'E') goto yy688;
 +              if (yych == 'e') goto yy688;
 +              goto yy187;
 +yy681:
 +              YYDEBUG(681, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy676;
 -              if (yych != 'l') goto yy186;
 -yy676:
 -              YYDEBUG(676, *YYCURSOR);
 +              if (yych == 'L') goto yy682;
 +              if (yych != 'l') goto yy187;
 +yy682:
 +              YYDEBUG(682, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy677;
 -              if (yych != 'a') goto yy186;
 -yy677:
 -              YYDEBUG(677, *YYCURSOR);
 +              if (yych == 'A') goto yy683;
 +              if (yych != 'a') goto yy187;
 +yy683:
 +              YYDEBUG(683, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'B') goto yy678;
 -              if (yych != 'b') goto yy186;
 -yy678:
 -              YYDEBUG(678, *YYCURSOR);
 +              if (yych == 'B') goto yy684;
 +              if (yych != 'b') goto yy187;
 +yy684:
 +              YYDEBUG(684, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy679;
 -              if (yych != 'l') goto yy186;
 -yy679:
 -              YYDEBUG(679, *YYCURSOR);
 +              if (yych == 'L') goto yy685;
 +              if (yych != 'l') goto yy187;
 +yy685:
 +              YYDEBUG(685, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy680;
 -              if (yych != 'e') goto yy186;
 -yy680:
 -              YYDEBUG(680, *YYCURSOR);
 +              if (yych == 'E') goto yy686;
 +              if (yych != 'e') goto yy187;
 +yy686:
 +              YYDEBUG(686, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(681, *YYCURSOR);
 +              YYDEBUG(687, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1340 "Zend/zend_language_scanner.l"
 -#line 1332 "Zend/zend_language_scanner.l"
++#line 1342 "Zend/zend_language_scanner.l"
                {
   return T_CALLABLE;
  }
- #line 6504 "Zend/zend_language_scanner.c"
 -#line 6466 "Zend/zend_language_scanner.c"
 -yy682:
 -              YYDEBUG(682, *YYCURSOR);
++#line 6506 "Zend/zend_language_scanner.c"
 +yy688:
 +              YYDEBUG(688, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(683, *YYCURSOR);
 +              YYDEBUG(689, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1126 "Zend/zend_language_scanner.l"
 -#line 1118 "Zend/zend_language_scanner.l"
++#line 1128 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
  }
- #line 6517 "Zend/zend_language_scanner.c"
 -#line 6479 "Zend/zend_language_scanner.c"
 -yy684:
 -              YYDEBUG(684, *YYCURSOR);
++#line 6519 "Zend/zend_language_scanner.c"
 +yy690:
 +              YYDEBUG(690, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy685;
 -              if (yych != 'h') goto yy186;
 -yy685:
 -              YYDEBUG(685, *YYCURSOR);
 +              if (yych == 'H') goto yy691;
 +              if (yych != 'h') goto yy187;
 +yy691:
 +              YYDEBUG(691, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(686, *YYCURSOR);
 +              YYDEBUG(692, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1046 "Zend/zend_language_scanner.l"
 -#line 1042 "Zend/zend_language_scanner.l"
++#line 1048 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
  }
- #line 6535 "Zend/zend_language_scanner.c"
 -#line 6497 "Zend/zend_language_scanner.c"
 -yy687:
 -              YYDEBUG(687, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy704;
 -              if (yych == 'n') goto yy704;
 -              goto yy186;
 -yy688:
 -              YYDEBUG(688, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy697;
 -              if (yych == 'r') goto yy697;
 -              goto yy186;
 -yy689:
 -              YYDEBUG(689, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy690;
 -              if (yych != 'n') goto yy186;
 -yy690:
 -              YYDEBUG(690, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy691;
 -              if (yych != 'c') goto yy186;
 -yy691:
 -              YYDEBUG(691, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy692;
 -              if (yych != 't') goto yy186;
 -yy692:
 -              YYDEBUG(692, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy693;
 -              if (yych != 'i') goto yy186;
++#line 6537 "Zend/zend_language_scanner.c"
  yy693:
                YYDEBUG(693, *YYCURSOR);
                yych = *++YYCURSOR;
  yy700:
                YYDEBUG(700, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy701;
 -              if (yych != 'c') goto yy186;
 +              if (yych == 'N') goto yy701;
 +              if (yych != 'n') goto yy187;
  yy701:
                YYDEBUG(701, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy702;
 -              if (yych != 'h') goto yy186;
 -yy702:
 -              YYDEBUG(702, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(703, *YYCURSOR);
 +              YYDEBUG(702, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1026 "Zend/zend_language_scanner.l"
 -#line 1086 "Zend/zend_language_scanner.l"
++#line 1028 "Zend/zend_language_scanner.l"
                {
 -      return T_FOREACH;
 +      return T_FUNCTION;
  }
- #line 6590 "Zend/zend_language_scanner.c"
 -#line 6608 "Zend/zend_language_scanner.c"
++#line 6592 "Zend/zend_language_scanner.c"
 +yy703:
 +              YYDEBUG(703, *YYCURSOR);
 +              ++YYCURSOR;
 +              if ((yych = *YYCURSOR) <= '^') {
 +                      if (yych <= '@') {
 +                              if (yych <= '/') goto yy704;
 +                              if (yych <= '9') goto yy186;
 +                      } else {
 +                              if (yych == 'E') goto yy705;
 +                              if (yych <= 'Z') goto yy186;
 +                      }
 +              } else {
 +                      if (yych <= 'd') {
 +                              if (yych != '`') goto yy186;
 +                      } else {
 +                              if (yych <= 'e') goto yy705;
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
 +                      }
 +              }
  yy704:
                YYDEBUG(704, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy705;
 -              if (yych != 'a') goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1086 "Zend/zend_language_scanner.l"
++#line 1088 "Zend/zend_language_scanner.l"
 +              {
 +      return T_FOR;
 +}
- #line 6618 "Zend/zend_language_scanner.c"
++#line 6620 "Zend/zend_language_scanner.c"
  yy705:
                YYDEBUG(705, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy706;
 -              if (yych != 'l') goto yy186;
 +              if (yych == 'A') goto yy706;
 +              if (yych != 'a') goto yy187;
  yy706:
                YYDEBUG(706, *YYCURSOR);
 -              ++YYCURSOR;
 -              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 -              }
 +              yych = *++YYCURSOR;
 +              if (yych == 'C') goto yy707;
 +              if (yych != 'c') goto yy187;
 +yy707:
                YYDEBUG(707, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 1300 "Zend/zend_language_scanner.l"
 -              {
 -      return T_FINAL;
 -}
 -#line 6631 "Zend/zend_language_scanner.c"
 +              yych = *++YYCURSOR;
 +              if (yych == 'H') goto yy708;
 +              if (yych != 'h') goto yy187;
  yy708:
                YYDEBUG(708, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych <= 'F') {
 -                      if (yych == 'C') goto yy714;
 -                      if (yych <= 'E') goto yy186;
 -                      goto yy715;
 -              } else {
 -                      if (yych <= 'c') {
 -                              if (yych <= 'b') goto yy186;
 -                              goto yy714;
 -                      } else {
 -                              if (yych == 'f') goto yy715;
 -                              goto yy186;
 -                      }
 -              }
 -yy709:
 -              YYDEBUG(709, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy712;
 -              if (yych == 'e') goto yy712;
 -              goto yy186;
 -yy710:
 -              YYDEBUG(710, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(711, *YYCURSOR);
 +              YYDEBUG(709, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1094 "Zend/zend_language_scanner.l"
 -#line 1074 "Zend/zend_language_scanner.l"
++#line 1096 "Zend/zend_language_scanner.l"
                {
 -      return T_DO;
 +      return T_FOREACH;
  }
- #line 6646 "Zend/zend_language_scanner.c"
 -#line 6666 "Zend/zend_language_scanner.c"
++#line 6648 "Zend/zend_language_scanner.c"
 +yy710:
 +              YYDEBUG(710, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'A') goto yy711;
 +              if (yych != 'a') goto yy187;
 +yy711:
 +              YYDEBUG(711, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'L') goto yy712;
 +              if (yych != 'l') goto yy187;
  yy712:
                YYDEBUG(712, *YYCURSOR);
                ++YYCURSOR;
 -              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +              if ((yych = *YYCURSOR) <= '^') {
 +                      if (yych <= '@') {
 +                              if (yych <= '/') goto yy713;
 +                              if (yych <= '9') goto yy186;
 +                      } else {
 +                              if (yych == 'L') goto yy714;
 +                              if (yych <= 'Z') goto yy186;
 +                      }
 +              } else {
 +                      if (yych <= 'k') {
 +                              if (yych != '`') goto yy186;
 +                      } else {
 +                              if (yych <= 'l') goto yy714;
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
 +                      }
                }
 +yy713:
                YYDEBUG(713, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1308 "Zend/zend_language_scanner.l"
 -#line 1022 "Zend/zend_language_scanner.l"
++#line 1310 "Zend/zend_language_scanner.l"
                {
 -      return T_EXIT;
 +      return T_FINAL;
  }
- #line 6684 "Zend/zend_language_scanner.c"
 -#line 6679 "Zend/zend_language_scanner.c"
++#line 6686 "Zend/zend_language_scanner.c"
  yy714:
                YYDEBUG(714, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy721;
 -              if (yych == 'l') goto yy721;
 -              goto yy186;
 +              if (yych == 'Y') goto yy715;
 +              if (yych != 'y') goto yy187;
  yy715:
                YYDEBUG(715, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy716;
 -              if (yych != 'a') goto yy186;
 -yy716:
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
                YYDEBUG(716, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'U') goto yy717;
 -              if (yych != 'u') goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1050 "Zend/zend_language_scanner.l"
++#line 1052 "Zend/zend_language_scanner.l"
 +              {
 +      return T_FINALLY;
 +}
- #line 6702 "Zend/zend_language_scanner.c"
++#line 6704 "Zend/zend_language_scanner.c"
  yy717:
                YYDEBUG(717, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6729,24 -6710,21 +6731,24 @@@ yy719
                }
                YYDEBUG(720, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1082 "Zend/zend_language_scanner.l"
 -#line 1122 "Zend/zend_language_scanner.l"
++#line 1084 "Zend/zend_language_scanner.l"
                {
 -      return T_DEFAULT;
 +      return T_DO;
  }
- #line 6737 "Zend/zend_language_scanner.c"
 -#line 6718 "Zend/zend_language_scanner.c"
++#line 6739 "Zend/zend_language_scanner.c"
  yy721:
                YYDEBUG(721, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy722;
 -              if (yych != 'a') goto yy186;
 -yy722:
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
                YYDEBUG(722, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy723;
 -              if (yych != 'r') goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1022 "Zend/zend_language_scanner.l"
++#line 1024 "Zend/zend_language_scanner.l"
 +              {
 +      return T_EXIT;
 +}
- #line 6750 "Zend/zend_language_scanner.c"
++#line 6752 "Zend/zend_language_scanner.c"
  yy723:
                YYDEBUG(723, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6771,21 -6752,21 +6773,21 @@@ yy726
  yy727:
                YYDEBUG(727, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy782;
 -              if (yych == 's') goto yy782;
 -              goto yy186;
 +              if (yych == 'T') goto yy728;
 +              if (yych != 't') goto yy187;
  yy728:
                YYDEBUG(728, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'P') goto yy778;
 -              if (yych == 'p') goto yy778;
 -              goto yy186;
 -yy729:
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
                YYDEBUG(729, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'D') goto yy744;
 -              if (yych == 'd') goto yy744;
 -              goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1130 "Zend/zend_language_scanner.l"
++#line 1132 "Zend/zend_language_scanner.l"
 +              {
 +      return T_DEFAULT;
 +}
- #line 6789 "Zend/zend_language_scanner.c"
++#line 6791 "Zend/zend_language_scanner.c"
  yy730:
                YYDEBUG(730, *YYCURSOR);
                yych = *++YYCURSOR;
@@@ -6799,21 -6791,19 +6801,21 @@@ yy731
  yy732:
                YYDEBUG(732, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy739;
 -              if (yych == 't') goto yy739;
 -              goto yy186;
 +              if (yych == 'E') goto yy733;
 +              if (yych != 'e') goto yy187;
  yy733:
                YYDEBUG(733, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy734;
 -              if (yych != 'e') goto yy186;
 -yy734:
 +              ++YYCURSOR;
 +              if (yybm[0+(yych = *YYCURSOR)] & 4) {
 +                      goto yy186;
 +              }
                YYDEBUG(734, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == 'N') goto yy735;
 -              if (yych != 'n') goto yy186;
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1102 "Zend/zend_language_scanner.l"
++#line 1104 "Zend/zend_language_scanner.l"
 +              {
 +      return T_DECLARE;
 +}
- #line 6817 "Zend/zend_language_scanner.c"
++#line 6819 "Zend/zend_language_scanner.c"
  yy735:
                YYDEBUG(735, *YYCURSOR);
                yych = *++YYCURSOR;
  yy736:
                YYDEBUG(736, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'S') goto yy737;
 -              if (yych != 's') goto yy186;
 +              if (yych == 'S') goto yy791;
 +              if (yych == 's') goto yy791;
 +              goto yy187;
  yy737:
                YYDEBUG(737, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'P') goto yy787;
 +              if (yych == 'p') goto yy787;
 +              goto yy187;
 +yy738:
 +              YYDEBUG(738, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'D') goto yy753;
 +              if (yych == 'd') goto yy753;
 +              goto yy187;
 +yy739:
 +              YYDEBUG(739, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'A') goto yy750;
 +              if (yych == 'a') goto yy750;
 +              goto yy187;
 +yy740:
 +              YYDEBUG(740, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych <= 'T') {
 +                      if (yych == 'I') goto yy741;
 +                      if (yych <= 'S') goto yy187;
 +                      goto yy742;
 +              } else {
 +                      if (yych <= 'i') {
 +                              if (yych <= 'h') goto yy187;
 +                      } else {
 +                              if (yych == 't') goto yy742;
 +                              goto yy187;
 +                      }
 +              }
 +yy741:
 +              YYDEBUG(741, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'T') goto yy748;
 +              if (yych == 't') goto yy748;
 +              goto yy187;
 +yy742:
 +              YYDEBUG(742, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'E') goto yy743;
 +              if (yych != 'e') goto yy187;
 +yy743:
 +              YYDEBUG(743, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'N') goto yy744;
 +              if (yych != 'n') goto yy187;
 +yy744:
 +              YYDEBUG(744, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'D') goto yy745;
 +              if (yych != 'd') goto yy187;
 +yy745:
 +              YYDEBUG(745, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == 'S') goto yy746;
 +              if (yych != 's') goto yy187;
 +yy746:
 +              YYDEBUG(746, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(738, *YYCURSOR);
 +              YYDEBUG(747, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1166 "Zend/zend_language_scanner.l"
 -#line 1158 "Zend/zend_language_scanner.l"
++#line 1168 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
  }
- #line 6901 "Zend/zend_language_scanner.c"
 -#line 6830 "Zend/zend_language_scanner.c"
 -yy739:
 -              YYDEBUG(739, *YYCURSOR);
++#line 6903 "Zend/zend_language_scanner.c"
 +yy748:
 +              YYDEBUG(748, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(740, *YYCURSOR);
 +              YYDEBUG(749, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
--#line 1018 "Zend/zend_language_scanner.l"
++#line 1020 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
  }
- #line 6914 "Zend/zend_language_scanner.c"
 -#line 6843 "Zend/zend_language_scanner.c"
 -yy741:
 -              YYDEBUG(741, *YYCURSOR);
++#line 6916 "Zend/zend_language_scanner.c"
 +yy750:
 +              YYDEBUG(750, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy742;
 -              if (yych != 'l') goto yy186;
 -yy742:
 -              YYDEBUG(742, *YYCURSOR);
 +              if (yych == 'L') goto yy751;
 +              if (yych != 'l') goto yy187;
 +yy751:
 +              YYDEBUG(751, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(743, *YYCURSOR);
 +              YYDEBUG(752, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1252 "Zend/zend_language_scanner.l"
 -#line 1244 "Zend/zend_language_scanner.l"
++#line 1254 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
  }
- #line 6932 "Zend/zend_language_scanner.c"
 -#line 6861 "Zend/zend_language_scanner.c"
 -yy744:
 -              YYDEBUG(744, *YYCURSOR);
++#line 6934 "Zend/zend_language_scanner.c"
 +yy753:
 +              YYDEBUG(753, *YYCURSOR);
                yych = *++YYCURSOR;
                YYDEBUG(-1, yych);
                switch (yych) {
                case 'D':
 -              case 'd':       goto yy745;
 +              case 'd':       goto yy754;
                case 'F':
 -              case 'f':       goto yy746;
 +              case 'f':       goto yy755;
                case 'I':
 -              case 'i':       goto yy747;
 +              case 'i':       goto yy756;
                case 'S':
 -              case 's':       goto yy748;
 +              case 's':       goto yy757;
                case 'W':
 -              case 'w':       goto yy749;
 -              default:        goto yy186;
 +              case 'w':       goto yy758;
 +              default:        goto yy187;
                }
 -yy745:
 -              YYDEBUG(745, *YYCURSOR);
 +yy754:
 +              YYDEBUG(754, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy771;
 -              if (yych == 'e') goto yy771;
 -              goto yy186;
 -yy746:
 -              YYDEBUG(746, *YYCURSOR);
 +              if (yych == 'E') goto yy780;
 +              if (yych == 'e') goto yy780;
 +              goto yy187;
 +yy755:
 +              YYDEBUG(755, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy763;
 -              if (yych == 'o') goto yy763;
 -              goto yy186;
 -yy747:
 -              YYDEBUG(747, *YYCURSOR);
 +              if (yych == 'O') goto yy772;
 +              if (yych == 'o') goto yy772;
 +              goto yy187;
 +yy756:
 +              YYDEBUG(756, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'F') goto yy761;
 -              if (yych == 'f') goto yy761;
 -              goto yy186;
 -yy748:
 -              YYDEBUG(748, *YYCURSOR);
 +              if (yych == 'F') goto yy770;
 +              if (yych == 'f') goto yy770;
 +              goto yy187;
 +yy757:
 +              YYDEBUG(757, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'W') goto yy755;
 -              if (yych == 'w') goto yy755;
 -              goto yy186;
 -yy749:
 -              YYDEBUG(749, *YYCURSOR);
 +              if (yych == 'W') goto yy764;
 +              if (yych == 'w') goto yy764;
 +              goto yy187;
 +yy758:
 +              YYDEBUG(758, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy750;
 -              if (yych != 'h') goto yy186;
 -yy750:
 -              YYDEBUG(750, *YYCURSOR);
 +              if (yych == 'H') goto yy759;
 +              if (yych != 'h') goto yy187;
 +yy759:
 +              YYDEBUG(759, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy751;
 -              if (yych != 'i') goto yy186;
 -yy751:
 -              YYDEBUG(751, *YYCURSOR);
 +              if (yych == 'I') goto yy760;
 +              if (yych != 'i') goto yy187;
 +yy760:
 +              YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy752;
 -              if (yych != 'l') goto yy186;
 -yy752:
 -              YYDEBUG(752, *YYCURSOR);
 +              if (yych == 'L') goto yy761;
 +              if (yych != 'l') goto yy187;
 +yy761:
 +              YYDEBUG(761, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy753;
 -              if (yych != 'e') goto yy186;
 -yy753:
 -              YYDEBUG(753, *YYCURSOR);
 +              if (yych == 'E') goto yy762;
 +              if (yych != 'e') goto yy187;
 +yy762:
 +              YYDEBUG(762, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(754, *YYCURSOR);
 +              YYDEBUG(763, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1078 "Zend/zend_language_scanner.l"
 -#line 1070 "Zend/zend_language_scanner.l"
++#line 1080 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
  }
- #line 7006 "Zend/zend_language_scanner.c"
 -#line 6935 "Zend/zend_language_scanner.c"
 -yy755:
 -              YYDEBUG(755, *YYCURSOR);
++#line 7008 "Zend/zend_language_scanner.c"
 +yy764:
 +              YYDEBUG(764, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'I') goto yy756;
 -              if (yych != 'i') goto yy186;
 -yy756:
 -              YYDEBUG(756, *YYCURSOR);
 +              if (yych == 'I') goto yy765;
 +              if (yych != 'i') goto yy187;
 +yy765:
 +              YYDEBUG(765, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy757;
 -              if (yych != 't') goto yy186;
 -yy757:
 -              YYDEBUG(757, *YYCURSOR);
 +              if (yych == 'T') goto yy766;
 +              if (yych != 't') goto yy187;
 +yy766:
 +              YYDEBUG(766, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy758;
 -              if (yych != 'c') goto yy186;
 -yy758:
 -              YYDEBUG(758, *YYCURSOR);
 +              if (yych == 'C') goto yy767;
 +              if (yych != 'c') goto yy187;
 +yy767:
 +              YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy759;
 -              if (yych != 'h') goto yy186;
 -yy759:
 -              YYDEBUG(759, *YYCURSOR);
 +              if (yych == 'H') goto yy768;
 +              if (yych != 'h') goto yy187;
 +yy768:
 +              YYDEBUG(768, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(760, *YYCURSOR);
 +              YYDEBUG(769, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1122 "Zend/zend_language_scanner.l"
 -#line 1114 "Zend/zend_language_scanner.l"
++#line 1124 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
  }
- #line 7039 "Zend/zend_language_scanner.c"
 -#line 6968 "Zend/zend_language_scanner.c"
 -yy761:
 -              YYDEBUG(761, *YYCURSOR);
++#line 7041 "Zend/zend_language_scanner.c"
 +yy770:
 +              YYDEBUG(770, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(762, *YYCURSOR);
 +              YYDEBUG(771, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1066 "Zend/zend_language_scanner.l"
 -#line 1058 "Zend/zend_language_scanner.l"
++#line 1068 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
  }
- #line 7052 "Zend/zend_language_scanner.c"
 -#line 6981 "Zend/zend_language_scanner.c"
 -yy763:
 -              YYDEBUG(763, *YYCURSOR);
++#line 7054 "Zend/zend_language_scanner.c"
 +yy772:
 +              YYDEBUG(772, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy764;
 -              if (yych != 'r') goto yy186;
 -yy764:
 -              YYDEBUG(764, *YYCURSOR);
 +              if (yych == 'R') goto yy773;
 +              if (yych != 'r') goto yy187;
 +yy773:
 +              YYDEBUG(773, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
                        }
                } else {
                        if (yych <= 'd') {
 -                              if (yych != '`') goto yy185;
 +                              if (yych != '`') goto yy186;
                        } else {
 -                              if (yych <= 'e') goto yy766;
 -                              if (yych <= 'z') goto yy185;
 -                              if (yych >= 0x7F) goto yy185;
 +                              if (yych <= 'e') goto yy775;
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
                        }
                }
 -yy765:
 -              YYDEBUG(765, *YYCURSOR);
 +yy774:
 +              YYDEBUG(774, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1090 "Zend/zend_language_scanner.l"
 -#line 1082 "Zend/zend_language_scanner.l"
++#line 1092 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
  }
- #line 7085 "Zend/zend_language_scanner.c"
 -#line 7014 "Zend/zend_language_scanner.c"
 -yy766:
 -              YYDEBUG(766, *YYCURSOR);
++#line 7087 "Zend/zend_language_scanner.c"
 +yy775:
 +              YYDEBUG(775, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy767;
 -              if (yych != 'a') goto yy186;
 -yy767:
 -              YYDEBUG(767, *YYCURSOR);
 +              if (yych == 'A') goto yy776;
 +              if (yych != 'a') goto yy187;
 +yy776:
 +              YYDEBUG(776, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy768;
 -              if (yych != 'c') goto yy186;
 -yy768:
 -              YYDEBUG(768, *YYCURSOR);
 +              if (yych == 'C') goto yy777;
 +              if (yych != 'c') goto yy187;
 +yy777:
 +              YYDEBUG(777, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'H') goto yy769;
 -              if (yych != 'h') goto yy186;
 -yy769:
 -              YYDEBUG(769, *YYCURSOR);
 +              if (yych == 'H') goto yy778;
 +              if (yych != 'h') goto yy187;
 +yy778:
 +              YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(770, *YYCURSOR);
 +              YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1098 "Zend/zend_language_scanner.l"
 -#line 1090 "Zend/zend_language_scanner.l"
++#line 1100 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
  }
- #line 7113 "Zend/zend_language_scanner.c"
 -#line 7042 "Zend/zend_language_scanner.c"
 -yy771:
 -              YYDEBUG(771, *YYCURSOR);
++#line 7115 "Zend/zend_language_scanner.c"
 +yy780:
 +              YYDEBUG(780, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'C') goto yy772;
 -              if (yych != 'c') goto yy186;
 -yy772:
 -              YYDEBUG(772, *YYCURSOR);
 +              if (yych == 'C') goto yy781;
 +              if (yych != 'c') goto yy187;
 +yy781:
 +              YYDEBUG(781, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'L') goto yy773;
 -              if (yych != 'l') goto yy186;
 -yy773:
 -              YYDEBUG(773, *YYCURSOR);
 +              if (yych == 'L') goto yy782;
 +              if (yych != 'l') goto yy187;
 +yy782:
 +              YYDEBUG(782, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'A') goto yy774;
 -              if (yych != 'a') goto yy186;
 -yy774:
 -              YYDEBUG(774, *YYCURSOR);
 +              if (yych == 'A') goto yy783;
 +              if (yych != 'a') goto yy187;
 +yy783:
 +              YYDEBUG(783, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'R') goto yy775;
 -              if (yych != 'r') goto yy186;
 -yy775:
 -              YYDEBUG(775, *YYCURSOR);
 +              if (yych == 'R') goto yy784;
 +              if (yych != 'r') goto yy187;
 +yy784:
 +              YYDEBUG(784, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy776;
 -              if (yych != 'e') goto yy186;
 -yy776:
 -              YYDEBUG(776, *YYCURSOR);
 +              if (yych == 'E') goto yy785;
 +              if (yych != 'e') goto yy187;
 +yy785:
 +              YYDEBUG(785, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(777, *YYCURSOR);
 +              YYDEBUG(786, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1106 "Zend/zend_language_scanner.l"
 -#line 1098 "Zend/zend_language_scanner.l"
++#line 1108 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
  }
- #line 7151 "Zend/zend_language_scanner.c"
 -#line 7080 "Zend/zend_language_scanner.c"
 -yy778:
 -              YYDEBUG(778, *YYCURSOR);
++#line 7153 "Zend/zend_language_scanner.c"
 +yy787:
 +              YYDEBUG(787, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'T') goto yy779;
 -              if (yych != 't') goto yy186;
 -yy779:
 -              YYDEBUG(779, *YYCURSOR);
 +              if (yych == 'T') goto yy788;
 +              if (yych != 't') goto yy187;
 +yy788:
 +              YYDEBUG(788, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'Y') goto yy780;
 -              if (yych != 'y') goto yy186;
 -yy780:
 -              YYDEBUG(780, *YYCURSOR);
 +              if (yych == 'Y') goto yy789;
 +              if (yych != 'y') goto yy187;
 +yy789:
 +              YYDEBUG(789, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(781, *YYCURSOR);
 +              YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1292 "Zend/zend_language_scanner.l"
 -#line 1284 "Zend/zend_language_scanner.l"
++#line 1294 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
  }
- #line 7174 "Zend/zend_language_scanner.c"
 -#line 7103 "Zend/zend_language_scanner.c"
 -yy782:
 -              YYDEBUG(782, *YYCURSOR);
++#line 7176 "Zend/zend_language_scanner.c"
 +yy791:
 +              YYDEBUG(791, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'E') goto yy783;
 -              if (yych != 'e') goto yy186;
 -yy783:
 -              YYDEBUG(783, *YYCURSOR);
 +              if (yych == 'E') goto yy792;
 +              if (yych != 'e') goto yy187;
 +yy792:
 +              YYDEBUG(792, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '^') {
                        if (yych <= '@') {
                        }
                } else {
                        if (yych <= 'h') {
 -                              if (yych != '`') goto yy185;
 +                              if (yych != '`') goto yy186;
                        } else {
 -                              if (yych <= 'i') goto yy785;
 -                              if (yych <= 'z') goto yy185;
 -                              if (yych >= 0x7F) goto yy185;
 +                              if (yych <= 'i') goto yy794;
 +                              if (yych <= 'z') goto yy186;
 +                              if (yych >= 0x7F) goto yy186;
                        }
                }
 -yy784:
 -              YYDEBUG(784, *YYCURSOR);
 +yy793:
 +              YYDEBUG(793, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1070 "Zend/zend_language_scanner.l"
 -#line 1062 "Zend/zend_language_scanner.l"
++#line 1072 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
  }
- #line 7207 "Zend/zend_language_scanner.c"
 -#line 7136 "Zend/zend_language_scanner.c"
 -yy785:
 -              YYDEBUG(785, *YYCURSOR);
++#line 7209 "Zend/zend_language_scanner.c"
 +yy794:
 +              YYDEBUG(794, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'F') goto yy786;
 -              if (yych != 'f') goto yy186;
 -yy786:
 -              YYDEBUG(786, *YYCURSOR);
 +              if (yych == 'F') goto yy795;
 +              if (yych != 'f') goto yy187;
 +yy795:
 +              YYDEBUG(795, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(787, *YYCURSOR);
 +              YYDEBUG(796, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1062 "Zend/zend_language_scanner.l"
 -#line 1054 "Zend/zend_language_scanner.l"
++#line 1064 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
  }
- #line 7225 "Zend/zend_language_scanner.c"
 -#line 7154 "Zend/zend_language_scanner.c"
 -yy788:
 -              YYDEBUG(788, *YYCURSOR);
++#line 7227 "Zend/zend_language_scanner.c"
 +yy797:
 +              YYDEBUG(797, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych == 'O') goto yy789;
 -              if (yych != 'o') goto yy186;
 -yy789:
 -              YYDEBUG(789, *YYCURSOR);
 +              if (yych == 'O') goto yy798;
 +              if (yych != 'o') goto yy187;
 +yy798:
 +              YYDEBUG(798, *YYCURSOR);
                ++YYCURSOR;
                if (yybm[0+(yych = *YYCURSOR)] & 4) {
 -                      goto yy185;
 +                      goto yy186;
                }
 -              YYDEBUG(790, *YYCURSOR);
 +              YYDEBUG(799, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1146 "Zend/zend_language_scanner.l"
 -#line 1138 "Zend/zend_language_scanner.l"
++#line 1148 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
  }
- #line 7243 "Zend/zend_language_scanner.c"
 -#line 7172 "Zend/zend_language_scanner.c"
++#line 7245 "Zend/zend_language_scanner.c"
        }
  /* *********************************** */
  yyc_ST_LOOKING_FOR_PROPERTY:
                        }
                } else {
                        if (yych <= '_') {
 -                              if (yych <= '@') goto yy799;
 -                              if (yych <= 'Z') goto yy797;
 -                              if (yych <= '^') goto yy799;
 -                              goto yy797;
 +                              if (yych <= '@') goto yy808;
 +                              if (yych <= 'Z') goto yy806;
 +                              if (yych <= '^') goto yy808;
 +                              goto yy806;
                        } else {
 -                              if (yych <= '`') goto yy799;
 -                              if (yych <= 'z') goto yy797;
 -                              if (yych <= '~') goto yy799;
 -                              goto yy797;
 +                              if (yych <= '`') goto yy808;
 +                              if (yych <= 'z') goto yy806;
 +                              if (yych <= '~') goto yy808;
 +                              goto yy806;
                        }
                }
 -yy793:
 -              YYDEBUG(793, *YYCURSOR);
 +yy802:
 +              YYDEBUG(802, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
 -              goto yy805;
 -yy794:
 -              YYDEBUG(794, *YYCURSOR);
 +              goto yy814;
 +yy803:
 +              YYDEBUG(803, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1179 "Zend/zend_language_scanner.l"
 -#line 1171 "Zend/zend_language_scanner.l"
++#line 1181 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
  }
- #line 7324 "Zend/zend_language_scanner.c"
 -#line 7253 "Zend/zend_language_scanner.c"
 -yy795:
 -              YYDEBUG(795, *YYCURSOR);
++#line 7326 "Zend/zend_language_scanner.c"
 +yy804:
 +              YYDEBUG(804, *YYCURSOR);
                ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '>') goto yy802;
 -yy796:
 -              YYDEBUG(796, *YYCURSOR);
 +              if ((yych = *YYCURSOR) == '>') goto yy811;
 +yy805:
 +              YYDEBUG(805, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1198 "Zend/zend_language_scanner.l"
 -#line 1190 "Zend/zend_language_scanner.l"
++#line 1200 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
  }
- #line 7338 "Zend/zend_language_scanner.c"
 -#line 7267 "Zend/zend_language_scanner.c"
 -yy797:
 -              YYDEBUG(797, *YYCURSOR);
++#line 7340 "Zend/zend_language_scanner.c"
 +yy806:
 +              YYDEBUG(806, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
 -              goto yy801;
 -yy798:
 -              YYDEBUG(798, *YYCURSOR);
 +              goto yy810;
 +yy807:
 +              YYDEBUG(807, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1191 "Zend/zend_language_scanner.l"
 -#line 1183 "Zend/zend_language_scanner.l"
++#line 1193 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
  }
- #line 7354 "Zend/zend_language_scanner.c"
 -#line 7283 "Zend/zend_language_scanner.c"
 -yy799:
 -              YYDEBUG(799, *YYCURSOR);
++#line 7356 "Zend/zend_language_scanner.c"
 +yy808:
 +              YYDEBUG(808, *YYCURSOR);
                yych = *++YYCURSOR;
 -              goto yy796;
 -yy800:
 -              YYDEBUG(800, *YYCURSOR);
 +              goto yy805;
 +yy809:
 +              YYDEBUG(809, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy801:
 -              YYDEBUG(801, *YYCURSOR);
 +yy810:
 +              YYDEBUG(810, *YYCURSOR);
                if (yybm[0+yych] & 64) {
 -                      goto yy800;
 +                      goto yy809;
                }
 -              goto yy798;
 -yy802:
 -              YYDEBUG(802, *YYCURSOR);
 +              goto yy807;
 +yy811:
 +              YYDEBUG(811, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(803, *YYCURSOR);
 +              YYDEBUG(812, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1187 "Zend/zend_language_scanner.l"
 -#line 1179 "Zend/zend_language_scanner.l"
++#line 1189 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
  }
- #line 7379 "Zend/zend_language_scanner.c"
 -#line 7308 "Zend/zend_language_scanner.c"
 -yy804:
 -              YYDEBUG(804, *YYCURSOR);
++#line 7381 "Zend/zend_language_scanner.c"
 +yy813:
 +              YYDEBUG(813, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
@@@ -7429,90 -7358,66 +7431,90 @@@ yyc_ST_LOOKING_FOR_VARNAME
                YYFILL(2);
                yych = *YYCURSOR;
                if (yych <= '_') {
 -                      if (yych <= '@') goto yy810;
 -                      if (yych <= 'Z') goto yy808;
 -                      if (yych <= '^') goto yy810;
 +                      if (yych <= '@') goto yy819;
 +                      if (yych <= 'Z') goto yy817;
 +                      if (yych <= '^') goto yy819;
                } else {
 -                      if (yych <= '`') goto yy810;
 -                      if (yych <= 'z') goto yy808;
 -                      if (yych <= '~') goto yy810;
 +                      if (yych <= '`') goto yy819;
 +                      if (yych <= 'z') goto yy817;
 +                      if (yych <= '~') goto yy819;
                }
 -yy808:
 -              YYDEBUG(808, *YYCURSOR);
 -              ++YYCURSOR;
 -              yych = *YYCURSOR;
 -              goto yy813;
 -yy809:
 -              YYDEBUG(809, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 1466 "Zend/zend_language_scanner.l"
 -              {
 -      zend_copy_value(zendlval, yytext, yyleng);
 -      zendlval->type = IS_STRING;
 -      yy_pop_state(TSRMLS_C);
 -      yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 -      return T_STRING_VARNAME;
 -}
 -#line 7386 "Zend/zend_language_scanner.c"
 -yy810:
 -              YYDEBUG(810, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYDEBUG(811, *YYCURSOR);
 +yy817:
 +              YYDEBUG(817, *YYCURSOR);
 +              yyaccept = 0;
 +              yych = *(YYMARKER = ++YYCURSOR);
 +              if (yych <= '_') {
 +                      if (yych <= '@') {
 +                              if (yych <= '/') goto yy818;
 +                              if (yych <= '9') goto yy821;
 +                      } else {
 +                              if (yych <= '[') goto yy821;
 +                              if (yych >= '_') goto yy821;
 +                      }
 +              } else {
 +                      if (yych <= '|') {
 +                              if (yych <= '`') goto yy818;
 +                              if (yych <= 'z') goto yy821;
 +                      } else {
 +                              if (yych != '~') goto yy821;
 +                      }
 +              }
 +yy818:
 +              YYDEBUG(818, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1484 "Zend/zend_language_scanner.l"
 -#line 1475 "Zend/zend_language_scanner.l"
++#line 1486 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
  }
- #line 7471 "Zend/zend_language_scanner.c"
 -#line 7399 "Zend/zend_language_scanner.c"
 -yy812:
 -              YYDEBUG(812, *YYCURSOR);
++#line 7473 "Zend/zend_language_scanner.c"
 +yy819:
 +              YYDEBUG(819, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              goto yy818;
 +yy820:
 +              YYDEBUG(820, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy813:
 -              YYDEBUG(813, *YYCURSOR);
 +yy821:
 +              YYDEBUG(821, *YYCURSOR);
                if (yybm[0+yych] & 128) {
 -                      goto yy812;
 +                      goto yy820;
                }
 -              goto yy809;
 +              if (yych == '[') goto yy823;
 +              if (yych == '}') goto yy823;
 +              YYDEBUG(822, *YYCURSOR);
 +              YYCURSOR = YYMARKER;
 +              goto yy818;
 +yy823:
 +              YYDEBUG(823, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(824, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 1474 "Zend/zend_language_scanner.l"
++#line 1476 "Zend/zend_language_scanner.l"
 +              {
 +      yyless(yyleng - 1);
 +      zend_copy_value(zendlval, yytext, yyleng);
 +      zendlval->type = IS_STRING;
 +      yy_pop_state(TSRMLS_C);
 +      yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 +      return T_STRING_VARNAME;
 +}
- #line 7505 "Zend/zend_language_scanner.c"
++#line 7507 "Zend/zend_language_scanner.c"
        }
  /* *********************************** */
  yyc_ST_NOWDOC:
 -      YYDEBUG(814, *YYCURSOR);
 +      YYDEBUG(825, *YYCURSOR);
        YYFILL(1);
        yych = *YYCURSOR;
 -      YYDEBUG(816, *YYCURSOR);
 +      YYDEBUG(827, *YYCURSOR);
        ++YYCURSOR;
 -      YYDEBUG(817, *YYCURSOR);
 +      YYDEBUG(828, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
- #line 2368 "Zend/zend_language_scanner.l"
 -#line 2357 "Zend/zend_language_scanner.l"
++#line 2370 "Zend/zend_language_scanner.l"
        {
        int newline = 0;
  
@@@ -7569,7 -7472,7 +7571,7 @@@ nowdoc_scan_done
        HANDLE_NEWLINES(yytext, yyleng - newline);
        return T_ENCAPSED_AND_WHITESPACE;
  }
- #line 7573 "Zend/zend_language_scanner.c"
 -#line 7476 "Zend/zend_language_scanner.c"
++#line 7575 "Zend/zend_language_scanner.c"
  /* *********************************** */
  yyc_ST_VAR_OFFSET:
        {
@@@ -7667,16 -7570,16 +7669,16 @@@ yy831
                        }
                } else {
                        if (yych <= 'b') {
 -                              if (yych <= 'X') goto yy843;
 -                              if (yych >= 'b') goto yy841;
 +                              if (yych <= 'X') goto yy854;
 +                              if (yych >= 'b') goto yy852;
                        } else {
 -                              if (yych == 'x') goto yy843;
 +                              if (yych == 'x') goto yy854;
                        }
                }
 -yy821:
 -              YYDEBUG(821, *YYCURSOR);
 +yy832:
 +              YYDEBUG(832, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1562 "Zend/zend_language_scanner.l"
 -#line 1553 "Zend/zend_language_scanner.l"
++#line 1564 "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);
        }
        return T_NUM_STRING;
  }
- #line 7692 "Zend/zend_language_scanner.c"
 -#line 7595 "Zend/zend_language_scanner.c"
 -yy822:
 -              YYDEBUG(822, *YYCURSOR);
++#line 7694 "Zend/zend_language_scanner.c"
 +yy833:
 +              YYDEBUG(833, *YYCURSOR);
                yych = *++YYCURSOR;
 -              goto yy840;
 -yy823:
 -              YYDEBUG(823, *YYCURSOR);
 +              goto yy851;
 +yy834:
 +              YYDEBUG(834, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) <= '_') {
 -                      if (yych <= '@') goto yy824;
 -                      if (yych <= 'Z') goto yy836;
 -                      if (yych >= '_') goto yy836;
 +                      if (yych <= '@') goto yy835;
 +                      if (yych <= 'Z') goto yy847;
 +                      if (yych >= '_') goto yy847;
                } else {
 -                      if (yych <= '`') goto yy824;
 -                      if (yych <= 'z') goto yy836;
 -                      if (yych >= 0x7F) goto yy836;
 +                      if (yych <= '`') goto yy835;
 +                      if (yych <= 'z') goto yy847;
 +                      if (yych >= 0x7F) goto yy847;
                }
 -yy824:
 -              YYDEBUG(824, *YYCURSOR);
 +yy835:
 +              YYDEBUG(835, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1894 "Zend/zend_language_scanner.l"
 -#line 1885 "Zend/zend_language_scanner.l"
++#line 1896 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
  }
- #line 7717 "Zend/zend_language_scanner.c"
 -#line 7620 "Zend/zend_language_scanner.c"
 -yy825:
 -              YYDEBUG(825, *YYCURSOR);
++#line 7719 "Zend/zend_language_scanner.c"
 +yy836:
 +              YYDEBUG(836, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(826, *YYCURSOR);
 +              YYDEBUG(837, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1889 "Zend/zend_language_scanner.l"
 -#line 1880 "Zend/zend_language_scanner.l"
++#line 1891 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
  }
- #line 7728 "Zend/zend_language_scanner.c"
 -#line 7631 "Zend/zend_language_scanner.c"
 -yy827:
 -              YYDEBUG(827, *YYCURSOR);
++#line 7730 "Zend/zend_language_scanner.c"
 +yy838:
 +              YYDEBUG(838, *YYCURSOR);
                yych = *++YYCURSOR;
 -              goto yy824;
 -yy828:
 -              YYDEBUG(828, *YYCURSOR);
 +              goto yy835;
 +yy839:
 +              YYDEBUG(839, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(829, *YYCURSOR);
 +              YYDEBUG(840, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1899 "Zend/zend_language_scanner.l"
 -#line 1890 "Zend/zend_language_scanner.l"
++#line 1901 "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 7745 "Zend/zend_language_scanner.c"
 -#line 7648 "Zend/zend_language_scanner.c"
 -yy830:
 -              YYDEBUG(830, *YYCURSOR);
++#line 7747 "Zend/zend_language_scanner.c"
 +yy841:
 +              YYDEBUG(841, *YYCURSOR);
                ++YYCURSOR;
                yych = *YYCURSOR;
 -              goto yy835;
 -yy831:
 -              YYDEBUG(831, *YYCURSOR);
 +              goto yy846;
 +yy842:
 +              YYDEBUG(842, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1906 "Zend/zend_language_scanner.l"
 -#line 1897 "Zend/zend_language_scanner.l"
++#line 1908 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
  }
- #line 7760 "Zend/zend_language_scanner.c"
 -#line 7663 "Zend/zend_language_scanner.c"
 -yy832:
 -              YYDEBUG(832, *YYCURSOR);
++#line 7762 "Zend/zend_language_scanner.c"
 +yy843:
 +              YYDEBUG(843, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(833, *YYCURSOR);
 +              YYDEBUG(844, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 2426 "Zend/zend_language_scanner.l"
 -#line 2413 "Zend/zend_language_scanner.l"
++#line 2428 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
  }
- #line 7775 "Zend/zend_language_scanner.c"
 -#line 7678 "Zend/zend_language_scanner.c"
 -yy834:
 -              YYDEBUG(834, *YYCURSOR);
++#line 7777 "Zend/zend_language_scanner.c"
 +yy845:
 +              YYDEBUG(845, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
@@@ -7798,24 -7701,24 +7800,24 @@@ yy847
                        }
                } else {
                        if (yych <= '`') {
 -                              if (yych <= '_') goto yy836;
 +                              if (yych <= '_') goto yy847;
                        } else {
 -                              if (yych <= 'z') goto yy836;
 -                              if (yych >= 0x7F) goto yy836;
 +                              if (yych <= 'z') goto yy847;
 +                              if (yych >= 0x7F) goto yy847;
                        }
                }
 -yy838:
 -              YYDEBUG(838, *YYCURSOR);
 +yy849:
 +              YYDEBUG(849, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1883 "Zend/zend_language_scanner.l"
 -#line 1874 "Zend/zend_language_scanner.l"
++#line 1885 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
  }
- #line 7817 "Zend/zend_language_scanner.c"
 -#line 7720 "Zend/zend_language_scanner.c"
 -yy839:
 -              YYDEBUG(839, *YYCURSOR);
++#line 7819 "Zend/zend_language_scanner.c"
 +yy850:
 +              YYDEBUG(850, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
@@@ -7847,22 -7750,22 +7849,22 @@@ yy855
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(845, *YYCURSOR);
 -              if (yych <= '/') goto yy846;
 -              if (yych <= '9') goto yy844;
 -yy846:
 -              YYDEBUG(846, *YYCURSOR);
 +              YYDEBUG(856, *YYCURSOR);
 +              if (yych <= '/') goto yy857;
 +              if (yych <= '9') goto yy855;
 +yy857:
 +              YYDEBUG(857, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 1574 "Zend/zend_language_scanner.l"
 -#line 1565 "Zend/zend_language_scanner.l"
++#line 1576 "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 7864 "Zend/zend_language_scanner.c"
 -#line 7767 "Zend/zend_language_scanner.c"
 -yy847:
 -              YYDEBUG(847, *YYCURSOR);
++#line 7866 "Zend/zend_language_scanner.c"
 +yy858:
 +              YYDEBUG(858, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
@@@ -7876,13 -7779,13 +7878,13 @@@ yy860
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(850, *YYCURSOR);
 +              YYDEBUG(861, *YYCURSOR);
                if (yybm[0+yych] & 128) {
 -                      goto yy849;
 +                      goto yy860;
                }
 -              goto yy846;
 +              goto yy857;
        }
  }
- #line 2435 "Zend/zend_language_scanner.l"
 -#line 2422 "Zend/zend_language_scanner.l"
++#line 2437 "Zend/zend_language_scanner.l"
  
  }
Simple merge
index 47df7e92de3166463215df34c3b5ef6f2923f0f6,9bde2a0e14d9036ede940c70c70160af4d8ae31f..de220af71bb5743970be8e765b85ae6fb022160d
@@@ -1,4 -1,4 +1,4 @@@
- /* Generated by re2c 0.13.5 on Mon Aug 20 13:34:50 2012 */
 -/* Generated by re2c 0.13.5 on Wed Nov 14 17:46:56 2012 */
++/* Generated by re2c 0.13.5 on Wed Nov 14 17:50:16 2012 */
  #line 3 "Zend/zend_language_scanner_defs.h"
  
  enum YYCONDTYPE {