]> granicus.if.org Git - php/commitdiff
Added multibyte suppport by default. Previosly php had to be compiled with --enable...
authorDmitry Stogov <dmitry@php.net>
Wed, 24 Nov 2010 05:42:52 +0000 (05:42 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 24 Nov 2010 05:42:52 +0000 (05:42 +0000)
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h

index 6f0db2acee2c6732c494dc799babf5f875f3a78a..1e60e83e0d51a509af3c010368acb7648b0e67fb 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Sep 15 18:53:44 2010 */
+/* Generated by re2c 0.13.5 on Wed Nov 24 08:41:46 2010 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -183,16 +183,16 @@ ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
        lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
        lex_state->lineno = CG(zend_lineno);
 
-#ifdef ZEND_MULTIBYTE
-       lex_state->script_org = SCNG(script_org);
-       lex_state->script_org_size = SCNG(script_org_size);
-       lex_state->script_filtered = SCNG(script_filtered);
-       lex_state->script_filtered_size = SCNG(script_filtered_size);
-       lex_state->input_filter = SCNG(input_filter);
-       lex_state->output_filter = SCNG(output_filter);
-       lex_state->script_encoding = SCNG(script_encoding);
-       lex_state->internal_encoding = SCNG(internal_encoding);
-#endif /* ZEND_MULTIBYTE */
+       if (CG(multibyte)) {
+               lex_state->script_org = SCNG(script_org);
+               lex_state->script_org_size = SCNG(script_org_size);
+               lex_state->script_filtered = SCNG(script_filtered);
+               lex_state->script_filtered_size = SCNG(script_filtered_size);
+               lex_state->input_filter = SCNG(input_filter);
+               lex_state->output_filter = SCNG(output_filter);
+               lex_state->script_encoding = SCNG(script_encoding);
+               lex_state->internal_encoding = SCNG(internal_encoding);
+       }
 }
 
 ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
@@ -211,24 +211,24 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
        YYSETCONDITION(lex_state->yy_state);
        CG(zend_lineno) = lex_state->lineno;
        zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
-#ifdef ZEND_MULTIBYTE
-       if (SCNG(script_org)) {
-               efree(SCNG(script_org));
-               SCNG(script_org) = NULL;
-       }
-       if (SCNG(script_filtered)) {
-               efree(SCNG(script_filtered));
-               SCNG(script_filtered) = NULL;
+       if (CG(multibyte)) {
+               if (SCNG(script_org)) {
+                       efree(SCNG(script_org));
+                       SCNG(script_org) = NULL;
+               }
+               if (SCNG(script_filtered)) {
+                       efree(SCNG(script_filtered));
+                       SCNG(script_filtered) = NULL;
+               }
+               SCNG(script_org) = lex_state->script_org;
+               SCNG(script_org_size) = lex_state->script_org_size;
+               SCNG(script_filtered) = lex_state->script_filtered;
+               SCNG(script_filtered_size) = lex_state->script_filtered_size;
+               SCNG(input_filter) = lex_state->input_filter;
+               SCNG(output_filter) = lex_state->output_filter;
+               SCNG(script_encoding) = lex_state->script_encoding;
+               SCNG(internal_encoding) = lex_state->internal_encoding;
        }
-       SCNG(script_org) = lex_state->script_org;
-       SCNG(script_org_size) = lex_state->script_org_size;
-       SCNG(script_filtered) = lex_state->script_filtered;
-       SCNG(script_filtered_size) = lex_state->script_filtered_size;
-       SCNG(input_filter) = lex_state->input_filter;
-       SCNG(output_filter) = lex_state->output_filter;
-       SCNG(script_encoding) = lex_state->script_encoding;
-       SCNG(internal_encoding) = lex_state->internal_encoding;
-#endif /* ZEND_MULTIBYTE */
 }
 
 ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
@@ -271,28 +271,32 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
        SCNG(yy_start) = NULL;
 
        if (size != -1) {
-#ifdef ZEND_MULTIBYTE
-               if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) {
-                       return FAILURE;
-               }
+               if (CG(multibyte)) {
+                       if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) {
+                               return FAILURE;
+                       }
 
-               SCNG(yy_in) = NULL;
+                       SCNG(yy_in) = NULL;
 
-               zend_multibyte_set_filter(NULL TSRMLS_CC);
+                       zend_multibyte_set_filter(NULL TSRMLS_CC);
 
-               if (!SCNG(input_filter)) {
-                       SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
-                       memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
-                       SCNG(script_filtered_size) = SCNG(script_org_size);
+                       if (!SCNG(input_filter)) {
+                               SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
+                               memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
+                               SCNG(script_filtered_size) = SCNG(script_org_size);
+                       } else {
+                               SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
+                               if (SCNG(script_filtered) == NULL) {
+                                       zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
+                                                       "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name);
+                               }
+                       }
+                       SCNG(yy_start) = SCNG(script_filtered) - offset;
+                       yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
                } else {
-                       SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
+                       SCNG(yy_start) = buf - offset;
+                       yy_scan_buffer(buf, size TSRMLS_CC);
                }
-               SCNG(yy_start) = SCNG(script_filtered) - offset;
-               yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
-#else /* !ZEND_MULTIBYTE */
-               SCNG(yy_start) = buf - offset;
-               yy_scan_buffer(buf, size TSRMLS_CC);
-#endif /* ZEND_MULTIBYTE */
        } else {
                zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
        }
@@ -435,25 +439,25 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D
        SCNG(yy_in)=NULL;
        SCNG(yy_start) = NULL;
 
-#ifdef ZEND_MULTIBYTE
-       SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val);
-       SCNG(script_org_size) = str->value.str.len;
+       if (CG(multibyte)) {
+               SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val);
+               SCNG(script_org_size) = str->value.str.len;
 
-       zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
+               zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
 
-       if (!SCNG(input_filter)) {
-               SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
-               memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
-               SCNG(script_filtered_size) = SCNG(script_org_size);
+               if (!SCNG(input_filter)) {
+                       SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
+                       memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
+                       SCNG(script_filtered_size) = SCNG(script_org_size);
+               } else {
+                       SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
+               }
+
+               yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);    
        } else {
-               SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
+               yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC);
        }
 
-       yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);    
-#else /* !ZEND_MULTIBYTE */
-       yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC);
-#endif /* ZEND_MULTIBYTE */
-
        zend_set_compiled_filename(filename TSRMLS_CC);
        CG(zend_lineno) = 1;
        CG(increment_lineno) = 0;
@@ -464,7 +468,6 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D
 ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
 {
        size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
-#ifdef ZEND_MULTIBYTE
        if (SCNG(input_filter)) {
                size_t original_offset = offset, length = 0; do {
                        unsigned char *p = NULL;
@@ -480,7 +483,6 @@ ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
                        }
                } while (original_offset != length);
        }
-#endif
        return offset;
 }
 
@@ -522,7 +524,6 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
                BEGIN(ST_IN_SCRIPTING);
                compiler_result = zendparse(TSRMLS_C);
 
-#ifdef ZEND_MULTIBYTE
                if (SCNG(script_org)) {
                        efree(SCNG(script_org));
                        SCNG(script_org) = NULL;
@@ -531,7 +532,6 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
                        efree(SCNG(script_filtered));
                        SCNG(script_filtered) = NULL;
                }
-#endif /* ZEND_MULTIBYTE */
 
                if (compiler_result==1) {
                        CG(active_op_array) = original_active_op_array;
@@ -569,7 +569,6 @@ int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlight
                return FAILURE;
        }
        zend_highlight(syntax_highlighter_ini TSRMLS_CC);
-#ifdef ZEND_MULTIBYTE
        if (SCNG(script_org)) {
                efree(SCNG(script_org));
                SCNG(script_org) = NULL;
@@ -578,7 +577,6 @@ int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlight
                efree(SCNG(script_filtered));
                SCNG(script_filtered) = NULL;
        }
-#endif /* ZEND_MULTIBYTE */
        zend_destroy_file_handle(&file_handle TSRMLS_CC);
        zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
        return SUCCESS;
@@ -598,7 +596,6 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_
        }
        BEGIN(INITIAL);
        zend_highlight(syntax_highlighter_ini TSRMLS_CC);
-#ifdef ZEND_MULTIBYTE
        if (SCNG(script_org)) {
                efree(SCNG(script_org));
                SCNG(script_org) = NULL;
@@ -607,16 +604,11 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_
                efree(SCNG(script_filtered));
                SCNG(script_filtered) = NULL;
        }
-#endif /* ZEND_MULTIBYTE */
        zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
        zval_dtor(str);
        return SUCCESS;
 }
-END_EXTERN_C()
 
-#ifdef ZEND_MULTIBYTE
-
-BEGIN_EXTERN_C()
 ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
 {
        size_t original_offset, offset, free_flag, new_len, length;
@@ -726,11 +718,6 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
                zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
                zendlval->value.str.len = yyleng; \
        }
-#else /* ZEND_MULTIBYTE */
-# define zend_copy_value(zendlval, yytext, yyleng) \
-       zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \
-       zendlval->value.str.len = yyleng;
-#endif /* ZEND_MULTIBYTE */
 
 static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
 {
@@ -834,7 +821,6 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo
                s++;
        }
        *t = 0;
-#ifdef ZEND_MULTIBYTE
        if (SCNG(output_filter)) {
                size_t sz = 0;
                s = zendlval->value.str.val;
@@ -842,7 +828,6 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo
                zendlval->value.str.len = sz;
                efree(s);
        }
-#endif /* ZEND_MULTIBYTE */
 }
 
 
@@ -854,7 +839,7 @@ restart:
 yymore_restart:
 
 
-#line 858 "Zend/zend_language_scanner.c"
+#line 843 "Zend/zend_language_scanner.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -953,7 +938,7 @@ yyc_INITIAL:
 yy3:
                YYDEBUG(3, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1646 "Zend/zend_language_scanner.l"
+#line 1631 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -997,7 +982,6 @@ inline_char_handler:
 inline_html:
        yyleng = YYCURSOR - SCNG(yy_text);
 
-#ifdef ZEND_MULTIBYTE
        if (SCNG(output_filter)) {
                int readsize;
                size_t sz = 0;
@@ -1010,15 +994,11 @@ inline_html:
          zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
          zendlval->value.str.len = yyleng;
        }
-#else /* !ZEND_MULTIBYTE */
-       zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
-       zendlval->value.str.len = yyleng;
-#endif
        zendlval->type = IS_STRING;
        HANDLE_NEWLINES(yytext, yyleng);
        return T_INLINE_HTML;
 }
