From: Dmitry Stogov Date: Thu, 12 May 2016 22:40:15 +0000 (+0300) Subject: Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path... X-Git-Tag: php-7.1.0alpha1~147 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ccf18da450881bee09e966c0a7fa4d67840d9e38;p=php Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers. This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization. Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction. --- diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index b4cb05f616..c534088b58 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3489,24 +3489,6 @@ int zend_compile_func_cuf(znode *result, zend_ast_list *args, zend_string *lcnam } /* }}} */ -static void zend_compile_assert_side_effects(zend_ast *ast) /* {{{ */ -{ - int i; - int children = zend_ast_is_list(ast) ? zend_ast_get_list(ast)->children : zend_ast_get_num_children(ast); - - for (i = 0; i < children; i++) { - zend_ast *child = (zend_ast_is_list(ast) ? zend_ast_get_list(ast)->child : ast->child)[i]; - if (child) { - if (child->kind == ZEND_AST_YIELD) { - zend_mark_function_as_generator(); - } else if (ast->kind >= ZEND_AST_IS_LIST_SHIFT) { - zend_compile_assert_side_effects(child); - } - } - } -} -/* }}} */ - static int zend_compile_assert(znode *result, zend_ast_list *args, zend_string *name, zend_function *fbc) /* {{{ */ { if (EG(assertions) >= 0) { @@ -3549,8 +3531,6 @@ static int zend_compile_assert(znode *result, zend_ast_list *args, zend_string * } result->op_type = IS_CONST; ZVAL_TRUE(&result->u.constant); - - zend_compile_assert_side_effects((zend_ast *) args); } return SUCCESS; @@ -5411,6 +5391,10 @@ void zend_compile_func_decl(znode *result, zend_ast *ast) /* {{{ */ } zend_compile_params(params_ast, return_type_ast); + if (CG(active_op_array)->fn_flags & ZEND_ACC_GENERATOR) { + zend_mark_function_as_generator(); + zend_emit_op(NULL, ZEND_GENERATOR_CREATE, NULL, NULL); + } if (uses_ast) { zend_compile_closure_uses(uses_ast); } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index f52d22a384..81fb6c7a03 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -473,8 +473,10 @@ struct _zend_execute_data { #define ZEND_CALL_RELEASE_THIS (1 << 6) #define ZEND_CALL_ALLOCATED (1 << 7) +#define ZEND_CALL_INFO_SHIFT 24 + #define ZEND_CALL_INFO(call) \ - (Z_TYPE_INFO((call)->This) >> 24) + (Z_TYPE_INFO((call)->This) >> ZEND_CALL_INFO_SHIFT) #define ZEND_CALL_KIND_EX(call_info) \ (call_info & (ZEND_CALL_CODE | ZEND_CALL_TOP)) @@ -483,11 +485,11 @@ struct _zend_execute_data { ZEND_CALL_KIND_EX(ZEND_CALL_INFO(call)) #define ZEND_SET_CALL_INFO(call, object, info) do { \ - Z_TYPE_INFO((call)->This) = ((object) ? IS_OBJECT_EX : IS_UNDEF) | ((info) << 24); \ + Z_TYPE_INFO((call)->This) = ((object) ? IS_OBJECT_EX : IS_UNDEF) | ((info) << ZEND_CALL_INFO_SHIFT); \ } while (0) #define ZEND_ADD_CALL_FLAG_EX(call_info, flag) do { \ - call_info |= ((flag) << 24); \ + call_info |= ((flag) << ZEND_CALL_INFO_SHIFT); \ } while (0) #define ZEND_ADD_CALL_FLAG(call, flag) do { \ diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 0bc21e57ac..0da6b32ef9 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2335,50 +2335,6 @@ static zend_always_inline void i_init_execute_data(zend_execute_data *execute_da } /* }}} */ -ZEND_API zend_execute_data *zend_create_generator_execute_data(zend_execute_data *call, zend_op_array *op_array, zval *return_value) /* {{{ */ -{ - /* - * Normally the execute_data is allocated on the VM stack (because it does - * not actually do any allocation and thus is faster). For generators - * though this behavior would be suboptimal, because the (rather large) - * structure would have to be copied back and forth every time execution is - * suspended or resumed. That's why for generators the execution context - * is allocated using a separate VM stack frame. - */ - zend_execute_data *execute_data; - uint32_t num_args = ZEND_CALL_NUM_ARGS(call); - uint32_t used_stack = (ZEND_CALL_FRAME_SLOT + num_args + op_array->last_var + op_array->T - MIN(op_array->num_args, num_args)) * sizeof(zval); - - execute_data = (zend_execute_data*)emalloc(used_stack); - ZEND_SET_CALL_INFO(execute_data, Z_TYPE(call->This) == IS_OBJECT, ZEND_CALL_TOP_FUNCTION | ZEND_CALL_ALLOCATED | (ZEND_CALL_INFO(call) & (ZEND_CALL_CLOSURE|ZEND_CALL_RELEASE_THIS))); - EX(func) = (zend_function*)op_array; - Z_OBJ(EX(This)) = Z_OBJ(call->This); - ZEND_CALL_NUM_ARGS(execute_data) = num_args; - EX(prev_execute_data) = NULL; - - /* copy arguments */ - if (num_args > 0) { - zval *arg_src = ZEND_CALL_ARG(call, 1); - zval *arg_dst = ZEND_CALL_ARG(execute_data, 1); - zval *end = arg_src + num_args; - - do { - ZVAL_COPY_VALUE(arg_dst, arg_src); - arg_src++; - arg_dst++; - } while (arg_src != end); - } - - if (UNEXPECTED(!op_array->run_time_cache)) { - init_func_run_time_cache(op_array); - } - - i_init_func_execute_data(execute_data, op_array, return_value, 1); - - return execute_data; -} -/* }}} */ - ZEND_API void zend_init_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value) /* {{{ */ { EX(prev_execute_data) = EG(current_execute_data); diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index 88c9461dc5..a1d1b0a71b 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -37,7 +37,6 @@ void init_executor(void); void shutdown_executor(void); void shutdown_destructors(void); ZEND_API void zend_init_execute_data(zend_execute_data *execute_data, zend_op_array *op_array, zval *return_value); -ZEND_API zend_execute_data *zend_create_generator_execute_data(zend_execute_data *call, zend_op_array *op_array, zval *return_value); ZEND_API void zend_execute(zend_op_array *op_array, zval *return_value); ZEND_API void execute_ex(zend_execute_data *execute_data); ZEND_API void execute_internal(zend_execute_data *execute_data, zval *return_value); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index b98e83be52..9817a5f88e 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -834,12 +834,8 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) / if (func->type == ZEND_USER_FUNCTION) { int call_via_handler = (func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) != 0; - if (EXPECTED((func->op_array.fn_flags & ZEND_ACC_GENERATOR) == 0)) { - zend_init_execute_data(call, &func->op_array, fci->retval); - zend_execute_ex(call); - } else { - zend_generator_create_zval(call, &func->op_array, fci->retval); - } + zend_init_execute_data(call, &func->op_array, fci->retval); + zend_execute_ex(call); if (call_via_handler) { /* We must re-initialize function again */ fci_cache->initialized = 0; diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 5f8a6b2ce4..8460b9da14 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -379,38 +379,6 @@ static zend_object *zend_generator_create(zend_class_entry *class_type) /* {{{ * } /* }}} */ -/* Requires globals EG(current_execute_data). */ -ZEND_API void zend_generator_create_zval(zend_execute_data *call, zend_op_array *op_array, zval *return_value) /* {{{ */ -{ - zend_generator *generator; - zend_execute_data *current_execute_data; - zend_execute_data *execute_data; - - /* Create new execution context. We have to back up and restore EG(current_execute_data) here. */ - current_execute_data = EG(current_execute_data); - execute_data = zend_create_generator_execute_data(call, op_array, return_value); - EG(current_execute_data) = current_execute_data; - - object_init_ex(return_value, zend_ce_generator); - - if (Z_TYPE(EX(This)) == IS_OBJECT && !(EX_CALL_INFO() & ZEND_CALL_CLOSURE)) { - ZEND_ADD_CALL_FLAG(execute_data, ZEND_CALL_RELEASE_THIS); - Z_ADDREF(EX(This)); - } - - /* Save execution context in generator object. */ - generator = (zend_generator *) Z_OBJ_P(return_value); - generator->execute_data = execute_data; - generator->frozen_call_stack = NULL; - - /* EX(return_value) keeps pointer to zend_object (not a real zval) */ - execute_data->return_value = (zval*)generator; - - memset(&generator->execute_fake, 0, sizeof(zend_execute_data)); - ZVAL_OBJ(&generator->execute_fake.This, (zend_object *) generator); -} -/* }}} */ - static ZEND_COLD zend_function *zend_generator_get_constructor(zend_object *object) /* {{{ */ { zend_throw_error(NULL, "The \"Generator\" class is reserved for internal use and cannot be manually instantiated"); diff --git a/Zend/zend_generators.h b/Zend/zend_generators.h index 4e6241fc02..6aabcc6a4d 100644 --- a/Zend/zend_generators.h +++ b/Zend/zend_generators.h @@ -102,7 +102,6 @@ static const zend_uchar ZEND_GENERATOR_AT_FIRST_YIELD = 0x4; static const zend_uchar ZEND_GENERATOR_DO_INIT = 0x8; void zend_register_generator_ce(void); -ZEND_API void zend_generator_create_zval(zend_execute_data *call, zend_op_array *op_array, zval *return_value); ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished_execution); ZEND_API void zend_generator_resume(zend_generator *generator); diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 59ba3477a2..b560038b7a 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -101,6 +101,7 @@ struct _zend_compiler_globals { zend_bool increment_lineno; zend_string *doc_comment; + uint32_t extra_fn_flags; uint32_t compiler_options; /* set of ZEND_COMPILE_* constants */ diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index fb2f67adbe..bedb7e62bc 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -257,7 +257,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); %type returns_ref function is_reference is_variadic variable_modifiers %type method_modifiers non_empty_member_modifiers member_modifier -%type class_modifiers class_modifier use_type +%type class_modifiers class_modifier use_type backup_fn_flags %type backup_doc_comment @@ -481,9 +481,9 @@ unset_variable: function_declaration_statement: function returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type - '{' inner_statement_list '}' - { $$ = zend_ast_create_decl(ZEND_AST_FUNC_DECL, $2, $1, $4, - zend_ast_get_str($3), $6, NULL, $10, $8); } + backup_fn_flags '{' inner_statement_list '}' backup_fn_flags + { $$ = zend_ast_create_decl(ZEND_AST_FUNC_DECL, $2 | $13, $1, $4, + zend_ast_get_str($3), $6, NULL, $11, $8); CG(extra_fn_flags) = $9; } ; is_reference: @@ -713,9 +713,9 @@ class_statement: | T_USE name_list trait_adaptations { $$ = zend_ast_create(ZEND_AST_USE_TRAIT, $2, $3); } | method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' - return_type method_body - { $$ = zend_ast_create_decl(ZEND_AST_METHOD, $3 | $1, $2, $5, - zend_ast_get_str($4), $7, NULL, $10, $9); } + return_type backup_fn_flags method_body backup_fn_flags + { $$ = zend_ast_create_decl(ZEND_AST_METHOD, $3 | $1 | $12, $2, $5, + zend_ast_get_str($4), $7, NULL, $11, $9); CG(extra_fn_flags) = $10; } ; name_list: @@ -962,20 +962,20 @@ expr_without_variable: | scalar { $$ = $1; } | '`' backticks_expr '`' { $$ = zend_ast_create(ZEND_AST_SHELL_EXEC, $2); } | T_PRINT expr { $$ = zend_ast_create(ZEND_AST_PRINT, $2); } - | T_YIELD { $$ = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); } - | T_YIELD expr { $$ = zend_ast_create(ZEND_AST_YIELD, $2, NULL); } - | T_YIELD expr T_DOUBLE_ARROW expr { $$ = zend_ast_create(ZEND_AST_YIELD, $4, $2); } - | T_YIELD_FROM expr { $$ = zend_ast_create(ZEND_AST_YIELD_FROM, $2); } + | T_YIELD { $$ = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; } + | T_YIELD expr { $$ = zend_ast_create(ZEND_AST_YIELD, $2, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; } + | T_YIELD expr T_DOUBLE_ARROW expr { $$ = zend_ast_create(ZEND_AST_YIELD, $4, $2); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; } + | T_YIELD_FROM expr { $$ = zend_ast_create(ZEND_AST_YIELD_FROM, $2); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; } | function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type - '{' inner_statement_list '}' - { $$ = zend_ast_create_decl(ZEND_AST_CLOSURE, $2, $1, $3, + backup_fn_flags '{' inner_statement_list '}' backup_fn_flags + { $$ = zend_ast_create_decl(ZEND_AST_CLOSURE, $2 | $13, $1, $3, zend_string_init("{closure}", sizeof("{closure}") - 1, 0), - $5, $7, $10, $8); } + $5, $7, $11, $8); CG(extra_fn_flags) = $9; } | T_STATIC function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars - return_type '{' inner_statement_list '}' - { $$ = zend_ast_create_decl(ZEND_AST_CLOSURE, $3 | ZEND_ACC_STATIC, $2, $4, + return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags + { $$ = zend_ast_create_decl(ZEND_AST_CLOSURE, $3 | $14 | ZEND_ACC_STATIC, $2, $4, zend_string_init("{closure}", sizeof("{closure}") - 1, 0), - $6, $8, $11, $9); } + $6, $8, $12, $9); CG(extra_fn_flags) = $10; } ; function: @@ -986,6 +986,10 @@ backup_doc_comment: /* empty */ { $$ = CG(doc_comment); CG(doc_comment) = NULL; } ; +backup_fn_flags: + /* empty */ { $$ = CG(extra_fn_flags); CG(extra_fn_flags) = 0; } +; + returns_ref: /* empty */ { $$ = 0; } | '&' { $$ = ZEND_ACC_RETURN_REFERENCE; } diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 02b1334844..18245888b7 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 */ +/* Generated by re2c 0.13.5 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -180,6 +180,7 @@ void startup_scanner(void) { CG(parse_error) = 0; CG(doc_comment) = NULL; + CG(extra_fn_flags) = 0; zend_stack_init(&SCNG(state_stack), sizeof(int)); zend_ptr_stack_init(&SCNG(heredoc_label_stack)); } @@ -1093,7 +1094,7 @@ restart: SCNG(yy_text) = YYCURSOR; -#line 1097 "Zend/zend_language_scanner.c" +#line 1098 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1136,17 +1137,18 @@ restart: } /* *********************************** */ yyc_INITIAL: - YYDEBUG(1, *YYCURSOR); + + YYDEBUG(0, *YYCURSOR); YYFILL(7); yych = *YYCURSOR; - if (yych != '<') goto yy5; - YYDEBUG(3, *YYCURSOR); + if (yych != '<') goto yy4; + YYDEBUG(2, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '?') goto yy6; -yy4: - YYDEBUG(4, *YYCURSOR); + if ((yych = *YYCURSOR) == '?') goto yy5; +yy3: + YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1789 "Zend/zend_language_scanner.l" +#line 1790 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -1191,24 +1193,25 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_INLINE_HTML); } -#line 1195 "Zend/zend_language_scanner.c" +#line 1197 "Zend/zend_language_scanner.c" +yy4: + YYDEBUG(4, *YYCURSOR); + yych = *++YYCURSOR; + goto yy3; yy5: YYDEBUG(5, *YYCURSOR); - yych = *++YYCURSOR; - goto yy4; -yy6: - YYDEBUG(6, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { - if (yych == '=') goto yy8; + if (yych == '=') goto yy7; } else { - if (yych <= 'P') goto yy10; - if (yych == 'p') goto yy10; + if (yych <= 'P') goto yy9; + if (yych == 'p') goto yy9; } -yy7: - YYDEBUG(7, *YYCURSOR); +yy6: + YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1780 "Zend/zend_language_scanner.l" +#line 1781 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -1217,60 +1220,60 @@ yy7: goto inline_char_handler; } } -#line 1221 "Zend/zend_language_scanner.c" -yy8: - YYDEBUG(8, *YYCURSOR); +#line 1224 "Zend/zend_language_scanner.c" +yy7: + YYDEBUG(7, *YYCURSOR); ++YYCURSOR; - YYDEBUG(9, *YYCURSOR); + YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1767 "Zend/zend_language_scanner.l" +#line 1768 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); } -#line 1232 "Zend/zend_language_scanner.c" +#line 1235 "Zend/zend_language_scanner.c" +yy9: + YYDEBUG(9, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy11; + if (yych == 'h') goto yy11; yy10: YYDEBUG(10, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy12; - if (yych == 'h') goto yy12; + YYCURSOR = YYMARKER; + goto yy6; yy11: YYDEBUG(11, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy7; + yych = *++YYCURSOR; + if (yych == 'P') goto yy12; + if (yych != 'p') goto yy10; yy12: YYDEBUG(12, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy13; - if (yych != 'p') goto yy11; -yy13: - YYDEBUG(13, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '\f') { - if (yych <= 0x08) goto yy11; - if (yych >= '\v') goto yy11; + if (yych <= 0x08) goto yy10; + if (yych >= '\v') goto yy10; } else { - if (yych <= '\r') goto yy16; - if (yych != ' ') goto yy11; + if (yych <= '\r') goto yy15; + if (yych != ' ') goto yy10; } +yy13: + YYDEBUG(13, *YYCURSOR); + ++YYCURSOR; yy14: YYDEBUG(14, *YYCURSOR); - ++YYCURSOR; -yy15: - YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1773 "Zend/zend_language_scanner.l" +#line 1774 "Zend/zend_language_scanner.l" { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG); } -#line 1269 "Zend/zend_language_scanner.c" -yy16: - YYDEBUG(16, *YYCURSOR); +#line 1272 "Zend/zend_language_scanner.c" +yy15: + YYDEBUG(15, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy14; - goto yy15; + if ((yych = *YYCURSOR) == '\n') goto yy13; + goto yy14; /* *********************************** */ yyc_ST_BACKQUOTE: { @@ -1308,34 +1311,34 @@ yyc_ST_BACKQUOTE: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(17, *YYCURSOR); + YYDEBUG(16, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych != '$') goto yy24; + if (yych != '$') goto yy23; } else { - if (yych <= '`') goto yy22; - if (yych == '{') goto yy21; - goto yy24; + if (yych <= '`') goto yy21; + if (yych == '{') goto yy20; + goto yy23; } - YYDEBUG(19, *YYCURSOR); + YYDEBUG(18, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy20; - if (yych <= 'Z') goto yy27; - if (yych >= '_') goto yy27; + if (yych <= '@') goto yy19; + if (yych <= 'Z') goto yy26; + if (yych >= '_') goto yy26; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy27; + if (yych >= 'a') goto yy26; } else { - if (yych <= '{') goto yy30; - if (yych >= 0x80) goto yy27; + if (yych <= '{') goto yy29; + if (yych >= 0x80) goto yy26; } } -yy20: - YYDEBUG(20, *YYCURSOR); +yy19: + YYDEBUG(19, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2199 "Zend/zend_language_scanner.l" +#line 2200 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -1376,118 +1379,118 @@ yy20: zend_scan_escape_string(zendlval, yytext, yyleng, '`'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1380 "Zend/zend_language_scanner.c" +#line 1383 "Zend/zend_language_scanner.c" +yy20: + YYDEBUG(20, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy24; + goto yy19; yy21: YYDEBUG(21, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy25; - goto yy20; -yy22: - YYDEBUG(22, *YYCURSOR); ++YYCURSOR; - YYDEBUG(23, *YYCURSOR); + YYDEBUG(22, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2143 "Zend/zend_language_scanner.l" +#line 2144 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); } -#line 1396 "Zend/zend_language_scanner.c" +#line 1399 "Zend/zend_language_scanner.c" +yy23: + YYDEBUG(23, *YYCURSOR); + yych = *++YYCURSOR; + goto yy19; yy24: YYDEBUG(24, *YYCURSOR); - yych = *++YYCURSOR; - goto yy20; -yy25: - YYDEBUG(25, *YYCURSOR); ++YYCURSOR; - YYDEBUG(26, *YYCURSOR); + YYDEBUG(25, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2130 "Zend/zend_language_scanner.l" +#line 2131 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1413 "Zend/zend_language_scanner.c" -yy27: - YYDEBUG(27, *YYCURSOR); +#line 1416 "Zend/zend_language_scanner.c" +yy26: + YYDEBUG(26, *YYCURSOR); + yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(28, *YYCURSOR); + YYDEBUG(27, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy27; + goto yy26; } - if (yych == '-') goto yy32; - if (yych <= '@') goto yy29; - if (yych <= '[') goto yy34; -yy29: - YYDEBUG(29, *YYCURSOR); + if (yych == '-') goto yy31; + if (yych == '[') goto yy33; +yy28: + YYDEBUG(28, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1434 "Zend/zend_language_scanner.c" -yy30: - YYDEBUG(30, *YYCURSOR); +#line 1437 "Zend/zend_language_scanner.c" +yy29: + YYDEBUG(29, *YYCURSOR); ++YYCURSOR; - YYDEBUG(31, *YYCURSOR); + YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1572 "Zend/zend_language_scanner.l" +#line 1573 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1445 "Zend/zend_language_scanner.c" +#line 1448 "Zend/zend_language_scanner.c" +yy31: + YYDEBUG(31, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy35; yy32: YYDEBUG(32, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy36; + YYCURSOR = YYMARKER; + goto yy28; yy33: YYDEBUG(33, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy29; -yy34: - YYDEBUG(34, *YYCURSOR); ++YYCURSOR; - YYDEBUG(35, *YYCURSOR); + YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1848 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1466 "Zend/zend_language_scanner.c" -yy36: - YYDEBUG(36, *YYCURSOR); +#line 1469 "Zend/zend_language_scanner.c" +yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy33; - if (yych <= 'Z') goto yy37; - if (yych <= '^') goto yy33; + if (yych <= '@') goto yy32; + if (yych <= 'Z') goto yy36; + if (yych <= '^') goto yy32; } else { - if (yych <= '`') goto yy33; - if (yych <= 'z') goto yy37; - if (yych <= 0x7F) goto yy33; + if (yych <= '`') goto yy32; + if (yych <= 'z') goto yy36; + if (yych <= 0x7F) goto yy32; } -yy37: - YYDEBUG(37, *YYCURSOR); +yy36: + YYDEBUG(36, *YYCURSOR); ++YYCURSOR; - YYDEBUG(38, *YYCURSOR); + YYDEBUG(37, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1838 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1491 "Zend/zend_language_scanner.c" +#line 1494 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1526,36 +1529,36 @@ yyc_ST_DOUBLE_QUOTES: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(39, *YYCURSOR); + YYDEBUG(38, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '#') { - if (yych == '"') goto yy44; - goto yy46; + if (yych == '"') goto yy43; + goto yy45; } else { - if (yych <= '$') goto yy41; - if (yych == '{') goto yy43; - goto yy46; + if (yych <= '$') goto yy40; + if (yych == '{') goto yy42; + goto yy45; } -yy41: - YYDEBUG(41, *YYCURSOR); +yy40: + YYDEBUG(40, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy42; - if (yych <= 'Z') goto yy49; - if (yych >= '_') goto yy49; + if (yych <= '@') goto yy41; + if (yych <= 'Z') goto yy48; + if (yych >= '_') goto yy48; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy49; + if (yych >= 'a') goto yy48; } else { - if (yych <= '{') goto yy52; - if (yych >= 0x80) goto yy49; + if (yych <= '{') goto yy51; + if (yych >= 0x80) goto yy48; } } -yy42: - YYDEBUG(42, *YYCURSOR); +yy41: + YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2149 "Zend/zend_language_scanner.l" +#line 2150 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1604,129 +1607,129 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1608 "Zend/zend_language_scanner.c" +#line 1611 "Zend/zend_language_scanner.c" +yy42: + YYDEBUG(42, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy46; + goto yy41; yy43: YYDEBUG(43, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy47; - goto yy42; -yy44: - YYDEBUG(44, *YYCURSOR); ++YYCURSOR; - YYDEBUG(45, *YYCURSOR); + YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2138 "Zend/zend_language_scanner.l" +#line 2139 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); } -#line 1624 "Zend/zend_language_scanner.c" +#line 1627 "Zend/zend_language_scanner.c" +yy45: + YYDEBUG(45, *YYCURSOR); + yych = *++YYCURSOR; + goto yy41; yy46: YYDEBUG(46, *YYCURSOR); - yych = *++YYCURSOR; - goto yy42; -yy47: - YYDEBUG(47, *YYCURSOR); ++YYCURSOR; - YYDEBUG(48, *YYCURSOR); + YYDEBUG(47, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2130 "Zend/zend_language_scanner.l" +#line 2131 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1641 "Zend/zend_language_scanner.c" -yy49: - YYDEBUG(49, *YYCURSOR); +#line 1644 "Zend/zend_language_scanner.c" +yy48: + YYDEBUG(48, *YYCURSOR); + yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(50, *YYCURSOR); + YYDEBUG(49, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy49; + goto yy48; } - if (yych == '-') goto yy54; - if (yych <= '@') goto yy51; - if (yych <= '[') goto yy56; -yy51: - YYDEBUG(51, *YYCURSOR); + if (yych == '-') goto yy53; + if (yych == '[') goto yy55; +yy50: + YYDEBUG(50, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1662 "Zend/zend_language_scanner.c" -yy52: - YYDEBUG(52, *YYCURSOR); +#line 1665 "Zend/zend_language_scanner.c" +yy51: + YYDEBUG(51, *YYCURSOR); ++YYCURSOR; - YYDEBUG(53, *YYCURSOR); + YYDEBUG(52, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1572 "Zend/zend_language_scanner.l" +#line 1573 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1673 "Zend/zend_language_scanner.c" +#line 1676 "Zend/zend_language_scanner.c" +yy53: + YYDEBUG(53, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy57; yy54: YYDEBUG(54, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy58; + YYCURSOR = YYMARKER; + goto yy50; yy55: YYDEBUG(55, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy51; -yy56: - YYDEBUG(56, *YYCURSOR); ++YYCURSOR; - YYDEBUG(57, *YYCURSOR); + YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1848 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1694 "Zend/zend_language_scanner.c" -yy58: - YYDEBUG(58, *YYCURSOR); +#line 1697 "Zend/zend_language_scanner.c" +yy57: + YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy55; - if (yych <= 'Z') goto yy59; - if (yych <= '^') goto yy55; + if (yych <= '@') goto yy54; + if (yych <= 'Z') goto yy58; + if (yych <= '^') goto yy54; } else { - if (yych <= '`') goto yy55; - if (yych <= 'z') goto yy59; - if (yych <= 0x7F) goto yy55; + if (yych <= '`') goto yy54; + if (yych <= 'z') goto yy58; + if (yych <= 0x7F) goto yy54; } -yy59: - YYDEBUG(59, *YYCURSOR); +yy58: + YYDEBUG(58, *YYCURSOR); ++YYCURSOR; - YYDEBUG(60, *YYCURSOR); + YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1838 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1719 "Zend/zend_language_scanner.c" +#line 1722 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: - YYDEBUG(61, *YYCURSOR); + YYDEBUG(60, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(63, *YYCURSOR); + YYDEBUG(62, *YYCURSOR); ++YYCURSOR; - YYDEBUG(64, *YYCURSOR); + YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2116 "Zend/zend_language_scanner.l" +#line 2117 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1739,7 +1742,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_END_HEREDOC); } -#line 1743 "Zend/zend_language_scanner.c" +#line 1746 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1777,31 +1780,31 @@ yyc_ST_HEREDOC: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(65, *YYCURSOR); + YYDEBUG(64, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych == '$') goto yy67; - if (yych == '{') goto yy69; - goto yy70; -yy67: - YYDEBUG(67, *YYCURSOR); + if (yych == '$') goto yy66; + if (yych == '{') goto yy68; + goto yy69; +yy66: + YYDEBUG(66, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy68; - if (yych <= 'Z') goto yy73; - if (yych >= '_') goto yy73; + if (yych <= '@') goto yy67; + if (yych <= 'Z') goto yy72; + if (yych >= '_') goto yy72; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy73; + if (yych >= 'a') goto yy72; } else { - if (yych <= '{') goto yy76; - if (yych >= 0x80) goto yy73; + if (yych <= '{') goto yy75; + if (yych >= 0x80) goto yy72; } } -yy68: - YYDEBUG(68, *YYCURSOR); +yy67: + YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2241 "Zend/zend_language_scanner.l" +#line 2242 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1874,107 +1877,107 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1878 "Zend/zend_language_scanner.c" +#line 1881 "Zend/zend_language_scanner.c" +yy68: + YYDEBUG(68, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '$') goto yy70; + goto yy67; yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '$') goto yy71; - goto yy68; + goto yy67; yy70: YYDEBUG(70, *YYCURSOR); - yych = *++YYCURSOR; - goto yy68; -yy71: - YYDEBUG(71, *YYCURSOR); ++YYCURSOR; - YYDEBUG(72, *YYCURSOR); + YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2130 "Zend/zend_language_scanner.l" +#line 2131 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1900 "Zend/zend_language_scanner.c" -yy73: - YYDEBUG(73, *YYCURSOR); +#line 1903 "Zend/zend_language_scanner.c" +yy72: + YYDEBUG(72, *YYCURSOR); + yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(74, *YYCURSOR); + YYDEBUG(73, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy73; + goto yy72; } - if (yych == '-') goto yy78; - if (yych <= '@') goto yy75; - if (yych <= '[') goto yy80; -yy75: - YYDEBUG(75, *YYCURSOR); + if (yych == '-') goto yy77; + if (yych == '[') goto yy79; +yy74: + YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1921 "Zend/zend_language_scanner.c" -yy76: - YYDEBUG(76, *YYCURSOR); +#line 1924 "Zend/zend_language_scanner.c" +yy75: + YYDEBUG(75, *YYCURSOR); ++YYCURSOR; - YYDEBUG(77, *YYCURSOR); + YYDEBUG(76, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1572 "Zend/zend_language_scanner.l" +#line 1573 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1932 "Zend/zend_language_scanner.c" +#line 1935 "Zend/zend_language_scanner.c" +yy77: + YYDEBUG(77, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '>') goto yy81; yy78: YYDEBUG(78, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy82; + YYCURSOR = YYMARKER; + goto yy74; yy79: YYDEBUG(79, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy75; -yy80: - YYDEBUG(80, *YYCURSOR); ++YYCURSOR; - YYDEBUG(81, *YYCURSOR); + YYDEBUG(80, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1848 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1953 "Zend/zend_language_scanner.c" -yy82: - YYDEBUG(82, *YYCURSOR); +#line 1956 "Zend/zend_language_scanner.c" +yy81: + YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy79; - if (yych <= 'Z') goto yy83; - if (yych <= '^') goto yy79; + if (yych <= '@') goto yy78; + if (yych <= 'Z') goto yy82; + if (yych <= '^') goto yy78; } else { - if (yych <= '`') goto yy79; - if (yych <= 'z') goto yy83; - if (yych <= 0x7F) goto yy79; + if (yych <= '`') goto yy78; + if (yych <= 'z') goto yy82; + if (yych <= 0x7F) goto yy78; } -yy83: - YYDEBUG(83, *YYCURSOR); +yy82: + YYDEBUG(82, *YYCURSOR); ++YYCURSOR; - YYDEBUG(84, *YYCURSOR); + YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1838 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1978 "Zend/zend_language_scanner.c" +#line 1981 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2013,9 +2016,10 @@ yyc_ST_IN_SCRIPTING: 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; - YYDEBUG(85, *YYCURSOR); + YYDEBUG(84, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; + YYDEBUG(-1, yych); switch (yych) { case 0x00: case 0x01: @@ -2046,32 +2050,32 @@ yyc_ST_IN_SCRIPTING: case 0x1D: case 0x1E: case 0x1F: - case 0x7F: goto yy148; + case 0x7F: goto yy147; case '\t': case '\n': case '\r': - case ' ': goto yy104; - case '!': goto yy119; - case '"': goto yy144; - case '#': goto yy140; - case '$': goto yy130; - case '%': goto yy124; - case '&': goto yy125; - case '\'': goto yy142; - case '(': goto yy113; + case ' ': goto yy103; + case '!': goto yy118; + case '"': goto yy143; + case '#': goto yy139; + case '$': goto yy129; + case '%': goto yy123; + case '&': goto yy124; + case '\'': goto yy141; + case '(': goto yy112; case ')': case ',': case ';': case '@': case '[': case ']': - case '~': goto yy131; - case '*': goto yy122; - case '+': goto yy118; - case '-': goto yy102; - case '.': goto yy109; - case '/': goto yy123; - case '0': goto yy136; + case '~': goto yy130; + case '*': goto yy121; + case '+': goto yy117; + case '-': goto yy101; + case '.': goto yy108; + case '/': goto yy122; + case '0': goto yy135; case '1': case '2': case '3': @@ -2080,593 +2084,594 @@ yyc_ST_IN_SCRIPTING: case '6': case '7': case '8': - case '9': goto yy138; - case ':': goto yy106; - case '<': goto yy120; - case '=': goto yy116; - case '>': goto yy121; - case '?': goto yy110; + case '9': goto yy137; + case ':': goto yy105; + case '<': goto yy119; + case '=': goto yy115; + case '>': goto yy120; + case '?': goto yy109; case 'A': - case 'a': goto yy97; + case 'a': goto yy96; case 'B': - case 'b': goto yy99; + case 'b': goto yy98; case 'C': - case 'c': goto yy91; + case 'c': goto yy90; case 'D': - case 'd': goto yy89; + case 'd': goto yy88; case 'E': - case 'e': goto yy87; + case 'e': goto yy86; case 'F': - case 'f': goto yy90; + case 'f': goto yy89; case 'G': - case 'g': goto yy100; + case 'g': goto yy99; case 'I': - case 'i': goto yy95; + case 'i': goto yy94; case 'L': - case 'l': goto yy117; + case 'l': goto yy116; case 'N': - case 'n': goto yy111; + case 'n': goto yy110; case 'O': - case 'o': goto yy128; + case 'o': goto yy127; case 'P': - case 'p': goto yy101; + case 'p': goto yy100; case 'R': - case 'r': goto yy92; + case 'r': goto yy91; case 'S': - case 's': goto yy98; + case 's': goto yy97; case 'T': - case 't': goto yy94; + case 't': goto yy93; case 'U': - case 'u': goto yy114; + case 'u': goto yy113; case 'V': - case 'v': goto yy112; + case 'v': goto yy111; case 'W': - case 'w': goto yy96; + case 'w': goto yy95; case 'X': - case 'x': goto yy129; + case 'x': goto yy128; case 'Y': - case 'y': goto yy93; - case '\\': goto yy107; - case '^': goto yy127; - case '_': goto yy115; - case '`': goto yy146; - case '{': goto yy132; - case '|': goto yy126; - case '}': goto yy134; - default: goto yy139; - } -yy87: - YYDEBUG(87, *YYCURSOR); - ++YYCURSOR; + case 'y': goto yy92; + case '\\': goto yy106; + case '^': goto yy126; + case '_': goto yy114; + case '`': goto yy145; + case '{': goto yy131; + case '|': goto yy125; + case '}': goto yy133; + default: goto yy138; + } +yy86: + YYDEBUG(86, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': - case 'c': goto yy705; + case 'c': goto yy704; case 'L': - case 'l': goto yy706; + case 'l': goto yy705; case 'M': - case 'm': goto yy707; + case 'm': goto yy706; case 'N': - case 'n': goto yy708; + case 'n': goto yy707; case 'V': - case 'v': goto yy709; + case 'v': goto yy708; case 'X': - case 'x': goto yy710; - default: goto yy151; + case 'x': goto yy709; + default: goto yy150; } -yy88: - YYDEBUG(88, *YYCURSOR); +yy87: + YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1877 "Zend/zend_language_scanner.l" +#line 1878 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 2165 "Zend/zend_language_scanner.c" -yy89: - YYDEBUG(89, *YYCURSOR); +#line 2170 "Zend/zend_language_scanner.c" +yy88: + YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'E') goto yy687; - goto yy151; + if (yych == 'E') goto yy686; + goto yy150; } else { - if (yych <= 'I') goto yy688; - if (yych <= 'N') goto yy151; - goto yy689; + if (yych <= 'I') goto yy687; + if (yych <= 'N') goto yy150; + goto yy688; } } else { if (yych <= 'h') { - if (yych == 'e') goto yy687; - goto yy151; + if (yych == 'e') goto yy686; + goto yy150; } else { - if (yych <= 'i') goto yy688; - if (yych == 'o') goto yy689; - goto yy151; + if (yych <= 'i') goto yy687; + if (yych == 'o') goto yy688; + goto yy150; } } -yy90: - YYDEBUG(90, *YYCURSOR); +yy89: + YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'N') { - if (yych == 'I') goto yy663; - goto yy151; + if (yych == 'I') goto yy662; + goto yy150; } else { - if (yych <= 'O') goto yy664; - if (yych <= 'T') goto yy151; - goto yy665; + if (yych <= 'O') goto yy663; + if (yych <= 'T') goto yy150; + goto yy664; } } else { if (yych <= 'n') { - if (yych == 'i') goto yy663; - goto yy151; + if (yych == 'i') goto yy662; + goto yy150; } else { - if (yych <= 'o') goto yy664; - if (yych == 'u') goto yy665; - goto yy151; + if (yych <= 'o') goto yy663; + if (yych == 'u') goto yy664; + goto yy150; } } -yy91: - YYDEBUG(91, *YYCURSOR); +yy90: + YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'K') { - if (yych == 'A') goto yy628; - goto yy151; + if (yych == 'A') goto yy627; + goto yy150; } else { - if (yych <= 'L') goto yy629; - if (yych <= 'N') goto yy151; - goto yy630; + if (yych <= 'L') goto yy628; + if (yych <= 'N') goto yy150; + goto yy629; } } else { if (yych <= 'k') { - if (yych == 'a') goto yy628; - goto yy151; + if (yych == 'a') goto yy627; + goto yy150; } else { - if (yych <= 'l') goto yy629; - if (yych == 'o') goto yy630; - goto yy151; + if (yych <= 'l') goto yy628; + if (yych == 'o') goto yy629; + goto yy150; } } +yy91: + YYDEBUG(91, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy609; + if (yych == 'e') goto yy609; + goto yy150; yy92: YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy610; - if (yych == 'e') goto yy610; - goto yy151; + if (yych == 'I') goto yy597; + if (yych == 'i') goto yy597; + goto yy150; yy93: YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy598; - if (yych == 'i') goto yy598; - goto yy151; -yy94: - YYDEBUG(94, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'H') goto yy586; - if (yych <= 'Q') goto yy151; - goto yy587; + if (yych == 'H') goto yy585; + if (yych <= 'Q') goto yy150; + goto yy586; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy151; - goto yy586; + if (yych <= 'g') goto yy150; + goto yy585; } else { - if (yych == 'r') goto yy587; - goto yy151; + if (yych == 'r') goto yy586; + goto yy150; } } -yy95: - YYDEBUG(95, *YYCURSOR); +yy94: + YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'L') { - if (yych == 'F') goto yy533; - goto yy151; + if (yych == 'F') goto yy532; + goto yy150; } else { - if (yych <= 'M') goto yy535; - if (yych <= 'N') goto yy536; - if (yych <= 'R') goto yy151; - goto yy537; + if (yych <= 'M') goto yy534; + if (yych <= 'N') goto yy535; + if (yych <= 'R') goto yy150; + goto yy536; } } else { if (yych <= 'm') { - if (yych == 'f') goto yy533; - if (yych <= 'l') goto yy151; - goto yy535; + if (yych == 'f') goto yy532; + if (yych <= 'l') goto yy150; + goto yy534; } else { - if (yych <= 'n') goto yy536; - if (yych == 's') goto yy537; - goto yy151; + if (yych <= 'n') goto yy535; + if (yych == 's') goto yy536; + goto yy150; } } +yy95: + YYDEBUG(95, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy527; + if (yych == 'h') goto yy527; + goto yy150; yy96: YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy528; - if (yych == 'h') goto yy528; - goto yy151; -yy97: - YYDEBUG(97, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'M') { - if (yych == 'B') goto yy510; - goto yy151; + if (yych == 'B') goto yy509; + goto yy150; } else { - if (yych <= 'N') goto yy511; - if (yych <= 'Q') goto yy151; - if (yych <= 'R') goto yy512; - goto yy513; + if (yych <= 'N') goto yy510; + if (yych <= 'Q') goto yy150; + if (yych <= 'R') goto yy511; + goto yy512; } } else { if (yych <= 'n') { - if (yych == 'b') goto yy510; - if (yych <= 'm') goto yy151; - goto yy511; + if (yych == 'b') goto yy509; + if (yych <= 'm') goto yy150; + goto yy510; } else { - if (yych <= 'q') goto yy151; - if (yych <= 'r') goto yy512; - if (yych <= 's') goto yy513; - goto yy151; + if (yych <= 'q') goto yy150; + if (yych <= 'r') goto yy511; + if (yych <= 's') goto yy512; + goto yy150; } } -yy98: - YYDEBUG(98, *YYCURSOR); +yy97: + YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { - if (yych == 'T') goto yy498; - if (yych <= 'V') goto yy151; - goto yy499; + if (yych == 'T') goto yy497; + if (yych <= 'V') goto yy150; + goto yy498; } else { if (yych <= 't') { - if (yych <= 's') goto yy151; - goto yy498; + if (yych <= 's') goto yy150; + goto yy497; } else { - if (yych == 'w') goto yy499; - goto yy151; + if (yych == 'w') goto yy498; + goto yy150; } } -yy99: - YYDEBUG(99, *YYCURSOR); +yy98: + YYDEBUG(98, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ';') { if (yych <= '"') { - if (yych <= '!') goto yy151; - goto yy490; + if (yych <= '!') goto yy150; + goto yy489; } else { - if (yych == '\'') goto yy491; - goto yy151; + if (yych == '\'') goto yy490; + goto yy150; } } else { if (yych <= 'R') { - if (yych <= '<') goto yy489; - if (yych <= 'Q') goto yy151; - goto yy492; + if (yych <= '<') goto yy488; + if (yych <= 'Q') goto yy150; + goto yy491; } else { - if (yych == 'r') goto yy492; - goto yy151; + if (yych == 'r') goto yy491; + goto yy150; } } -yy100: - YYDEBUG(100, *YYCURSOR); +yy99: + YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy479; - if (yych <= 'N') goto yy151; - goto yy480; + if (yych == 'L') goto yy478; + if (yych <= 'N') goto yy150; + goto yy479; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy151; - goto yy479; + if (yych <= 'k') goto yy150; + goto yy478; } else { - if (yych == 'o') goto yy480; - goto yy151; + if (yych == 'o') goto yy479; + goto yy150; } } -yy101: - YYDEBUG(101, *YYCURSOR); +yy100: + YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy455; - if (yych <= 'T') goto yy151; - goto yy456; + if (yych == 'R') goto yy454; + if (yych <= 'T') goto yy150; + goto yy455; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy151; - goto yy455; + if (yych <= 'q') goto yy150; + goto yy454; } else { - if (yych == 'u') goto yy456; - goto yy151; + if (yych == 'u') goto yy455; + goto yy150; } } -yy102: - YYDEBUG(102, *YYCURSOR); +yy101: + YYDEBUG(101, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy451; + if (yych == '-') goto yy450; } else { - if (yych <= '=') goto yy449; - if (yych <= '>') goto yy453; + if (yych <= '=') goto yy448; + if (yych <= '>') goto yy452; } -yy103: - YYDEBUG(103, *YYCURSOR); +yy102: + YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1561 "Zend/zend_language_scanner.l" +#line 1562 "Zend/zend_language_scanner.l" { RETURN_TOKEN(yytext[0]); } -#line 2401 "Zend/zend_language_scanner.c" -yy104: - YYDEBUG(104, *YYCURSOR); +#line 2406 "Zend/zend_language_scanner.c" +yy103: + YYDEBUG(103, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy448; -yy105: - YYDEBUG(105, *YYCURSOR); + goto yy447; +yy104: + YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1277 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); } -#line 2415 "Zend/zend_language_scanner.c" +#line 2420 "Zend/zend_language_scanner.c" +yy105: + YYDEBUG(105, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == ':') goto yy444; + goto yy102; yy106: YYDEBUG(106, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ':') goto yy445; - goto yy103; -yy107: - YYDEBUG(107, *YYCURSOR); ++YYCURSOR; - YYDEBUG(108, *YYCURSOR); + YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1301 "Zend/zend_language_scanner.l" +#line 1302 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_SEPARATOR); } -#line 2430 "Zend/zend_language_scanner.c" -yy109: - YYDEBUG(109, *YYCURSOR); +#line 2435 "Zend/zend_language_scanner.c" +yy108: + YYDEBUG(108, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy442; - goto yy103; + if (yych == '.') goto yy441; + goto yy102; } else { - if (yych <= '9') goto yy438; - if (yych == '=') goto yy440; - goto yy103; + if (yych <= '9') goto yy437; + if (yych == '=') goto yy439; + goto yy102; } -yy110: - YYDEBUG(110, *YYCURSOR); +yy109: + YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '=') goto yy103; - if (yych <= '>') goto yy432; - if (yych <= '?') goto yy434; - goto yy103; -yy111: - YYDEBUG(111, *YYCURSOR); + if (yych <= '=') goto yy102; + if (yych <= '>') goto yy431; + if (yych <= '?') goto yy433; + goto yy102; +yy110: + YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy420; - if (yych <= 'D') goto yy151; - goto yy421; + if (yych == 'A') goto yy419; + if (yych <= 'D') goto yy150; + goto yy420; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; - goto yy420; + if (yych <= '`') goto yy150; + goto yy419; } else { - if (yych == 'e') goto yy421; - goto yy151; + if (yych == 'e') goto yy420; + goto yy150; } } +yy111: + YYDEBUG(111, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy416; + if (yych == 'a') goto yy416; + goto yy150; yy112: YYDEBUG(112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy417; - if (yych == 'a') goto yy417; - goto yy151; -yy113: - YYDEBUG(113, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy342; - if (yych <= 0x1F) goto yy103; - goto yy342; + if (yych == '\t') goto yy341; + if (yych <= 0x1F) goto yy102; + goto yy341; } else { - if (yych <= '@') goto yy103; - if (yych == 'C') goto yy103; - goto yy342; + if (yych <= '@') goto yy102; + if (yych == 'C') goto yy102; + goto yy341; } } else { if (yych <= 'I') { - if (yych == 'F') goto yy342; - if (yych <= 'H') goto yy103; - goto yy342; + if (yych == 'F') goto yy341; + if (yych <= 'H') goto yy102; + goto yy341; } else { - if (yych == 'O') goto yy342; - if (yych <= 'Q') goto yy103; - goto yy342; + if (yych == 'O') goto yy341; + if (yych <= 'Q') goto yy102; + goto yy341; } } } else { if (yych <= 'f') { if (yych <= 'b') { - if (yych == 'U') goto yy342; - if (yych <= '`') goto yy103; - goto yy342; + if (yych == 'U') goto yy341; + if (yych <= '`') goto yy102; + goto yy341; } else { - if (yych == 'd') goto yy342; - if (yych <= 'e') goto yy103; - goto yy342; + if (yych == 'd') goto yy341; + if (yych <= 'e') goto yy102; + goto yy341; } } else { if (yych <= 'o') { - if (yych == 'i') goto yy342; - if (yych <= 'n') goto yy103; - goto yy342; + if (yych == 'i') goto yy341; + if (yych <= 'n') goto yy102; + goto yy341; } else { if (yych <= 's') { - if (yych <= 'q') goto yy103; - goto yy342; + if (yych <= 'q') goto yy102; + goto yy341; } else { - if (yych == 'u') goto yy342; - goto yy103; + if (yych == 'u') goto yy341; + goto yy102; } } } } -yy114: - YYDEBUG(114, *YYCURSOR); +yy113: + YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'N') goto yy333; - if (yych <= 'R') goto yy151; - goto yy334; + if (yych == 'N') goto yy332; + if (yych <= 'R') goto yy150; + goto yy333; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy151; - goto yy333; + if (yych <= 'm') goto yy150; + goto yy332; } else { - if (yych == 's') goto yy334; - goto yy151; + if (yych == 's') goto yy333; + goto yy150; } } +yy114: + YYDEBUG(114, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy250; + goto yy150; yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy251; - goto yy151; + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy244; + if (yych <= '>') goto yy246; + goto yy102; yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy103; - if (yych <= '=') goto yy245; - if (yych <= '>') goto yy247; - goto yy103; + if (yych == 'I') goto yy240; + if (yych == 'i') goto yy240; + goto yy150; yy117: YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy241; - if (yych == 'i') goto yy241; - goto yy151; + if (yych == '+') goto yy238; + if (yych == '=') goto yy236; + goto yy102; yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy239; - if (yych == '=') goto yy237; - goto yy103; + if (yych == '=') goto yy233; + goto yy102; yy119: YYDEBUG(119, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy234; - goto yy103; + if (yych <= ';') goto yy102; + if (yych <= '<') goto yy209; + if (yych <= '=') goto yy211; + if (yych <= '>') goto yy213; + goto yy102; yy120: YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ';') goto yy103; - if (yych <= '<') goto yy210; - if (yych <= '=') goto yy212; - if (yych <= '>') goto yy214; - goto yy103; + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy205; + if (yych <= '>') goto yy203; + goto yy102; yy121: YYDEBUG(121, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy103; - if (yych <= '=') goto yy206; - if (yych <= '>') goto yy204; - goto yy103; + if (yych == '*') goto yy197; + if (yych == '=') goto yy199; + goto yy102; yy122: YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '*') goto yy198; - if (yych == '=') goto yy200; - goto yy103; -yy123: - YYDEBUG(123, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '.') { - if (yych == '*') goto yy190; - goto yy103; + if (yych == '*') goto yy189; + goto yy102; } else { - if (yych <= '/') goto yy192; - if (yych == '=') goto yy193; - goto yy103; + if (yych <= '/') goto yy191; + if (yych == '=') goto yy192; + goto yy102; } +yy123: + YYDEBUG(123, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '=') goto yy187; + goto yy102; yy124: YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy188; - goto yy103; + if (yych == '&') goto yy183; + if (yych == '=') goto yy185; + goto yy102; yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy184; - if (yych == '=') goto yy186; - goto yy103; + if (yych == '=') goto yy181; + if (yych == '|') goto yy179; + goto yy102; yy126: YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy182; - if (yych == '|') goto yy180; - goto yy103; + if (yych == '=') goto yy177; + goto yy102; yy127: YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy178; - goto yy103; + if (yych == 'R') goto yy175; + if (yych == 'r') goto yy175; + goto yy150; yy128: YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy176; - if (yych == 'r') goto yy176; - goto yy151; + if (yych == 'O') goto yy172; + if (yych == 'o') goto yy172; + goto yy150; yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy173; - if (yych == 'o') goto yy173; - goto yy151; -yy130: - YYDEBUG(130, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy103; - if (yych <= 'Z') goto yy170; - if (yych <= '^') goto yy103; - goto yy170; + if (yych <= '@') goto yy102; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy102; + goto yy169; } else { - if (yych <= '`') goto yy103; - if (yych <= 'z') goto yy170; - if (yych <= 0x7F) goto yy103; - goto yy170; + if (yych <= '`') goto yy102; + if (yych <= 'z') goto yy169; + if (yych <= 0x7F) goto yy102; + goto yy169; } +yy130: + YYDEBUG(130, *YYCURSOR); + yych = *++YYCURSOR; + goto yy102; yy131: YYDEBUG(131, *YYCURSOR); - yych = *++YYCURSOR; - goto yy103; -yy132: - YYDEBUG(132, *YYCURSOR); ++YYCURSOR; - YYDEBUG(133, *YYCURSOR); + YYDEBUG(132, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1566 "Zend/zend_language_scanner.l" +#line 1567 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN('{'); } -#line 2664 "Zend/zend_language_scanner.c" -yy134: - YYDEBUG(134, *YYCURSOR); +#line 2669 "Zend/zend_language_scanner.c" +yy133: + YYDEBUG(133, *YYCURSOR); ++YYCURSOR; - YYDEBUG(135, *YYCURSOR); + YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1578 "Zend/zend_language_scanner.l" +#line 1579 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2674,35 +2679,35 @@ yy134: } RETURN_TOKEN('}'); } -#line 2678 "Zend/zend_language_scanner.c" -yy136: - YYDEBUG(136, *YYCURSOR); +#line 2683 "Zend/zend_language_scanner.c" +yy135: + YYDEBUG(135, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych >= '0') goto yy155; + if (yych == '.') goto yy151; + if (yych >= '0') goto yy154; } else { - if (yych == 'B') goto yy163; - if (yych >= 'E') goto yy157; + if (yych == 'B') goto yy162; + if (yych >= 'E') goto yy156; } } else { if (yych <= 'b') { - if (yych == 'X') goto yy162; - if (yych >= 'b') goto yy163; + if (yych == 'X') goto yy161; + if (yych >= 'b') goto yy162; } else { if (yych <= 'e') { - if (yych >= 'e') goto yy157; + if (yych >= 'e') goto yy156; } else { - if (yych == 'x') goto yy162; + if (yych == 'x') goto yy161; } } } -yy137: - YYDEBUG(137, *YYCURSOR); +yy136: + YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1631 "Zend/zend_language_scanner.l" +#line 1632 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -2747,35 +2752,35 @@ yy137: ZEND_ASSERT(!errno); RETURN_TOKEN(T_LNUMBER); } -#line 2751 "Zend/zend_language_scanner.c" -yy138: - YYDEBUG(138, *YYCURSOR); +#line 2756 "Zend/zend_language_scanner.c" +yy137: + YYDEBUG(137, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych <= '/') goto yy137; - goto yy155; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy137; - goto yy157; + if (yych <= 'D') goto yy136; + goto yy156; } else { - if (yych == 'e') goto yy157; - goto yy137; + if (yych == 'e') goto yy156; + goto yy136; } } +yy138: + YYDEBUG(138, *YYCURSOR); + yych = *++YYCURSOR; + goto yy150; yy139: YYDEBUG(139, *YYCURSOR); - yych = *++YYCURSOR; - goto yy151; + ++YYCURSOR; yy140: YYDEBUG(140, *YYCURSOR); - ++YYCURSOR; -yy141: - YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1883 "Zend/zend_language_scanner.l" +#line 1884 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2804,14 +2809,14 @@ yy141: RETURN_TOKEN(T_COMMENT); } -#line 2808 "Zend/zend_language_scanner.c" +#line 2813 "Zend/zend_language_scanner.c" +yy141: + YYDEBUG(141, *YYCURSOR); + ++YYCURSOR; yy142: YYDEBUG(142, *YYCURSOR); - ++YYCURSOR; -yy143: - YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1951 "Zend/zend_language_scanner.l" +#line 1952 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2879,14 +2884,14 @@ yy143: } RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); } -#line 2883 "Zend/zend_language_scanner.c" +#line 2888 "Zend/zend_language_scanner.c" +yy143: + YYDEBUG(143, *YYCURSOR); + ++YYCURSOR; yy144: YYDEBUG(144, *YYCURSOR); - ++YYCURSOR; -yy145: - YYDEBUG(145, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2020 "Zend/zend_language_scanner.l" +#line 2021 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2927,24 +2932,24 @@ yy145: BEGIN(ST_DOUBLE_QUOTES); RETURN_TOKEN('"'); } -#line 2931 "Zend/zend_language_scanner.c" -yy146: - YYDEBUG(146, *YYCURSOR); +#line 2936 "Zend/zend_language_scanner.c" +yy145: + YYDEBUG(145, *YYCURSOR); ++YYCURSOR; - YYDEBUG(147, *YYCURSOR); + YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2110 "Zend/zend_language_scanner.l" +#line 2111 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); } -#line 2942 "Zend/zend_language_scanner.c" -yy148: - YYDEBUG(148, *YYCURSOR); +#line 2947 "Zend/zend_language_scanner.c" +yy147: + YYDEBUG(147, *YYCURSOR); ++YYCURSOR; - YYDEBUG(149, *YYCURSOR); + YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2372 "Zend/zend_language_scanner.l" +#line 2373 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -2953,34 +2958,34 @@ yy148: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 2957 "Zend/zend_language_scanner.c" -yy150: - YYDEBUG(150, *YYCURSOR); +#line 2962 "Zend/zend_language_scanner.c" +yy149: + YYDEBUG(149, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy151: - YYDEBUG(151, *YYCURSOR); +yy150: + YYDEBUG(150, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy150; + goto yy149; } - goto yy88; -yy152: - YYDEBUG(152, *YYCURSOR); + goto yy87; +yy151: + YYDEBUG(151, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(153, *YYCURSOR); + YYDEBUG(152, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy152; + goto yy151; } - if (yych == 'E') goto yy157; - if (yych == 'e') goto yy157; -yy154: - YYDEBUG(154, *YYCURSOR); + if (yych == 'E') goto yy156; + if (yych == 'e') goto yy156; +yy153: + YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1725 "Zend/zend_language_scanner.l" +#line 1726 "Zend/zend_language_scanner.l" { const char *end; @@ -2989,103 +2994,103 @@ yy154: ZEND_ASSERT(end == yytext + yyleng); RETURN_TOKEN(T_DNUMBER); } -#line 2993 "Zend/zend_language_scanner.c" -yy155: - YYDEBUG(155, *YYCURSOR); +#line 2998 "Zend/zend_language_scanner.c" +yy154: + YYDEBUG(154, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(156, *YYCURSOR); + YYDEBUG(155, *YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy152; - if (yych <= '/') goto yy137; - goto yy155; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy137; + if (yych <= 'D') goto yy136; } else { - if (yych != 'e') goto yy137; + if (yych != 'e') goto yy136; } } -yy157: - YYDEBUG(157, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy159; + if (yych == '+') goto yy158; } else { - if (yych <= '-') goto yy159; - if (yych <= '/') goto yy158; - if (yych <= '9') goto yy160; + if (yych <= '-') goto yy158; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy159; } -yy158: - YYDEBUG(158, *YYCURSOR); +yy157: + YYDEBUG(157, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy88; + if (yyaccept <= 0) { + goto yy87; } else { - goto yy103; + goto yy102; } } else { - if (yyaccept == 2) { - goto yy137; + if (yyaccept <= 2) { + goto yy136; } else { - goto yy154; + goto yy153; } } } else { if (yyaccept <= 5) { - if (yyaccept == 4) { - goto yy191; + if (yyaccept <= 4) { + goto yy190; } else { - goto yy211; + goto yy210; } } else { - goto yy602; + goto yy601; } } +yy158: + YYDEBUG(158, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy157; + if (yych >= ':') goto yy157; yy159: YYDEBUG(159, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy158; - if (yych >= ':') goto yy158; -yy160: - YYDEBUG(160, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(160, *YYCURSOR); + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy159; + goto yy153; +yy161: YYDEBUG(161, *YYCURSOR); - if (yych <= '/') goto yy154; - if (yych <= '9') goto yy160; - goto yy154; -yy162: - YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 32) { - goto yy167; + goto yy166; } - goto yy158; -yy163: - YYDEBUG(163, *YYCURSOR); + goto yy157; +yy162: + YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { - goto yy164; + goto yy163; } - goto yy158; -yy164: - YYDEBUG(164, *YYCURSOR); + goto yy157; +yy163: + YYDEBUG(163, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(165, *YYCURSOR); + YYDEBUG(164, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy164; + goto yy163; } - YYDEBUG(166, *YYCURSOR); + YYDEBUG(165, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1603 "Zend/zend_language_scanner.l" +#line 1604 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3113,19 +3118,19 @@ yy164: RETURN_TOKEN(T_DNUMBER); } } -#line 3117 "Zend/zend_language_scanner.c" -yy167: - YYDEBUG(167, *YYCURSOR); +#line 3122 "Zend/zend_language_scanner.c" +yy166: + YYDEBUG(166, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(168, *YYCURSOR); + YYDEBUG(167, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy167; + goto yy166; } - YYDEBUG(169, *YYCURSOR); + YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1676 "Zend/zend_language_scanner.l" +#line 1677 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3153,137 +3158,137 @@ yy167: RETURN_TOKEN(T_DNUMBER); } } -#line 3157 "Zend/zend_language_scanner.c" -yy170: - YYDEBUG(170, *YYCURSOR); +#line 3162 "Zend/zend_language_scanner.c" +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(171, *YYCURSOR); + YYDEBUG(170, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy170; + if (yych >= '0') goto yy169; } else { - if (yych <= '@') goto yy172; - if (yych <= 'Z') goto yy170; + if (yych <= '@') goto yy171; + if (yych <= 'Z') goto yy169; } } else { if (yych <= '`') { - if (yych <= '_') goto yy170; + if (yych <= '_') goto yy169; } else { - if (yych <= 'z') goto yy170; - if (yych >= 0x80) goto yy170; + if (yych <= 'z') goto yy169; + if (yych >= 0x80) goto yy169; } } -yy172: - YYDEBUG(172, *YYCURSOR); +yy171: + YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 3187 "Zend/zend_language_scanner.c" +#line 3192 "Zend/zend_language_scanner.c" +yy172: + YYDEBUG(172, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy173; + if (yych != 'r') goto yy150; yy173: YYDEBUG(173, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy174; - if (yych != 'r') goto yy151; -yy174: - YYDEBUG(174, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(175, *YYCURSOR); + YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1549 "Zend/zend_language_scanner.l" +#line 1550 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_XOR); } -#line 3205 "Zend/zend_language_scanner.c" -yy176: - YYDEBUG(176, *YYCURSOR); +#line 3210 "Zend/zend_language_scanner.c" +yy175: + YYDEBUG(175, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(177, *YYCURSOR); + YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1541 "Zend/zend_language_scanner.l" +#line 1542 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_OR); } -#line 3218 "Zend/zend_language_scanner.c" -yy178: - YYDEBUG(178, *YYCURSOR); +#line 3223 "Zend/zend_language_scanner.c" +yy177: + YYDEBUG(177, *YYCURSOR); ++YYCURSOR; - YYDEBUG(179, *YYCURSOR); + YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1529 "Zend/zend_language_scanner.l" +#line 1530 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_XOR_EQUAL); } -#line 3228 "Zend/zend_language_scanner.c" -yy180: - YYDEBUG(180, *YYCURSOR); +#line 3233 "Zend/zend_language_scanner.c" +yy179: + YYDEBUG(179, *YYCURSOR); ++YYCURSOR; - YYDEBUG(181, *YYCURSOR); + YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1533 "Zend/zend_language_scanner.l" +#line 1534 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_OR); } -#line 3238 "Zend/zend_language_scanner.c" -yy182: - YYDEBUG(182, *YYCURSOR); +#line 3243 "Zend/zend_language_scanner.c" +yy181: + YYDEBUG(181, *YYCURSOR); ++YYCURSOR; - YYDEBUG(183, *YYCURSOR); + YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1525 "Zend/zend_language_scanner.l" +#line 1526 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OR_EQUAL); } -#line 3248 "Zend/zend_language_scanner.c" -yy184: - YYDEBUG(184, *YYCURSOR); +#line 3253 "Zend/zend_language_scanner.c" +yy183: + YYDEBUG(183, *YYCURSOR); ++YYCURSOR; - YYDEBUG(185, *YYCURSOR); + YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1537 "Zend/zend_language_scanner.l" +#line 1538 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOLEAN_AND); } -#line 3258 "Zend/zend_language_scanner.c" -yy186: - YYDEBUG(186, *YYCURSOR); +#line 3263 "Zend/zend_language_scanner.c" +yy185: + YYDEBUG(185, *YYCURSOR); ++YYCURSOR; - YYDEBUG(187, *YYCURSOR); + YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1521 "Zend/zend_language_scanner.l" +#line 1522 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AND_EQUAL); } -#line 3268 "Zend/zend_language_scanner.c" -yy188: - YYDEBUG(188, *YYCURSOR); +#line 3273 "Zend/zend_language_scanner.c" +yy187: + YYDEBUG(187, *YYCURSOR); ++YYCURSOR; - YYDEBUG(189, *YYCURSOR); + YYDEBUG(188, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1509 "Zend/zend_language_scanner.l" +#line 1510 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MOD_EQUAL); } -#line 3278 "Zend/zend_language_scanner.c" -yy190: - YYDEBUG(190, *YYCURSOR); +#line 3283 "Zend/zend_language_scanner.c" +yy189: + YYDEBUG(189, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy195; -yy191: - YYDEBUG(191, *YYCURSOR); + if (yych == '*') goto yy194; +yy190: + YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1912 "Zend/zend_language_scanner.l" +#line 1913 "Zend/zend_language_scanner.l" { int doc_com; @@ -3316,262 +3321,262 @@ yy191: RETURN_TOKEN(T_COMMENT); } -#line 3320 "Zend/zend_language_scanner.c" +#line 3325 "Zend/zend_language_scanner.c" +yy191: + YYDEBUG(191, *YYCURSOR); + yych = *++YYCURSOR; + goto yy140; yy192: YYDEBUG(192, *YYCURSOR); - yych = *++YYCURSOR; - goto yy141; -yy193: - YYDEBUG(193, *YYCURSOR); ++YYCURSOR; - YYDEBUG(194, *YYCURSOR); + YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1502 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIV_EQUAL); } -#line 3334 "Zend/zend_language_scanner.c" -yy195: - YYDEBUG(195, *YYCURSOR); +#line 3339 "Zend/zend_language_scanner.c" +yy194: + YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy196; + goto yy195; } - goto yy158; -yy196: - YYDEBUG(196, *YYCURSOR); + goto yy157; +yy195: + YYDEBUG(195, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(197, *YYCURSOR); + YYDEBUG(196, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy196; + goto yy195; } - goto yy191; -yy198: - YYDEBUG(198, *YYCURSOR); + goto yy190; +yy197: + YYDEBUG(197, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy202; - YYDEBUG(199, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy201; + YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1493 "Zend/zend_language_scanner.l" +#line 1494 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW); } -#line 3362 "Zend/zend_language_scanner.c" -yy200: - YYDEBUG(200, *YYCURSOR); +#line 3367 "Zend/zend_language_scanner.c" +yy199: + YYDEBUG(199, *YYCURSOR); ++YYCURSOR; - YYDEBUG(201, *YYCURSOR); + YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1489 "Zend/zend_language_scanner.l" +#line 1490 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MUL_EQUAL); } -#line 3372 "Zend/zend_language_scanner.c" -yy202: - YYDEBUG(202, *YYCURSOR); +#line 3377 "Zend/zend_language_scanner.c" +yy201: + YYDEBUG(201, *YYCURSOR); ++YYCURSOR; - YYDEBUG(203, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1497 "Zend/zend_language_scanner.l" +#line 1498 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_POW_EQUAL); } -#line 3382 "Zend/zend_language_scanner.c" -yy204: - YYDEBUG(204, *YYCURSOR); +#line 3387 "Zend/zend_language_scanner.c" +yy203: + YYDEBUG(203, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy208; - YYDEBUG(205, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy207; + YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1557 "Zend/zend_language_scanner.l" +#line 1558 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR); } -#line 3393 "Zend/zend_language_scanner.c" -yy206: - YYDEBUG(206, *YYCURSOR); +#line 3398 "Zend/zend_language_scanner.c" +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; - YYDEBUG(207, *YYCURSOR); + YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1477 "Zend/zend_language_scanner.l" +#line 1478 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } -#line 3403 "Zend/zend_language_scanner.c" -yy208: - YYDEBUG(208, *YYCURSOR); +#line 3408 "Zend/zend_language_scanner.c" +yy207: + YYDEBUG(207, *YYCURSOR); ++YYCURSOR; - YYDEBUG(209, *YYCURSOR); + YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1517 "Zend/zend_language_scanner.l" +#line 1518 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SR_EQUAL); } -#line 3413 "Zend/zend_language_scanner.c" -yy210: - YYDEBUG(210, *YYCURSOR); +#line 3418 "Zend/zend_language_scanner.c" +yy209: + YYDEBUG(209, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy211; - if (yych <= '<') goto yy220; - if (yych <= '=') goto yy218; -yy211: - YYDEBUG(211, *YYCURSOR); + if (yych <= ';') goto yy210; + if (yych <= '<') goto yy219; + if (yych <= '=') goto yy217; +yy210: + YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" +#line 1554 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL); } -#line 3428 "Zend/zend_language_scanner.c" -yy212: - YYDEBUG(212, *YYCURSOR); +#line 3433 "Zend/zend_language_scanner.c" +yy211: + YYDEBUG(211, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy216; - YYDEBUG(213, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy215; + YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" +#line 1474 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } -#line 3439 "Zend/zend_language_scanner.c" +#line 3444 "Zend/zend_language_scanner.c" +yy213: + YYDEBUG(213, *YYCURSOR); + ++YYCURSOR; yy214: YYDEBUG(214, *YYCURSOR); - ++YYCURSOR; -yy215: - YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1465 "Zend/zend_language_scanner.l" +#line 1466 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_EQUAL); } -#line 3450 "Zend/zend_language_scanner.c" -yy216: - YYDEBUG(216, *YYCURSOR); +#line 3455 "Zend/zend_language_scanner.c" +yy215: + YYDEBUG(215, *YYCURSOR); ++YYCURSOR; - YYDEBUG(217, *YYCURSOR); + YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1469 "Zend/zend_language_scanner.l" +#line 1470 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SPACESHIP); } -#line 3460 "Zend/zend_language_scanner.c" -yy218: - YYDEBUG(218, *YYCURSOR); +#line 3465 "Zend/zend_language_scanner.c" +yy217: + YYDEBUG(217, *YYCURSOR); ++YYCURSOR; - YYDEBUG(219, *YYCURSOR); + YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" +#line 1514 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SL_EQUAL); } -#line 3470 "Zend/zend_language_scanner.c" -yy220: - YYDEBUG(220, *YYCURSOR); +#line 3475 "Zend/zend_language_scanner.c" +yy219: + YYDEBUG(219, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(221, *YYCURSOR); + YYDEBUG(220, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy220; + goto yy219; } if (yych <= 'Z') { if (yych <= '&') { - if (yych == '"') goto yy225; - goto yy158; + if (yych == '"') goto yy224; + goto yy157; } else { - if (yych <= '\'') goto yy224; - if (yych <= '@') goto yy158; + if (yych <= '\'') goto yy223; + if (yych <= '@') goto yy157; } } else { if (yych <= '`') { - if (yych != '_') goto yy158; + if (yych != '_') goto yy157; } else { - if (yych <= 'z') goto yy222; - if (yych <= 0x7F) goto yy158; + if (yych <= 'z') goto yy221; + if (yych <= 0x7F) goto yy157; } } -yy222: - YYDEBUG(222, *YYCURSOR); +yy221: + YYDEBUG(221, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(223, *YYCURSOR); + YYDEBUG(222, *YYCURSOR); if (yych <= '@') { if (yych <= '\f') { - if (yych == '\n') goto yy229; - goto yy158; + if (yych == '\n') goto yy228; + goto yy157; } else { - if (yych <= '\r') goto yy231; - if (yych <= '/') goto yy158; - if (yych <= '9') goto yy222; - goto yy158; + if (yych <= '\r') goto yy230; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy221; + goto yy157; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy222; - if (yych <= '^') goto yy158; - goto yy222; + if (yych <= 'Z') goto yy221; + if (yych <= '^') goto yy157; + goto yy221; } else { - if (yych <= '`') goto yy158; - if (yych <= 'z') goto yy222; - if (yych <= 0x7F) goto yy158; - goto yy222; + if (yych <= '`') goto yy157; + if (yych <= 'z') goto yy221; + if (yych <= 0x7F) goto yy157; + goto yy221; } } +yy223: + YYDEBUG(223, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\'') goto yy157; + if (yych <= '/') goto yy232; + if (yych <= '9') goto yy157; + goto yy232; yy224: YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\'') goto yy158; - if (yych <= '/') goto yy233; - if (yych <= '9') goto yy158; - goto yy233; + if (yych == '"') goto yy157; + if (yych <= '/') goto yy226; + if (yych <= '9') goto yy157; + goto yy226; yy225: YYDEBUG(225, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '"') goto yy158; - if (yych <= '/') goto yy227; - if (yych <= '9') goto yy158; - goto yy227; -yy226: - YYDEBUG(226, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy227: - YYDEBUG(227, *YYCURSOR); +yy226: + YYDEBUG(226, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych != '"') goto yy158; + if (yych != '"') goto yy157; } else { - if (yych <= '9') goto yy226; - if (yych <= '@') goto yy158; - goto yy226; + if (yych <= '9') goto yy225; + if (yych <= '@') goto yy157; + goto yy225; } } else { if (yych <= '`') { - if (yych == '_') goto yy226; - goto yy158; + if (yych == '_') goto yy225; + goto yy157; } else { - if (yych <= 'z') goto yy226; - if (yych <= 0x7F) goto yy158; - goto yy226; + if (yych <= 'z') goto yy225; + if (yych <= 0x7F) goto yy157; + goto yy225; } } +yy227: + YYDEBUG(227, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy228; + if (yych == '\r') goto yy230; + goto yy157; yy228: YYDEBUG(228, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy229; - if (yych == '\r') goto yy231; - goto yy158; + ++YYCURSOR; yy229: YYDEBUG(229, *YYCURSOR); - ++YYCURSOR; -yy230: - YYDEBUG(230, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2062 "Zend/zend_language_scanner.l" +#line 2063 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3618,3326 +3623,3328 @@ yy230: RETURN_TOKEN(T_START_HEREDOC); } -#line 3622 "Zend/zend_language_scanner.c" +#line 3627 "Zend/zend_language_scanner.c" +yy230: + YYDEBUG(230, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy228; + goto yy229; yy231: YYDEBUG(231, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy229; - goto yy230; -yy232: - YYDEBUG(232, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy233: - YYDEBUG(233, *YYCURSOR); +yy232: + YYDEBUG(232, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych == '\'') goto yy228; - goto yy158; + if (yych == '\'') goto yy227; + goto yy157; } else { - if (yych <= '9') goto yy232; - if (yych <= '@') goto yy158; - goto yy232; + if (yych <= '9') goto yy231; + if (yych <= '@') goto yy157; + goto yy231; } } else { if (yych <= '`') { - if (yych == '_') goto yy232; - goto yy158; + if (yych == '_') goto yy231; + goto yy157; } else { - if (yych <= 'z') goto yy232; - if (yych <= 0x7F) goto yy158; - goto yy232; + if (yych <= 'z') goto yy231; + if (yych <= 0x7F) goto yy157; + goto yy231; } } -yy234: - YYDEBUG(234, *YYCURSOR); +yy233: + YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy215; - YYDEBUG(235, *YYCURSOR); + if (yych != '=') goto yy214; + YYDEBUG(234, *YYCURSOR); ++YYCURSOR; - YYDEBUG(236, *YYCURSOR); + YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1457 "Zend/zend_language_scanner.l" +#line 1458 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_NOT_IDENTICAL); } -#line 3666 "Zend/zend_language_scanner.c" -yy237: - YYDEBUG(237, *YYCURSOR); +#line 3671 "Zend/zend_language_scanner.c" +yy236: + YYDEBUG(236, *YYCURSOR); ++YYCURSOR; - YYDEBUG(238, *YYCURSOR); + YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1481 "Zend/zend_language_scanner.l" +#line 1482 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PLUS_EQUAL); } -#line 3676 "Zend/zend_language_scanner.c" -yy239: - YYDEBUG(239, *YYCURSOR); +#line 3681 "Zend/zend_language_scanner.c" +yy238: + YYDEBUG(238, *YYCURSOR); ++YYCURSOR; - YYDEBUG(240, *YYCURSOR); + YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1445 "Zend/zend_language_scanner.l" +#line 1446 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INC); } -#line 3686 "Zend/zend_language_scanner.c" +#line 3691 "Zend/zend_language_scanner.c" +yy240: + YYDEBUG(240, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy241; + if (yych != 's') goto yy150; yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy242; - if (yych != 's') goto yy151; + if (yych == 'T') goto yy242; + if (yych != 't') goto yy150; yy242: YYDEBUG(242, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy243; - if (yych != 't') goto yy151; -yy243: - YYDEBUG(243, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(244, *YYCURSOR); + YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1433 "Zend/zend_language_scanner.l" +#line 1434 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LIST); } -#line 3709 "Zend/zend_language_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); +#line 3714 "Zend/zend_language_scanner.c" +yy244: + YYDEBUG(244, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy249; - YYDEBUG(246, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy248; + YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1461 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_EQUAL); } -#line 3720 "Zend/zend_language_scanner.c" -yy247: - YYDEBUG(247, *YYCURSOR); +#line 3725 "Zend/zend_language_scanner.c" +yy246: + YYDEBUG(246, *YYCURSOR); ++YYCURSOR; - YYDEBUG(248, *YYCURSOR); + YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1429 "Zend/zend_language_scanner.l" +#line 1430 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_ARROW); } -#line 3730 "Zend/zend_language_scanner.c" -yy249: - YYDEBUG(249, *YYCURSOR); +#line 3735 "Zend/zend_language_scanner.c" +yy248: + YYDEBUG(248, *YYCURSOR); ++YYCURSOR; - YYDEBUG(250, *YYCURSOR); + YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1453 "Zend/zend_language_scanner.l" +#line 1454 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IS_IDENTICAL); } -#line 3740 "Zend/zend_language_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); +#line 3745 "Zend/zend_language_scanner.c" +yy250: + YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; + YYDEBUG(-1, yych); switch (yych) { case 'C': - case 'c': goto yy253; + case 'c': goto yy252; case 'D': - case 'd': goto yy258; + case 'd': goto yy257; case 'F': - case 'f': goto yy255; + case 'f': goto yy254; case 'H': - case 'h': goto yy252; + case 'h': goto yy251; case 'L': - case 'l': goto yy257; + case 'l': goto yy256; case 'M': - case 'm': goto yy256; + case 'm': goto yy255; case 'N': - case 'n': goto yy259; + case 'n': goto yy258; case 'T': - case 't': goto yy254; - default: goto yy151; + case 't': goto yy253; + default: goto yy150; } +yy251: + YYDEBUG(251, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy319; + if (yych == 'a') goto yy319; + goto yy150; yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy320; - if (yych == 'a') goto yy320; - goto yy151; + if (yych == 'L') goto yy312; + if (yych == 'l') goto yy312; + goto yy150; yy253: YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy313; - if (yych == 'l') goto yy313; - goto yy151; + if (yych == 'R') goto yy305; + if (yych == 'r') goto yy305; + goto yy150; yy254: YYDEBUG(254, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy306; - if (yych == 'r') goto yy306; - goto yy151; -yy255: - YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'I') goto yy290; - if (yych <= 'T') goto yy151; - goto yy291; + if (yych == 'I') goto yy289; + if (yych <= 'T') goto yy150; + goto yy290; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; - goto yy290; + if (yych <= 'h') goto yy150; + goto yy289; } else { - if (yych == 'u') goto yy291; - goto yy151; + if (yych == 'u') goto yy290; + goto yy150; } } +yy255: + YYDEBUG(255, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy281; + if (yych == 'e') goto yy281; + goto yy150; yy256: YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy282; - if (yych == 'e') goto yy282; - goto yy151; + if (yych == 'I') goto yy275; + if (yych == 'i') goto yy275; + goto yy150; yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy276; - if (yych == 'i') goto yy276; - goto yy151; + if (yych == 'I') goto yy270; + if (yych == 'i') goto yy270; + goto yy150; yy258: YYDEBUG(258, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy271; - if (yych == 'i') goto yy271; - goto yy151; + if (yych == 'A') goto yy259; + if (yych != 'a') goto yy150; yy259: YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy260; - if (yych != 'a') goto yy151; + if (yych == 'M') goto yy260; + if (yych != 'm') goto yy150; yy260: YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy261; - if (yych != 'm') goto yy151; + if (yych == 'E') goto yy261; + if (yych != 'e') goto yy150; yy261: YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy262; - if (yych != 'e') goto yy151; + if (yych == 'S') goto yy262; + if (yych != 's') goto yy150; yy262: YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy263; - if (yych != 's') goto yy151; + if (yych == 'P') goto yy263; + if (yych != 'p') goto yy150; yy263: YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy264; - if (yych != 'p') goto yy151; + if (yych == 'A') goto yy264; + if (yych != 'a') goto yy150; yy264: YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy265; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy265; + if (yych != 'c') goto yy150; yy265: YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy266; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy266; + if (yych != 'e') goto yy150; yy266: YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy267; - if (yych != 'e') goto yy151; -yy267: + if (yych != '_') goto yy150; YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(268, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(269, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(270, *YYCURSOR); + YYDEBUG(269, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1762 "Zend/zend_language_scanner.l" +#line 1763 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NS_C); } -#line 3873 "Zend/zend_language_scanner.c" +#line 3879 "Zend/zend_language_scanner.c" +yy270: + YYDEBUG(270, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy271; + if (yych != 'r') goto yy150; yy271: YYDEBUG(271, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy272; - if (yych != 'r') goto yy151; -yy272: + if (yych != '_') goto yy150; YYDEBUG(272, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(273, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(274, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(275, *YYCURSOR); + YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1758 "Zend/zend_language_scanner.l" +#line 1759 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIR); } -#line 3897 "Zend/zend_language_scanner.c" +#line 3903 "Zend/zend_language_scanner.c" +yy275: + YYDEBUG(275, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy276; + if (yych != 'n') goto yy150; yy276: YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy277; - if (yych != 'n') goto yy151; + if (yych == 'E') goto yy277; + if (yych != 'e') goto yy150; yy277: YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy278; - if (yych != 'e') goto yy151; -yy278: + if (yych != '_') goto yy150; YYDEBUG(278, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(279, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(280, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(281, *YYCURSOR); + YYDEBUG(280, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1750 "Zend/zend_language_scanner.l" +#line 1751 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LINE); } -#line 3926 "Zend/zend_language_scanner.c" +#line 3932 "Zend/zend_language_scanner.c" +yy281: + YYDEBUG(281, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy282; + if (yych != 't') goto yy150; yy282: YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy283; - if (yych != 't') goto yy151; + if (yych == 'H') goto yy283; + if (yych != 'h') goto yy150; yy283: YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy284; - if (yych != 'h') goto yy151; + if (yych == 'O') goto yy284; + if (yych != 'o') goto yy150; yy284: YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy285; - if (yych != 'o') goto yy151; + if (yych == 'D') goto yy285; + if (yych != 'd') goto yy150; yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy286; - if (yych != 'd') goto yy151; -yy286: + if (yych != '_') goto yy150; YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(288, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(289, *YYCURSOR); + YYDEBUG(288, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1746 "Zend/zend_language_scanner.l" +#line 1747 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_METHOD_C); } -#line 3965 "Zend/zend_language_scanner.c" +#line 3971 "Zend/zend_language_scanner.c" +yy289: + YYDEBUG(289, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy300; + if (yych == 'l') goto yy300; + goto yy150; yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy301; - if (yych == 'l') goto yy301; - goto yy151; + if (yych == 'N') goto yy291; + if (yych != 'n') goto yy150; yy291: YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy292; - if (yych != 'n') goto yy151; + if (yych == 'C') goto yy292; + if (yych != 'c') goto yy150; yy292: YYDEBUG(292, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy293; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy293; + if (yych != 't') goto yy150; yy293: YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy294; - if (yych != 't') goto yy151; + if (yych == 'I') goto yy294; + if (yych != 'i') goto yy150; yy294: YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy295; - if (yych != 'i') goto yy151; + if (yych == 'O') goto yy295; + if (yych != 'o') goto yy150; yy295: YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy296; - if (yych != 'o') goto yy151; + if (yych == 'N') goto yy296; + if (yych != 'n') goto yy150; yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy297; - if (yych != 'n') goto yy151; -yy297: + if (yych != '_') goto yy150; YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(298, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(299, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(300, *YYCURSOR); + YYDEBUG(299, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1742 "Zend/zend_language_scanner.l" +#line 1743 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FUNC_C); } -#line 4020 "Zend/zend_language_scanner.c" +#line 4026 "Zend/zend_language_scanner.c" +yy300: + YYDEBUG(300, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy301; + if (yych != 'e') goto yy150; yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy302; - if (yych != 'e') goto yy151; -yy302: + if (yych != '_') goto yy150; YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(303, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(304, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(305, *YYCURSOR); + YYDEBUG(304, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1754 "Zend/zend_language_scanner.l" +#line 1755 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FILE); } -#line 4044 "Zend/zend_language_scanner.c" +#line 4050 "Zend/zend_language_scanner.c" +yy305: + YYDEBUG(305, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy306; + if (yych != 'a') goto yy150; yy306: YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy307; - if (yych != 'a') goto yy151; + if (yych == 'I') goto yy307; + if (yych != 'i') goto yy150; yy307: YYDEBUG(307, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy308; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy308; + if (yych != 't') goto yy150; yy308: YYDEBUG(308, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy309; - if (yych != 't') goto yy151; -yy309: + if (yych != '_') goto yy150; YYDEBUG(309, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(310, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(311, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(312, *YYCURSOR); + YYDEBUG(311, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1738 "Zend/zend_language_scanner.l" +#line 1739 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT_C); } -#line 4078 "Zend/zend_language_scanner.c" +#line 4084 "Zend/zend_language_scanner.c" +yy312: + YYDEBUG(312, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy313; + if (yych != 'a') goto yy150; yy313: YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy314; - if (yych != 'a') goto yy151; + if (yych == 'S') goto yy314; + if (yych != 's') goto yy150; yy314: YYDEBUG(314, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy315; - if (yych != 's') goto yy151; + if (yych != 's') goto yy150; yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy316; - if (yych != 's') goto yy151; -yy316: + if (yych != '_') goto yy150; YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych != '_') goto yy150; YYDEBUG(317, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy151; - YYDEBUG(318, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(319, *YYCURSOR); + YYDEBUG(318, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1734 "Zend/zend_language_scanner.l" +#line 1735 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS_C); } -#line 4112 "Zend/zend_language_scanner.c" +#line 4118 "Zend/zend_language_scanner.c" +yy319: + YYDEBUG(319, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy320; + if (yych != 'l') goto yy150; yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy321; - if (yych != 'l') goto yy151; + if (yych == 'T') goto yy321; + if (yych != 't') goto yy150; yy321: YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy322; - if (yych != 't') goto yy151; -yy322: + if (yych != '_') goto yy150; YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy151; + if (yych == 'C') goto yy323; + if (yych != 'c') goto yy150; +yy323: YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy324; - if (yych != 'c') goto yy151; + if (yych == 'O') goto yy324; + if (yych != 'o') goto yy150; yy324: YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy325; - if (yych != 'o') goto yy151; + if (yych == 'M') goto yy325; + if (yych != 'm') goto yy150; yy325: YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy326; - if (yych != 'm') goto yy151; + if (yych == 'P') goto yy326; + if (yych != 'p') goto yy150; yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy327; - if (yych != 'p') goto yy151; + if (yych == 'I') goto yy327; + if (yych != 'i') goto yy150; yy327: YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy328; - if (yych != 'i') goto yy151; + if (yych == 'L') goto yy328; + if (yych != 'l') goto yy150; yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy329; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy329; + if (yych != 'e') goto yy150; yy329: YYDEBUG(329, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy330; - if (yych != 'e') goto yy151; + if (yych == 'R') goto yy330; + if (yych != 'r') goto yy150; yy330: YYDEBUG(330, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy331; - if (yych != 'r') goto yy151; -yy331: - YYDEBUG(331, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(332, *YYCURSOR); + YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1397 "Zend/zend_language_scanner.l" +#line 1398 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_HALT_COMPILER); } -#line 4178 "Zend/zend_language_scanner.c" +#line 4184 "Zend/zend_language_scanner.c" +yy332: + YYDEBUG(332, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy336; + if (yych == 's') goto yy336; + goto yy150; yy333: YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy337; - if (yych == 's') goto yy337; - goto yy151; + if (yych == 'E') goto yy334; + if (yych != 'e') goto yy150; yy334: YYDEBUG(334, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy335; - if (yych != 'e') goto yy151; -yy335: - YYDEBUG(335, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(336, *YYCURSOR); + YYDEBUG(335, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1377 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_USE); } -#line 4202 "Zend/zend_language_scanner.c" +#line 4208 "Zend/zend_language_scanner.c" +yy336: + YYDEBUG(336, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy337; + if (yych != 'e') goto yy150; yy337: YYDEBUG(337, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy338; - if (yych != 'e') goto yy151; + if (yych == 'T') goto yy338; + if (yych != 't') goto yy150; yy338: YYDEBUG(338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy339; - if (yych != 't') goto yy151; -yy339: - YYDEBUG(339, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(340, *YYCURSOR); + YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1425 "Zend/zend_language_scanner.l" +#line 1426 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET); } -#line 4225 "Zend/zend_language_scanner.c" -yy341: - YYDEBUG(341, *YYCURSOR); +#line 4231 "Zend/zend_language_scanner.c" +yy340: + YYDEBUG(340, *YYCURSOR); ++YYCURSOR; YYFILL(7); yych = *YYCURSOR; -yy342: - YYDEBUG(342, *YYCURSOR); +yy341: + YYDEBUG(341, *YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy341; - if (yych <= 0x1F) goto yy158; - goto yy341; + if (yych == '\t') goto yy340; + if (yych <= 0x1F) goto yy157; + goto yy340; } else { if (yych <= 'A') { - if (yych <= '@') goto yy158; - goto yy346; + if (yych <= '@') goto yy157; + goto yy345; } else { - if (yych <= 'B') goto yy344; - if (yych <= 'C') goto yy158; - goto yy349; + if (yych <= 'B') goto yy343; + if (yych <= 'C') goto yy157; + goto yy348; } } } else { if (yych <= 'I') { - if (yych == 'F') goto yy350; - if (yych <= 'H') goto yy158; - goto yy351; + if (yych == 'F') goto yy349; + if (yych <= 'H') goto yy157; + goto yy350; } else { if (yych <= 'O') { - if (yych <= 'N') goto yy158; - goto yy345; + if (yych <= 'N') goto yy157; + goto yy344; } else { - if (yych <= 'Q') goto yy158; - if (yych <= 'R') goto yy348; - goto yy347; + if (yych <= 'Q') goto yy157; + if (yych <= 'R') goto yy347; + goto yy346; } } } } else { if (yych <= 'f') { if (yych <= 'a') { - if (yych == 'U') goto yy343; - if (yych <= '`') goto yy158; - goto yy346; + if (yych == 'U') goto yy342; + if (yych <= '`') goto yy157; + goto yy345; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy344; - goto yy158; + if (yych <= 'b') goto yy343; + goto yy157; } else { - if (yych <= 'd') goto yy349; - if (yych <= 'e') goto yy158; - goto yy350; + if (yych <= 'd') goto yy348; + if (yych <= 'e') goto yy157; + goto yy349; } } } else { if (yych <= 'q') { if (yych <= 'i') { - if (yych <= 'h') goto yy158; - goto yy351; + if (yych <= 'h') goto yy157; + goto yy350; } else { - if (yych == 'o') goto yy345; - goto yy158; + if (yych == 'o') goto yy344; + goto yy157; } } else { if (yych <= 's') { - if (yych <= 'r') goto yy348; - goto yy347; + if (yych <= 'r') goto yy347; + goto yy346; } else { - if (yych != 'u') goto yy158; + if (yych != 'u') goto yy157; } } } } +yy342: + YYDEBUG(342, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy409; + if (yych == 'n') goto yy409; + goto yy157; yy343: YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy410; - if (yych == 'n') goto yy410; - goto yy158; -yy344: - YYDEBUG(344, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy397; - if (yych <= 'N') goto yy158; - goto yy398; + if (yych == 'I') goto yy396; + if (yych <= 'N') goto yy157; + goto yy397; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy158; - goto yy397; + if (yych <= 'h') goto yy157; + goto yy396; } else { - if (yych == 'o') goto yy398; - goto yy158; + if (yych == 'o') goto yy397; + goto yy157; } } +yy344: + YYDEBUG(344, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy388; + if (yych == 'b') goto yy388; + goto yy157; yy345: YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy389; - if (yych == 'b') goto yy389; - goto yy158; + if (yych == 'R') goto yy381; + if (yych == 'r') goto yy381; + goto yy157; yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy382; - if (yych == 'r') goto yy382; - goto yy158; + if (yych == 'T') goto yy373; + if (yych == 't') goto yy373; + goto yy157; yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy374; - if (yych == 't') goto yy374; - goto yy158; + if (yych == 'E') goto yy371; + if (yych == 'e') goto yy371; + goto yy157; yy348: YYDEBUG(348, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy372; - if (yych == 'e') goto yy372; - goto yy158; + if (yych == 'O') goto yy367; + if (yych == 'o') goto yy367; + goto yy157; yy349: YYDEBUG(349, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy368; - if (yych == 'o') goto yy368; - goto yy158; + if (yych == 'L') goto yy360; + if (yych == 'l') goto yy360; + goto yy157; yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy361; - if (yych == 'l') goto yy361; - goto yy158; + if (yych == 'N') goto yy351; + if (yych != 'n') goto yy157; yy351: YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy352; - if (yych != 'n') goto yy158; + if (yych == 'T') goto yy352; + if (yych != 't') goto yy157; yy352: YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy353; - if (yych != 't') goto yy158; + if (yych == 'E') goto yy353; + if (yych != 'e') goto yy355; yy353: YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy354; - if (yych != 'e') goto yy356; + if (yych == 'G') goto yy358; + if (yych == 'g') goto yy358; + goto yy157; yy354: YYDEBUG(354, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy359; - if (yych == 'g') goto yy359; - goto yy158; -yy355: - YYDEBUG(355, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy356: - YYDEBUG(356, *YYCURSOR); +yy355: + YYDEBUG(355, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy355; - goto yy158; + if (yych == '\t') goto yy354; + goto yy157; } else { - if (yych <= ' ') goto yy355; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy354; + if (yych != ')') goto yy157; } - YYDEBUG(357, *YYCURSOR); + YYDEBUG(356, *YYCURSOR); ++YYCURSOR; - YYDEBUG(358, *YYCURSOR); + YYDEBUG(357, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1325 "Zend/zend_language_scanner.l" +#line 1326 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INT_CAST); } -#line 4401 "Zend/zend_language_scanner.c" +#line 4407 "Zend/zend_language_scanner.c" +yy358: + YYDEBUG(358, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy359; + if (yych != 'e') goto yy157; yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy360; - if (yych != 'e') goto yy158; + if (yych == 'R') goto yy354; + if (yych == 'r') goto yy354; + goto yy157; yy360: YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy355; - if (yych == 'r') goto yy355; - goto yy158; + if (yych == 'O') goto yy361; + if (yych != 'o') goto yy157; yy361: YYDEBUG(361, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy362; - if (yych != 'o') goto yy158; + if (yych == 'A') goto yy362; + if (yych != 'a') goto yy157; yy362: YYDEBUG(362, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy363; - if (yych != 'a') goto yy158; + if (yych == 'T') goto yy363; + if (yych != 't') goto yy157; yy363: YYDEBUG(363, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy364; - if (yych != 't') goto yy158; -yy364: - YYDEBUG(364, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(365, *YYCURSOR); + YYDEBUG(364, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy364; - goto yy158; + if (yych == '\t') goto yy363; + goto yy157; } else { - if (yych <= ' ') goto yy364; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy363; + if (yych != ')') goto yy157; } - YYDEBUG(366, *YYCURSOR); + YYDEBUG(365, *YYCURSOR); ++YYCURSOR; - YYDEBUG(367, *YYCURSOR); + YYDEBUG(366, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1329 "Zend/zend_language_scanner.l" +#line 1330 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DOUBLE_CAST); } -#line 4449 "Zend/zend_language_scanner.c" +#line 4455 "Zend/zend_language_scanner.c" +yy367: + YYDEBUG(367, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'U') goto yy368; + if (yych != 'u') goto yy157; yy368: YYDEBUG(368, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy369; - if (yych != 'u') goto yy158; + if (yych == 'B') goto yy369; + if (yych != 'b') goto yy157; yy369: YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy370; - if (yych != 'b') goto yy158; + if (yych == 'L') goto yy370; + if (yych != 'l') goto yy157; yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy371; - if (yych != 'l') goto yy158; + if (yych == 'E') goto yy363; + if (yych == 'e') goto yy363; + goto yy157; yy371: YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy364; - if (yych == 'e') goto yy364; - goto yy158; + if (yych == 'A') goto yy372; + if (yych != 'a') goto yy157; yy372: YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy373; - if (yych != 'a') goto yy158; + if (yych == 'L') goto yy363; + if (yych == 'l') goto yy363; + goto yy157; yy373: YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy364; - if (yych == 'l') goto yy364; - goto yy158; + if (yych == 'R') goto yy374; + if (yych != 'r') goto yy157; yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy375; - if (yych != 'r') goto yy158; + if (yych == 'I') goto yy375; + if (yych != 'i') goto yy157; yy375: YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy376; - if (yych != 'i') goto yy158; + if (yych == 'N') goto yy376; + if (yych != 'n') goto yy157; yy376: YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy377; - if (yych != 'n') goto yy158; + if (yych == 'G') goto yy377; + if (yych != 'g') goto yy157; yy377: YYDEBUG(377, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy378; - if (yych != 'g') goto yy158; -yy378: - YYDEBUG(378, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(379, *YYCURSOR); + YYDEBUG(378, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy378; - goto yy158; + if (yych == '\t') goto yy377; + goto yy157; } else { - if (yych <= ' ') goto yy378; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy377; + if (yych != ')') goto yy157; } - YYDEBUG(380, *YYCURSOR); + YYDEBUG(379, *YYCURSOR); ++YYCURSOR; - YYDEBUG(381, *YYCURSOR); + YYDEBUG(380, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1334 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STRING_CAST); } -#line 4523 "Zend/zend_language_scanner.c" +#line 4529 "Zend/zend_language_scanner.c" +yy381: + YYDEBUG(381, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy382; + if (yych != 'r') goto yy157; yy382: YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy383; - if (yych != 'r') goto yy158; + if (yych == 'A') goto yy383; + if (yych != 'a') goto yy157; yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy384; - if (yych != 'a') goto yy158; + if (yych == 'Y') goto yy384; + if (yych != 'y') goto yy157; yy384: YYDEBUG(384, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy385; - if (yych != 'y') goto yy158; -yy385: - YYDEBUG(385, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(386, *YYCURSOR); + YYDEBUG(385, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy385; - goto yy158; + if (yych == '\t') goto yy384; + goto yy157; } else { - if (yych <= ' ') goto yy385; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy384; + if (yych != ')') goto yy157; } - YYDEBUG(387, *YYCURSOR); + YYDEBUG(386, *YYCURSOR); ++YYCURSOR; - YYDEBUG(388, *YYCURSOR); + YYDEBUG(387, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1337 "Zend/zend_language_scanner.l" +#line 1338 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY_CAST); } -#line 4560 "Zend/zend_language_scanner.c" +#line 4566 "Zend/zend_language_scanner.c" +yy388: + YYDEBUG(388, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'J') goto yy389; + if (yych != 'j') goto yy157; yy389: YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy390; - if (yych != 'j') goto yy158; + if (yych == 'E') goto yy390; + if (yych != 'e') goto yy157; yy390: YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy391; - if (yych != 'e') goto yy158; + if (yych == 'C') goto yy391; + if (yych != 'c') goto yy157; yy391: YYDEBUG(391, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy392; - if (yych != 'c') goto yy158; + if (yych == 'T') goto yy392; + if (yych != 't') goto yy157; yy392: YYDEBUG(392, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy393; - if (yych != 't') goto yy158; -yy393: - YYDEBUG(393, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(394, *YYCURSOR); + YYDEBUG(393, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy393; - goto yy158; + if (yych == '\t') goto yy392; + goto yy157; } else { - if (yych <= ' ') goto yy393; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy392; + if (yych != ')') goto yy157; } - YYDEBUG(395, *YYCURSOR); + YYDEBUG(394, *YYCURSOR); ++YYCURSOR; - YYDEBUG(396, *YYCURSOR); + YYDEBUG(395, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1341 "Zend/zend_language_scanner.l" +#line 1342 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_CAST); } -#line 4602 "Zend/zend_language_scanner.c" +#line 4608 "Zend/zend_language_scanner.c" +yy396: + YYDEBUG(396, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy406; + if (yych == 'n') goto yy406; + goto yy157; yy397: YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy407; - if (yych == 'n') goto yy407; - goto yy158; + if (yych == 'O') goto yy398; + if (yych != 'o') goto yy157; yy398: YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy399; - if (yych != 'o') goto yy158; + if (yych == 'L') goto yy399; + if (yych != 'l') goto yy157; yy399: YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy400; - if (yych != 'l') goto yy158; + if (yych == 'E') goto yy404; + if (yych == 'e') goto yy404; + goto yy401; yy400: YYDEBUG(400, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy405; - if (yych == 'e') goto yy405; - goto yy402; -yy401: - YYDEBUG(401, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy402: - YYDEBUG(402, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy401; - goto yy158; +yy401: + YYDEBUG(401, *YYCURSOR); + if (yych <= 0x1F) { + if (yych == '\t') goto yy400; + goto yy157; } else { - if (yych <= ' ') goto yy401; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy400; + if (yych != ')') goto yy157; } - YYDEBUG(403, *YYCURSOR); + YYDEBUG(402, *YYCURSOR); ++YYCURSOR; - YYDEBUG(404, *YYCURSOR); + YYDEBUG(403, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1345 "Zend/zend_language_scanner.l" +#line 1346 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BOOL_CAST); } -#line 4647 "Zend/zend_language_scanner.c" +#line 4653 "Zend/zend_language_scanner.c" +yy404: + YYDEBUG(404, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy405; + if (yych != 'a') goto yy157; yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy406; - if (yych != 'a') goto yy158; + if (yych == 'N') goto yy400; + if (yych == 'n') goto yy400; + goto yy157; yy406: YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy401; - if (yych == 'n') goto yy401; - goto yy158; + if (yych == 'A') goto yy407; + if (yych != 'a') goto yy157; yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy408; - if (yych != 'a') goto yy158; + if (yych == 'R') goto yy408; + if (yych != 'r') goto yy157; yy408: YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy409; - if (yych != 'r') goto yy158; + if (yych == 'Y') goto yy377; + if (yych == 'y') goto yy377; + goto yy157; yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy378; - if (yych == 'y') goto yy378; - goto yy158; + if (yych == 'S') goto yy410; + if (yych != 's') goto yy157; yy410: YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy411; - if (yych != 's') goto yy158; + if (yych == 'E') goto yy411; + if (yych != 'e') goto yy157; yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy412; - if (yych != 'e') goto yy158; + if (yych == 'T') goto yy412; + if (yych != 't') goto yy157; yy412: YYDEBUG(412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy413; - if (yych != 't') goto yy158; -yy413: - YYDEBUG(413, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(414, *YYCURSOR); + YYDEBUG(413, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy413; - goto yy158; + if (yych == '\t') goto yy412; + goto yy157; } else { - if (yych <= ' ') goto yy413; - if (yych != ')') goto yy158; + if (yych <= ' ') goto yy412; + if (yych != ')') goto yy157; } - YYDEBUG(415, *YYCURSOR); + YYDEBUG(414, *YYCURSOR); ++YYCURSOR; - YYDEBUG(416, *YYCURSOR); + YYDEBUG(415, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1349 "Zend/zend_language_scanner.l" +#line 1350 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_UNSET_CAST); } -#line 4711 "Zend/zend_language_scanner.c" +#line 4717 "Zend/zend_language_scanner.c" +yy416: + YYDEBUG(416, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy417; + if (yych != 'r') goto yy150; yy417: YYDEBUG(417, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy418; - if (yych != 'r') goto yy151; -yy418: - YYDEBUG(418, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(419, *YYCURSOR); + YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1321 "Zend/zend_language_scanner.l" +#line 1322 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_VAR); } -#line 4729 "Zend/zend_language_scanner.c" +#line 4735 "Zend/zend_language_scanner.c" +yy419: + YYDEBUG(419, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy423; + if (yych == 'm') goto yy423; + goto yy150; yy420: YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy424; - if (yych == 'm') goto yy424; - goto yy151; + if (yych == 'W') goto yy421; + if (yych != 'w') goto yy150; yy421: YYDEBUG(421, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy422; - if (yych != 'w') goto yy151; -yy422: - YYDEBUG(422, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(423, *YYCURSOR); + YYDEBUG(422, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1313 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NEW); } -#line 4753 "Zend/zend_language_scanner.c" +#line 4759 "Zend/zend_language_scanner.c" +yy423: + YYDEBUG(423, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy424; + if (yych != 'e') goto yy150; yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy425; - if (yych != 'e') goto yy151; + if (yych == 'S') goto yy425; + if (yych != 's') goto yy150; yy425: YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy426; - if (yych != 's') goto yy151; + if (yych == 'P') goto yy426; + if (yych != 'p') goto yy150; yy426: YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy427; - if (yych != 'p') goto yy151; + if (yych == 'A') goto yy427; + if (yych != 'a') goto yy150; yy427: YYDEBUG(427, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy428; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy428; + if (yych != 'c') goto yy150; yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy429; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy429; + if (yych != 'e') goto yy150; yy429: YYDEBUG(429, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy430; - if (yych != 'e') goto yy151; -yy430: - YYDEBUG(430, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(431, *YYCURSOR); + YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1373 "Zend/zend_language_scanner.l" +#line 1374 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_NAMESPACE); } -#line 4796 "Zend/zend_language_scanner.c" +#line 4802 "Zend/zend_language_scanner.c" +yy431: + YYDEBUG(431, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy435; + if (yych == '\r') goto yy436; yy432: YYDEBUG(432, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy436; - if (yych == '\r') goto yy437; -yy433: - YYDEBUG(433, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1945 "Zend/zend_language_scanner.l" +#line 1946 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */ } -#line 4810 "Zend/zend_language_scanner.c" -yy434: - YYDEBUG(434, *YYCURSOR); +#line 4816 "Zend/zend_language_scanner.c" +yy433: + YYDEBUG(433, *YYCURSOR); ++YYCURSOR; - YYDEBUG(435, *YYCURSOR); + YYDEBUG(434, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1309 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_COALESCE); } -#line 4820 "Zend/zend_language_scanner.c" +#line 4826 "Zend/zend_language_scanner.c" +yy435: + YYDEBUG(435, *YYCURSOR); + yych = *++YYCURSOR; + goto yy432; yy436: YYDEBUG(436, *YYCURSOR); yych = *++YYCURSOR; - goto yy433; + if (yych == '\n') goto yy435; + goto yy432; yy437: YYDEBUG(437, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy436; - goto yy433; -yy438: - YYDEBUG(438, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(439, *YYCURSOR); + YYDEBUG(438, *YYCURSOR); if (yych <= 'D') { - if (yych <= '/') goto yy154; - if (yych <= '9') goto yy438; - goto yy154; + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy437; + goto yy153; } else { - if (yych <= 'E') goto yy157; - if (yych == 'e') goto yy157; - goto yy154; + if (yych <= 'E') goto yy156; + if (yych == 'e') goto yy156; + goto yy153; } -yy440: - YYDEBUG(440, *YYCURSOR); +yy439: + YYDEBUG(439, *YYCURSOR); ++YYCURSOR; - YYDEBUG(441, *YYCURSOR); + YYDEBUG(440, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1505 "Zend/zend_language_scanner.l" +#line 1506 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONCAT_EQUAL); } -#line 4855 "Zend/zend_language_scanner.c" -yy442: - YYDEBUG(442, *YYCURSOR); +#line 4861 "Zend/zend_language_scanner.c" +yy441: + YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '.') goto yy158; - YYDEBUG(443, *YYCURSOR); + if (yych != '.') goto yy157; + YYDEBUG(442, *YYCURSOR); ++YYCURSOR; - YYDEBUG(444, *YYCURSOR); + YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1305 "Zend/zend_language_scanner.l" +#line 1306 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELLIPSIS); } -#line 4868 "Zend/zend_language_scanner.c" -yy445: - YYDEBUG(445, *YYCURSOR); +#line 4874 "Zend/zend_language_scanner.c" +yy444: + YYDEBUG(444, *YYCURSOR); ++YYCURSOR; - YYDEBUG(446, *YYCURSOR); + YYDEBUG(445, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1297 "Zend/zend_language_scanner.l" +#line 1298 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } -#line 4878 "Zend/zend_language_scanner.c" -yy447: - YYDEBUG(447, *YYCURSOR); +#line 4884 "Zend/zend_language_scanner.c" +yy446: + YYDEBUG(446, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy448: - YYDEBUG(448, *YYCURSOR); +yy447: + YYDEBUG(447, *YYCURSOR); if (yych <= '\f') { - if (yych <= 0x08) goto yy105; - if (yych <= '\n') goto yy447; - goto yy105; + if (yych <= 0x08) goto yy104; + if (yych <= '\n') goto yy446; + goto yy104; } else { - if (yych <= '\r') goto yy447; - if (yych == ' ') goto yy447; - goto yy105; + if (yych <= '\r') goto yy446; + if (yych == ' ') goto yy446; + goto yy104; } -yy449: - YYDEBUG(449, *YYCURSOR); +yy448: + YYDEBUG(448, *YYCURSOR); ++YYCURSOR; - YYDEBUG(450, *YYCURSOR); + YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" +#line 1486 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_MINUS_EQUAL); } -#line 4904 "Zend/zend_language_scanner.c" -yy451: - YYDEBUG(451, *YYCURSOR); +#line 4910 "Zend/zend_language_scanner.c" +yy450: + YYDEBUG(450, *YYCURSOR); ++YYCURSOR; - YYDEBUG(452, *YYCURSOR); + YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1449 "Zend/zend_language_scanner.l" +#line 1450 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEC); } -#line 4914 "Zend/zend_language_scanner.c" -yy453: - YYDEBUG(453, *YYCURSOR); +#line 4920 "Zend/zend_language_scanner.c" +yy452: + YYDEBUG(452, *YYCURSOR); ++YYCURSOR; - YYDEBUG(454, *YYCURSOR); + YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1271 "Zend/zend_language_scanner.l" +#line 1272 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 4925 "Zend/zend_language_scanner.c" -yy455: - YYDEBUG(455, *YYCURSOR); +#line 4931 "Zend/zend_language_scanner.c" +yy454: + YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy462; - if (yych <= 'N') goto yy151; - goto yy463; + if (yych == 'I') goto yy461; + if (yych <= 'N') goto yy150; + goto yy462; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; - goto yy462; + if (yych <= 'h') goto yy150; + goto yy461; } else { - if (yych == 'o') goto yy463; - goto yy151; + if (yych == 'o') goto yy462; + goto yy150; } } +yy455: + YYDEBUG(455, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy456; + if (yych != 'b') goto yy150; yy456: YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy457; - if (yych != 'b') goto yy151; + if (yych == 'L') goto yy457; + if (yych != 'l') goto yy150; yy457: YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy458; - if (yych != 'l') goto yy151; + if (yych == 'I') goto yy458; + if (yych != 'i') goto yy150; yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy459; - if (yych != 'i') goto yy151; + if (yych == 'C') goto yy459; + if (yych != 'c') goto yy150; yy459: YYDEBUG(459, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy460; - if (yych != 'c') goto yy151; -yy460: - YYDEBUG(460, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(461, *YYCURSOR); + YYDEBUG(460, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1421 "Zend/zend_language_scanner.l" +#line 1422 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PUBLIC); } -#line 4974 "Zend/zend_language_scanner.c" -yy462: - YYDEBUG(462, *YYCURSOR); +#line 4980 "Zend/zend_language_scanner.c" +yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { - if (yych == 'N') goto yy471; - if (yych <= 'U') goto yy151; - goto yy472; + if (yych == 'N') goto yy470; + if (yych <= 'U') goto yy150; + goto yy471; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy151; - goto yy471; + if (yych <= 'm') goto yy150; + goto yy470; } else { - if (yych == 'v') goto yy472; - goto yy151; + if (yych == 'v') goto yy471; + goto yy150; } } +yy462: + YYDEBUG(462, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy463; + if (yych != 't') goto yy150; yy463: YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy464; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy464; + if (yych != 'e') goto yy150; yy464: YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy465; - if (yych != 'e') goto yy151; + if (yych == 'C') goto yy465; + if (yych != 'c') goto yy150; yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy466; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy466; + if (yych != 't') goto yy150; yy466: YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy467; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy467; + if (yych != 'e') goto yy150; yy467: YYDEBUG(467, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy468; - if (yych != 'e') goto yy151; + if (yych == 'D') goto yy468; + if (yych != 'd') goto yy150; yy468: YYDEBUG(468, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy469; - if (yych != 'd') goto yy151; -yy469: - YYDEBUG(469, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(470, *YYCURSOR); + YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1417 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PROTECTED); } -#line 5033 "Zend/zend_language_scanner.c" +#line 5039 "Zend/zend_language_scanner.c" +yy470: + YYDEBUG(470, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy476; + if (yych == 't') goto yy476; + goto yy150; yy471: YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy477; - if (yych == 't') goto yy477; - goto yy151; + if (yych == 'A') goto yy472; + if (yych != 'a') goto yy150; yy472: YYDEBUG(472, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy473; - if (yych != 'a') goto yy151; + if (yych == 'T') goto yy473; + if (yych != 't') goto yy150; yy473: YYDEBUG(473, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy474; - if (yych != 't') goto yy151; + if (yych == 'E') goto yy474; + if (yych != 'e') goto yy150; yy474: YYDEBUG(474, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy475; - if (yych != 'e') goto yy151; -yy475: - YYDEBUG(475, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(476, *YYCURSOR); + YYDEBUG(475, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1413 "Zend/zend_language_scanner.l" +#line 1414 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRIVATE); } -#line 5067 "Zend/zend_language_scanner.c" -yy477: - YYDEBUG(477, *YYCURSOR); +#line 5073 "Zend/zend_language_scanner.c" +yy476: + YYDEBUG(476, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(478, *YYCURSOR); + YYDEBUG(477, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1247 "Zend/zend_language_scanner.l" +#line 1248 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_PRINT); } -#line 5080 "Zend/zend_language_scanner.c" +#line 5086 "Zend/zend_language_scanner.c" +yy478: + YYDEBUG(478, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy483; + if (yych == 'o') goto yy483; + goto yy150; yy479: YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy484; - if (yych == 'o') goto yy484; - goto yy151; + if (yych == 'T') goto yy480; + if (yych != 't') goto yy150; yy480: YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy481; - if (yych != 't') goto yy151; + if (yych == 'O') goto yy481; + if (yych != 'o') goto yy150; yy481: YYDEBUG(481, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy482; - if (yych != 'o') goto yy151; -yy482: - YYDEBUG(482, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(483, *YYCURSOR); + YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1239 "Zend/zend_language_scanner.l" +#line 1240 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GOTO); } -#line 5109 "Zend/zend_language_scanner.c" +#line 5115 "Zend/zend_language_scanner.c" +yy483: + YYDEBUG(483, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy484; + if (yych != 'b') goto yy150; yy484: YYDEBUG(484, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy485; - if (yych != 'b') goto yy151; + if (yych == 'A') goto yy485; + if (yych != 'a') goto yy150; yy485: YYDEBUG(485, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy486; - if (yych != 'a') goto yy151; + if (yych == 'L') goto yy486; + if (yych != 'l') goto yy150; yy486: YYDEBUG(486, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy487; - if (yych != 'l') goto yy151; -yy487: - YYDEBUG(487, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(488, *YYCURSOR); + YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1385 "Zend/zend_language_scanner.l" +#line 1386 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_GLOBAL); } -#line 5137 "Zend/zend_language_scanner.c" +#line 5143 "Zend/zend_language_scanner.c" +yy488: + YYDEBUG(488, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '<') goto yy496; + goto yy157; yy489: YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy497; - goto yy158; + goto yy144; yy490: YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; - goto yy145; + goto yy142; yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; - goto yy143; + if (yych == 'E') goto yy492; + if (yych != 'e') goto yy150; yy492: YYDEBUG(492, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy493; - if (yych != 'e') goto yy151; + if (yych == 'A') goto yy493; + if (yych != 'a') goto yy150; yy493: YYDEBUG(493, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy494; - if (yych != 'a') goto yy151; + if (yych == 'K') goto yy494; + if (yych != 'k') goto yy150; yy494: YYDEBUG(494, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy495; - if (yych != 'k') goto yy151; -yy495: - YYDEBUG(495, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(496, *YYCURSOR); + YYDEBUG(495, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1231 "Zend/zend_language_scanner.l" +#line 1232 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_BREAK); } -#line 5178 "Zend/zend_language_scanner.c" +#line 5184 "Zend/zend_language_scanner.c" +yy496: + YYDEBUG(496, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '<') goto yy219; + goto yy157; yy497: YYDEBUG(497, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy220; - goto yy158; + if (yych == 'A') goto yy504; + if (yych == 'a') goto yy504; + goto yy150; yy498: YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy505; - if (yych == 'a') goto yy505; - goto yy151; + if (yych == 'I') goto yy499; + if (yych != 'i') goto yy150; yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy500; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy500; + if (yych != 't') goto yy150; yy500: YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy501; - if (yych != 't') goto yy151; + if (yych == 'C') goto yy501; + if (yych != 'c') goto yy150; yy501: YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy502; - if (yych != 'c') goto yy151; + if (yych == 'H') goto yy502; + if (yych != 'h') goto yy150; yy502: YYDEBUG(502, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy503; - if (yych != 'h') goto yy151; -yy503: - YYDEBUG(503, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(504, *YYCURSOR); + YYDEBUG(503, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1215 "Zend/zend_language_scanner.l" +#line 1216 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_SWITCH); } -#line 5222 "Zend/zend_language_scanner.c" +#line 5228 "Zend/zend_language_scanner.c" +yy504: + YYDEBUG(504, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy505; + if (yych != 't') goto yy150; yy505: YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy506; - if (yych != 't') goto yy151; + if (yych == 'I') goto yy506; + if (yych != 'i') goto yy150; yy506: YYDEBUG(506, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy507; - if (yych != 'i') goto yy151; + if (yych == 'C') goto yy507; + if (yych != 'c') goto yy150; yy507: YYDEBUG(507, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy508; - if (yych != 'c') goto yy151; -yy508: - YYDEBUG(508, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(509, *YYCURSOR); + YYDEBUG(508, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1401 "Zend/zend_language_scanner.l" +#line 1402 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_STATIC); } -#line 5250 "Zend/zend_language_scanner.c" +#line 5256 "Zend/zend_language_scanner.c" +yy509: + YYDEBUG(509, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy520; + if (yych == 's') goto yy520; + goto yy150; yy510: YYDEBUG(510, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy521; - if (yych == 's') goto yy521; - goto yy151; + if (yych == 'D') goto yy518; + if (yych == 'd') goto yy518; + goto yy150; yy511: YYDEBUG(511, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy519; - if (yych == 'd') goto yy519; - goto yy151; + if (yych == 'R') goto yy514; + if (yych == 'r') goto yy514; + goto yy150; yy512: YYDEBUG(512, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy515; - if (yych == 'r') goto yy515; - goto yy151; -yy513: - YYDEBUG(513, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(514, *YYCURSOR); + YYDEBUG(513, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1211 "Zend/zend_language_scanner.l" +#line 1212 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_AS); } -#line 5281 "Zend/zend_language_scanner.c" +#line 5287 "Zend/zend_language_scanner.c" +yy514: + YYDEBUG(514, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy515; + if (yych != 'a') goto yy150; yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy516; - if (yych != 'a') goto yy151; + if (yych == 'Y') goto yy516; + if (yych != 'y') goto yy150; yy516: YYDEBUG(516, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy517; - if (yych != 'y') goto yy151; -yy517: - YYDEBUG(517, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(518, *YYCURSOR); + YYDEBUG(517, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1437 "Zend/zend_language_scanner.l" +#line 1438 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ARRAY); } -#line 5304 "Zend/zend_language_scanner.c" -yy519: - YYDEBUG(519, *YYCURSOR); +#line 5310 "Zend/zend_language_scanner.c" +yy518: + YYDEBUG(518, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(520, *YYCURSOR); + YYDEBUG(519, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1545 "Zend/zend_language_scanner.l" +#line 1546 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_LOGICAL_AND); } -#line 5317 "Zend/zend_language_scanner.c" +#line 5323 "Zend/zend_language_scanner.c" +yy520: + YYDEBUG(520, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy521; + if (yych != 't') goto yy150; yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy522; - if (yych != 't') goto yy151; + if (yych == 'R') goto yy522; + if (yych != 'r') goto yy150; yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy523; - if (yych != 'r') goto yy151; + if (yych == 'A') goto yy523; + if (yych != 'a') goto yy150; yy523: YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy524; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy524; + if (yych != 'c') goto yy150; yy524: YYDEBUG(524, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy525; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy525; + if (yych != 't') goto yy150; yy525: YYDEBUG(525, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy526; - if (yych != 't') goto yy151; -yy526: - YYDEBUG(526, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(527, *YYCURSOR); + YYDEBUG(526, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1405 "Zend/zend_language_scanner.l" +#line 1406 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ABSTRACT); } -#line 5355 "Zend/zend_language_scanner.c" +#line 5361 "Zend/zend_language_scanner.c" +yy527: + YYDEBUG(527, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy528; + if (yych != 'i') goto yy150; yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy529; - if (yych != 'i') goto yy151; + if (yych == 'L') goto yy529; + if (yych != 'l') goto yy150; yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy530; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy530; + if (yych != 'e') goto yy150; yy530: YYDEBUG(530, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy531; - if (yych != 'e') goto yy151; -yy531: - YYDEBUG(531, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(532, *YYCURSOR); + YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1171 "Zend/zend_language_scanner.l" +#line 1172 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_WHILE); } -#line 5383 "Zend/zend_language_scanner.c" -yy533: - YYDEBUG(533, *YYCURSOR); +#line 5389 "Zend/zend_language_scanner.c" +yy532: + YYDEBUG(532, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(534, *YYCURSOR); + YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1155 "Zend/zend_language_scanner.l" +#line 1156 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IF); } -#line 5396 "Zend/zend_language_scanner.c" +#line 5402 "Zend/zend_language_scanner.c" +yy534: + YYDEBUG(534, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy576; + if (yych == 'p') goto yy576; + goto yy150; yy535: YYDEBUG(535, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy577; - if (yych == 'p') goto yy577; - goto yy151; -yy536: - YYDEBUG(536, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'C') { - if (yych <= 'B') goto yy151; - goto yy544; - } else { - if (yych <= 'R') goto yy151; - if (yych <= 'S') goto yy542; + if (yych <= 'B') goto yy150; goto yy543; + } else { + if (yych <= 'R') goto yy150; + if (yych <= 'S') goto yy541; + goto yy542; } } else { if (yych <= 'r') { - if (yych == 'c') goto yy544; - goto yy151; + if (yych == 'c') goto yy543; + goto yy150; } else { - if (yych <= 's') goto yy542; - if (yych <= 't') goto yy543; - goto yy151; + if (yych <= 's') goto yy541; + if (yych <= 't') goto yy542; + goto yy150; } } +yy536: + YYDEBUG(536, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy537; + if (yych != 's') goto yy150; yy537: YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy538; - if (yych != 's') goto yy151; + if (yych == 'E') goto yy538; + if (yych != 'e') goto yy150; yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy539; - if (yych != 'e') goto yy151; + if (yych == 'T') goto yy539; + if (yych != 't') goto yy150; yy539: YYDEBUG(539, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy540; - if (yych != 't') goto yy151; -yy540: - YYDEBUG(540, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(541, *YYCURSOR); + YYDEBUG(540, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1389 "Zend/zend_language_scanner.l" +#line 1390 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ISSET); } -#line 5452 "Zend/zend_language_scanner.c" +#line 5458 "Zend/zend_language_scanner.c" +yy541: + YYDEBUG(541, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy562; + if (yych == 't') goto yy562; + goto yy150; yy542: YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy563; - if (yych == 't') goto yy563; - goto yy151; + if (yych == 'E') goto yy555; + if (yych == 'e') goto yy555; + goto yy150; yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy556; - if (yych == 'e') goto yy556; - goto yy151; + if (yych == 'L') goto yy544; + if (yych != 'l') goto yy150; yy544: YYDEBUG(544, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy545; - if (yych != 'l') goto yy151; + if (yych == 'U') goto yy545; + if (yych != 'u') goto yy150; yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy546; - if (yych != 'u') goto yy151; + if (yych == 'D') goto yy546; + if (yych != 'd') goto yy150; yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy547; - if (yych != 'd') goto yy151; + if (yych == 'E') goto yy547; + if (yych != 'e') goto yy150; yy547: YYDEBUG(547, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy548; - if (yych != 'e') goto yy151; -yy548: - YYDEBUG(548, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy150; + if (yych >= '0') goto yy149; } else { - if (yych <= '@') goto yy549; - if (yych <= 'Z') goto yy150; + if (yych <= '@') goto yy548; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { - if (yych <= '_') goto yy550; + if (yych <= '_') goto yy549; } else { - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy549: - YYDEBUG(549, *YYCURSOR); +yy548: + YYDEBUG(548, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1357 "Zend/zend_language_scanner.l" +#line 1358 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE); } -#line 5510 "Zend/zend_language_scanner.c" +#line 5516 "Zend/zend_language_scanner.c" +yy549: + YYDEBUG(549, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy550; + if (yych != 'o') goto yy150; yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy551; - if (yych != 'o') goto yy151; + if (yych == 'N') goto yy551; + if (yych != 'n') goto yy150; yy551: YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy552; - if (yych != 'n') goto yy151; + if (yych == 'C') goto yy552; + if (yych != 'c') goto yy150; yy552: YYDEBUG(552, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy553; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy553; + if (yych != 'e') goto yy150; yy553: YYDEBUG(553, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy554; - if (yych != 'e') goto yy151; -yy554: - YYDEBUG(554, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(555, *YYCURSOR); + YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1361 "Zend/zend_language_scanner.l" +#line 1362 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 5543 "Zend/zend_language_scanner.c" +#line 5549 "Zend/zend_language_scanner.c" +yy555: + YYDEBUG(555, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy556; + if (yych != 'r') goto yy150; yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy557; - if (yych != 'r') goto yy151; + if (yych == 'F') goto yy557; + if (yych != 'f') goto yy150; yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy558; - if (yych != 'f') goto yy151; + if (yych == 'A') goto yy558; + if (yych != 'a') goto yy150; yy558: YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy559; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy559; + if (yych != 'c') goto yy150; yy559: YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy560; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy560; + if (yych != 'e') goto yy150; yy560: YYDEBUG(560, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy561; - if (yych != 'e') goto yy151; -yy561: - YYDEBUG(561, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(562, *YYCURSOR); + YYDEBUG(561, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1255 "Zend/zend_language_scanner.l" +#line 1256 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INTERFACE); } -#line 5581 "Zend/zend_language_scanner.c" -yy563: - YYDEBUG(563, *YYCURSOR); +#line 5587 "Zend/zend_language_scanner.c" +yy562: + YYDEBUG(562, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy564; - if (yych <= 'D') goto yy151; - goto yy565; + if (yych == 'A') goto yy563; + if (yych <= 'D') goto yy150; + goto yy564; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; + if (yych <= '`') goto yy150; } else { - if (yych == 'e') goto yy565; - goto yy151; + if (yych == 'e') goto yy564; + goto yy150; } } +yy563: + YYDEBUG(563, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy570; + if (yych == 'n') goto yy570; + goto yy150; yy564: YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy571; - if (yych == 'n') goto yy571; - goto yy151; + if (yych == 'A') goto yy565; + if (yych != 'a') goto yy150; yy565: YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy566; - if (yych != 'a') goto yy151; + if (yych == 'D') goto yy566; + if (yych != 'd') goto yy150; yy566: YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy567; - if (yych != 'd') goto yy151; + if (yych == 'O') goto yy567; + if (yych != 'o') goto yy150; yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy568; - if (yych != 'o') goto yy151; + if (yych == 'F') goto yy568; + if (yych != 'f') goto yy150; yy568: YYDEBUG(568, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy569; - if (yych != 'f') goto yy151; -yy569: - YYDEBUG(569, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(570, *YYCURSOR); + YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1381 "Zend/zend_language_scanner.l" +#line 1382 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTEADOF); } -#line 5635 "Zend/zend_language_scanner.c" +#line 5641 "Zend/zend_language_scanner.c" +yy570: + YYDEBUG(570, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy571; + if (yych != 'c') goto yy150; yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy572; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy572; + if (yych != 'e') goto yy150; yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy573; - if (yych != 'e') goto yy151; + if (yych == 'O') goto yy573; + if (yych != 'o') goto yy150; yy573: YYDEBUG(573, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy574; - if (yych != 'o') goto yy151; + if (yych == 'F') goto yy574; + if (yych != 'f') goto yy150; yy574: YYDEBUG(574, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy575; - if (yych != 'f') goto yy151; -yy575: - YYDEBUG(575, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(576, *YYCURSOR); + YYDEBUG(575, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1207 "Zend/zend_language_scanner.l" +#line 1208 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_INSTANCEOF); } -#line 5668 "Zend/zend_language_scanner.c" +#line 5674 "Zend/zend_language_scanner.c" +yy576: + YYDEBUG(576, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy577; + if (yych != 'l') goto yy150; yy577: YYDEBUG(577, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy578; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy578; + if (yych != 'e') goto yy150; yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy579; - if (yych != 'e') goto yy151; + if (yych == 'M') goto yy579; + if (yych != 'm') goto yy150; yy579: YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy580; - if (yych != 'm') goto yy151; + if (yych == 'E') goto yy580; + if (yych != 'e') goto yy150; yy580: YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy581; - if (yych != 'e') goto yy151; + if (yych == 'N') goto yy581; + if (yych != 'n') goto yy150; yy581: YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy582; - if (yych != 'n') goto yy151; + if (yych == 'T') goto yy582; + if (yych != 't') goto yy150; yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy583; - if (yych != 't') goto yy151; + if (yych == 'S') goto yy583; + if (yych != 's') goto yy150; yy583: YYDEBUG(583, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy584; - if (yych != 's') goto yy151; -yy584: - YYDEBUG(584, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(585, *YYCURSOR); + YYDEBUG(584, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1267 "Zend/zend_language_scanner.l" +#line 1268 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_IMPLEMENTS); } -#line 5716 "Zend/zend_language_scanner.c" +#line 5722 "Zend/zend_language_scanner.c" +yy585: + YYDEBUG(585, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy593; + if (yych == 'r') goto yy593; + goto yy150; yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy594; - if (yych == 'r') goto yy594; - goto yy151; -yy587: - YYDEBUG(587, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'A') goto yy590; - if (yych <= 'X') goto yy151; + if (yych == 'A') goto yy589; + if (yych <= 'X') goto yy150; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; - goto yy590; + if (yych <= '`') goto yy150; + goto yy589; } else { - if (yych != 'y') goto yy151; + if (yych != 'y') goto yy150; } } - YYDEBUG(588, *YYCURSOR); + YYDEBUG(587, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(589, *YYCURSOR); + YYDEBUG(588, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1139 "Zend/zend_language_scanner.l" +#line 1140 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRY); } -#line 5748 "Zend/zend_language_scanner.c" +#line 5754 "Zend/zend_language_scanner.c" +yy589: + YYDEBUG(589, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy590; + if (yych != 'i') goto yy150; yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy591; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy591; + if (yych != 't') goto yy150; yy591: YYDEBUG(591, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy592; - if (yych != 't') goto yy151; -yy592: - YYDEBUG(592, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(593, *YYCURSOR); + YYDEBUG(592, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1259 "Zend/zend_language_scanner.l" +#line 1260 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_TRAIT); } -#line 5771 "Zend/zend_language_scanner.c" +#line 5777 "Zend/zend_language_scanner.c" +yy593: + YYDEBUG(593, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy594; + if (yych != 'o') goto yy150; yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy595; - if (yych != 'o') goto yy151; + if (yych == 'W') goto yy595; + if (yych != 'w') goto yy150; yy595: YYDEBUG(595, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy596; - if (yych != 'w') goto yy151; -yy596: - YYDEBUG(596, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(597, *YYCURSOR); + YYDEBUG(596, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1151 "Zend/zend_language_scanner.l" +#line 1152 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_THROW); } -#line 5794 "Zend/zend_language_scanner.c" +#line 5800 "Zend/zend_language_scanner.c" +yy597: + YYDEBUG(597, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy598; + if (yych != 'e') goto yy150; yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy599; - if (yych != 'e') goto yy151; + if (yych == 'L') goto yy599; + if (yych != 'l') goto yy150; yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy600; - if (yych != 'l') goto yy151; + if (yych == 'D') goto yy600; + if (yych != 'd') goto yy150; yy600: YYDEBUG(600, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy601; - if (yych != 'd') goto yy151; -yy601: - YYDEBUG(601, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy150; + goto yy149; } if (yych <= '\f') { - if (yych <= 0x08) goto yy602; - if (yych <= '\n') goto yy603; + if (yych <= 0x08) goto yy601; + if (yych <= '\n') goto yy602; } else { - if (yych <= '\r') goto yy603; - if (yych == ' ') goto yy603; + if (yych <= '\r') goto yy602; + if (yych == ' ') goto yy602; } -yy602: - YYDEBUG(602, *YYCURSOR); +yy601: + YYDEBUG(601, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1135 "Zend/zend_language_scanner.l" +#line 1136 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_YIELD); } -#line 5831 "Zend/zend_language_scanner.c" -yy603: - YYDEBUG(603, *YYCURSOR); +#line 5837 "Zend/zend_language_scanner.c" +yy602: + YYDEBUG(602, *YYCURSOR); ++YYCURSOR; YYFILL(4); yych = *YYCURSOR; - YYDEBUG(604, *YYCURSOR); + YYDEBUG(603, *YYCURSOR); if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy158; - goto yy603; + if (yych <= 0x08) goto yy157; + goto yy602; } else { - if (yych == '\r') goto yy603; - goto yy158; + if (yych == '\r') goto yy602; + goto yy157; } } else { if (yych <= 'F') { - if (yych <= ' ') goto yy603; - if (yych <= 'E') goto yy158; + if (yych <= ' ') goto yy602; + if (yych <= 'E') goto yy157; } else { - if (yych != 'f') goto yy158; + if (yych != 'f') goto yy157; } } + YYDEBUG(604, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy605; + if (yych != 'r') goto yy157; +yy605: YYDEBUG(605, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy606; - if (yych != 'r') goto yy158; + if (yych == 'O') goto yy606; + if (yych != 'o') goto yy157; yy606: YYDEBUG(606, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy607; - if (yych != 'o') goto yy158; + if (yych == 'M') goto yy607; + if (yych != 'm') goto yy157; yy607: YYDEBUG(607, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy608; - if (yych != 'm') goto yy158; -yy608: - YYDEBUG(608, *YYCURSOR); ++YYCURSOR; - YYDEBUG(609, *YYCURSOR); + YYDEBUG(608, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1130 "Zend/zend_language_scanner.l" +#line 1131 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_YIELD_FROM); } -#line 5878 "Zend/zend_language_scanner.c" -yy610: - YYDEBUG(610, *YYCURSOR); +#line 5884 "Zend/zend_language_scanner.c" +yy609: + YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'Q') goto yy612; - if (yych <= 'S') goto yy151; + if (yych == 'Q') goto yy611; + if (yych <= 'S') goto yy150; } else { if (yych <= 'q') { - if (yych <= 'p') goto yy151; - goto yy612; + if (yych <= 'p') goto yy150; + goto yy611; } else { - if (yych != 't') goto yy151; + if (yych != 't') goto yy150; } } + YYDEBUG(610, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'U') goto yy623; + if (yych == 'u') goto yy623; + goto yy150; +yy611: YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy624; - if (yych == 'u') goto yy624; - goto yy151; + if (yych == 'U') goto yy612; + if (yych != 'u') goto yy150; yy612: YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy613; - if (yych != 'u') goto yy151; + if (yych == 'I') goto yy613; + if (yych != 'i') goto yy150; yy613: YYDEBUG(613, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy614; - if (yych != 'i') goto yy151; + if (yych == 'R') goto yy614; + if (yych != 'r') goto yy150; yy614: YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy615; - if (yych != 'r') goto yy151; + if (yych == 'E') goto yy615; + if (yych != 'e') goto yy150; yy615: YYDEBUG(615, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy616; - if (yych != 'e') goto yy151; -yy616: - YYDEBUG(616, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy150; + if (yych >= '0') goto yy149; } else { - if (yych <= '@') goto yy617; - if (yych <= 'Z') goto yy150; + if (yych <= '@') goto yy616; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { - if (yych <= '_') goto yy618; + if (yych <= '_') goto yy617; } else { - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy617: - YYDEBUG(617, *YYCURSOR); +yy616: + YYDEBUG(616, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1365 "Zend/zend_language_scanner.l" +#line 1366 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE); } -#line 5943 "Zend/zend_language_scanner.c" +#line 5949 "Zend/zend_language_scanner.c" +yy617: + YYDEBUG(617, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy618; + if (yych != 'o') goto yy150; yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy619; - if (yych != 'o') goto yy151; + if (yych == 'N') goto yy619; + if (yych != 'n') goto yy150; yy619: YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy620; - if (yych != 'n') goto yy151; + if (yych == 'C') goto yy620; + if (yych != 'c') goto yy150; yy620: YYDEBUG(620, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy621; - if (yych != 'c') goto yy151; + if (yych == 'E') goto yy621; + if (yych != 'e') goto yy150; yy621: YYDEBUG(621, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy622; - if (yych != 'e') goto yy151; -yy622: - YYDEBUG(622, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(623, *YYCURSOR); + YYDEBUG(622, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1369 "Zend/zend_language_scanner.l" +#line 1370 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_REQUIRE_ONCE); } -#line 5976 "Zend/zend_language_scanner.c" +#line 5982 "Zend/zend_language_scanner.c" +yy623: + YYDEBUG(623, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy624; + if (yych != 'r') goto yy150; yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy625; - if (yych != 'r') goto yy151; + if (yych == 'N') goto yy625; + if (yych != 'n') goto yy150; yy625: YYDEBUG(625, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy626; - if (yych != 'n') goto yy151; -yy626: - YYDEBUG(626, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(627, *YYCURSOR); + YYDEBUG(626, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1126 "Zend/zend_language_scanner.l" +#line 1127 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_RETURN); } -#line 5999 "Zend/zend_language_scanner.c" -yy628: - YYDEBUG(628, *YYCURSOR); +#line 6005 "Zend/zend_language_scanner.c" +yy627: + YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { - if (yych <= 'K') goto yy151; - goto yy651; + if (yych <= 'K') goto yy150; + goto yy650; } else { - if (yych <= 'R') goto yy151; - if (yych <= 'S') goto yy650; - goto yy649; + if (yych <= 'R') goto yy150; + if (yych <= 'S') goto yy649; + goto yy648; } } else { if (yych <= 'r') { - if (yych == 'l') goto yy651; - goto yy151; + if (yych == 'l') goto yy650; + goto yy150; } else { - if (yych <= 's') goto yy650; - if (yych <= 't') goto yy649; - goto yy151; + if (yych <= 's') goto yy649; + if (yych <= 't') goto yy648; + goto yy150; } } -yy629: - YYDEBUG(629, *YYCURSOR); +yy628: + YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'A') goto yy641; - if (yych <= 'N') goto yy151; - goto yy642; + if (yych == 'A') goto yy640; + if (yych <= 'N') goto yy150; + goto yy641; } else { if (yych <= 'a') { - if (yych <= '`') goto yy151; - goto yy641; + if (yych <= '`') goto yy150; + goto yy640; } else { - if (yych == 'o') goto yy642; - goto yy151; + if (yych == 'o') goto yy641; + goto yy150; } } +yy629: + YYDEBUG(629, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy630; + if (yych != 'n') goto yy150; yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy631; - if (yych != 'n') goto yy151; -yy631: - YYDEBUG(631, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'T') { - if (yych <= 'R') goto yy151; - if (yych >= 'T') goto yy633; + if (yych <= 'R') goto yy150; + if (yych >= 'T') goto yy632; } else { - if (yych <= 'r') goto yy151; - if (yych <= 's') goto yy632; - if (yych <= 't') goto yy633; - goto yy151; + if (yych <= 'r') goto yy150; + if (yych <= 's') goto yy631; + if (yych <= 't') goto yy632; + goto yy150; } +yy631: + YYDEBUG(631, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy638; + if (yych == 't') goto yy638; + goto yy150; yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy639; - if (yych == 't') goto yy639; - goto yy151; + if (yych == 'I') goto yy633; + if (yych != 'i') goto yy150; yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy634; - if (yych != 'i') goto yy151; + if (yych == 'N') goto yy634; + if (yych != 'n') goto yy150; yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy635; - if (yych != 'n') goto yy151; + if (yych == 'U') goto yy635; + if (yych != 'u') goto yy150; yy635: YYDEBUG(635, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy636; - if (yych != 'u') goto yy151; + if (yych == 'E') goto yy636; + if (yych != 'e') goto yy150; yy636: YYDEBUG(636, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy637; - if (yych != 'e') goto yy151; -yy637: - YYDEBUG(637, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(638, *YYCURSOR); + YYDEBUG(637, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1235 "Zend/zend_language_scanner.l" +#line 1236 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONTINUE); } -#line 6093 "Zend/zend_language_scanner.c" -yy639: - YYDEBUG(639, *YYCURSOR); +#line 6099 "Zend/zend_language_scanner.c" +yy638: + YYDEBUG(638, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(640, *YYCURSOR); + YYDEBUG(639, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1122 "Zend/zend_language_scanner.l" +#line 1123 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CONST); } -#line 6106 "Zend/zend_language_scanner.c" +#line 6112 "Zend/zend_language_scanner.c" +yy640: + YYDEBUG(640, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy645; + if (yych == 's') goto yy645; + goto yy150; yy641: YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy646; - if (yych == 's') goto yy646; - goto yy151; + if (yych == 'N') goto yy642; + if (yych != 'n') goto yy150; yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy643; - if (yych != 'n') goto yy151; + if (yych == 'E') goto yy643; + if (yych != 'e') goto yy150; yy643: YYDEBUG(643, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy644; - if (yych != 'e') goto yy151; -yy644: - YYDEBUG(644, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(645, *YYCURSOR); + YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1317 "Zend/zend_language_scanner.l" +#line 1318 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLONE); } -#line 6135 "Zend/zend_language_scanner.c" +#line 6141 "Zend/zend_language_scanner.c" +yy645: + YYDEBUG(645, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy646; + if (yych != 's') goto yy150; yy646: YYDEBUG(646, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy647; - if (yych != 's') goto yy151; -yy647: - YYDEBUG(647, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(648, *YYCURSOR); + YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1252 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CLASS); } -#line 6153 "Zend/zend_language_scanner.c" +#line 6159 "Zend/zend_language_scanner.c" +yy648: + YYDEBUG(648, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy659; + if (yych == 'c') goto yy659; + goto yy150; yy649: YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy660; - if (yych == 'c') goto yy660; - goto yy151; + if (yych == 'E') goto yy657; + if (yych == 'e') goto yy657; + goto yy150; yy650: YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy658; - if (yych == 'e') goto yy658; - goto yy151; + if (yych == 'L') goto yy651; + if (yych != 'l') goto yy150; yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy652; - if (yych != 'l') goto yy151; + if (yych == 'A') goto yy652; + if (yych != 'a') goto yy150; yy652: YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy653; - if (yych != 'a') goto yy151; + if (yych == 'B') goto yy653; + if (yych != 'b') goto yy150; yy653: YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy654; - if (yych != 'b') goto yy151; + if (yych == 'L') goto yy654; + if (yych != 'l') goto yy150; yy654: YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy655; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy655; + if (yych != 'e') goto yy150; yy655: YYDEBUG(655, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy656; - if (yych != 'e') goto yy151; -yy656: - YYDEBUG(656, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(657, *YYCURSOR); + YYDEBUG(656, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CALLABLE); } -#line 6203 "Zend/zend_language_scanner.c" -yy658: - YYDEBUG(658, *YYCURSOR); +#line 6209 "Zend/zend_language_scanner.c" +yy657: + YYDEBUG(657, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(659, *YYCURSOR); + YYDEBUG(658, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1223 "Zend/zend_language_scanner.l" +#line 1224 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CASE); } -#line 6216 "Zend/zend_language_scanner.c" +#line 6222 "Zend/zend_language_scanner.c" +yy659: + YYDEBUG(659, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy660; + if (yych != 'h') goto yy150; yy660: YYDEBUG(660, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy661; - if (yych != 'h') goto yy151; -yy661: - YYDEBUG(661, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(662, *YYCURSOR); + YYDEBUG(661, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1143 "Zend/zend_language_scanner.l" +#line 1144 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_CATCH); } -#line 6234 "Zend/zend_language_scanner.c" +#line 6240 "Zend/zend_language_scanner.c" +yy662: + YYDEBUG(662, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy679; + if (yych == 'n') goto yy679; + goto yy150; yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy680; - if (yych == 'n') goto yy680; - goto yy151; + if (yych == 'R') goto yy672; + if (yych == 'r') goto yy672; + goto yy150; yy664: YYDEBUG(664, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy673; - if (yych == 'r') goto yy673; - goto yy151; + if (yych == 'N') goto yy665; + if (yych != 'n') goto yy150; yy665: YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy666; - if (yych != 'n') goto yy151; + if (yych == 'C') goto yy666; + if (yych != 'c') goto yy150; yy666: YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy667; - if (yych != 'c') goto yy151; + if (yych == 'T') goto yy667; + if (yych != 't') goto yy150; yy667: YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy668; - if (yych != 't') goto yy151; + if (yych == 'I') goto yy668; + if (yych != 'i') goto yy150; yy668: YYDEBUG(668, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy669; - if (yych != 'i') goto yy151; + if (yych == 'O') goto yy669; + if (yych != 'o') goto yy150; yy669: YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy670; - if (yych != 'o') goto yy151; + if (yych == 'N') goto yy670; + if (yych != 'n') goto yy150; yy670: YYDEBUG(670, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy671; - if (yych != 'n') goto yy151; -yy671: - YYDEBUG(671, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(672, *YYCURSOR); + YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1118 "Zend/zend_language_scanner.l" +#line 1119 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FUNCTION); } -#line 6289 "Zend/zend_language_scanner.c" -yy673: - YYDEBUG(673, *YYCURSOR); +#line 6295 "Zend/zend_language_scanner.c" +yy672: + YYDEBUG(672, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy674; - if (yych <= '9') goto yy150; + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy149; } else { - if (yych == 'E') goto yy675; - if (yych <= 'Z') goto yy150; + if (yych == 'E') goto yy674; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { - if (yych <= 'e') goto yy675; - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'e') goto yy674; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy674: - YYDEBUG(674, *YYCURSOR); +yy673: + YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1183 "Zend/zend_language_scanner.l" +#line 1184 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOR); } -#line 6317 "Zend/zend_language_scanner.c" +#line 6323 "Zend/zend_language_scanner.c" +yy674: + YYDEBUG(674, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy675; + if (yych != 'a') goto yy150; yy675: YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy676; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy676; + if (yych != 'c') goto yy150; yy676: YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy677; - if (yych != 'c') goto yy151; + if (yych == 'H') goto yy677; + if (yych != 'h') goto yy150; yy677: YYDEBUG(677, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy678; - if (yych != 'h') goto yy151; -yy678: - YYDEBUG(678, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(679, *YYCURSOR); + YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1191 "Zend/zend_language_scanner.l" +#line 1192 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FOREACH); } -#line 6345 "Zend/zend_language_scanner.c" +#line 6351 "Zend/zend_language_scanner.c" +yy679: + YYDEBUG(679, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy680; + if (yych != 'a') goto yy150; yy680: YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy681; - if (yych != 'a') goto yy151; + if (yych == 'L') goto yy681; + if (yych != 'l') goto yy150; yy681: YYDEBUG(681, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy682; - if (yych != 'l') goto yy151; -yy682: - YYDEBUG(682, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy683; - if (yych <= '9') goto yy150; + if (yych <= '/') goto yy682; + if (yych <= '9') goto yy149; } else { - if (yych == 'L') goto yy684; - if (yych <= 'Z') goto yy150; + if (yych == 'L') goto yy683; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'k') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { - if (yych <= 'l') goto yy684; - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'l') goto yy683; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy683: - YYDEBUG(683, *YYCURSOR); +yy682: + YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1409 "Zend/zend_language_scanner.l" +#line 1410 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINAL); } -#line 6383 "Zend/zend_language_scanner.c" +#line 6389 "Zend/zend_language_scanner.c" +yy683: + YYDEBUG(683, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy684; + if (yych != 'y') goto yy150; yy684: YYDEBUG(684, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy685; - if (yych != 'y') goto yy151; -yy685: - YYDEBUG(685, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(686, *YYCURSOR); + YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1147 "Zend/zend_language_scanner.l" +#line 1148 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_FINALLY); } -#line 6401 "Zend/zend_language_scanner.c" -yy687: - YYDEBUG(687, *YYCURSOR); +#line 6407 "Zend/zend_language_scanner.c" +yy686: + YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { - if (yych == 'C') goto yy693; - if (yych <= 'E') goto yy151; - goto yy694; + if (yych == 'C') goto yy692; + if (yych <= 'E') goto yy150; + goto yy693; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy151; - goto yy693; + if (yych <= 'b') goto yy150; + goto yy692; } else { - if (yych == 'f') goto yy694; - goto yy151; + if (yych == 'f') goto yy693; + goto yy150; } } +yy687: + YYDEBUG(687, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy690; + if (yych == 'e') goto yy690; + goto yy150; yy688: YYDEBUG(688, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy691; - if (yych == 'e') goto yy691; - goto yy151; -yy689: - YYDEBUG(689, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(690, *YYCURSOR); + YYDEBUG(689, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1179 "Zend/zend_language_scanner.l" +#line 1180 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DO); } -#line 6436 "Zend/zend_language_scanner.c" -yy691: - YYDEBUG(691, *YYCURSOR); +#line 6442 "Zend/zend_language_scanner.c" +yy690: + YYDEBUG(690, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(692, *YYCURSOR); + YYDEBUG(691, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1114 "Zend/zend_language_scanner.l" +#line 1115 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXIT); } -#line 6449 "Zend/zend_language_scanner.c" +#line 6455 "Zend/zend_language_scanner.c" +yy692: + YYDEBUG(692, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy699; + if (yych == 'l') goto yy699; + goto yy150; yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy700; - if (yych == 'l') goto yy700; - goto yy151; + if (yych == 'A') goto yy694; + if (yych != 'a') goto yy150; yy694: YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy695; - if (yych != 'a') goto yy151; + if (yych == 'U') goto yy695; + if (yych != 'u') goto yy150; yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy696; - if (yych != 'u') goto yy151; + if (yych == 'L') goto yy696; + if (yych != 'l') goto yy150; yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy697; - if (yych != 'l') goto yy151; + if (yych == 'T') goto yy697; + if (yych != 't') goto yy150; yy697: YYDEBUG(697, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy698; - if (yych != 't') goto yy151; -yy698: - YYDEBUG(698, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(699, *YYCURSOR); + YYDEBUG(698, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1227 "Zend/zend_language_scanner.l" +#line 1228 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DEFAULT); } -#line 6488 "Zend/zend_language_scanner.c" +#line 6494 "Zend/zend_language_scanner.c" +yy699: + YYDEBUG(699, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy700; + if (yych != 'a') goto yy150; yy700: YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy701; - if (yych != 'a') goto yy151; + if (yych == 'R') goto yy701; + if (yych != 'r') goto yy150; yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy702; - if (yych != 'r') goto yy151; + if (yych == 'E') goto yy702; + if (yych != 'e') goto yy150; yy702: YYDEBUG(702, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy703; - if (yych != 'e') goto yy151; -yy703: - YYDEBUG(703, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(704, *YYCURSOR); + YYDEBUG(703, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1199 "Zend/zend_language_scanner.l" +#line 1200 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DECLARE); } -#line 6516 "Zend/zend_language_scanner.c" +#line 6522 "Zend/zend_language_scanner.c" +yy704: + YYDEBUG(704, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy766; + if (yych == 'h') goto yy766; + goto yy150; yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy767; - if (yych == 'h') goto yy767; - goto yy151; + if (yych == 'S') goto yy760; + if (yych == 's') goto yy760; + goto yy150; yy706: YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy761; - if (yych == 's') goto yy761; - goto yy151; + if (yych == 'P') goto yy756; + if (yych == 'p') goto yy756; + goto yy150; yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy757; - if (yych == 'p') goto yy757; - goto yy151; + if (yych == 'D') goto yy722; + if (yych == 'd') goto yy722; + goto yy150; yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy723; - if (yych == 'd') goto yy723; - goto yy151; + if (yych == 'A') goto yy719; + if (yych == 'a') goto yy719; + goto yy150; yy709: YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy720; - if (yych == 'a') goto yy720; - goto yy151; -yy710: - YYDEBUG(710, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'I') goto yy711; - if (yych <= 'S') goto yy151; - goto yy712; + if (yych == 'I') goto yy710; + if (yych <= 'S') goto yy150; + goto yy711; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy151; + if (yych <= 'h') goto yy150; } else { - if (yych == 't') goto yy712; - goto yy151; + if (yych == 't') goto yy711; + goto yy150; } } +yy710: + YYDEBUG(710, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy717; + if (yych == 't') goto yy717; + goto yy150; yy711: YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy718; - if (yych == 't') goto yy718; - goto yy151; + if (yych == 'E') goto yy712; + if (yych != 'e') goto yy150; yy712: YYDEBUG(712, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy713; - if (yych != 'e') goto yy151; + if (yych == 'N') goto yy713; + if (yych != 'n') goto yy150; yy713: YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy714; - if (yych != 'n') goto yy151; + if (yych == 'D') goto yy714; + if (yych != 'd') goto yy150; yy714: YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy715; - if (yych != 'd') goto yy151; + if (yych == 'S') goto yy715; + if (yych != 's') goto yy150; yy715: YYDEBUG(715, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy716; - if (yych != 's') goto yy151; -yy716: - YYDEBUG(716, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(717, *YYCURSOR); + YYDEBUG(716, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1263 "Zend/zend_language_scanner.l" +#line 1264 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXTENDS); } -#line 6600 "Zend/zend_language_scanner.c" -yy718: - YYDEBUG(718, *YYCURSOR); +#line 6606 "Zend/zend_language_scanner.c" +yy717: + YYDEBUG(717, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(719, *YYCURSOR); + YYDEBUG(718, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1110 "Zend/zend_language_scanner.l" +#line 1111 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EXIT); } -#line 6613 "Zend/zend_language_scanner.c" +#line 6619 "Zend/zend_language_scanner.c" +yy719: + YYDEBUG(719, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy720; + if (yych != 'l') goto yy150; yy720: YYDEBUG(720, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy721; - if (yych != 'l') goto yy151; -yy721: - YYDEBUG(721, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(722, *YYCURSOR); + YYDEBUG(721, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1353 "Zend/zend_language_scanner.l" +#line 1354 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EVAL); } -#line 6631 "Zend/zend_language_scanner.c" -yy723: - YYDEBUG(723, *YYCURSOR); +#line 6637 "Zend/zend_language_scanner.c" +yy722: + YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; + YYDEBUG(-1, yych); switch (yych) { case 'D': - case 'd': goto yy724; + case 'd': goto yy723; case 'F': - case 'f': goto yy725; + case 'f': goto yy724; case 'I': - case 'i': goto yy726; + case 'i': goto yy725; case 'S': - case 's': goto yy727; + case 's': goto yy726; case 'W': - case 'w': goto yy728; - default: goto yy151; + case 'w': goto yy727; + default: goto yy150; } +yy723: + YYDEBUG(723, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy749; + if (yych == 'e') goto yy749; + goto yy150; yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy750; - if (yych == 'e') goto yy750; - goto yy151; + if (yych == 'O') goto yy741; + if (yych == 'o') goto yy741; + goto yy150; yy725: YYDEBUG(725, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy742; - if (yych == 'o') goto yy742; - goto yy151; + if (yych == 'F') goto yy739; + if (yych == 'f') goto yy739; + goto yy150; yy726: YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy740; - if (yych == 'f') goto yy740; - goto yy151; + if (yych == 'W') goto yy733; + if (yych == 'w') goto yy733; + goto yy150; yy727: YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy734; - if (yych == 'w') goto yy734; - goto yy151; + if (yych == 'H') goto yy728; + if (yych != 'h') goto yy150; yy728: YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy729; - if (yych != 'h') goto yy151; + if (yych == 'I') goto yy729; + if (yych != 'i') goto yy150; yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy730; - if (yych != 'i') goto yy151; + if (yych == 'L') goto yy730; + if (yych != 'l') goto yy150; yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy731; - if (yych != 'l') goto yy151; + if (yych == 'E') goto yy731; + if (yych != 'e') goto yy150; yy731: YYDEBUG(731, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy732; - if (yych != 'e') goto yy151; -yy732: - YYDEBUG(732, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(733, *YYCURSOR); + YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1175 "Zend/zend_language_scanner.l" +#line 1176 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDWHILE); } -#line 6704 "Zend/zend_language_scanner.c" +#line 6711 "Zend/zend_language_scanner.c" +yy733: + YYDEBUG(733, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy734; + if (yych != 'i') goto yy150; yy734: YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy735; - if (yych != 'i') goto yy151; + if (yych == 'T') goto yy735; + if (yych != 't') goto yy150; yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy736; - if (yych != 't') goto yy151; + if (yych == 'C') goto yy736; + if (yych != 'c') goto yy150; yy736: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy737; - if (yych != 'c') goto yy151; + if (yych == 'H') goto yy737; + if (yych != 'h') goto yy150; yy737: YYDEBUG(737, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy738; - if (yych != 'h') goto yy151; -yy738: - YYDEBUG(738, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(739, *YYCURSOR); + YYDEBUG(738, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1219 "Zend/zend_language_scanner.l" +#line 1220 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDSWITCH); } -#line 6737 "Zend/zend_language_scanner.c" -yy740: - YYDEBUG(740, *YYCURSOR); +#line 6744 "Zend/zend_language_scanner.c" +yy739: + YYDEBUG(739, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(741, *YYCURSOR); + YYDEBUG(740, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1163 "Zend/zend_language_scanner.l" +#line 1164 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDIF); } -#line 6750 "Zend/zend_language_scanner.c" +#line 6757 "Zend/zend_language_scanner.c" +yy741: + YYDEBUG(741, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy742; + if (yych != 'r') goto yy150; yy742: YYDEBUG(742, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy743; - if (yych != 'r') goto yy151; -yy743: - YYDEBUG(743, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy744; - if (yych <= '9') goto yy150; + if (yych <= '/') goto yy743; + if (yych <= '9') goto yy149; } else { - if (yych == 'E') goto yy745; - if (yych <= 'Z') goto yy150; + if (yych == 'E') goto yy744; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { - if (yych <= 'e') goto yy745; - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'e') goto yy744; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy744: - YYDEBUG(744, *YYCURSOR); +yy743: + YYDEBUG(743, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1187 "Zend/zend_language_scanner.l" +#line 1188 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOR); } -#line 6783 "Zend/zend_language_scanner.c" +#line 6790 "Zend/zend_language_scanner.c" +yy744: + YYDEBUG(744, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy745; + if (yych != 'a') goto yy150; yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy746; - if (yych != 'a') goto yy151; + if (yych == 'C') goto yy746; + if (yych != 'c') goto yy150; yy746: YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy747; - if (yych != 'c') goto yy151; + if (yych == 'H') goto yy747; + if (yych != 'h') goto yy150; yy747: YYDEBUG(747, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy748; - if (yych != 'h') goto yy151; -yy748: - YYDEBUG(748, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(749, *YYCURSOR); + YYDEBUG(748, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1195 "Zend/zend_language_scanner.l" +#line 1196 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDFOREACH); } -#line 6811 "Zend/zend_language_scanner.c" +#line 6818 "Zend/zend_language_scanner.c" +yy749: + YYDEBUG(749, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy750; + if (yych != 'c') goto yy150; yy750: YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy751; - if (yych != 'c') goto yy151; + if (yych == 'L') goto yy751; + if (yych != 'l') goto yy150; yy751: YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy752; - if (yych != 'l') goto yy151; + if (yych == 'A') goto yy752; + if (yych != 'a') goto yy150; yy752: YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy753; - if (yych != 'a') goto yy151; + if (yych == 'R') goto yy753; + if (yych != 'r') goto yy150; yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy754; - if (yych != 'r') goto yy151; + if (yych == 'E') goto yy754; + if (yych != 'e') goto yy150; yy754: YYDEBUG(754, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy755; - if (yych != 'e') goto yy151; -yy755: - YYDEBUG(755, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(756, *YYCURSOR); + YYDEBUG(755, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1203 "Zend/zend_language_scanner.l" +#line 1204 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ENDDECLARE); } -#line 6849 "Zend/zend_language_scanner.c" +#line 6856 "Zend/zend_language_scanner.c" +yy756: + YYDEBUG(756, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy757; + if (yych != 't') goto yy150; yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy758; - if (yych != 't') goto yy151; + if (yych == 'Y') goto yy758; + if (yych != 'y') goto yy150; yy758: YYDEBUG(758, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy759; - if (yych != 'y') goto yy151; -yy759: - YYDEBUG(759, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(760, *YYCURSOR); + YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1393 "Zend/zend_language_scanner.l" +#line 1394 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_EMPTY); } -#line 6872 "Zend/zend_language_scanner.c" +#line 6879 "Zend/zend_language_scanner.c" +yy760: + YYDEBUG(760, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy761; + if (yych != 'e') goto yy150; yy761: YYDEBUG(761, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy762; - if (yych != 'e') goto yy151; -yy762: - YYDEBUG(762, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy763; - if (yych <= '9') goto yy150; + if (yych <= '/') goto yy762; + if (yych <= '9') goto yy149; } else { - if (yych == 'I') goto yy764; - if (yych <= 'Z') goto yy150; + if (yych == 'I') goto yy763; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'h') { - if (yych != '`') goto yy150; + if (yych != '`') goto yy149; } else { - if (yych <= 'i') goto yy764; - if (yych <= 'z') goto yy150; - if (yych >= 0x80) goto yy150; + if (yych <= 'i') goto yy763; + if (yych <= 'z') goto yy149; + if (yych >= 0x80) goto yy149; } } -yy763: - YYDEBUG(763, *YYCURSOR); +yy762: + YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1167 "Zend/zend_language_scanner.l" +#line 1168 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSE); } -#line 6905 "Zend/zend_language_scanner.c" +#line 6912 "Zend/zend_language_scanner.c" +yy763: + YYDEBUG(763, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'F') goto yy764; + if (yych != 'f') goto yy150; yy764: YYDEBUG(764, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy765; - if (yych != 'f') goto yy151; -yy765: - YYDEBUG(765, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(766, *YYCURSOR); + YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1159 "Zend/zend_language_scanner.l" +#line 1160 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ELSEIF); } -#line 6923 "Zend/zend_language_scanner.c" +#line 6930 "Zend/zend_language_scanner.c" +yy766: + YYDEBUG(766, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy767; + if (yych != 'o') goto yy150; yy767: YYDEBUG(767, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy768; - if (yych != 'o') goto yy151; -yy768: - YYDEBUG(768, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy150; + goto yy149; } - YYDEBUG(769, *YYCURSOR); + YYDEBUG(768, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1243 "Zend/zend_language_scanner.l" +#line 1244 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_ECHO); } -#line 6941 "Zend/zend_language_scanner.c" +#line 6948 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6976,111 +6983,111 @@ yyc_ST_LOOKING_FOR_PROPERTY: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(770, *YYCURSOR); + YYDEBUG(769, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= '\r') { - if (yych <= 0x08) goto yy778; - if (yych <= '\n') goto yy772; - if (yych <= '\f') goto yy778; + if (yych <= 0x08) goto yy777; + if (yych <= '\n') goto yy771; + if (yych <= '\f') goto yy777; } else { - if (yych == ' ') goto yy772; - if (yych <= ',') goto yy778; - goto yy774; + if (yych == ' ') goto yy771; + if (yych <= ',') goto yy777; + goto yy773; } } else { if (yych <= '_') { - if (yych <= '@') goto yy778; - if (yych <= 'Z') goto yy776; - if (yych <= '^') goto yy778; - goto yy776; + if (yych <= '@') goto yy777; + if (yych <= 'Z') goto yy775; + if (yych <= '^') goto yy777; + goto yy775; } else { - if (yych <= '`') goto yy778; - if (yych <= 'z') goto yy776; - if (yych <= 0x7F) goto yy778; - goto yy776; + if (yych <= '`') goto yy777; + if (yych <= 'z') goto yy775; + if (yych <= 0x7F) goto yy777; + goto yy775; } } -yy772: - YYDEBUG(772, *YYCURSOR); +yy771: + YYDEBUG(771, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy784; -yy773: - YYDEBUG(773, *YYCURSOR); + goto yy783; +yy772: + YYDEBUG(772, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1276 "Zend/zend_language_scanner.l" +#line 1277 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); } -#line 7019 "Zend/zend_language_scanner.c" +#line 7026 "Zend/zend_language_scanner.c" +yy773: + YYDEBUG(773, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '>') goto yy780; yy774: YYDEBUG(774, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy781; -yy775: - YYDEBUG(775, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1292 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); goto restart; } -#line 7033 "Zend/zend_language_scanner.c" -yy776: - YYDEBUG(776, *YYCURSOR); +#line 7040 "Zend/zend_language_scanner.c" +yy775: + YYDEBUG(775, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy780; -yy777: - YYDEBUG(777, *YYCURSOR); + goto yy779; +yy776: + YYDEBUG(776, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1285 "Zend/zend_language_scanner.l" +#line 1286 "Zend/zend_language_scanner.l" { yy_pop_state(); zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7048 "Zend/zend_language_scanner.c" +#line 7055 "Zend/zend_language_scanner.c" +yy777: + YYDEBUG(777, *YYCURSOR); + yych = *++YYCURSOR; + goto yy774; yy778: YYDEBUG(778, *YYCURSOR); - yych = *++YYCURSOR; - goto yy775; -yy779: - YYDEBUG(779, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy780: - YYDEBUG(780, *YYCURSOR); +yy779: + YYDEBUG(779, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy779; + goto yy778; } - goto yy777; -yy781: - YYDEBUG(781, *YYCURSOR); + goto yy776; +yy780: + YYDEBUG(780, *YYCURSOR); ++YYCURSOR; - YYDEBUG(782, *YYCURSOR); + YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1281 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 7073 "Zend/zend_language_scanner.c" -yy783: - YYDEBUG(783, *YYCURSOR); +#line 7080 "Zend/zend_language_scanner.c" +yy782: + YYDEBUG(782, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy784: - YYDEBUG(784, *YYCURSOR); +yy783: + YYDEBUG(783, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy783; + goto yy782; } - goto yy773; + goto yy772; } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7119,76 +7126,75 @@ yyc_ST_LOOKING_FOR_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(785, *YYCURSOR); + YYDEBUG(784, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy789; - if (yych <= 'Z') goto yy787; - if (yych <= '^') goto yy789; + if (yych <= '@') goto yy788; + if (yych <= 'Z') goto yy786; + if (yych <= '^') goto yy788; } else { - if (yych <= '`') goto yy789; - if (yych <= 'z') goto yy787; - if (yych <= 0x7F) goto yy789; + if (yych <= '`') goto yy788; + if (yych <= 'z') goto yy786; + if (yych <= 0x7F) goto yy788; } -yy787: - YYDEBUG(787, *YYCURSOR); +yy786: + YYDEBUG(786, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '_') { if (yych <= '@') { - if (yych <= '/') goto yy788; - if (yych <= '9') goto yy791; + if (yych <= '/') goto yy787; + if (yych <= '9') goto yy790; } else { - if (yych <= '[') goto yy791; - if (yych >= '_') goto yy791; + if (yych <= '[') goto yy790; + if (yych >= '_') goto yy790; } } else { if (yych <= '|') { - if (yych <= '`') goto yy788; - if (yych <= 'z') goto yy791; + if (yych <= '`') goto yy787; + if (yych <= 'z') goto yy790; } else { - if (yych <= '}') goto yy791; - if (yych >= 0x80) goto yy791; + if (yych <= '}') goto yy790; + if (yych >= 0x80) goto yy790; } } -yy788: - YYDEBUG(788, *YYCURSOR); +yy787: + YYDEBUG(787, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1596 "Zend/zend_language_scanner.l" +#line 1597 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7165 "Zend/zend_language_scanner.c" +#line 7173 "Zend/zend_language_scanner.c" +yy788: + YYDEBUG(788, *YYCURSOR); + yych = *++YYCURSOR; + goto yy787; yy789: YYDEBUG(789, *YYCURSOR); - yych = *++YYCURSOR; - goto yy788; -yy790: - YYDEBUG(790, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy791: - YYDEBUG(791, *YYCURSOR); +yy790: + YYDEBUG(790, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy790; + goto yy789; } - if (yych <= '@') goto yy792; - if (yych <= '[') goto yy793; - if (yych == '}') goto yy793; + if (yych == '[') goto yy792; + if (yych == '}') goto yy792; + YYDEBUG(791, *YYCURSOR); + YYCURSOR = YYMARKER; + goto yy787; yy792: YYDEBUG(792, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy788; -yy793: - YYDEBUG(793, *YYCURSOR); ++YYCURSOR; - YYDEBUG(794, *YYCURSOR); + YYDEBUG(793, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1587 "Zend/zend_language_scanner.l" +#line 1588 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7196,18 +7202,18 @@ yy793: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN(T_STRING_VARNAME); } -#line 7200 "Zend/zend_language_scanner.c" +#line 7206 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: - YYDEBUG(795, *YYCURSOR); + YYDEBUG(794, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(797, *YYCURSOR); + YYDEBUG(796, *YYCURSOR); ++YYCURSOR; - YYDEBUG(798, *YYCURSOR); + YYDEBUG(797, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2315 "Zend/zend_language_scanner.l" +#line 2316 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7263,7 +7269,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7267 "Zend/zend_language_scanner.c" +#line 7273 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7301,73 +7307,74 @@ yyc_ST_VAR_OFFSET: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(799, *YYCURSOR); + YYDEBUG(798, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '0') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy813; - if (yych <= '\n') goto yy809; - goto yy813; + if (yych <= 0x08) goto yy812; + if (yych <= '\n') goto yy808; + goto yy812; } else { - if (yych <= '\r') goto yy809; - if (yych <= 0x1F) goto yy813; - goto yy809; + if (yych <= '\r') goto yy808; + if (yych <= 0x1F) goto yy812; + goto yy808; } } else { if (yych <= '$') { - if (yych <= '"') goto yy808; - if (yych <= '#') goto yy809; - goto yy804; + if (yych <= '"') goto yy807; + if (yych <= '#') goto yy808; + goto yy803; } else { - if (yych == '\'') goto yy809; - if (yych <= '/') goto yy808; + if (yych == '\'') goto yy808; + if (yych <= '/') goto yy807; } } } else { if (yych <= ']') { if (yych <= 'Z') { - if (yych <= '9') goto yy803; - if (yych <= '@') goto yy808; - goto yy811; + if (yych <= '9') goto yy802; + if (yych <= '@') goto yy807; + goto yy810; } else { - if (yych <= '[') goto yy808; - if (yych <= '\\') goto yy809; - goto yy806; + if (yych <= '[') goto yy807; + if (yych <= '\\') goto yy808; + goto yy805; } } else { if (yych <= '`') { - if (yych == '_') goto yy811; - goto yy808; + if (yych == '_') goto yy810; + goto yy807; } else { - if (yych <= 'z') goto yy811; - if (yych <= '~') goto yy808; - if (yych <= 0x7F) goto yy813; - goto yy811; + if (yych <= 'z') goto yy810; + if (yych <= '~') goto yy807; + if (yych <= 0x7F) goto yy812; + goto yy810; } } } - YYDEBUG(801, *YYCURSOR); + YYDEBUG(800, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '9') { - if (yych >= '0') goto yy825; + if (yych >= '0') goto yy824; } else { - if (yych == 'B') goto yy822; + if (yych == 'B') goto yy821; } } else { if (yych <= 'b') { - if (yych <= 'X') goto yy824; - if (yych >= 'b') goto yy822; + if (yych <= 'X') goto yy823; + if (yych >= 'b') goto yy821; } else { - if (yych == 'x') goto yy824; + if (yych == 'x') goto yy823; } } -yy802: - YYDEBUG(802, *YYCURSOR); +yy801: + YYDEBUG(801, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1704 "Zend/zend_language_scanner.l" +#line 1705 "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)) { char *end; @@ -7383,53 +7390,53 @@ string: } RETURN_TOKEN(T_NUM_STRING); } -#line 7387 "Zend/zend_language_scanner.c" +#line 7394 "Zend/zend_language_scanner.c" +yy802: + YYDEBUG(802, *YYCURSOR); + yych = *++YYCURSOR; + goto yy820; yy803: YYDEBUG(803, *YYCURSOR); - yych = *++YYCURSOR; - goto yy821; -yy804: - YYDEBUG(804, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy805; - if (yych <= 'Z') goto yy817; - if (yych >= '_') goto yy817; + if (yych <= '@') goto yy804; + if (yych <= 'Z') goto yy816; + if (yych >= '_') goto yy816; } else { - if (yych <= '`') goto yy805; - if (yych <= 'z') goto yy817; - if (yych >= 0x80) goto yy817; + if (yych <= '`') goto yy804; + if (yych <= 'z') goto yy816; + if (yych >= 0x80) goto yy816; } -yy805: - YYDEBUG(805, *YYCURSOR); +yy804: + YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1864 "Zend/zend_language_scanner.l" +#line 1865 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ RETURN_TOKEN(yytext[0]); } -#line 7412 "Zend/zend_language_scanner.c" -yy806: - YYDEBUG(806, *YYCURSOR); +#line 7419 "Zend/zend_language_scanner.c" +yy805: + YYDEBUG(805, *YYCURSOR); ++YYCURSOR; - YYDEBUG(807, *YYCURSOR); + YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1859 "Zend/zend_language_scanner.l" +#line 1860 "Zend/zend_language_scanner.l" { yy_pop_state(); RETURN_TOKEN(']'); } -#line 7423 "Zend/zend_language_scanner.c" +#line 7430 "Zend/zend_language_scanner.c" +yy807: + YYDEBUG(807, *YYCURSOR); + yych = *++YYCURSOR; + goto yy804; yy808: YYDEBUG(808, *YYCURSOR); - yych = *++YYCURSOR; - goto yy805; -yy809: - YYDEBUG(809, *YYCURSOR); ++YYCURSOR; - YYDEBUG(810, *YYCURSOR); + YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1869 "Zend/zend_language_scanner.l" +#line 1870 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7437,27 +7444,27 @@ yy809: ZVAL_NULL(zendlval); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7441 "Zend/zend_language_scanner.c" -yy811: - YYDEBUG(811, *YYCURSOR); +#line 7448 "Zend/zend_language_scanner.c" +yy810: + YYDEBUG(810, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy816; -yy812: - YYDEBUG(812, *YYCURSOR); + goto yy815; +yy811: + YYDEBUG(811, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1877 "Zend/zend_language_scanner.l" +#line 1878 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7455 "Zend/zend_language_scanner.c" -yy813: - YYDEBUG(813, *YYCURSOR); +#line 7462 "Zend/zend_language_scanner.c" +yy812: + YYDEBUG(812, *YYCURSOR); ++YYCURSOR; - YYDEBUG(814, *YYCURSOR); + YYDEBUG(813, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2372 "Zend/zend_language_scanner.l" +#line 2373 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { RETURN_TOKEN(END); @@ -7466,115 +7473,115 @@ yy813: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7470 "Zend/zend_language_scanner.c" -yy815: - YYDEBUG(815, *YYCURSOR); +#line 7477 "Zend/zend_language_scanner.c" +yy814: + YYDEBUG(814, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy816: - YYDEBUG(816, *YYCURSOR); +yy815: + YYDEBUG(815, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy815; + goto yy814; } - goto yy812; -yy817: - YYDEBUG(817, *YYCURSOR); + goto yy811; +yy816: + YYDEBUG(816, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(818, *YYCURSOR); + YYDEBUG(817, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy817; + if (yych >= '0') goto yy816; } else { - if (yych <= '@') goto yy819; - if (yych <= 'Z') goto yy817; + if (yych <= '@') goto yy818; + if (yych <= 'Z') goto yy816; } } else { if (yych <= '`') { - if (yych <= '_') goto yy817; + if (yych <= '_') goto yy816; } else { - if (yych <= 'z') goto yy817; - if (yych >= 0x80) goto yy817; + if (yych <= 'z') goto yy816; + if (yych >= 0x80) goto yy816; } } -yy819: - YYDEBUG(819, *YYCURSOR); +yy818: + YYDEBUG(818, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1854 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 7511 "Zend/zend_language_scanner.c" -yy820: - YYDEBUG(820, *YYCURSOR); +#line 7518 "Zend/zend_language_scanner.c" +yy819: + YYDEBUG(819, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy821: - YYDEBUG(821, *YYCURSOR); +yy820: + YYDEBUG(820, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy820; + goto yy819; } - goto yy802; -yy822: - YYDEBUG(822, *YYCURSOR); + goto yy801; +yy821: + YYDEBUG(821, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy830; + goto yy829; } +yy822: + YYDEBUG(822, *YYCURSOR); + YYCURSOR = YYMARKER; + goto yy801; yy823: YYDEBUG(823, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy802; -yy824: - YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy828; + goto yy827; } - goto yy823; -yy825: - YYDEBUG(825, *YYCURSOR); + goto yy822; +yy824: + YYDEBUG(824, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(825, *YYCURSOR); + if (yych <= '/') goto yy826; + if (yych <= '9') goto yy824; +yy826: YYDEBUG(826, *YYCURSOR); - if (yych <= '/') goto yy827; - if (yych <= '9') goto yy825; -yy827: - YYDEBUG(827, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1720 "Zend/zend_language_scanner.l" +#line 1721 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); RETURN_TOKEN(T_NUM_STRING); } -#line 7556 "Zend/zend_language_scanner.c" -yy828: - YYDEBUG(828, *YYCURSOR); +#line 7563 "Zend/zend_language_scanner.c" +yy827: + YYDEBUG(827, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(829, *YYCURSOR); + YYDEBUG(828, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy828; + goto yy827; } - goto yy827; -yy830: - YYDEBUG(830, *YYCURSOR); + goto yy826; +yy829: + YYDEBUG(829, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(831, *YYCURSOR); + YYDEBUG(830, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy830; + goto yy829; } - goto yy827; + goto yy826; } } -#line 2381 "Zend/zend_language_scanner.l" +#line 2382 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 201445da01..c60fa7c102 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -178,6 +178,7 @@ void startup_scanner(void) { CG(parse_error) = 0; CG(doc_comment) = NULL; + CG(extra_fn_flags) = 0; zend_stack_init(&SCNG(state_stack), sizeof(int)); zend_ptr_stack_init(&SCNG(heredoc_label_stack)); } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 09bcf92f4f..5926e3c61d 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 */ +/* Generated by re2c 0.13.5 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index a7c37ed09b..b65075830c 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3612,27 +3612,16 @@ ZEND_VM_HANDLER(131, ZEND_DO_FCALL_BY_NAME, ANY, ANY, SPEC(RETVAL)) EX(call) = call->prev_execute_data; if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(RETURN_VALUE_USED(opline))) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - zend_vm_stack_free_args(call); - } - - zend_vm_stack_free_call_frame(call); - } else { - ret = NULL; - if (RETURN_VALUE_USED(opline)) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (RETURN_VALUE_USED(opline)) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 0); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 0); - ZEND_VM_ENTER(); - } + ZEND_VM_ENTER(); } else { zval retval; ZEND_ASSERT(fbc->type == ZEND_INTERNAL_FUNCTION); @@ -3720,32 +3709,20 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, ANY, ANY, SPEC(RETVAL)) LOAD_OPLINE(); if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(RETURN_VALUE_USED(opline))) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - if (UNEXPECTED(ZEND_CALL_INFO(call) & ZEND_CALL_CLOSURE)) { - OBJ_RELEASE((zend_object*)fbc->op_array.prototype); - } - zend_vm_stack_free_args(call); - } - } else { - ret = NULL; - if (RETURN_VALUE_USED(opline)) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (RETURN_VALUE_USED(opline)) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 1); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 1); - if (EXPECTED(zend_execute_ex == execute_ex)) { - ZEND_VM_ENTER(); - } else { - ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); - zend_execute_ex(call); - } + if (EXPECTED(zend_execute_ex == execute_ex)) { + ZEND_VM_ENTER(); + } else { + ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); + zend_execute_ex(call); } } else if (EXPECTED(fbc->type < ZEND_USER_FUNCTION)) { zval retval; @@ -4010,6 +3987,72 @@ ZEND_VM_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR|CV, ANY, SRC) ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper); } +ZEND_VM_HANDLER(41, ZEND_GENERATOR_CREATE, ANY, ANY) +{ + zval *return_value = EX(return_value); + + if (EXPECTED(return_value)) { + USE_OPLINE + zend_generator *generator; + zend_execute_data *gen_execute_data; + uint32_t num_args, used_stack, call_info; + + object_init_ex(return_value, zend_ce_generator); + + /* + * Normally the execute_data is allocated on the VM stack (because it does + * not actually do any allocation and thus is faster). For generators + * though this behavior would be suboptimal, because the (rather large) + * structure would have to be copied back and forth every time execution is + * suspended or resumed. That's why for generators the execution context + * is allocated on heap. + */ + num_args = EX_NUM_ARGS(); + used_stack = (ZEND_CALL_FRAME_SLOT + num_args + EX(func)->op_array.last_var + EX(func)->op_array.T - MIN(EX(func)->op_array.num_args, num_args)) * sizeof(zval); + gen_execute_data = (zend_execute_data*)emalloc(used_stack); + memcpy(gen_execute_data, execute_data, used_stack); + + /* Save execution context in generator object. */ + generator = (zend_generator *) Z_OBJ_P(EX(return_value)); + generator->execute_data = gen_execute_data; + generator->frozen_call_stack = NULL; + memset(&generator->execute_fake, 0, sizeof(zend_execute_data)); + ZVAL_OBJ(&generator->execute_fake.This, (zend_object *) generator); + + gen_execute_data->opline = opline + 1; + /* EX(return_value) keeps pointer to zend_object (not a real zval) */ + gen_execute_data->return_value = (zval*)generator; + call_info = Z_TYPE_INFO(EX(This)); + if ((call_info & Z_TYPE_MASK) == IS_OBJECT + && !(call_info & ((ZEND_CALL_CLOSURE|ZEND_CALL_RELEASE_THIS) << ZEND_CALL_INFO_SHIFT))) { + ZEND_ADD_CALL_FLAG_EX(call_info, ZEND_CALL_RELEASE_THIS); + Z_ADDREF(gen_execute_data->This); + } + ZEND_ADD_CALL_FLAG_EX(call_info, (ZEND_CALL_TOP_FUNCTION | ZEND_CALL_ALLOCATED)); + Z_TYPE_INFO(gen_execute_data->This) = call_info; + gen_execute_data->prev_execute_data = NULL; + + call_info = EX_CALL_INFO(); + EG(current_execute_data) = EX(prev_execute_data); + if (EXPECTED(!(call_info & (ZEND_CALL_TOP|ZEND_CALL_ALLOCATED)))) { + EG(vm_stack_top) = (zval*)execute_data; + execute_data = EX(prev_execute_data); + LOAD_NEXT_OPLINE(); + ZEND_VM_LEAVE(); + } else if (EXPECTED(!(call_info & ZEND_CALL_TOP))) { + zend_execute_data *old_execute_data = execute_data; + execute_data = EX(prev_execute_data); + zend_vm_stack_free_call_frame_ex(call_info, old_execute_data); + LOAD_NEXT_OPLINE(); + ZEND_VM_LEAVE(); + } else { + ZEND_VM_RETURN(); + } + } else { + ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper); + } +} + ZEND_VM_HANDLER(161, ZEND_GENERATOR_RETURN, CONST|TMP|VAR|CV, ANY) { USE_OPLINE diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index c9274bd64f..9eaff4624d 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -744,27 +744,16 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_U EX(call) = call->prev_execute_data; if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(0)) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - zend_vm_stack_free_args(call); - } - - zend_vm_stack_free_call_frame(call); - } else { - ret = NULL; - if (0) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (0) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 0); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 0); - ZEND_VM_ENTER(); - } + ZEND_VM_ENTER(); } else { zval retval; ZEND_ASSERT(fbc->type == ZEND_INTERNAL_FUNCTION); @@ -834,27 +823,16 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_U EX(call) = call->prev_execute_data; if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(1)) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - zend_vm_stack_free_args(call); - } - - zend_vm_stack_free_call_frame(call); - } else { - ret = NULL; - if (1) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (1) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 0); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 0); - ZEND_VM_ENTER(); - } + ZEND_VM_ENTER(); } else { zval retval; ZEND_ASSERT(fbc->type == ZEND_INTERNAL_FUNCTION); @@ -942,32 +920,20 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HA LOAD_OPLINE(); if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(0)) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - if (UNEXPECTED(ZEND_CALL_INFO(call) & ZEND_CALL_CLOSURE)) { - OBJ_RELEASE((zend_object*)fbc->op_array.prototype); - } - zend_vm_stack_free_args(call); - } - } else { - ret = NULL; - if (0) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (0) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 1); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 1); - if (EXPECTED(zend_execute_ex == execute_ex)) { - ZEND_VM_ENTER(); - } else { - ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); - zend_execute_ex(call); - } + if (EXPECTED(zend_execute_ex == execute_ex)) { + ZEND_VM_ENTER(); + } else { + ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); + zend_execute_ex(call); } } else if (EXPECTED(fbc->type < ZEND_USER_FUNCTION)) { zval retval; @@ -1083,32 +1049,20 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETVAL_USED_HAND LOAD_OPLINE(); if (EXPECTED(fbc->type == ZEND_USER_FUNCTION)) { - if (UNEXPECTED((fbc->common.fn_flags & ZEND_ACC_GENERATOR) != 0)) { - if (EXPECTED(1)) { - ret = EX_VAR(opline->result.var); - zend_generator_create_zval(call, &fbc->op_array, ret); - } else { - if (UNEXPECTED(ZEND_CALL_INFO(call) & ZEND_CALL_CLOSURE)) { - OBJ_RELEASE((zend_object*)fbc->op_array.prototype); - } - zend_vm_stack_free_args(call); - } - } else { - ret = NULL; - if (1) { - ret = EX_VAR(opline->result.var); - ZVAL_NULL(ret); - } + ret = NULL; + if (1) { + ret = EX_VAR(opline->result.var); + ZVAL_NULL(ret); + } - call->prev_execute_data = execute_data; - i_init_func_execute_data(call, &fbc->op_array, ret, 1); + call->prev_execute_data = execute_data; + i_init_func_execute_data(call, &fbc->op_array, ret, 1); - if (EXPECTED(zend_execute_ex == execute_ex)) { - ZEND_VM_ENTER(); - } else { - ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); - zend_execute_ex(call); - } + if (EXPECTED(zend_execute_ex == execute_ex)) { + ZEND_VM_ENTER(); + } else { + ZEND_ADD_CALL_FLAG(call, ZEND_CALL_TOP); + zend_execute_ex(call); } } else if (EXPECTED(fbc->type < ZEND_USER_FUNCTION)) { zval retval; @@ -1195,6 +1149,72 @@ fcall_end: ZEND_VM_CONTINUE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GENERATOR_CREATE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + zval *return_value = EX(return_value); + + if (EXPECTED(return_value)) { + USE_OPLINE + zend_generator *generator; + zend_execute_data *gen_execute_data; + uint32_t num_args, used_stack, call_info; + + object_init_ex(return_value, zend_ce_generator); + + /* + * Normally the execute_data is allocated on the VM stack (because it does + * not actually do any allocation and thus is faster). For generators + * though this behavior would be suboptimal, because the (rather large) + * structure would have to be copied back and forth every time execution is + * suspended or resumed. That's why for generators the execution context + * is allocated on heap. + */ + num_args = EX_NUM_ARGS(); + used_stack = (ZEND_CALL_FRAME_SLOT + num_args + EX(func)->op_array.last_var + EX(func)->op_array.T - MIN(EX(func)->op_array.num_args, num_args)) * sizeof(zval); + gen_execute_data = (zend_execute_data*)emalloc(used_stack); + memcpy(gen_execute_data, execute_data, used_stack); + + /* Save execution context in generator object. */ + generator = (zend_generator *) Z_OBJ_P(EX(return_value)); + generator->execute_data = gen_execute_data; + generator->frozen_call_stack = NULL; + memset(&generator->execute_fake, 0, sizeof(zend_execute_data)); + ZVAL_OBJ(&generator->execute_fake.This, (zend_object *) generator); + + gen_execute_data->opline = opline + 1; + /* EX(return_value) keeps pointer to zend_object (not a real zval) */ + gen_execute_data->return_value = (zval*)generator; + call_info = Z_TYPE_INFO(EX(This)); + if ((call_info & Z_TYPE_MASK) == IS_OBJECT + && !(call_info & ((ZEND_CALL_CLOSURE|ZEND_CALL_RELEASE_THIS) << ZEND_CALL_INFO_SHIFT))) { + ZEND_ADD_CALL_FLAG_EX(call_info, ZEND_CALL_RELEASE_THIS); + Z_ADDREF(gen_execute_data->This); + } + ZEND_ADD_CALL_FLAG_EX(call_info, (ZEND_CALL_TOP_FUNCTION | ZEND_CALL_ALLOCATED)); + Z_TYPE_INFO(gen_execute_data->This) = call_info; + gen_execute_data->prev_execute_data = NULL; + + call_info = EX_CALL_INFO(); + EG(current_execute_data) = EX(prev_execute_data); + if (EXPECTED(!(call_info & (ZEND_CALL_TOP|ZEND_CALL_ALLOCATED)))) { + EG(vm_stack_top) = (zval*)execute_data; + execute_data = EX(prev_execute_data); + LOAD_NEXT_OPLINE(); + ZEND_VM_LEAVE(); + } else if (EXPECTED(!(call_info & ZEND_CALL_TOP))) { + zend_execute_data *old_execute_data = execute_data; + execute_data = EX(prev_execute_data); + zend_vm_stack_free_call_frame_ex(call_info, old_execute_data); + LOAD_NEXT_OPLINE(); + ZEND_VM_LEAVE(); + } else { + ZEND_VM_RETURN(); + } + } else { + ZEND_VM_TAIL_CALL(zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_UNPACK_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -56848,6 +56868,7 @@ void zend_init_opcodes_handlers(void) ZEND_ECHO_SPEC_TMPVAR_HANDLER, ZEND_NULL_HANDLER, ZEND_ECHO_SPEC_CV_HANDLER, + ZEND_GENERATOR_CREATE_SPEC_HANDLER, ZEND_JMP_SPEC_HANDLER, ZEND_JMPZ_SPEC_CONST_HANDLER, ZEND_JMPZ_SPEC_TMPVAR_HANDLER, @@ -59881,150 +59902,150 @@ void zend_init_opcodes_handlers(void) 776 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_RETVAL, 826 | SPEC_RULE_OP1 | SPEC_RULE_OP2, 851 | SPEC_RULE_OP1, - 3845, 856, - 857 | SPEC_RULE_OP1, - 862 | SPEC_RULE_OP1, - 867 | SPEC_RULE_OP1, - 872 | SPEC_RULE_OP1, - 877 | SPEC_RULE_OP1, - 882 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 3845, - 3845, - 3845, - 907 | SPEC_RULE_OP1, - 912 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 937 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 962 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 987 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1012, - 1013 | SPEC_RULE_OP1, - 1018 | SPEC_RULE_OP2, - 1023 | SPEC_RULE_RETVAL, - 1025 | SPEC_RULE_OP2, - 1030 | SPEC_RULE_OP1, - 1035, - 1036 | SPEC_RULE_OP2, - 1041 | SPEC_RULE_OP1, - 1046 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, - 1056 | SPEC_RULE_OP1, - 1061 | SPEC_RULE_OP1, - 1066 | SPEC_RULE_OP2, - 1071 | SPEC_RULE_OP1, - 1076 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1101 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1126 | SPEC_RULE_OP1, - 1131 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1156 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1181 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1206 | SPEC_RULE_OP1, - 1211 | SPEC_RULE_OP1, - 1216 | SPEC_RULE_OP1, - 1221 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1246 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1271 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1296 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1321 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1346 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1371 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1396 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1421 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1446 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1471 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1496 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1521 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1546 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1571 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1596 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1621 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1646 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1671 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1696 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 3845, - 1721, + 857, + 858 | SPEC_RULE_OP1, + 863 | SPEC_RULE_OP1, + 868 | SPEC_RULE_OP1, + 873 | SPEC_RULE_OP1, + 878 | SPEC_RULE_OP1, + 883 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 3846, + 3846, + 3846, + 908 | SPEC_RULE_OP1, + 913 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 938 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 963 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 988 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1013, + 1014 | SPEC_RULE_OP1, + 1019 | SPEC_RULE_OP2, + 1024 | SPEC_RULE_RETVAL, + 1026 | SPEC_RULE_OP2, + 1031 | SPEC_RULE_OP1, + 1036, + 1037 | SPEC_RULE_OP2, + 1042 | SPEC_RULE_OP1, + 1047 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, + 1057 | SPEC_RULE_OP1, + 1062 | SPEC_RULE_OP1, + 1067 | SPEC_RULE_OP2, + 1072 | SPEC_RULE_OP1, + 1077 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1102 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1127 | SPEC_RULE_OP1, + 1132 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1157 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1182 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1207 | SPEC_RULE_OP1, + 1212 | SPEC_RULE_OP1, + 1217 | SPEC_RULE_OP1, + 1222 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1247 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1272 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1297 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1322 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1347 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1372 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1397 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1422 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1447 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1472 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1497 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1522 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1547 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1572 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1597 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1622 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1647 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1672 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1697 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 3846, 1722, 1723, 1724, 1725, - 1726 | SPEC_RULE_OP1, - 1731 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1756 | SPEC_RULE_OP1, - 1761 | SPEC_RULE_OP2, - 1766 | SPEC_RULE_OP1, - 1771 | SPEC_RULE_OP1, - 1776 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1801 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1826 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1851 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1876 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, - 1886 | SPEC_RULE_OP1, - 1891 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1916, - 1917 | SPEC_RULE_OP1, - 1922 | SPEC_RULE_OP1, - 1927 | SPEC_RULE_OP1, - 1932 | SPEC_RULE_OP1, - 1937 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1962 | SPEC_RULE_OP1, - 1967 | SPEC_RULE_OP1, - 1972 | SPEC_RULE_OP1, - 1977 | SPEC_RULE_OP2, - 1982 | SPEC_RULE_RETVAL, - 1984 | SPEC_RULE_RETVAL, - 1986 | SPEC_RULE_RETVAL, - 1988 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2013 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2038 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2063 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2088 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, - 2213, - 2214 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2239, - 2240 | SPEC_RULE_OP2, - 2245, - 2246 | SPEC_RULE_OP1, - 2251 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2276 | SPEC_RULE_OP2, - 2281 | SPEC_RULE_OP2, - 2286, - 2287 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, - 2412 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2437, + 1726, + 1727 | SPEC_RULE_OP1, + 1732 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1757 | SPEC_RULE_OP1, + 1762 | SPEC_RULE_OP2, + 1767 | SPEC_RULE_OP1, + 1772 | SPEC_RULE_OP1, + 1777 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1802 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1827 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1852 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1877 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, + 1887 | SPEC_RULE_OP1, + 1892 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1917, + 1918 | SPEC_RULE_OP1, + 1923 | SPEC_RULE_OP1, + 1928 | SPEC_RULE_OP1, + 1933 | SPEC_RULE_OP1, + 1938 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1963 | SPEC_RULE_OP1, + 1968 | SPEC_RULE_OP1, + 1973 | SPEC_RULE_OP1, + 1978 | SPEC_RULE_OP2, + 1983 | SPEC_RULE_RETVAL, + 1985 | SPEC_RULE_RETVAL, + 1987 | SPEC_RULE_RETVAL, + 1989 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2014 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2039 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2064 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2089 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, + 2214, + 2215 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2240, + 2241 | SPEC_RULE_OP2, + 2246, + 2247 | SPEC_RULE_OP1, + 2252 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2277 | SPEC_RULE_OP2, + 2282 | SPEC_RULE_OP2, + 2287, + 2288 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, + 2413 | SPEC_RULE_OP1 | SPEC_RULE_OP2, 2438, 2439, - 2440 | SPEC_RULE_OP1, - 2445 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2470, + 2440, + 2441 | SPEC_RULE_OP1, + 2446 | SPEC_RULE_OP1 | SPEC_RULE_OP2, 2471, - 2472 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2497, + 2472, + 2473 | SPEC_RULE_OP1 | SPEC_RULE_OP2, 2498, 2499, - 2500 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2525 | SPEC_RULE_OP1, - 2530, + 2500, + 2501 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2526 | SPEC_RULE_OP1, 2531, 2532, 2533, - 2534 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2559 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2584 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2609 | SPEC_RULE_OP1, - 2614 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2639, - 2640 | SPEC_RULE_OP2, - 2645 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2670 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2695 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2720 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2745 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2770 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2795 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2820 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2845 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2870 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2895 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 3845 + 2534, + 2535 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2560 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2585 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2610 | SPEC_RULE_OP1, + 2615 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2640, + 2641 | SPEC_RULE_OP2, + 2646 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2671 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2696 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2721 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2746 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2771 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2796 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2821 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2846 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2871 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2896 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 3846 }; zend_opcode_handlers = labels; zend_handlers_count = sizeof(labels) / sizeof(void*); @@ -60123,7 +60144,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2920 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2921 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60131,7 +60152,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2945 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2946 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60139,7 +60160,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2970 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2971 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60150,17 +60171,17 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2995 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2996 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if ((op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3020 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3021 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if ((op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3045 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3046 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } break; case ZEND_MUL: @@ -60168,7 +60189,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3070 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3071 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60176,7 +60197,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3095 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3096 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60184,7 +60205,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3120 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3121 | SPEC_RULE_OP1 | SPEC_RULE_OP2; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60195,7 +60216,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3145 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3146 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60203,7 +60224,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3220 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3221 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60214,7 +60235,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3295 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3296 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60222,7 +60243,7 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3370 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3371 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; if (op->op1_type > op->op2_type) { zend_swap_operands(op); } @@ -60233,12 +60254,12 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3445 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3446 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if ((op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3520 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3521 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_IS_SMALLER_OR_EQUAL: @@ -60246,55 +60267,55 @@ ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t op1_info, uint if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3595 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3596 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if ((op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE)) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3670 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3671 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_QM_ASSIGN: if ((op1_info == MAY_BE_DOUBLE)) { - spec = 3835 | SPEC_RULE_OP1; + spec = 3836 | SPEC_RULE_OP1; } else if ((!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) { - spec = 3840 | SPEC_RULE_OP1; + spec = 3841 | SPEC_RULE_OP1; } break; case ZEND_PRE_INC: if ((res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG)) { - spec = 3745 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3746 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } else if ((op1_info == MAY_BE_LONG)) { - spec = 3755 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3756 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } else if ((op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE))) { - spec = 3765 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3766 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } break; case ZEND_PRE_DEC: if ((res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG)) { - spec = 3775 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3776 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } else if ((op1_info == MAY_BE_LONG)) { - spec = 3785 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3786 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } else if ((op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE))) { - spec = 3795 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; + spec = 3796 | SPEC_RULE_OP1 | SPEC_RULE_RETVAL; } break; case ZEND_POST_INC: if ((res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG)) { - spec = 3805 | SPEC_RULE_OP1; + spec = 3806 | SPEC_RULE_OP1; } else if ((op1_info == MAY_BE_LONG)) { - spec = 3810 | SPEC_RULE_OP1; + spec = 3811 | SPEC_RULE_OP1; } else if ((op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE))) { - spec = 3815 | SPEC_RULE_OP1; + spec = 3816 | SPEC_RULE_OP1; } break; case ZEND_POST_DEC: if ((res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG)) { - spec = 3820 | SPEC_RULE_OP1; + spec = 3821 | SPEC_RULE_OP1; } else if ((op1_info == MAY_BE_LONG)) { - spec = 3825 | SPEC_RULE_OP1; + spec = 3826 | SPEC_RULE_OP1; } else if ((op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE))) { - spec = 3830 | SPEC_RULE_OP1; + spec = 3831 | SPEC_RULE_OP1; } break; default: diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index d4c76ad265..3edde60853 100644 --- a/Zend/zend_vm_opcodes.c +++ b/Zend/zend_vm_opcodes.c @@ -63,7 +63,7 @@ static const char *zend_vm_opcodes_names[184] = { "ZEND_ASSIGN", "ZEND_ASSIGN_REF", "ZEND_ECHO", - NULL, + "ZEND_GENERATOR_CREATE", "ZEND_JMP", "ZEND_JMPZ", "ZEND_JMPNZ", diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 90f2ea4e51..00aa20ea37 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -111,6 +111,7 @@ END_EXTERN_C() #define ZEND_ASSIGN 38 #define ZEND_ASSIGN_REF 39 #define ZEND_ECHO 40 +#define ZEND_GENERATOR_CREATE 41 #define ZEND_JMP 42 #define ZEND_JMPZ 43 #define ZEND_JMPNZ 44 diff --git a/ext/opcache/Optimizer/zend_cfg.c b/ext/opcache/Optimizer/zend_cfg.c index 69a77f3b71..ee0336392f 100644 --- a/ext/opcache/Optimizer/zend_cfg.c +++ b/ext/opcache/Optimizer/zend_cfg.c @@ -57,6 +57,7 @@ static void zend_mark_reachable(zend_op *opcodes, zend_basic_block *blocks, zend //TODO: support for stackless CFG??? if (0/*stackless*/) { if (opcode == ZEND_INCLUDE_OR_EVAL || + opcode == ZEND_GENERATOR_CREATE || opcode == ZEND_YIELD || opcode == ZEND_YIELD_FROM || opcode == ZEND_DO_FCALL || @@ -268,6 +269,7 @@ int zend_build_cfg(zend_arena **arena, const zend_op_array *op_array, uint32_t b break; case ZEND_INCLUDE_OR_EVAL: flags |= ZEND_FUNC_INDIRECT_VAR_ACCESS; + case ZEND_GENERATOR_CREATE: case ZEND_YIELD: case ZEND_YIELD_FROM: if (build_flags & ZEND_CFG_STACKLESS) {