-#line 1022 "Zend/zend_language_scanner.c"
+#line 1002 "Zend/zend_language_scanner.c"
 yy4:
                YYDEBUG(4, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1036,7 +1016,7 @@ yy5:
 yy6:
                YYDEBUG(6, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1634 "Zend/zend_language_scanner.l"
+#line 1619 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1048,14 +1028,14 @@ yy6:
                goto inline_char_handler;
        }
 }
-#line 1052 "Zend/zend_language_scanner.c"
+#line 1032 "Zend/zend_language_scanner.c"
 yy7:
                YYDEBUG(7, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy43;
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1611 "Zend/zend_language_scanner.l"
+#line 1596 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1067,7 +1047,7 @@ yy7:
                goto inline_char_handler;
        }
 }
-#line 1071 "Zend/zend_language_scanner.c"
+#line 1051 "Zend/zend_language_scanner.c"
 yy9:
                YYDEBUG(9, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1253,7 +1233,7 @@ yy35:
                ++YYCURSOR;
                YYDEBUG(38, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1567 "Zend/zend_language_scanner.l"
+#line 1552 "Zend/zend_language_scanner.l"
                {
        YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
 
@@ -1270,7 +1250,7 @@ yy35:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1274 "Zend/zend_language_scanner.c"
+#line 1254 "Zend/zend_language_scanner.c"
 yy39:
                YYDEBUG(39, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1297,7 +1277,7 @@ yy43:
                ++YYCURSOR;
                YYDEBUG(44, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1585 "Zend/zend_language_scanner.l"
+#line 1570 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1309,13 +1289,13 @@ yy43:
                goto inline_char_handler;
        }
 }
-#line 1313 "Zend/zend_language_scanner.c"
+#line 1293 "Zend/zend_language_scanner.c"
 yy45:
                YYDEBUG(45, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(46, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1598 "Zend/zend_language_scanner.l"
+#line 1583 "Zend/zend_language_scanner.l"
                {
        if (CG(short_tags)) {
                zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -1327,7 +1307,7 @@ yy45:
                goto inline_char_handler;
        }
 }
-#line 1331 "Zend/zend_language_scanner.c"
+#line 1311 "Zend/zend_language_scanner.c"
 yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1354,7 +1334,7 @@ yy50:
 yy51:
                YYDEBUG(51, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1624 "Zend/zend_language_scanner.l"
+#line 1609 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -1363,7 +1343,7 @@ yy51:
        BEGIN(ST_IN_SCRIPTING);
        return T_OPEN_TAG;
 }
-#line 1367 "Zend/zend_language_scanner.c"
+#line 1347 "Zend/zend_language_scanner.c"
 yy52:
                YYDEBUG(52, *YYCURSOR);
                ++YYCURSOR;
@@ -1434,7 +1414,7 @@ yyc_ST_BACKQUOTE:
 yy56:
                YYDEBUG(56, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2104 "Zend/zend_language_scanner.l"
+#line 2082 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -1475,7 +1455,7 @@ yy56:
        zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1479 "Zend/zend_language_scanner.c"
+#line 1459 "Zend/zend_language_scanner.c"
 yy57:
                YYDEBUG(57, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1486,12 +1466,12 @@ yy58:
                ++YYCURSOR;
                YYDEBUG(59, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2048 "Zend/zend_language_scanner.l"
+#line 2026 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '`';
 }
-#line 1495 "Zend/zend_language_scanner.c"
+#line 1475 "Zend/zend_language_scanner.c"
 yy60:
                YYDEBUG(60, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1501,14 +1481,14 @@ yy61:
                ++YYCURSOR;
                YYDEBUG(62, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2035 "Zend/zend_language_scanner.l"
+#line 2013 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1512 "Zend/zend_language_scanner.c"
+#line 1492 "Zend/zend_language_scanner.c"
 yy63:
                YYDEBUG(63, *YYCURSOR);
                yyaccept = 0;
@@ -1524,24 +1504,24 @@ yy63:
 yy65:
                YYDEBUG(65, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1534 "Zend/zend_language_scanner.c"
+#line 1514 "Zend/zend_language_scanner.c"
 yy66:
                YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1360 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1545 "Zend/zend_language_scanner.c"
+#line 1525 "Zend/zend_language_scanner.c"
 yy68:
                YYDEBUG(68, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1555,7 +1535,7 @@ yy70:
                ++YYCURSOR;
                YYDEBUG(71, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1563,7 +1543,7 @@ yy70:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1567 "Zend/zend_language_scanner.c"
+#line 1547 "Zend/zend_language_scanner.c"
 yy72:
                YYDEBUG(72, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1581,7 +1561,7 @@ yy73:
                ++YYCURSOR;
                YYDEBUG(74, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1695 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1589,7 +1569,7 @@ yy73:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1593 "Zend/zend_language_scanner.c"
+#line 1573 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_DOUBLE_QUOTES:
@@ -1657,7 +1637,7 @@ yy77:
 yy78:
                YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2054 "Zend/zend_language_scanner.l"
+#line 2032 "Zend/zend_language_scanner.l"
                {
        if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
                YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1706,7 +1686,7 @@ double_quotes_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1710 "Zend/zend_language_scanner.c"
+#line 1690 "Zend/zend_language_scanner.c"
 yy79:
                YYDEBUG(79, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1717,12 +1697,12 @@ yy80:
                ++YYCURSOR;
                YYDEBUG(81, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2043 "Zend/zend_language_scanner.l"
+#line 2021 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_IN_SCRIPTING);
        return '"';
 }
-#line 1726 "Zend/zend_language_scanner.c"
+#line 1706 "Zend/zend_language_scanner.c"
 yy82:
                YYDEBUG(82, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1732,14 +1712,14 @@ yy83:
                ++YYCURSOR;
                YYDEBUG(84, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2035 "Zend/zend_language_scanner.l"
+#line 2013 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 1743 "Zend/zend_language_scanner.c"
+#line 1723 "Zend/zend_language_scanner.c"
 yy85:
                YYDEBUG(85, *YYCURSOR);
                yyaccept = 0;
@@ -1755,24 +1735,24 @@ yy85:
 yy87:
                YYDEBUG(87, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1765 "Zend/zend_language_scanner.c"
+#line 1745 "Zend/zend_language_scanner.c"
 yy88:
                YYDEBUG(88, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(89, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1360 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 1776 "Zend/zend_language_scanner.c"
+#line 1756 "Zend/zend_language_scanner.c"
 yy90:
                YYDEBUG(90, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1786,7 +1766,7 @@ yy92:
                ++YYCURSOR;
                YYDEBUG(93, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1794,7 +1774,7 @@ yy92:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1798 "Zend/zend_language_scanner.c"
+#line 1778 "Zend/zend_language_scanner.c"
 yy94:
                YYDEBUG(94, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1812,7 +1792,7 @@ yy95:
                ++YYCURSOR;
                YYDEBUG(96, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1695 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1820,7 +1800,7 @@ yy95:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 1824 "Zend/zend_language_scanner.c"
+#line 1804 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_END_HEREDOC:
@@ -1831,7 +1811,7 @@ yyc_ST_END_HEREDOC:
        ++YYCURSOR;
        YYDEBUG(100, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2022 "Zend/zend_language_scanner.l"
+#line 2000 "Zend/zend_language_scanner.l"
        {
        YYCURSOR += CG(heredoc_len) - 1;
        yyleng = CG(heredoc_len);
@@ -1843,7 +1823,7 @@ yyc_ST_END_HEREDOC:
        BEGIN(ST_IN_SCRIPTING);
        return T_END_HEREDOC;
 }
-#line 1847 "Zend/zend_language_scanner.c"
+#line 1827 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_HEREDOC:
        {
@@ -1905,7 +1885,7 @@ yy103:
 yy104:
                YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2146 "Zend/zend_language_scanner.l"
+#line 2124 "Zend/zend_language_scanner.l"
                {
        int newline = 0;
 
@@ -1976,7 +1956,7 @@ heredoc_scan_done:
        zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 1980 "Zend/zend_language_scanner.c"
+#line 1960 "Zend/zend_language_scanner.c"
 yy105:
                YYDEBUG(105, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1991,14 +1971,14 @@ yy107:
                ++YYCURSOR;
                YYDEBUG(108, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2035 "Zend/zend_language_scanner.l"
+#line 2013 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = (long) '{';
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        yyless(1);
        return T_CURLY_OPEN;
 }
-#line 2002 "Zend/zend_language_scanner.c"
+#line 1982 "Zend/zend_language_scanner.c"
 yy109:
                YYDEBUG(109, *YYCURSOR);
                yyaccept = 0;
@@ -2014,24 +1994,24 @@ yy109:
 yy111:
                YYDEBUG(111, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2024 "Zend/zend_language_scanner.c"
+#line 2004 "Zend/zend_language_scanner.c"
 yy112:
                YYDEBUG(112, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1360 "Zend/zend_language_scanner.l"
+#line 1345 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
        return T_DOLLAR_OPEN_CURLY_BRACES;
 }
-#line 2035 "Zend/zend_language_scanner.c"
+#line 2015 "Zend/zend_language_scanner.c"
 yy114:
                YYDEBUG(114, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2045,7 +2025,7 @@ yy116:
                ++YYCURSOR;
                YYDEBUG(117, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1725 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 1);
        yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2053,7 +2033,7 @@ yy116:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2057 "Zend/zend_language_scanner.c"
+#line 2037 "Zend/zend_language_scanner.c"
 yy118:
                YYDEBUG(118, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2071,7 +2051,7 @@ yy119:
                ++YYCURSOR;
                YYDEBUG(120, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1715 "Zend/zend_language_scanner.l"
+#line 1695 "Zend/zend_language_scanner.l"
                {
        yyless(yyleng - 3);
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2079,7 +2059,7 @@ yy119:
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 2083 "Zend/zend_language_scanner.c"
+#line 2063 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_IN_SCRIPTING:
@@ -2260,13 +2240,13 @@ yy123:
 yy124:
                YYDEBUG(124, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1756 "Zend/zend_language_scanner.l"
+#line 1736 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 2270 "Zend/zend_language_scanner.c"
+#line 2250 "Zend/zend_language_scanner.c"
 yy125:
                YYDEBUG(125, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2520,11 +2500,11 @@ yy137:
 yy138:
                YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1349 "Zend/zend_language_scanner.l"
+#line 1334 "Zend/zend_language_scanner.l"
                {
        return yytext[0];
 }
-#line 2528 "Zend/zend_language_scanner.c"
+#line 2508 "Zend/zend_language_scanner.c"
 yy139:
                YYDEBUG(139, *YYCURSOR);
                ++YYCURSOR;
@@ -2533,7 +2513,7 @@ yy139:
 yy140:
                YYDEBUG(140, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -2541,7 +2521,7 @@ yy140:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 2545 "Zend/zend_language_scanner.c"
+#line 2525 "Zend/zend_language_scanner.c"
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2552,11 +2532,11 @@ yy142:
                ++YYCURSOR;
                YYDEBUG(143, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1053 "Zend/zend_language_scanner.l"
+#line 1038 "Zend/zend_language_scanner.l"
                {
        return T_NS_SEPARATOR;
 }
-#line 2560 "Zend/zend_language_scanner.c"
+#line 2540 "Zend/zend_language_scanner.c"
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2810,18 +2790,18 @@ yy167:
                ++YYCURSOR;
                YYDEBUG(168, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1354 "Zend/zend_language_scanner.l"
+#line 1339 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return '{';
 }
-#line 2819 "Zend/zend_language_scanner.c"
+#line 2799 "Zend/zend_language_scanner.c"
 yy169:
                YYDEBUG(169, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(170, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1366 "Zend/zend_language_scanner.l"
+#line 1351 "Zend/zend_language_scanner.l"
                {
        RESET_DOC_COMMENT();
        if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2829,7 +2809,7 @@ yy169:
        }
        return '}';
 }
-#line 2833 "Zend/zend_language_scanner.c"
+#line 2813 "Zend/zend_language_scanner.c"
 yy171:
                YYDEBUG(171, *YYCURSOR);
                yyaccept = 2;
@@ -2852,7 +2832,7 @@ yy171:
 yy172:
                YYDEBUG(172, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1392 "Zend/zend_language_scanner.l"
+#line 1377 "Zend/zend_language_scanner.l"
                {
        if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
                zendlval->value.lval = strtol(yytext, NULL, 0);
@@ -2873,7 +2853,7 @@ yy172:
        zendlval->type = IS_LONG;
        return T_LNUMBER;
 }
-#line 2877 "Zend/zend_language_scanner.c"
+#line 2857 "Zend/zend_language_scanner.c"
 yy173:
                YYDEBUG(173, *YYCURSOR);
                yyaccept = 2;
@@ -2901,7 +2881,7 @@ yy175:
 yy176:
                YYDEBUG(176, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1763 "Zend/zend_language_scanner.l"
+#line 1743 "Zend/zend_language_scanner.l"
                {
        while (YYCURSOR < YYLIMIT) {
                switch (*YYCURSOR++) {
@@ -2935,14 +2915,14 @@ yy176:
 
        return T_COMMENT;
 }
-#line 2939 "Zend/zend_language_scanner.c"
+#line 2919 "Zend/zend_language_scanner.c"
 yy177:
                YYDEBUG(177, *YYCURSOR);
                ++YYCURSOR;
 yy178:
                YYDEBUG(178, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1854 "Zend/zend_language_scanner.l"
+#line 1834 "Zend/zend_language_scanner.l"
                {
        register char *s, *t;
        char *end;
@@ -3001,7 +2981,6 @@ yy178:
        }
        *t = 0;
 
-#ifdef ZEND_MULTIBYTE
        if (SCNG(output_filter)) {
                size_t sz = 0;
                s = zendlval->value.str.val;
@@ -3009,17 +2988,16 @@ yy178:
                zendlval->value.str.len = sz;
                efree(s);
        }
-#endif /* ZEND_MULTIBYTE */
        return T_CONSTANT_ENCAPSED_STRING;
 }
-#line 3016 "Zend/zend_language_scanner.c"
+#line 2994 "Zend/zend_language_scanner.c"
 yy179:
                YYDEBUG(179, *YYCURSOR);
                ++YYCURSOR;
 yy180:
                YYDEBUG(180, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1925 "Zend/zend_language_scanner.l"
+#line 1903 "Zend/zend_language_scanner.l"
                {
        int bprefix = (yytext[0] != '"') ? 1 : 0;
 
@@ -3060,24 +3038,24 @@ yy180:
        BEGIN(ST_DOUBLE_QUOTES);
        return '"';
 }
-#line 3064 "Zend/zend_language_scanner.c"
+#line 3042 "Zend/zend_language_scanner.c"
 yy181:
                YYDEBUG(181, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(182, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2016 "Zend/zend_language_scanner.l"
+#line 1994 "Zend/zend_language_scanner.l"
                {
        BEGIN(ST_BACKQUOTE);
        return '`';
 }
-#line 3075 "Zend/zend_language_scanner.c"
+#line 3053 "Zend/zend_language_scanner.c"
 yy183:
                YYDEBUG(183, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(184, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2274 "Zend/zend_language_scanner.l"
+#line 2252 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -3086,7 +3064,7 @@ yy183:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 3090 "Zend/zend_language_scanner.c"
+#line 3068 "Zend/zend_language_scanner.c"
 yy185:
                YYDEBUG(185, *YYCURSOR);
                ++YYCURSOR;
@@ -3113,13 +3091,13 @@ yy187:
 yy189:
                YYDEBUG(189, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1453 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
                {
        zendlval->value.dval = zend_strtod(yytext, NULL);
        zendlval->type = IS_DOUBLE;
        return T_DNUMBER;
 }
-#line 3123 "Zend/zend_language_scanner.c"
+#line 3101 "Zend/zend_language_scanner.c"
 yy190:
                YYDEBUG(190, *YYCURSOR);
                yyaccept = 2;
@@ -3204,7 +3182,7 @@ yy198:
                }
                YYDEBUG(200, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1413 "Zend/zend_language_scanner.l"
+#line 1398 "Zend/zend_language_scanner.l"
                {
        char *hex = yytext + 2; /* Skip "0x" */
        int len = yyleng - 2;
@@ -3225,7 +3203,7 @@ yy198:
                return T_DNUMBER;
        }
 }
-#line 3229 "Zend/zend_language_scanner.c"
+#line 3207 "Zend/zend_language_scanner.c"
 yy201:
                YYDEBUG(201, *YYCURSOR);
                ++YYCURSOR;
@@ -3234,7 +3212,7 @@ yy201:
 yy202:
                YYDEBUG(202, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1831 "Zend/zend_language_scanner.l"
+#line 1811 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -3242,7 +3220,7 @@ yy202:
        BEGIN(INITIAL);
        return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 }
-#line 3246 "Zend/zend_language_scanner.c"
+#line 3224 "Zend/zend_language_scanner.c"
 yy203:
                YYDEBUG(203, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3276,13 +3254,13 @@ yy205:
 yy207:
                YYDEBUG(207, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 3286 "Zend/zend_language_scanner.c"
+#line 3264 "Zend/zend_language_scanner.c"
 yy208:
                YYDEBUG(208, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3296,61 +3274,61 @@ yy209:
                }
                YYDEBUG(210, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1337 "Zend/zend_language_scanner.l"
+#line 1322 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_XOR;
 }
-#line 3304 "Zend/zend_language_scanner.c"
+#line 3282 "Zend/zend_language_scanner.c"
 yy211:
                YYDEBUG(211, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(212, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1317 "Zend/zend_language_scanner.l"
+#line 1302 "Zend/zend_language_scanner.l"
                {
        return T_XOR_EQUAL;
 }
-#line 3314 "Zend/zend_language_scanner.c"
+#line 3292 "Zend/zend_language_scanner.c"
 yy213:
                YYDEBUG(213, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(214, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1321 "Zend/zend_language_scanner.l"
+#line 1306 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_OR;
 }
-#line 3324 "Zend/zend_language_scanner.c"
+#line 3302 "Zend/zend_language_scanner.c"
 yy215:
                YYDEBUG(215, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(216, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1313 "Zend/zend_language_scanner.l"
+#line 1298 "Zend/zend_language_scanner.l"
                {
        return T_OR_EQUAL;
 }
-#line 3334 "Zend/zend_language_scanner.c"
+#line 3312 "Zend/zend_language_scanner.c"
 yy217:
                YYDEBUG(217, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(218, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1325 "Zend/zend_language_scanner.l"
+#line 1310 "Zend/zend_language_scanner.l"
                {
        return T_BOOLEAN_AND;
 }
-#line 3344 "Zend/zend_language_scanner.c"
+#line 3322 "Zend/zend_language_scanner.c"
 yy219:
                YYDEBUG(219, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(220, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1309 "Zend/zend_language_scanner.l"
+#line 1294 "Zend/zend_language_scanner.l"
                {
        return T_AND_EQUAL;
 }
-#line 3354 "Zend/zend_language_scanner.c"
+#line 3332 "Zend/zend_language_scanner.c"
 yy221:
                YYDEBUG(221, *YYCURSOR);
                ++YYCURSOR;
@@ -3359,7 +3337,7 @@ yy221:
 yy222:
                YYDEBUG(222, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1840 "Zend/zend_language_scanner.l"
+#line 1820 "Zend/zend_language_scanner.l"
                {
        if (CG(asp_tags)) {
                BEGIN(INITIAL);
@@ -3372,17 +3350,17 @@ yy222:
                return yytext[0];
        }
 }
-#line 3376 "Zend/zend_language_scanner.c"
+#line 3354 "Zend/zend_language_scanner.c"
 yy223:
                YYDEBUG(223, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(224, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1297 "Zend/zend_language_scanner.l"
+#line 1282 "Zend/zend_language_scanner.l"
                {
        return T_MOD_EQUAL;
 }
-#line 3386 "Zend/zend_language_scanner.c"
+#line 3364 "Zend/zend_language_scanner.c"
 yy225:
                YYDEBUG(225, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3413,11 +3391,11 @@ yy229:
                ++YYCURSOR;
                YYDEBUG(230, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1293 "Zend/zend_language_scanner.l"
+#line 1278 "Zend/zend_language_scanner.l"
                {
        return T_CONCAT_EQUAL;
 }
-#line 3421 "Zend/zend_language_scanner.c"
+#line 3399 "Zend/zend_language_scanner.c"
 yy231:
                YYDEBUG(231, *YYCURSOR);
                yyaccept = 4;
@@ -3426,7 +3404,7 @@ yy231:
 yy232:
                YYDEBUG(232, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1797 "Zend/zend_language_scanner.l"
+#line 1777 "Zend/zend_language_scanner.l"
                {
        int doc_com;
 
@@ -3460,7 +3438,7 @@ yy232:
 
        return T_COMMENT;
 }
-#line 3464 "Zend/zend_language_scanner.c"
+#line 3442 "Zend/zend_language_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3470,11 +3448,11 @@ yy234:
                ++YYCURSOR;
                YYDEBUG(235, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1289 "Zend/zend_language_scanner.l"
+#line 1274 "Zend/zend_language_scanner.l"
                {
        return T_DIV_EQUAL;
 }
-#line 3478 "Zend/zend_language_scanner.c"
+#line 3456 "Zend/zend_language_scanner.c"
 yy236:
                YYDEBUG(236, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3497,42 +3475,42 @@ yy239:
                ++YYCURSOR;
                YYDEBUG(240, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1285 "Zend/zend_language_scanner.l"
+#line 1270 "Zend/zend_language_scanner.l"
                {
        return T_MUL_EQUAL;
 }
-#line 3505 "Zend/zend_language_scanner.c"
+#line 3483 "Zend/zend_language_scanner.c"
 yy241:
                YYDEBUG(241, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy245;
                YYDEBUG(242, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1345 "Zend/zend_language_scanner.l"
+#line 1330 "Zend/zend_language_scanner.l"
                {
        return T_SR;
 }
-#line 3516 "Zend/zend_language_scanner.c"
+#line 3494 "Zend/zend_language_scanner.c"
 yy243:
                YYDEBUG(243, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(244, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1273 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
                {
        return T_IS_GREATER_OR_EQUAL;
 }
-#line 3526 "Zend/zend_language_scanner.c"
+#line 3504 "Zend/zend_language_scanner.c"
 yy245:
                YYDEBUG(245, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(246, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1305 "Zend/zend_language_scanner.l"
+#line 1290 "Zend/zend_language_scanner.l"
                {
        return T_SR_EQUAL;
 }
-#line 3536 "Zend/zend_language_scanner.c"
+#line 3514 "Zend/zend_language_scanner.c"
 yy247:
                YYDEBUG(247, *YYCURSOR);
                yyaccept = 5;
@@ -3543,11 +3521,11 @@ yy247:
 yy248:
                YYDEBUG(248, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1341 "Zend/zend_language_scanner.l"
+#line 1326 "Zend/zend_language_scanner.l"
                {
        return T_SL;
 }
-#line 3551 "Zend/zend_language_scanner.c"
+#line 3529 "Zend/zend_language_scanner.c"
 yy249:
                YYDEBUG(249, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3559,22 +3537,22 @@ yy250:
                ++YYCURSOR;
                YYDEBUG(251, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1269 "Zend/zend_language_scanner.l"
+#line 1254 "Zend/zend_language_scanner.l"
                {
        return T_IS_SMALLER_OR_EQUAL;
 }
-#line 3567 "Zend/zend_language_scanner.c"
+#line 3545 "Zend/zend_language_scanner.c"
 yy252:
                YYDEBUG(252, *YYCURSOR);
                ++YYCURSOR;
 yy253:
                YYDEBUG(253, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1265 "Zend/zend_language_scanner.l"
+#line 1250 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_EQUAL;
 }
-#line 3578 "Zend/zend_language_scanner.c"
+#line 3556 "Zend/zend_language_scanner.c"
 yy254:
                YYDEBUG(254, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3625,11 +3603,11 @@ yy261:
                ++YYCURSOR;
                YYDEBUG(262, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1301 "Zend/zend_language_scanner.l"
+#line 1286 "Zend/zend_language_scanner.l"
                {
        return T_SL_EQUAL;
 }
-#line 3633 "Zend/zend_language_scanner.c"
+#line 3611 "Zend/zend_language_scanner.c"
 yy263:
                YYDEBUG(263, *YYCURSOR);
                ++YYCURSOR;
@@ -3734,7 +3712,7 @@ yy272:
 yy273:
                YYDEBUG(273, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1967 "Zend/zend_language_scanner.l"
+#line 1945 "Zend/zend_language_scanner.l"
                {
        char *s;
        int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3782,7 +3760,7 @@ yy273:
 
        return T_START_HEREDOC;
 }
-#line 3786 "Zend/zend_language_scanner.c"
+#line 3764 "Zend/zend_language_scanner.c"
 yy274:
                YYDEBUG(274, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3822,31 +3800,31 @@ yy277:
                ++YYCURSOR;
                YYDEBUG(279, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
+#line 1242 "Zend/zend_language_scanner.l"
                {
        return T_IS_NOT_IDENTICAL;
 }
-#line 3830 "Zend/zend_language_scanner.c"
+#line 3808 "Zend/zend_language_scanner.c"
 yy280:
                YYDEBUG(280, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(281, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1277 "Zend/zend_language_scanner.l"
+#line 1262 "Zend/zend_language_scanner.l"
                {
        return T_PLUS_EQUAL;
 }
-#line 3840 "Zend/zend_language_scanner.c"
+#line 3818 "Zend/zend_language_scanner.c"
 yy282:
                YYDEBUG(282, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(283, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1245 "Zend/zend_language_scanner.l"
+#line 1230 "Zend/zend_language_scanner.l"
                {
        return T_INC;
 }
-#line 3850 "Zend/zend_language_scanner.c"
+#line 3828 "Zend/zend_language_scanner.c"
 yy284:
                YYDEBUG(284, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3861,11 +3839,11 @@ yy285:
                }
                YYDEBUG(286, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1329 "Zend/zend_language_scanner.l"
+#line 1314 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_OR;
 }
-#line 3869 "Zend/zend_language_scanner.c"
+#line 3847 "Zend/zend_language_scanner.c"
 yy287:
                YYDEBUG(287, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -3944,12 +3922,12 @@ yy295:
                ++YYCURSOR;
                YYDEBUG(296, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1240 "Zend/zend_language_scanner.l"
+#line 1225 "Zend/zend_language_scanner.l"
                {
        yyless((sizeof("object") - 1));
        return T_OBJECT_HINT;
 }
-#line 3953 "Zend/zend_language_scanner.c"
+#line 3931 "Zend/zend_language_scanner.c"
 yy297:
                YYDEBUG(297, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4042,7 +4020,7 @@ yy305:
                ++YYCURSOR;
                YYDEBUG(306, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1213 "Zend/zend_language_scanner.l"
+#line 1198 "Zend/zend_language_scanner.l"
                {
        if (yytext[3] == 'e') {
                yyless((sizeof("integer") - 1));
@@ -4053,7 +4031,7 @@ yy305:
        }
        return T_INT_HINT;
 }
-#line 4057 "Zend/zend_language_scanner.c"
+#line 4035 "Zend/zend_language_scanner.c"
 yy307:
                YYDEBUG(307, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4067,42 +4045,42 @@ yy308:
                }
                YYDEBUG(309, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1181 "Zend/zend_language_scanner.l"
+#line 1166 "Zend/zend_language_scanner.l"
                {
        return T_LIST;
 }
-#line 4075 "Zend/zend_language_scanner.c"
+#line 4053 "Zend/zend_language_scanner.c"
 yy310:
                YYDEBUG(310, *YYCURSOR);
                ++YYCURSOR;
                if ((yych = *YYCURSOR) == '=') goto yy314;
                YYDEBUG(311, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
+#line 1246 "Zend/zend_language_scanner.l"
                {
        return T_IS_EQUAL;
 }
-#line 4086 "Zend/zend_language_scanner.c"
+#line 4064 "Zend/zend_language_scanner.c"
 yy312:
                YYDEBUG(312, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(313, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1177 "Zend/zend_language_scanner.l"
+#line 1162 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_ARROW;
 }
-#line 4096 "Zend/zend_language_scanner.c"
+#line 4074 "Zend/zend_language_scanner.c"
 yy314:
                YYDEBUG(314, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(315, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1253 "Zend/zend_language_scanner.l"
+#line 1238 "Zend/zend_language_scanner.l"
                {
        return T_IS_IDENTICAL;
 }
-#line 4106 "Zend/zend_language_scanner.c"
+#line 4084 "Zend/zend_language_scanner.c"
 yy316:
                YYDEBUG(316, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4224,7 +4202,7 @@ yy331:
                }
                YYDEBUG(334, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1557 "Zend/zend_language_scanner.l"
+#line 1542 "Zend/zend_language_scanner.l"
                {
        if (CG(current_namespace)) {
                *zendlval = *CG(current_namespace);
@@ -4234,7 +4212,7 @@ yy331:
        }
        return T_NS_C;
 }
-#line 4238 "Zend/zend_language_scanner.c"
+#line 4216 "Zend/zend_language_scanner.c"
 yy335:
                YYDEBUG(335, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4254,7 +4232,7 @@ yy336:
                }
                YYDEBUG(339, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1530 "Zend/zend_language_scanner.l"
+#line 1515 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
        const size_t filename_len = strlen(filename);
@@ -4281,7 +4259,7 @@ yy336:
        zendlval->type = IS_STRING;
        return T_DIR;
 }
-#line 4285 "Zend/zend_language_scanner.c"
+#line 4263 "Zend/zend_language_scanner.c"
 yy340:
                YYDEBUG(340, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4306,13 +4284,13 @@ yy342:
                }
                YYDEBUG(345, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1512 "Zend/zend_language_scanner.l"
+#line 1497 "Zend/zend_language_scanner.l"
                {
        zendlval->value.lval = CG(zend_lineno);
        zendlval->type = IS_LONG;
        return T_LINE;
 }
-#line 4316 "Zend/zend_language_scanner.c"
+#line 4294 "Zend/zend_language_scanner.c"
 yy346:
                YYDEBUG(346, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4347,7 +4325,7 @@ yy350:
                }
                YYDEBUG(353, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1491 "Zend/zend_language_scanner.l"
+#line 1476 "Zend/zend_language_scanner.l"
                {
        char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
        char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
@@ -4368,7 +4346,7 @@ yy350:
        zendlval->type = IS_STRING;
        return T_METHOD_C;
 }
-#line 4372 "Zend/zend_language_scanner.c"
+#line 4350 "Zend/zend_language_scanner.c"
 yy354:
                YYDEBUG(354, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4419,7 +4397,7 @@ yy361:
                }
                YYDEBUG(364, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1475 "Zend/zend_language_scanner.l"
+#line 1460 "Zend/zend_language_scanner.l"
                {
        char *func_name = NULL;
 
@@ -4435,7 +4413,7 @@ yy361:
        zendlval->type = IS_STRING;
        return T_FUNC_C;
 }
-#line 4439 "Zend/zend_language_scanner.c"
+#line 4417 "Zend/zend_language_scanner.c"
 yy365:
                YYDEBUG(365, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4455,7 +4433,7 @@ yy366:
                }
                YYDEBUG(369, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1518 "Zend/zend_language_scanner.l"
+#line 1503 "Zend/zend_language_scanner.l"
                {
        char *filename = zend_get_compiled_filename(TSRMLS_C);
 
@@ -4467,7 +4445,7 @@ yy366:
        zendlval->type = IS_STRING;
        return T_FILE;
 }
-#line 4471 "Zend/zend_language_scanner.c"
+#line 4449 "Zend/zend_language_scanner.c"
 yy370:
                YYDEBUG(370, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4497,7 +4475,7 @@ yy373:
                }
                YYDEBUG(376, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1459 "Zend/zend_language_scanner.l"
+#line 1444 "Zend/zend_language_scanner.l"
                {
        char *class_name = NULL;
 
@@ -4513,7 +4491,7 @@ yy373:
        zendlval->type = IS_STRING;
        return T_CLASS_C;
 }
-#line 4517 "Zend/zend_language_scanner.c"
+#line 4495 "Zend/zend_language_scanner.c"
 yy377:
                YYDEBUG(377, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4575,11 +4553,11 @@ yy388:
                }
                YYDEBUG(389, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1145 "Zend/zend_language_scanner.l"
+#line 1130 "Zend/zend_language_scanner.l"
                {
        return T_HALT_COMPILER;
 }
-#line 4583 "Zend/zend_language_scanner.c"
+#line 4561 "Zend/zend_language_scanner.c"
 yy390:
                YYDEBUG(390, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4599,11 +4577,11 @@ yy392:
                }
                YYDEBUG(393, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1125 "Zend/zend_language_scanner.l"
+#line 1110 "Zend/zend_language_scanner.l"
                {
        return T_USE;
 }
-#line 4607 "Zend/zend_language_scanner.c"
+#line 4585 "Zend/zend_language_scanner.c"
 yy394:
                YYDEBUG(394, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4622,11 +4600,11 @@ yy396:
                }
                YYDEBUG(397, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1173 "Zend/zend_language_scanner.l"
+#line 1158 "Zend/zend_language_scanner.l"
                {
        return T_UNSET;
 }
-#line 4630 "Zend/zend_language_scanner.c"
+#line 4608 "Zend/zend_language_scanner.c"
 yy398:
                YYDEBUG(398, *YYCURSOR);
                ++YYCURSOR;
@@ -4808,11 +4786,11 @@ yy413:
                ++YYCURSOR;
                YYDEBUG(415, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1069 "Zend/zend_language_scanner.l"
+#line 1054 "Zend/zend_language_scanner.l"
                {
        return T_INT_CAST;
 }
-#line 4816 "Zend/zend_language_scanner.c"
+#line 4794 "Zend/zend_language_scanner.c"
 yy416:
                YYDEBUG(416, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4856,11 +4834,11 @@ yy421:
                ++YYCURSOR;
                YYDEBUG(424, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1073 "Zend/zend_language_scanner.l"
+#line 1058 "Zend/zend_language_scanner.l"
                {
        return T_DOUBLE_CAST;
 }
-#line 4864 "Zend/zend_language_scanner.c"
+#line 4842 "Zend/zend_language_scanner.c"
 yy425:
                YYDEBUG(425, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4936,11 +4914,11 @@ yy436:
                ++YYCURSOR;
                YYDEBUG(439, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1081 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
                {
        return T_SCALAR_CAST;
 }
-#line 4944 "Zend/zend_language_scanner.c"
+#line 4922 "Zend/zend_language_scanner.c"
 yy440:
                YYDEBUG(440, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4973,11 +4951,11 @@ yy443:
                ++YYCURSOR;
                YYDEBUG(446, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1077 "Zend/zend_language_scanner.l"
+#line 1062 "Zend/zend_language_scanner.l"
                {
        return T_STRING_CAST;
 }
-#line 4981 "Zend/zend_language_scanner.c"
+#line 4959 "Zend/zend_language_scanner.c"
 yy447:
                YYDEBUG(447, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5010,11 +4988,11 @@ yy450:
                ++YYCURSOR;
                YYDEBUG(453, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1085 "Zend/zend_language_scanner.l"
+#line 1070 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY_CAST;
 }
-#line 5018 "Zend/zend_language_scanner.c"
+#line 4996 "Zend/zend_language_scanner.c"
 yy454:
                YYDEBUG(454, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5052,11 +5030,11 @@ yy458:
                ++YYCURSOR;
                YYDEBUG(461, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1089 "Zend/zend_language_scanner.l"
+#line 1074 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_CAST;
 }
-#line 5060 "Zend/zend_language_scanner.c"
+#line 5038 "Zend/zend_language_scanner.c"
 yy462:
                YYDEBUG(462, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5097,11 +5075,11 @@ yy467:
                ++YYCURSOR;
                YYDEBUG(469, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1093 "Zend/zend_language_scanner.l"
+#line 1078 "Zend/zend_language_scanner.l"
                {
        return T_BOOL_CAST;
 }
-#line 5105 "Zend/zend_language_scanner.c"
+#line 5083 "Zend/zend_language_scanner.c"
 yy470:
                YYDEBUG(470, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5161,11 +5139,11 @@ yy478:
                ++YYCURSOR;
                YYDEBUG(481, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1097 "Zend/zend_language_scanner.l"
+#line 1082 "Zend/zend_language_scanner.l"
                {
        return T_UNSET_CAST;
 }
-#line 5169 "Zend/zend_language_scanner.c"
+#line 5147 "Zend/zend_language_scanner.c"
 yy482:
                YYDEBUG(482, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5179,11 +5157,11 @@ yy483:
                }
                YYDEBUG(484, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1065 "Zend/zend_language_scanner.l"
+#line 1050 "Zend/zend_language_scanner.l"
                {
        return T_VAR;
 }
-#line 5187 "Zend/zend_language_scanner.c"
+#line 5165 "Zend/zend_language_scanner.c"
 yy485:
                YYDEBUG(485, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5297,12 +5275,12 @@ yy497:
                ++YYCURSOR;
                YYDEBUG(498, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1208 "Zend/zend_language_scanner.l"
+#line 1193 "Zend/zend_language_scanner.l"
                {
        yyless(7);
        return T_NUMERIC_HINT;
 }
-#line 5306 "Zend/zend_language_scanner.c"
+#line 5284 "Zend/zend_language_scanner.c"
 yy499:
                YYDEBUG(499, *YYCURSOR);
                ++YYCURSOR;
@@ -5311,11 +5289,11 @@ yy499:
                }
                YYDEBUG(500, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1057 "Zend/zend_language_scanner.l"
+#line 1042 "Zend/zend_language_scanner.l"
                {
        return T_NEW;
 }
-#line 5319 "Zend/zend_language_scanner.c"
+#line 5297 "Zend/zend_language_scanner.c"
 yy501:
                YYDEBUG(501, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5354,21 +5332,21 @@ yy507:
                }
                YYDEBUG(508, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1121 "Zend/zend_language_scanner.l"
+#line 1106 "Zend/zend_language_scanner.l"
                {
        return T_NAMESPACE;
 }
-#line 5362 "Zend/zend_language_scanner.c"
+#line 5340 "Zend/zend_language_scanner.c"
 yy509:
                YYDEBUG(509, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(510, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1049 "Zend/zend_language_scanner.l"
+#line 1034 "Zend/zend_language_scanner.l"
                {
        return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 5372 "Zend/zend_language_scanner.c"
+#line 5350 "Zend/zend_language_scanner.c"
 yy511:
                YYDEBUG(511, *YYCURSOR);
                ++YYCURSOR;
@@ -5390,32 +5368,32 @@ yy513:
                ++YYCURSOR;
                YYDEBUG(514, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1281 "Zend/zend_language_scanner.l"
+#line 1266 "Zend/zend_language_scanner.l"
                {
        return T_MINUS_EQUAL;
 }
-#line 5398 "Zend/zend_language_scanner.c"
+#line 5376 "Zend/zend_language_scanner.c"
 yy515:
                YYDEBUG(515, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(516, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1249 "Zend/zend_language_scanner.l"
+#line 1234 "Zend/zend_language_scanner.l"
                {
        return T_DEC;
 }
-#line 5408 "Zend/zend_language_scanner.c"
+#line 5386 "Zend/zend_language_scanner.c"
 yy517:
                YYDEBUG(517, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(518, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1019 "Zend/zend_language_scanner.l"
+#line 1004 "Zend/zend_language_scanner.l"
                {
        yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
        return T_OBJECT_OPERATOR;
 }
-#line 5419 "Zend/zend_language_scanner.c"
+#line 5397 "Zend/zend_language_scanner.c"
 yy519:
                YYDEBUG(519, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5460,11 +5438,11 @@ yy524:
                }
                YYDEBUG(525, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1169 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
                {
        return T_PUBLIC;
 }
-#line 5468 "Zend/zend_language_scanner.c"
+#line 5446 "Zend/zend_language_scanner.c"
 yy526:
                YYDEBUG(526, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5519,11 +5497,11 @@ yy533:
                }
                YYDEBUG(534, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1165 "Zend/zend_language_scanner.l"
+#line 1150 "Zend/zend_language_scanner.l"
                {
        return T_PROTECTED;
 }
-#line 5527 "Zend/zend_language_scanner.c"
+#line 5505 "Zend/zend_language_scanner.c"
 yy535:
                YYDEBUG(535, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5553,11 +5531,11 @@ yy539:
                }
                YYDEBUG(540, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1161 "Zend/zend_language_scanner.l"
+#line 1146 "Zend/zend_language_scanner.l"
                {
        return T_PRIVATE;
 }
-#line 5561 "Zend/zend_language_scanner.c"
+#line 5539 "Zend/zend_language_scanner.c"
 yy541:
                YYDEBUG(541, *YYCURSOR);
                ++YYCURSOR;
@@ -5566,11 +5544,11 @@ yy541:
                }
                YYDEBUG(542, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 995 "Zend/zend_language_scanner.l"
+#line 980 "Zend/zend_language_scanner.l"
                {
        return T_PRINT;
 }
-#line 5574 "Zend/zend_language_scanner.c"
+#line 5552 "Zend/zend_language_scanner.c"
 yy543:
                YYDEBUG(543, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5595,11 +5573,11 @@ yy546:
                }
                YYDEBUG(547, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 987 "Zend/zend_language_scanner.l"
+#line 972 "Zend/zend_language_scanner.l"
                {
        return T_GOTO;
 }
-#line 5603 "Zend/zend_language_scanner.c"
+#line 5581 "Zend/zend_language_scanner.c"
 yy548:
                YYDEBUG(548, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5623,11 +5601,11 @@ yy551:
                }
                YYDEBUG(552, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1133 "Zend/zend_language_scanner.l"
+#line 1118 "Zend/zend_language_scanner.l"
                {
        return T_GLOBAL;
 }
-#line 5631 "Zend/zend_language_scanner.c"
+#line 5609 "Zend/zend_language_scanner.c"
 yy553:
                YYDEBUG(553, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5676,11 +5654,11 @@ yy561:
                }
                YYDEBUG(562, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 979 "Zend/zend_language_scanner.l"
+#line 964 "Zend/zend_language_scanner.l"
                {
        return T_BREAK;
 }
-#line 5684 "Zend/zend_language_scanner.c"
+#line 5662 "Zend/zend_language_scanner.c"
 yy563:
                YYDEBUG(563, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5785,7 +5763,7 @@ yy569:
                ++YYCURSOR;
                YYDEBUG(570, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1189 "Zend/zend_language_scanner.l"
+#line 1174 "Zend/zend_language_scanner.l"
                {
        if (yytext[4] == 'e') {
                yyless((sizeof("boolean") - 1));
@@ -5794,7 +5772,7 @@ yy569:
        }
        return T_BOOL_HINT;
 }
-#line 5798 "Zend/zend_language_scanner.c"
+#line 5776 "Zend/zend_language_scanner.c"
 yy571:
                YYDEBUG(571, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5921,12 +5899,12 @@ yy582:
                ++YYCURSOR;
                YYDEBUG(583, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1198 "Zend/zend_language_scanner.l"
+#line 1183 "Zend/zend_language_scanner.l"
                {
        yyless(6);
        return T_STRING_HINT;
 }
-#line 5930 "Zend/zend_language_scanner.c"
+#line 5908 "Zend/zend_language_scanner.c"
 yy584:
                YYDEBUG(584, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -5982,11 +5960,11 @@ yy591:
                }
                YYDEBUG(592, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 963 "Zend/zend_language_scanner.l"
+#line 948 "Zend/zend_language_scanner.l"
                {
        return T_SWITCH;
 }
-#line 5990 "Zend/zend_language_scanner.c"
+#line 5968 "Zend/zend_language_scanner.c"
 yy593:
                YYDEBUG(593, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6027,11 +6005,11 @@ yy599:
                }
                YYDEBUG(600, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1149 "Zend/zend_language_scanner.l"
+#line 1134 "Zend/zend_language_scanner.l"
                {
        return T_STATIC;
 }
-#line 6035 "Zend/zend_language_scanner.c"
+#line 6013 "Zend/zend_language_scanner.c"
 yy601:
                YYDEBUG(601, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6123,12 +6101,12 @@ yy609:
                ++YYCURSOR;
                YYDEBUG(610, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1203 "Zend/zend_language_scanner.l"
+#line 1188 "Zend/zend_language_scanner.l"
                {
        yyless(6);
        return T_SCALAR_HINT;
 }
-#line 6132 "Zend/zend_language_scanner.c"
+#line 6110 "Zend/zend_language_scanner.c"
 yy611:
                YYDEBUG(611, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6155,11 +6133,11 @@ yy614:
                }
                YYDEBUG(615, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 959 "Zend/zend_language_scanner.l"
+#line 944 "Zend/zend_language_scanner.l"
                {
        return T_AS;
 }
-#line 6163 "Zend/zend_language_scanner.c"
+#line 6141 "Zend/zend_language_scanner.c"
 yy616:
                YYDEBUG(616, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6178,11 +6156,11 @@ yy618:
                }
                YYDEBUG(619, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
+#line 1170 "Zend/zend_language_scanner.l"
                {
        return T_ARRAY;
 }
-#line 6186 "Zend/zend_language_scanner.c"
+#line 6164 "Zend/zend_language_scanner.c"
 yy620:
                YYDEBUG(620, *YYCURSOR);
                ++YYCURSOR;
@@ -6191,11 +6169,11 @@ yy620:
                }
                YYDEBUG(621, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1333 "Zend/zend_language_scanner.l"
+#line 1318 "Zend/zend_language_scanner.l"
                {
        return T_LOGICAL_AND;
 }
-#line 6199 "Zend/zend_language_scanner.c"
+#line 6177 "Zend/zend_language_scanner.c"
 yy622:
                YYDEBUG(622, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6229,11 +6207,11 @@ yy627:
                }
                YYDEBUG(628, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1153 "Zend/zend_language_scanner.l"
+#line 1138 "Zend/zend_language_scanner.l"
                {
        return T_ABSTRACT;
 }
-#line 6237 "Zend/zend_language_scanner.c"
+#line 6215 "Zend/zend_language_scanner.c"
 yy629:
                YYDEBUG(629, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6257,11 +6235,11 @@ yy632:
                }
                YYDEBUG(633, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 919 "Zend/zend_language_scanner.l"
+#line 904 "Zend/zend_language_scanner.l"
                {
        return T_WHILE;
 }
-#line 6265 "Zend/zend_language_scanner.c"
+#line 6243 "Zend/zend_language_scanner.c"
 yy634:
                YYDEBUG(634, *YYCURSOR);
                ++YYCURSOR;
@@ -6270,11 +6248,11 @@ yy634:
                }
                YYDEBUG(635, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 903 "Zend/zend_language_scanner.l"
+#line 888 "Zend/zend_language_scanner.l"
                {
        return T_IF;
 }
-#line 6278 "Zend/zend_language_scanner.c"
+#line 6256 "Zend/zend_language_scanner.c"
 yy636:
                YYDEBUG(636, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6326,11 +6304,11 @@ yy641:
                }
                YYDEBUG(642, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1137 "Zend/zend_language_scanner.l"
+#line 1122 "Zend/zend_language_scanner.l"
                {
        return T_ISSET;
 }
-#line 6334 "Zend/zend_language_scanner.c"
+#line 6312 "Zend/zend_language_scanner.c"
 yy643:
                YYDEBUG(643, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6426,11 +6404,11 @@ yy649:
 yy650:
                YYDEBUG(650, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1105 "Zend/zend_language_scanner.l"
+#line 1090 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE;
 }
-#line 6434 "Zend/zend_language_scanner.c"
+#line 6412 "Zend/zend_language_scanner.c"
 yy651:
                YYDEBUG(651, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6459,11 +6437,11 @@ yy655:
                }
                YYDEBUG(656, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1109 "Zend/zend_language_scanner.l"
+#line 1094 "Zend/zend_language_scanner.l"
                {
        return T_INCLUDE_ONCE;
 }
-#line 6467 "Zend/zend_language_scanner.c"
+#line 6445 "Zend/zend_language_scanner.c"
 yy657:
                YYDEBUG(657, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6517,11 +6495,11 @@ yy664:
                }
                YYDEBUG(665, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1003 "Zend/zend_language_scanner.l"
+#line 988 "Zend/zend_language_scanner.l"
                {
        return T_INTERFACE;
 }
-#line 6525 "Zend/zend_language_scanner.c"
+#line 6503 "Zend/zend_language_scanner.c"
 yy666:
                YYDEBUG(666, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6571,11 +6549,11 @@ yy672:
                }
                YYDEBUG(673, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1129 "Zend/zend_language_scanner.l"
+#line 1114 "Zend/zend_language_scanner.l"
                {
         return T_INSTEADOF;
 }
-#line 6579 "Zend/zend_language_scanner.c"
+#line 6557 "Zend/zend_language_scanner.c"
 yy674:
                YYDEBUG(674, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6604,11 +6582,11 @@ yy678:
                }
                YYDEBUG(679, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 955 "Zend/zend_language_scanner.l"
+#line 940 "Zend/zend_language_scanner.l"
                {
        return T_INSTANCEOF;
 }
-#line 6612 "Zend/zend_language_scanner.c"
+#line 6590 "Zend/zend_language_scanner.c"
 yy680:
                YYDEBUG(680, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6652,11 +6630,11 @@ yy687:
                }
                YYDEBUG(688, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1015 "Zend/zend_language_scanner.l"
+#line 1000 "Zend/zend_language_scanner.l"
                {
        return T_IMPLEMENTS;
 }
-#line 6660 "Zend/zend_language_scanner.c"
+#line 6638 "Zend/zend_language_scanner.c"
 yy689:
                YYDEBUG(689, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6684,11 +6662,11 @@ yy690:
                }
                YYDEBUG(692, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 891 "Zend/zend_language_scanner.l"
+#line 876 "Zend/zend_language_scanner.l"
                {
        return T_TRY;
 }
-#line 6692 "Zend/zend_language_scanner.c"
+#line 6670 "Zend/zend_language_scanner.c"
 yy693:
                YYDEBUG(693, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6707,11 +6685,11 @@ yy695:
                }
                YYDEBUG(696, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1007 "Zend/zend_language_scanner.l"
+#line 992 "Zend/zend_language_scanner.l"
                {
        return T_TRAIT;
 }
-#line 6715 "Zend/zend_language_scanner.c"
+#line 6693 "Zend/zend_language_scanner.c"
 yy697:
                YYDEBUG(697, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6730,11 +6708,11 @@ yy699:
                }
                YYDEBUG(700, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 899 "Zend/zend_language_scanner.l"
+#line 884 "Zend/zend_language_scanner.l"
                {
        return T_THROW;
 }
-#line 6738 "Zend/zend_language_scanner.c"
+#line 6716 "Zend/zend_language_scanner.c"
 yy701:
                YYDEBUG(701, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -6876,12 +6854,12 @@ yy715:
                ++YYCURSOR;
                YYDEBUG(716, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1235 "Zend/zend_language_scanner.l"
+#line 1220 "Zend/zend_language_scanner.l"
                {
        yyless((sizeof("resource") - 1));
        return T_RESOURCE_HINT;
 }
-#line 6885 "Zend/zend_language_scanner.c"
+#line 6863 "Zend/zend_language_scanner.c"
 yy717:
                YYDEBUG(717, *YYCURSOR);
                yyaccept = 0;
@@ -6958,7 +6936,7 @@ yy722:
                ++YYCURSOR;
                YYDEBUG(723, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1224 "Zend/zend_language_scanner.l"
+#line 1209 "Zend/zend_language_scanner.l"
                {
        if (yytext[4] == 'l') {
                yyless((sizeof("double") - 1));
@@ -6969,7 +6947,7 @@ yy722:
        }
        return T_DOUBLE_HINT;
 }
-#line 6973 "Zend/zend_language_scanner.c"
+#line 6951 "Zend/zend_language_scanner.c"
 yy724:
                YYDEBUG(724, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7006,11 +6984,11 @@ yy727:
 yy728:
                YYDEBUG(728, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1113 "Zend/zend_language_scanner.l"
+#line 1098 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE;
 }
-#line 7014 "Zend/zend_language_scanner.c"
+#line 6992 "Zend/zend_language_scanner.c"
 yy729:
                YYDEBUG(729, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7039,11 +7017,11 @@ yy733:
                }
                YYDEBUG(734, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1117 "Zend/zend_language_scanner.l"
+#line 1102 "Zend/zend_language_scanner.l"
                {
        return T_REQUIRE_ONCE;
 }
-#line 7047 "Zend/zend_language_scanner.c"
+#line 7025 "Zend/zend_language_scanner.c"
 yy735:
                YYDEBUG(735, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7062,11 +7040,11 @@ yy737:
                }
                YYDEBUG(738, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 887 "Zend/zend_language_scanner.l"
+#line 872 "Zend/zend_language_scanner.l"
                {
        return T_RETURN;
 }
-#line 7070 "Zend/zend_language_scanner.c"
+#line 7048 "Zend/zend_language_scanner.c"
 yy739:
                YYDEBUG(739, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7147,11 +7125,11 @@ yy748:
                }
                YYDEBUG(749, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 983 "Zend/zend_language_scanner.l"
+#line 968 "Zend/zend_language_scanner.l"
                {
        return T_CONTINUE;
 }
-#line 7155 "Zend/zend_language_scanner.c"
+#line 7133 "Zend/zend_language_scanner.c"
 yy750:
                YYDEBUG(750, *YYCURSOR);
                ++YYCURSOR;
@@ -7160,11 +7138,11 @@ yy750:
                }
                YYDEBUG(751, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 883 "Zend/zend_language_scanner.l"
+#line 868 "Zend/zend_language_scanner.l"
                {
        return T_CONST;
 }
-#line 7168 "Zend/zend_language_scanner.c"
+#line 7146 "Zend/zend_language_scanner.c"
 yy752:
                YYDEBUG(752, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7189,11 +7167,11 @@ yy755:
                }
                YYDEBUG(756, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1061 "Zend/zend_language_scanner.l"
+#line 1046 "Zend/zend_language_scanner.l"
                {
        return T_CLONE;
 }
-#line 7197 "Zend/zend_language_scanner.c"
+#line 7175 "Zend/zend_language_scanner.c"
 yy757:
                YYDEBUG(757, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7207,11 +7185,11 @@ yy758:
                }
                YYDEBUG(759, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 999 "Zend/zend_language_scanner.l"
+#line 984 "Zend/zend_language_scanner.l"
                {
        return T_CLASS;
 }
-#line 7215 "Zend/zend_language_scanner.c"
+#line 7193 "Zend/zend_language_scanner.c"
 yy760:
                YYDEBUG(760, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7231,11 +7209,11 @@ yy762:
                }
                YYDEBUG(763, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 971 "Zend/zend_language_scanner.l"
+#line 956 "Zend/zend_language_scanner.l"
                {
        return T_CASE;
 }
-#line 7239 "Zend/zend_language_scanner.c"
+#line 7217 "Zend/zend_language_scanner.c"
 yy764:
                YYDEBUG(764, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7249,11 +7227,11 @@ yy765:
                }
                YYDEBUG(766, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 895 "Zend/zend_language_scanner.l"
+#line 880 "Zend/zend_language_scanner.l"
                {
        return T_CATCH;
 }
-#line 7257 "Zend/zend_language_scanner.c"
+#line 7235 "Zend/zend_language_scanner.c"
 yy767:
                YYDEBUG(767, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7310,11 +7288,11 @@ yy776:
                }
                YYDEBUG(777, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 879 "Zend/zend_language_scanner.l"
+#line 864 "Zend/zend_language_scanner.l"
                {
        return T_FUNCTION;
 }
-#line 7318 "Zend/zend_language_scanner.c"
+#line 7296 "Zend/zend_language_scanner.c"
 yy778:
                YYDEBUG(778, *YYCURSOR);
                ++YYCURSOR;
@@ -7338,11 +7316,11 @@ yy778:
 yy779:
                YYDEBUG(779, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 931 "Zend/zend_language_scanner.l"
+#line 916 "Zend/zend_language_scanner.l"
                {
        return T_FOR;
 }
-#line 7346 "Zend/zend_language_scanner.c"
+#line 7324 "Zend/zend_language_scanner.c"
 yy780:
                YYDEBUG(780, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7366,11 +7344,11 @@ yy783:
                }
                YYDEBUG(784, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 939 "Zend/zend_language_scanner.l"
+#line 924 "Zend/zend_language_scanner.l"
                {
        return T_FOREACH;
 }
-#line 7374 "Zend/zend_language_scanner.c"
+#line 7352 "Zend/zend_language_scanner.c"
 yy785:
                YYDEBUG(785, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7400,11 +7378,11 @@ yy789:
                }
                YYDEBUG(790, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1157 "Zend/zend_language_scanner.l"
+#line 1142 "Zend/zend_language_scanner.l"
                {
        return T_FINAL;
 }
-#line 7408 "Zend/zend_language_scanner.c"
+#line 7386 "Zend/zend_language_scanner.c"
 yy791:
                YYDEBUG(791, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7450,11 +7428,11 @@ yy793:
 yy794:
                YYDEBUG(794, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 927 "Zend/zend_language_scanner.l"
+#line 912 "Zend/zend_language_scanner.l"
                {
        return T_DO;
 }
-#line 7458 "Zend/zend_language_scanner.c"
+#line 7436 "Zend/zend_language_scanner.c"
 yy795:
                YYDEBUG(795, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7479,11 +7457,11 @@ yy798:
                }
                YYDEBUG(799, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 875 "Zend/zend_language_scanner.l"
+#line 860 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7487 "Zend/zend_language_scanner.c"
+#line 7465 "Zend/zend_language_scanner.c"
 yy800:
                YYDEBUG(800, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7518,11 +7496,11 @@ yy805:
                }
                YYDEBUG(806, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 975 "Zend/zend_language_scanner.l"
+#line 960 "Zend/zend_language_scanner.l"
                {
        return T_DEFAULT;
 }
-#line 7526 "Zend/zend_language_scanner.c"
+#line 7504 "Zend/zend_language_scanner.c"
 yy807:
                YYDEBUG(807, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7546,11 +7524,11 @@ yy810:
                }
                YYDEBUG(811, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 947 "Zend/zend_language_scanner.l"
+#line 932 "Zend/zend_language_scanner.l"
                {
        return T_DECLARE;
 }
-#line 7554 "Zend/zend_language_scanner.c"
+#line 7532 "Zend/zend_language_scanner.c"
 yy812:
                YYDEBUG(812, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7630,11 +7608,11 @@ yy823:
                }
                YYDEBUG(824, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1011 "Zend/zend_language_scanner.l"
+#line 996 "Zend/zend_language_scanner.l"
                {
        return T_EXTENDS;
 }
-#line 7638 "Zend/zend_language_scanner.c"
+#line 7616 "Zend/zend_language_scanner.c"
 yy825:
                YYDEBUG(825, *YYCURSOR);
                ++YYCURSOR;
@@ -7643,11 +7621,11 @@ yy825:
                }
                YYDEBUG(826, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 871 "Zend/zend_language_scanner.l"
+#line 856 "Zend/zend_language_scanner.l"
                {
        return T_EXIT;
 }
-#line 7651 "Zend/zend_language_scanner.c"
+#line 7629 "Zend/zend_language_scanner.c"
 yy827:
                YYDEBUG(827, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7661,11 +7639,11 @@ yy828:
                }
                YYDEBUG(829, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1101 "Zend/zend_language_scanner.l"
+#line 1086 "Zend/zend_language_scanner.l"
                {
        return T_EVAL;
 }
-#line 7669 "Zend/zend_language_scanner.c"
+#line 7647 "Zend/zend_language_scanner.c"
 yy830:
                YYDEBUG(830, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7735,11 +7713,11 @@ yy839:
                }
                YYDEBUG(840, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 923 "Zend/zend_language_scanner.l"
+#line 908 "Zend/zend_language_scanner.l"
                {
        return T_ENDWHILE;
 }
-#line 7743 "Zend/zend_language_scanner.c"
+#line 7721 "Zend/zend_language_scanner.c"
 yy841:
                YYDEBUG(841, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7768,11 +7746,11 @@ yy845:
                }
                YYDEBUG(846, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 967 "Zend/zend_language_scanner.l"
+#line 952 "Zend/zend_language_scanner.l"
                {
        return T_ENDSWITCH;
 }
-#line 7776 "Zend/zend_language_scanner.c"
+#line 7754 "Zend/zend_language_scanner.c"
 yy847:
                YYDEBUG(847, *YYCURSOR);
                ++YYCURSOR;
@@ -7781,11 +7759,11 @@ yy847:
                }
                YYDEBUG(848, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 911 "Zend/zend_language_scanner.l"
+#line 896 "Zend/zend_language_scanner.l"
                {
        return T_ENDIF;
 }
-#line 7789 "Zend/zend_language_scanner.c"
+#line 7767 "Zend/zend_language_scanner.c"
 yy849:
                YYDEBUG(849, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7814,11 +7792,11 @@ yy850:
 yy851:
                YYDEBUG(851, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 935 "Zend/zend_language_scanner.l"
+#line 920 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOR;
 }
-#line 7822 "Zend/zend_language_scanner.c"
+#line 7800 "Zend/zend_language_scanner.c"
 yy852:
                YYDEBUG(852, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7842,11 +7820,11 @@ yy855:
                }
                YYDEBUG(856, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 943 "Zend/zend_language_scanner.l"
+#line 928 "Zend/zend_language_scanner.l"
                {
        return T_ENDFOREACH;
 }
-#line 7850 "Zend/zend_language_scanner.c"
+#line 7828 "Zend/zend_language_scanner.c"
 yy857:
                YYDEBUG(857, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7880,11 +7858,11 @@ yy862:
                }
                YYDEBUG(863, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 951 "Zend/zend_language_scanner.l"
+#line 936 "Zend/zend_language_scanner.l"
                {
        return T_ENDDECLARE;
 }
-#line 7888 "Zend/zend_language_scanner.c"
+#line 7866 "Zend/zend_language_scanner.c"
 yy864:
                YYDEBUG(864, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7903,11 +7881,11 @@ yy866:
                }
                YYDEBUG(867, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1141 "Zend/zend_language_scanner.l"
+#line 1126 "Zend/zend_language_scanner.l"
                {
        return T_EMPTY;
 }
-#line 7911 "Zend/zend_language_scanner.c"
+#line 7889 "Zend/zend_language_scanner.c"
 yy868:
                YYDEBUG(868, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7936,11 +7914,11 @@ yy869:
 yy870:
                YYDEBUG(870, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 915 "Zend/zend_language_scanner.l"
+#line 900 "Zend/zend_language_scanner.l"
                {
        return T_ELSE;
 }
-#line 7944 "Zend/zend_language_scanner.c"
+#line 7922 "Zend/zend_language_scanner.c"
 yy871:
                YYDEBUG(871, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7954,11 +7932,11 @@ yy872:
                }
                YYDEBUG(873, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 907 "Zend/zend_language_scanner.l"
+#line 892 "Zend/zend_language_scanner.l"
                {
        return T_ELSEIF;
 }
-#line 7962 "Zend/zend_language_scanner.c"
+#line 7940 "Zend/zend_language_scanner.c"
 yy874:
                YYDEBUG(874, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -7972,11 +7950,11 @@ yy875:
                }
                YYDEBUG(876, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 991 "Zend/zend_language_scanner.l"
+#line 976 "Zend/zend_language_scanner.l"
                {
        return T_ECHO;
 }
-#line 7980 "Zend/zend_language_scanner.c"
+#line 7958 "Zend/zend_language_scanner.c"
        }
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -8049,7 +8027,7 @@ yy879:
 yy880:
                YYDEBUG(880, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
+#line 1009 "Zend/zend_language_scanner.l"
                {
        zendlval->value.str.val = yytext; /* no copying - intentional */
        zendlval->value.str.len = yyleng;
@@ -8057,7 +8035,7 @@ yy880:
        HANDLE_NEWLINES(yytext, yyleng);
        return T_WHITESPACE;
 }
-#line 8061 "Zend/zend_language_scanner.c"
+#line 8039 "Zend/zend_language_scanner.c"
 yy881:
                YYDEBUG(881, *YYCURSOR);
                ++YYCURSOR;
@@ -8065,13 +8043,13 @@ yy881:
 yy882:
                YYDEBUG(882, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1043 "Zend/zend_language_scanner.l"
+#line 1028 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        goto restart;
 }
-#line 8075 "Zend/zend_language_scanner.c"
+#line 8053 "Zend/zend_language_scanner.c"
 yy883:
                YYDEBUG(883, *YYCURSOR);
                ++YYCURSOR;
@@ -8080,14 +8058,14 @@ yy883:
 yy884:
                YYDEBUG(884, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1036 "Zend/zend_language_scanner.l"
+#line 1021 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8091 "Zend/zend_language_scanner.c"
+#line 8069 "Zend/zend_language_scanner.c"
 yy885:
                YYDEBUG(885, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8108,11 +8086,11 @@ yy888:
                ++YYCURSOR;
                YYDEBUG(889, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1032 "Zend/zend_language_scanner.l"
+#line 1017 "Zend/zend_language_scanner.l"
                {
        return T_OBJECT_OPERATOR;
 }
-#line 8116 "Zend/zend_language_scanner.c"
+#line 8094 "Zend/zend_language_scanner.c"
 yy890:
                YYDEBUG(890, *YYCURSOR);
                ++YYCURSOR;
@@ -8182,7 +8160,7 @@ yy894:
 yy895:
                YYDEBUG(895, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1375 "Zend/zend_language_scanner.l"
+#line 1360 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
@@ -8190,20 +8168,20 @@ yy895:
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        return T_STRING_VARNAME;
 }
-#line 8194 "Zend/zend_language_scanner.c"
+#line 8172 "Zend/zend_language_scanner.c"
 yy896:
                YYDEBUG(896, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(897, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1384 "Zend/zend_language_scanner.l"
+#line 1369 "Zend/zend_language_scanner.l"
                {
        yyless(0);
        yy_pop_state(TSRMLS_C);
        yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
        goto restart;
 }
-#line 8207 "Zend/zend_language_scanner.c"
+#line 8185 "Zend/zend_language_scanner.c"
 yy898:
                YYDEBUG(898, *YYCURSOR);
                ++YYCURSOR;
@@ -8225,7 +8203,7 @@ yyc_ST_NOWDOC:
        ++YYCURSOR;
        YYDEBUG(903, *YYCURSOR);
        yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "Zend/zend_language_scanner.l"
+#line 2196 "Zend/zend_language_scanner.l"
        {
        int newline = 0;
 
@@ -8280,7 +8258,7 @@ nowdoc_scan_done:
        HANDLE_NEWLINES(yytext, yyleng - newline);
        return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8284 "Zend/zend_language_scanner.c"
+#line 8262 "Zend/zend_language_scanner.c"
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
        {
@@ -8380,7 +8358,7 @@ yy906:
 yy907:
                YYDEBUG(907, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1434 "Zend/zend_language_scanner.l"
+#line 1419 "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);
@@ -8392,7 +8370,7 @@ yy907:
        }
        return T_NUM_STRING;
 }
-#line 8396 "Zend/zend_language_scanner.c"
+#line 8374 "Zend/zend_language_scanner.c"
 yy908:
                YYDEBUG(908, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8412,23 +8390,23 @@ yy909:
 yy910:
                YYDEBUG(910, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1744 "Zend/zend_language_scanner.l"
+#line 1724 "Zend/zend_language_scanner.l"
                {
        /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
        return yytext[0];
 }
-#line 8421 "Zend/zend_language_scanner.c"
+#line 8399 "Zend/zend_language_scanner.c"
 yy911:
                YYDEBUG(911, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(912, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1739 "Zend/zend_language_scanner.l"
+#line 1719 "Zend/zend_language_scanner.l"
                {
        yy_pop_state(TSRMLS_C);
        return ']';
 }
-#line 8432 "Zend/zend_language_scanner.c"
+#line 8410 "Zend/zend_language_scanner.c"
 yy913:
                YYDEBUG(913, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -8438,14 +8416,14 @@ yy914:
                ++YYCURSOR;
                YYDEBUG(915, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1749 "Zend/zend_language_scanner.l"
+#line 1729 "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 8449 "Zend/zend_language_scanner.c"
+#line 8427 "Zend/zend_language_scanner.c"
 yy916:
                YYDEBUG(916, *YYCURSOR);
                ++YYCURSOR;
@@ -8454,19 +8432,19 @@ yy916:
 yy917:
                YYDEBUG(917, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1756 "Zend/zend_language_scanner.l"
+#line 1736 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, yytext, yyleng);
        zendlval->type = IS_STRING;
        return T_STRING;
 }
-#line 8464 "Zend/zend_language_scanner.c"
+#line 8442 "Zend/zend_language_scanner.c"
 yy918:
                YYDEBUG(918, *YYCURSOR);
                ++YYCURSOR;
                YYDEBUG(919, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 2274 "Zend/zend_language_scanner.l"
+#line 2252 "Zend/zend_language_scanner.l"
                {
        if (YYCURSOR > YYLIMIT) {
                return 0;
@@ -8475,7 +8453,7 @@ yy918:
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
        goto restart;
 }
-#line 8479 "Zend/zend_language_scanner.c"
+#line 8457 "Zend/zend_language_scanner.c"
 yy920:
                YYDEBUG(920, *YYCURSOR);
                ++YYCURSOR;
@@ -8511,13 +8489,13 @@ yy922:
 yy924:
                YYDEBUG(924, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1733 "Zend/zend_language_scanner.l"
+#line 1713 "Zend/zend_language_scanner.l"
                {
        zend_copy_value(zendlval, (yytext+1), (yyleng-1));
        zendlval->type = IS_STRING;
        return T_VARIABLE;
 }
-#line 8521 "Zend/zend_language_scanner.c"
+#line 8499 "Zend/zend_language_scanner.c"
 yy925:
                YYDEBUG(925, *YYCURSOR);
                ++YYCURSOR;
@@ -8549,14 +8527,14 @@ yy929:
 yy931:
                YYDEBUG(931, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
-#line 1446 "Zend/zend_language_scanner.l"
+#line 1431 "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 8560 "Zend/zend_language_scanner.c"
+#line 8538 "Zend/zend_language_scanner.c"
 yy932:
                YYDEBUG(932, *YYCURSOR);
                ++YYCURSOR;
@@ -8569,6 +8547,6 @@ yy932:
                goto yy931;
        }
 }
-#line 2283 "Zend/zend_language_scanner.l"
+#line 2261 "Zend/zend_language_scanner.l"
 
 }
index e4aeb72fb563805c5190e7544c5e2b73849c21be..49cd2e1bff47926aba1afa6fba42b5bda4ea53e9 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Sep 15 18:53:44 2010 */
+/* Generated by re2c 0.13.5 on Wed Nov 24 08:41:46 2010 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {