From d2607a0110fae2ec403ac7317d064ab74aa40e09 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 20 Apr 2015 20:16:58 +0200 Subject: [PATCH] Move more stuff to file_context Introduce helper macro FC(x) for CG(file_context).x. end_compilation() now handled by file_context_end(). While at it, dropped zval wrapper for ticcks. --- Zend/tests/bug69388.phpt | 19 + Zend/tests/bug69388_2.phpt | 16 + Zend/zend_compile.c | 186 +++++----- Zend/zend_compile.h | 50 ++- Zend/zend_globals.h | 12 - Zend/zend_language_scanner.c | 698 +++++++++++++++++------------------ Zend/zend_language_scanner.l | 2 - 7 files changed, 498 insertions(+), 485 deletions(-) create mode 100644 Zend/tests/bug69388.phpt create mode 100644 Zend/tests/bug69388_2.phpt diff --git a/Zend/tests/bug69388.phpt b/Zend/tests/bug69388.phpt new file mode 100644 index 0000000000..ce39eb0197 --- /dev/null +++ b/Zend/tests/bug69388.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #69388: Use after free on recursive calls to PHP compiler +--FILE-- + +--EXPECT-- +The use statement with non-compound name 'Exception' has no effect diff --git a/Zend/tests/bug69388_2.phpt b/Zend/tests/bug69388_2.phpt new file mode 100644 index 0000000000..d597365bc8 --- /dev/null +++ b/Zend/tests/bug69388_2.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #69388 - Variation +--FILE-- + +--EXPECT-- +The use statement with non-compound name 'Exception' has no effect diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 75349343a2..aeba6a9402 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -50,6 +50,8 @@ } \ } while (0) +#define FC(member) (CG(file_context).member) + static inline void zend_alloc_cache_slot(uint32_t literal) { zend_op_array *op_array = CG(active_op_array); Z_CACHE_SLOT(op_array->literals[literal]) = op_array->cache_size; @@ -219,12 +221,6 @@ static zend_always_inline zend_uchar zend_lookup_scalar_typehint_by_name(const z /* }}} */ -static void init_compiler_declarables(void) /* {{{ */ -{ - ZVAL_LONG(&CG(declarables).ticks, 0); -} -/* }}} */ - void zend_oparray_context_begin(zend_oparray_context *prev_context) /* {{{ */ { *prev_context = CG(context); @@ -252,23 +248,32 @@ void zend_oparray_context_end(zend_oparray_context *prev_context) /* {{{ */ static void zend_reset_import_tables(void) /* {{{ */ { - zend_file_context *ctx = &CG(file_context); - if (ctx->imports) { - zend_hash_destroy(ctx->imports); - efree(ctx->imports); - ctx->imports = NULL; + if (FC(imports)) { + zend_hash_destroy(FC(imports)); + efree(FC(imports)); + FC(imports) = NULL; } - if (ctx->imports_function) { - zend_hash_destroy(ctx->imports_function); - efree(ctx->imports_function); - ctx->imports_function = NULL; + if (FC(imports_function)) { + zend_hash_destroy(FC(imports_function)); + efree(FC(imports_function)); + FC(imports_function) = NULL; } - if (ctx->imports_const) { - zend_hash_destroy(ctx->imports_const); - efree(ctx->imports_const); - ctx->imports_const = NULL; + if (FC(imports_const)) { + zend_hash_destroy(FC(imports_const)); + efree(FC(imports_const)); + FC(imports_const) = NULL; + } +} +/* }}} */ + +static void zend_end_namespace(void) /* {{{ */ { + FC(in_namespace) = 0; + zend_reset_import_tables(); + if (FC(current_namespace)) { + zend_string_release(FC(current_namespace)); + FC(current_namespace) = NULL; } } /* }}} */ @@ -276,15 +281,19 @@ static void zend_reset_import_tables(void) /* {{{ */ void zend_file_context_begin(zend_file_context *prev_context) /* {{{ */ { *prev_context = CG(file_context); - CG(file_context).imports = NULL; - CG(file_context).imports_function = NULL; - CG(file_context).imports_const = NULL; + FC(imports) = NULL; + FC(imports_function) = NULL; + FC(imports_const) = NULL; + FC(current_namespace) = NULL; + FC(in_namespace) = 0; + FC(has_bracketed_namespaces) = 0; + FC(declarables).ticks = 0; } /* }}} */ void zend_file_context_end(zend_file_context *prev_context) /* {{{ */ { - zend_reset_import_tables(); + zend_end_namespace(); CG(file_context) = *prev_context; } /* }}} */ @@ -296,11 +305,7 @@ void zend_init_compiler_data_structures(void) /* {{{ */ CG(active_class_entry) = NULL; CG(in_compilation) = 0; CG(start_lineno) = 0; - CG(current_namespace) = NULL; - CG(in_namespace) = 0; - CG(has_bracketed_namespaces) = 0; zend_hash_init(&CG(const_filenames), 8, NULL, NULL, 0); - init_compiler_declarables(); CG(encoding_declared) = 0; } @@ -714,8 +719,8 @@ zend_string *zend_concat_names(char *name1, size_t name1_len, char *name2, size_ } zend_string *zend_prefix_with_ns(zend_string *name) { - if (CG(current_namespace)) { - zend_string *ns = CG(current_namespace); + if (FC(current_namespace)) { + zend_string *ns = FC(current_namespace); return zend_concat_names(ns->val, ns->len, name->val, name->len); } else { return zend_string_copy(name); @@ -777,10 +782,10 @@ zend_string *zend_resolve_non_class_name( *is_fully_qualified = 1; } - if (compound && CG(file_context).imports) { + if (compound && FC(imports)) { /* If the first part of a qualified name is an alias, substitute it. */ size_t len = compound - name->val; - zend_string *import_name = zend_hash_find_ptr_lc(CG(file_context).imports, name->val, len); + zend_string *import_name = zend_hash_find_ptr_lc(FC(imports), name->val, len); if (import_name) { return zend_concat_names( @@ -795,13 +800,13 @@ zend_string *zend_resolve_non_class_name( zend_string *zend_resolve_function_name(zend_string *name, uint32_t type, zend_bool *is_fully_qualified) /* {{{ */ { return zend_resolve_non_class_name( - name, type, is_fully_qualified, 0, CG(file_context).imports_function); + name, type, is_fully_qualified, 0, FC(imports_function)); } /* }}} */ zend_string *zend_resolve_const_name(zend_string *name, uint32_t type, zend_bool *is_fully_qualified) /* {{{ */ { return zend_resolve_non_class_name( - name, type, is_fully_qualified, 1, CG(file_context).imports_const); + name, type, is_fully_qualified, 1, FC(imports_const)); } /* }}} */ @@ -827,13 +832,13 @@ zend_string *zend_resolve_class_name(zend_string *name, uint32_t type) /* {{{ */ return name; } - if (CG(file_context).imports) { + if (FC(imports)) { compound = memchr(name->val, '\\', name->len); if (compound) { /* If the first part of a qualified name is an alias, substitute it. */ size_t len = compound - name->val; zend_string *import_name = - zend_hash_find_ptr_lc(CG(file_context).imports, name->val, len); + zend_hash_find_ptr_lc(FC(imports), name->val, len); if (import_name) { return zend_concat_names( @@ -842,7 +847,7 @@ zend_string *zend_resolve_class_name(zend_string *name, uint32_t type) /* {{{ */ } else { /* If an unqualified name is an alias, replace it. */ zend_string *import_name - = zend_hash_find_ptr_lc(CG(file_context).imports, name->val, name->len); + = zend_hash_find_ptr_lc(FC(imports), name->val, name->len); if (import_name) { return zend_string_copy(import_name); @@ -1647,29 +1652,12 @@ zend_ast *zend_ast_append_doc_comment(zend_ast *list) /* {{{ */ void zend_verify_namespace(void) /* {{{ */ { - if (CG(has_bracketed_namespaces) && !CG(in_namespace)) { + if (FC(has_bracketed_namespaces) && !FC(in_namespace)) { zend_error_noreturn(E_COMPILE_ERROR, "No code may exist outside of namespace {}"); } } /* }}} */ -static void zend_end_namespace(void) /* {{{ */ { - CG(in_namespace) = 0; - zend_reset_import_tables(); - if (CG(current_namespace)) { - zend_string_release(CG(current_namespace)); - CG(current_namespace) = NULL; - } -} -/* }}} */ - -void zend_do_end_compilation(void) /* {{{ */ -{ - CG(has_bracketed_namespaces) = 0; - zend_end_namespace(); -} -/* }}} */ - /* {{{ zend_dirname Returns directory name component of path */ ZEND_API size_t zend_dirname(char *path, size_t len) @@ -1863,7 +1851,7 @@ static void zend_emit_tick(void) /* {{{ */ opline->opcode = ZEND_TICKS; SET_UNUSED(opline->op1); SET_UNUSED(opline->op2); - opline->extended_value = Z_LVAL(CG(declarables).ticks); + opline->extended_value = FC(declarables).ticks; } /* }}} */ @@ -2774,7 +2762,7 @@ zend_bool zend_compile_function_name(znode *name_node, zend_ast *name_ast) /* {{ ZVAL_STR(&name_node->u.constant, zend_resolve_function_name( orig_name, name_ast->attr, &is_fully_qualified)); - return !is_fully_qualified && CG(current_namespace); + return !is_fully_qualified && FC(current_namespace); } /* }}} */ @@ -4054,7 +4042,7 @@ void zend_compile_declare(zend_ast *ast) /* {{{ */ { zend_ast_list *declares = zend_ast_get_list(ast->child[0]); zend_ast *stmt_ast = ast->child[1]; - zend_declarables orig_declarables = CG(declarables); + zend_declarables orig_declarables = FC(declarables); uint32_t i; for (i = 0; i < declares->children; ++i) { @@ -4066,8 +4054,7 @@ void zend_compile_declare(zend_ast *ast) /* {{{ */ if (zend_string_equals_literal_ci(name, "ticks")) { zval value_zv; zend_const_expr_to_zval(&value_zv, value_ast); - convert_to_long(&value_zv); - ZVAL_COPY_VALUE(&CG(declarables).ticks, &value_zv); + FC(declarables).ticks = zval_get_long(&value_zv); zval_dtor(&value_zv); } else if (zend_string_equals_literal_ci(name, "encoding")) { @@ -4106,7 +4093,7 @@ void zend_compile_declare(zend_ast *ast) /* {{{ */ if (stmt_ast) { zend_compile_stmt(stmt_ast); - CG(declarables) = orig_declarables; + FC(declarables) = orig_declarables; } } /* }}} */ @@ -4513,8 +4500,8 @@ static void zend_begin_func_decl(znode *result, zend_op_array *op_array, zend_as lcname = zend_string_tolower(name); - if (CG(file_context).imports_function) { - zend_string *import_name = zend_hash_find_ptr(CG(file_context).imports_function, lcname); + if (FC(imports_function)) { + zend_string *import_name = zend_hash_find_ptr(FC(imports_function), lcname); if (import_name && !zend_string_equals_ci(lcname, import_name)) { zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare function %s " "because the name is already in use", name->val); @@ -4563,8 +4550,6 @@ void zend_compile_func_decl(znode *result, zend_ast *ast) /* {{{ */ zend_op_array *op_array = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); zend_oparray_context orig_oparray_context; - // TODO.AST interactive (not just here - also bpc etc!) - init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE); op_array->fn_flags |= (orig_op_array->fn_flags & ZEND_ACC_STRICT_TYPES); @@ -4821,7 +4806,7 @@ void zend_compile_use_trait(zend_ast *ast) /* {{{ */ opline = get_next_op(CG(active_op_array)); opline->opcode = ZEND_ADD_TRAIT; - SET_NODE(opline->op1, &CG(implementing_class)); + SET_NODE(opline->op1, &FC(implementing_class)); opline->op2_type = IS_CONST; opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), zend_resolve_class_name_ast(trait_ast)); @@ -4894,11 +4879,11 @@ void zend_compile_class_decl(zend_ast *ast) /* {{{ */ lcname = zend_string_tolower(name); - if (CG(file_context).imports) { - import_name = zend_hash_find_ptr(CG(file_context).imports, lcname); + if (FC(imports)) { + import_name = zend_hash_find_ptr(FC(imports), lcname); } - if (CG(current_namespace)) { + if (FC(current_namespace)) { name = zend_prefix_with_ns(name); zend_string_release(lcname); @@ -4941,7 +4926,7 @@ void zend_compile_class_decl(zend_ast *ast) /* {{{ */ zend_make_var_result(&declare_node, opline); // TODO.AST drop this - GET_NODE(&CG(implementing_class), opline->result); + GET_NODE(&FC(implementing_class), opline->result); opline->op2_type = IS_CONST; LITERAL_STR(opline->op2, lcname); @@ -5046,26 +5031,25 @@ void zend_compile_class_decl(zend_ast *ast) /* {{{ */ static HashTable *zend_get_import_ht(uint32_t type) /* {{{ */ { - zend_file_context *ctx = &CG(file_context); switch (type) { case T_CLASS: - if (!ctx->imports) { - ctx->imports = emalloc(sizeof(HashTable)); - zend_hash_init(ctx->imports, 8, NULL, str_dtor, 0); + if (!FC(imports)) { + FC(imports) = emalloc(sizeof(HashTable)); + zend_hash_init(FC(imports), 8, NULL, str_dtor, 0); } - return ctx->imports; + return FC(imports); case T_FUNCTION: - if (!ctx->imports_function) { - ctx->imports_function = emalloc(sizeof(HashTable)); - zend_hash_init(ctx->imports_function, 8, NULL, str_dtor, 0); + if (!FC(imports_function)) { + FC(imports_function) = emalloc(sizeof(HashTable)); + zend_hash_init(FC(imports_function), 8, NULL, str_dtor, 0); } - return ctx->imports_function; + return FC(imports_function); case T_CONST: - if (!ctx->imports_const) { - ctx->imports_const = emalloc(sizeof(HashTable)); - zend_hash_init(ctx->imports_const, 8, NULL, str_dtor, 0); + if (!FC(imports_const)) { + FC(imports_const) = emalloc(sizeof(HashTable)); + zend_hash_init(FC(imports_const), 8, NULL, str_dtor, 0); } - return ctx->imports_const; + return FC(imports_const); EMPTY_SWITCH_DEFAULT_CASE() } @@ -5104,7 +5088,7 @@ void zend_compile_use(zend_ast *ast) /* {{{ */ { zend_ast_list *list = zend_ast_get_list(ast); uint32_t i; - zend_string *current_ns = CG(current_namespace); + zend_string *current_ns = FC(current_namespace); uint32_t type = ast->attr; HashTable *current_import = zend_get_import_ht(type); zend_bool case_sensitive = type == T_CONST; @@ -5252,8 +5236,8 @@ void zend_compile_const_decl(zend_ast *ast) /* {{{ */ name = zend_prefix_with_ns(name); name = zend_new_interned_string(name); - if (CG(file_context).imports_const - && (import_name = zend_hash_find_ptr(CG(file_context).imports_const, name)) + if (FC(imports_const) + && (import_name = zend_hash_find_ptr(FC(imports_const), name)) ) { if (!zend_string_equals(import_name, name)) { zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare const %s because " @@ -5279,8 +5263,8 @@ void zend_compile_namespace(zend_ast *ast) /* {{{ */ zend_bool with_bracket = stmt_ast != NULL; /* handle mixed syntax declaration or nested namespaces */ - if (!CG(has_bracketed_namespaces)) { - if (CG(current_namespace)) { + if (!FC(has_bracketed_namespaces)) { + if (FC(current_namespace)) { /* previous namespace declarations were unbracketed */ if (with_bracket) { zend_error_noreturn(E_COMPILE_ERROR, "Cannot mix bracketed namespace declarations " @@ -5292,13 +5276,13 @@ void zend_compile_namespace(zend_ast *ast) /* {{{ */ if (!with_bracket) { zend_error_noreturn(E_COMPILE_ERROR, "Cannot mix bracketed namespace declarations " "with unbracketed namespace declarations"); - } else if (CG(current_namespace) || CG(in_namespace)) { + } else if (FC(current_namespace) || FC(in_namespace)) { zend_error_noreturn(E_COMPILE_ERROR, "Namespace declarations cannot be nested"); } } - if (((!with_bracket && !CG(current_namespace)) - || (with_bracket && !CG(has_bracketed_namespaces))) && CG(active_op_array)->last > 0 + if (((!with_bracket && !FC(current_namespace)) + || (with_bracket && !FC(has_bracketed_namespaces))) && CG(active_op_array)->last > 0 ) { /* ignore ZEND_EXT_STMT and ZEND_TICKS */ uint32_t num = CG(active_op_array)->last; @@ -5313,8 +5297,8 @@ void zend_compile_namespace(zend_ast *ast) /* {{{ */ } } - if (CG(current_namespace)) { - zend_string_release(CG(current_namespace)); + if (FC(current_namespace)) { + zend_string_release(FC(current_namespace)); } if (name_ast) { @@ -5324,16 +5308,16 @@ void zend_compile_namespace(zend_ast *ast) /* {{{ */ zend_error_noreturn(E_COMPILE_ERROR, "Cannot use '%s' as namespace name", name->val); } - CG(current_namespace) = zend_string_copy(name); + FC(current_namespace) = zend_string_copy(name); } else { - CG(current_namespace) = NULL; + FC(current_namespace) = NULL; } zend_reset_import_tables(); - CG(in_namespace) = 1; + FC(in_namespace) = 1; if (with_bracket) { - CG(has_bracketed_namespaces) = 1; + FC(has_bracketed_namespaces) = 1; } if (stmt_ast) { @@ -5351,7 +5335,7 @@ void zend_compile_halt_compiler(zend_ast *ast) /* {{{ */ zend_string *filename, *name; const char const_name[] = "__COMPILER_HALT_OFFSET__"; - if (CG(has_bracketed_namespaces) && CG(in_namespace)) { + if (FC(has_bracketed_namespaces) && FC(in_namespace)) { zend_error_noreturn(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope"); } @@ -5436,8 +5420,8 @@ static zend_bool zend_try_ct_eval_magic_const(zval *zv, zend_ast *ast) /* {{{ */ } break; case T_NS_C: - if (CG(current_namespace)) { - ZVAL_STR_COPY(zv, CG(current_namespace)); + if (FC(current_namespace)) { + ZVAL_STR_COPY(zv, FC(current_namespace)); } else { ZVAL_EMPTY_STRING(zv); } @@ -6198,7 +6182,7 @@ void zend_compile_const(znode *result, zend_ast *ast) /* {{{ */ CG(active_op_array), resolved_name, 0); } else { opline->extended_value = IS_CONSTANT_UNQUALIFIED; - if (CG(current_namespace)) { + if (FC(current_namespace)) { opline->extended_value |= IS_CONSTANT_IN_NAMESPACE; opline->op2.constant = zend_add_const_name_literal( CG(active_op_array), resolved_name, 1); @@ -6771,7 +6755,7 @@ void zend_compile_stmt(zend_ast *ast) /* {{{ */ } } - if (Z_LVAL(CG(declarables).ticks) && !zend_is_unticked_stmt(ast)) { + if (FC(declarables).ticks && !zend_is_unticked_stmt(ast)) { zend_emit_tick(); } } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 2037d98eb3..4b3d0a25b2 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -53,25 +53,6 @@ typedef struct _zend_op_array zend_op_array; typedef struct _zend_op zend_op; -/* Compilation context that is different for each op array. */ -typedef struct _zend_oparray_context { - uint32_t opcodes_size; - int vars_size; - int literals_size; - int current_brk_cont; - int backpatch_count; - int in_finally; - uint32_t fast_call_var; - HashTable *labels; -} zend_oparray_context; - -/* Compilation context that is different for each file, but shared between op arrays. */ -typedef struct _zend_file_context { - HashTable *imports; - HashTable *imports_function; - HashTable *imports_const; -} zend_file_context; - /* On 64-bit systems less optimal, but more compact VM code leads to better * performance. So on 32-bit systems we use absolute addresses for jump * targets and constants, but on 64-bit systems realtive 32-bit offsets */ @@ -124,6 +105,36 @@ static zend_always_inline znode *zend_ast_get_znode(zend_ast *ast) { return &((zend_ast_znode *) ast)->node; } +typedef struct _zend_declarables { + zend_long ticks; +} zend_declarables; + +/* Compilation context that is different for each op array. */ +typedef struct _zend_oparray_context { + uint32_t opcodes_size; + int vars_size; + int literals_size; + int current_brk_cont; + int backpatch_count; + int in_finally; + uint32_t fast_call_var; + HashTable *labels; +} zend_oparray_context; + +/* Compilation context that is different for each file, but shared between op arrays. */ +typedef struct _zend_file_context { + zend_declarables declarables; + znode implementing_class; + + zend_string *current_namespace; + zend_bool in_namespace; + zend_bool has_bracketed_namespaces; + + HashTable *imports; + HashTable *imports_function; + HashTable *imports_const; +} zend_file_context; + typedef union _zend_parser_stack_elem { zend_ast *ast; zend_string *str; @@ -702,7 +713,6 @@ void zend_do_extended_fcall_begin(void); void zend_do_extended_fcall_end(void); void zend_verify_namespace(void); -void zend_do_end_compilation(void); void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2); diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index f2ab02804e..326955a103 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -63,10 +63,6 @@ END_EXTERN_C() #define ZEND_EARLY_BINDING_DELAYED 1 #define ZEND_EARLY_BINDING_DELAYED_ALL 2 -typedef struct _zend_declarables { - zval ticks; -} zend_declarables; - typedef struct _zend_vm_stack *zend_vm_stack; typedef struct _zend_ini_entry zend_ini_entry; @@ -93,8 +89,6 @@ struct _zend_compiler_globals { zend_bool in_compilation; zend_bool short_tags; - zend_declarables declarables; - zend_bool unclean_shutdown; zend_bool ini_parser_unbuffered_errors; @@ -106,16 +100,10 @@ struct _zend_compiler_globals { uint32_t start_lineno; zend_bool increment_lineno; - znode implementing_class; - zend_string *doc_comment; uint32_t compiler_options; /* set of ZEND_COMPILE_* constants */ - zend_string *current_namespace; - zend_bool in_namespace; - zend_bool has_bracketed_namespaces; - HashTable const_filenames; zend_oparray_context context; diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 6e7852c4c5..e62e865a5a 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -595,7 +595,6 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type) zend_file_context_begin(&original_file_context); zend_oparray_context_begin(&original_oparray_context); zend_compile_top_stmt(CG(ast)); - zend_do_end_compilation(); zend_emit_final_return(&retval_zv); pass_two(op_array); zend_oparray_context_end(&original_oparray_context); @@ -759,7 +758,6 @@ zend_op_array *compile_string(zval *source_string, char *filename) zend_file_context_begin(&original_file_context); zend_oparray_context_begin(&original_oparray_context); zend_compile_top_stmt(CG(ast)); - zend_do_end_compilation(); zend_emit_final_return(NULL); pass_two(op_array); zend_oparray_context_end(&original_oparray_context); @@ -1090,7 +1088,7 @@ restart: SCNG(yy_text) = YYCURSOR; -#line 1094 "Zend/zend_language_scanner.c" +#line 1092 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1144,7 +1142,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1782 "Zend/zend_language_scanner.l" +#line 1780 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1189,7 +1187,7 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1193 "Zend/zend_language_scanner.c" +#line 1191 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1207,7 +1205,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1773 "Zend/zend_language_scanner.l" +#line 1771 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); @@ -1216,18 +1214,18 @@ yy6: goto inline_char_handler; } } -#line 1220 "Zend/zend_language_scanner.c" +#line 1218 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1760 "Zend/zend_language_scanner.l" +#line 1758 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG_WITH_ECHO; } -#line 1231 "Zend/zend_language_scanner.c" +#line 1229 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1258,13 +1256,13 @@ yy13: yy14: YYDEBUG(14, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1766 "Zend/zend_language_scanner.l" +#line 1764 "Zend/zend_language_scanner.l" { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1268 "Zend/zend_language_scanner.c" +#line 1266 "Zend/zend_language_scanner.c" yy15: YYDEBUG(15, *YYCURSOR); ++YYCURSOR; @@ -1334,7 +1332,7 @@ yyc_ST_BACKQUOTE: yy19: YYDEBUG(19, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2196 "Zend/zend_language_scanner.l" +#line 2194 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1377,7 +1375,7 @@ yy19: } return T_ENCAPSED_AND_WHITESPACE; } -#line 1381 "Zend/zend_language_scanner.c" +#line 1379 "Zend/zend_language_scanner.c" yy20: YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; @@ -1388,12 +1386,12 @@ yy21: ++YYCURSOR; YYDEBUG(22, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2138 "Zend/zend_language_scanner.l" +#line 2136 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1397 "Zend/zend_language_scanner.c" +#line 1395 "Zend/zend_language_scanner.c" yy23: YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; @@ -1403,14 +1401,14 @@ yy24: ++YYCURSOR; YYDEBUG(25, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2125 "Zend/zend_language_scanner.l" +#line 2123 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); return T_CURLY_OPEN; } -#line 1414 "Zend/zend_language_scanner.c" +#line 1412 "Zend/zend_language_scanner.c" yy26: YYDEBUG(26, *YYCURSOR); yyaccept = 0; @@ -1426,23 +1424,23 @@ yy26: yy28: YYDEBUG(28, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1845 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1435 "Zend/zend_language_scanner.c" +#line 1433 "Zend/zend_language_scanner.c" yy29: YYDEBUG(29, *YYCURSOR); ++YYCURSOR; YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1566 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1446 "Zend/zend_language_scanner.c" +#line 1444 "Zend/zend_language_scanner.c" yy31: YYDEBUG(31, *YYCURSOR); yych = *++YYCURSOR; @@ -1456,14 +1454,14 @@ yy33: ++YYCURSOR; YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1840 "Zend/zend_language_scanner.l" +#line 1838 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1467 "Zend/zend_language_scanner.c" +#line 1465 "Zend/zend_language_scanner.c" yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; @@ -1481,14 +1479,14 @@ yy36: ++YYCURSOR; YYDEBUG(37, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1831 "Zend/zend_language_scanner.l" +#line 1829 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1492 "Zend/zend_language_scanner.c" +#line 1490 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1556,7 +1554,7 @@ yy40: yy41: YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2144 "Zend/zend_language_scanner.l" +#line 2142 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1607,7 +1605,7 @@ double_quotes_scan_done: } return T_ENCAPSED_AND_WHITESPACE; } -#line 1611 "Zend/zend_language_scanner.c" +#line 1609 "Zend/zend_language_scanner.c" yy42: YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; @@ -1618,12 +1616,12 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2133 "Zend/zend_language_scanner.l" +#line 2131 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1627 "Zend/zend_language_scanner.c" +#line 1625 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; @@ -1633,14 +1631,14 @@ yy46: ++YYCURSOR; YYDEBUG(47, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2125 "Zend/zend_language_scanner.l" +#line 2123 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); return T_CURLY_OPEN; } -#line 1644 "Zend/zend_language_scanner.c" +#line 1642 "Zend/zend_language_scanner.c" yy48: YYDEBUG(48, *YYCURSOR); yyaccept = 0; @@ -1656,23 +1654,23 @@ yy48: yy50: YYDEBUG(50, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1845 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1665 "Zend/zend_language_scanner.c" +#line 1663 "Zend/zend_language_scanner.c" yy51: YYDEBUG(51, *YYCURSOR); ++YYCURSOR; YYDEBUG(52, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1566 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1676 "Zend/zend_language_scanner.c" +#line 1674 "Zend/zend_language_scanner.c" yy53: YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; @@ -1686,14 +1684,14 @@ yy55: ++YYCURSOR; YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1840 "Zend/zend_language_scanner.l" +#line 1838 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1697 "Zend/zend_language_scanner.c" +#line 1695 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1711,14 +1709,14 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1831 "Zend/zend_language_scanner.l" +#line 1829 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1722 "Zend/zend_language_scanner.c" +#line 1720 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1729,7 +1727,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2111 "Zend/zend_language_scanner.l" +#line 2109 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1742,7 +1740,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1746 "Zend/zend_language_scanner.c" +#line 1744 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1804,7 +1802,7 @@ yy66: yy67: YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2240 "Zend/zend_language_scanner.l" +#line 2238 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1879,7 +1877,7 @@ heredoc_scan_done: } return T_ENCAPSED_AND_WHITESPACE; } -#line 1883 "Zend/zend_language_scanner.c" +#line 1881 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1894,14 +1892,14 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2125 "Zend/zend_language_scanner.l" +#line 2123 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING); yyless(1); return T_CURLY_OPEN; } -#line 1905 "Zend/zend_language_scanner.c" +#line 1903 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yyaccept = 0; @@ -1917,23 +1915,23 @@ yy72: yy74: YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1845 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1926 "Zend/zend_language_scanner.c" +#line 1924 "Zend/zend_language_scanner.c" yy75: YYDEBUG(75, *YYCURSOR); ++YYCURSOR; YYDEBUG(76, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1566 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1937 "Zend/zend_language_scanner.c" +#line 1935 "Zend/zend_language_scanner.c" yy77: YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; @@ -1947,14 +1945,14 @@ yy79: ++YYCURSOR; YYDEBUG(80, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1840 "Zend/zend_language_scanner.l" +#line 1838 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1958 "Zend/zend_language_scanner.c" +#line 1956 "Zend/zend_language_scanner.c" yy81: YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; @@ -1972,14 +1970,14 @@ yy82: ++YYCURSOR; YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1831 "Zend/zend_language_scanner.l" +#line 1829 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1983 "Zend/zend_language_scanner.c" +#line 1981 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2162,12 +2160,12 @@ yy86: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1870 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 2171 "Zend/zend_language_scanner.c" +#line 2169 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; @@ -2399,11 +2397,11 @@ yy101: yy102: YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1557 "Zend/zend_language_scanner.l" +#line 1555 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2407 "Zend/zend_language_scanner.c" +#line 2405 "Zend/zend_language_scanner.c" yy103: YYDEBUG(103, *YYCURSOR); ++YYCURSOR; @@ -2412,12 +2410,12 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1272 "Zend/zend_language_scanner.l" +#line 1270 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2421 "Zend/zend_language_scanner.c" +#line 2419 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -2428,11 +2426,11 @@ yy106: ++YYCURSOR; YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1297 "Zend/zend_language_scanner.l" +#line 1295 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2436 "Zend/zend_language_scanner.c" +#line 2434 "Zend/zend_language_scanner.c" yy108: YYDEBUG(108, *YYCURSOR); yyaccept = 1; @@ -2661,18 +2659,18 @@ yy131: ++YYCURSOR; YYDEBUG(132, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1562 "Zend/zend_language_scanner.l" +#line 1560 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING); return '{'; } -#line 2670 "Zend/zend_language_scanner.c" +#line 2668 "Zend/zend_language_scanner.c" yy133: YYDEBUG(133, *YYCURSOR); ++YYCURSOR; YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1574 "Zend/zend_language_scanner.l" +#line 1572 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2680,7 +2678,7 @@ yy133: } return '}'; } -#line 2684 "Zend/zend_language_scanner.c" +#line 2682 "Zend/zend_language_scanner.c" yy135: YYDEBUG(135, *YYCURSOR); yyaccept = 2; @@ -2708,7 +2706,7 @@ yy135: yy136: YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1627 "Zend/zend_language_scanner.l" +#line 1625 "Zend/zend_language_scanner.l" { char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -2750,7 +2748,7 @@ yy136: ZEND_ASSERT(!errno); return T_LNUMBER; } -#line 2754 "Zend/zend_language_scanner.c" +#line 2752 "Zend/zend_language_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); yyaccept = 2; @@ -2778,7 +2776,7 @@ yy139: yy140: YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1876 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2807,14 +2805,14 @@ yy140: return T_COMMENT; } -#line 2811 "Zend/zend_language_scanner.c" +#line 2809 "Zend/zend_language_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); ++YYCURSOR; yy142: YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1944 "Zend/zend_language_scanner.l" +#line 1942 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2882,14 +2880,14 @@ yy142: } return T_CONSTANT_ENCAPSED_STRING; } -#line 2886 "Zend/zend_language_scanner.c" +#line 2884 "Zend/zend_language_scanner.c" yy143: YYDEBUG(143, *YYCURSOR); ++YYCURSOR; yy144: YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2013 "Zend/zend_language_scanner.l" +#line 2011 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2932,24 +2930,24 @@ yy144: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 2936 "Zend/zend_language_scanner.c" +#line 2934 "Zend/zend_language_scanner.c" yy145: YYDEBUG(145, *YYCURSOR); ++YYCURSOR; YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2105 "Zend/zend_language_scanner.l" +#line 2103 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 2947 "Zend/zend_language_scanner.c" +#line 2945 "Zend/zend_language_scanner.c" yy147: YYDEBUG(147, *YYCURSOR); ++YYCURSOR; YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2373 "Zend/zend_language_scanner.l" +#line 2371 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -2958,7 +2956,7 @@ yy147: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 2962 "Zend/zend_language_scanner.c" +#line 2960 "Zend/zend_language_scanner.c" yy149: YYDEBUG(149, *YYCURSOR); ++YYCURSOR; @@ -2985,7 +2983,7 @@ yy151: yy153: YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1718 "Zend/zend_language_scanner.l" +#line 1716 "Zend/zend_language_scanner.l" { const char *end; @@ -2994,7 +2992,7 @@ yy153: ZEND_ASSERT(end == yytext + yyleng); return T_DNUMBER; } -#line 2998 "Zend/zend_language_scanner.c" +#line 2996 "Zend/zend_language_scanner.c" yy154: YYDEBUG(154, *YYCURSOR); yyaccept = 2; @@ -3090,7 +3088,7 @@ yy163: } YYDEBUG(165, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1599 "Zend/zend_language_scanner.l" +#line 1597 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3118,7 +3116,7 @@ yy163: return T_DNUMBER; } } -#line 3122 "Zend/zend_language_scanner.c" +#line 3120 "Zend/zend_language_scanner.c" yy166: YYDEBUG(166, *YYCURSOR); ++YYCURSOR; @@ -3130,7 +3128,7 @@ yy166: } YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1669 "Zend/zend_language_scanner.l" +#line 1667 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3158,7 +3156,7 @@ yy166: return T_DNUMBER; } } -#line 3162 "Zend/zend_language_scanner.c" +#line 3160 "Zend/zend_language_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; @@ -3183,12 +3181,12 @@ yy169: yy171: YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1845 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 3192 "Zend/zend_language_scanner.c" +#line 3190 "Zend/zend_language_scanner.c" yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; @@ -3202,11 +3200,11 @@ yy173: } YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1545 "Zend/zend_language_scanner.l" +#line 1543 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3210 "Zend/zend_language_scanner.c" +#line 3208 "Zend/zend_language_scanner.c" yy175: YYDEBUG(175, *YYCURSOR); ++YYCURSOR; @@ -3215,71 +3213,71 @@ yy175: } YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1537 "Zend/zend_language_scanner.l" +#line 1535 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3223 "Zend/zend_language_scanner.c" +#line 3221 "Zend/zend_language_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); ++YYCURSOR; YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1525 "Zend/zend_language_scanner.l" +#line 1523 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3233 "Zend/zend_language_scanner.c" +#line 3231 "Zend/zend_language_scanner.c" yy179: YYDEBUG(179, *YYCURSOR); ++YYCURSOR; YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1529 "Zend/zend_language_scanner.l" +#line 1527 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3243 "Zend/zend_language_scanner.c" +#line 3241 "Zend/zend_language_scanner.c" yy181: YYDEBUG(181, *YYCURSOR); ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1521 "Zend/zend_language_scanner.l" +#line 1519 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3253 "Zend/zend_language_scanner.c" +#line 3251 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1533 "Zend/zend_language_scanner.l" +#line 1531 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3263 "Zend/zend_language_scanner.c" +#line 3261 "Zend/zend_language_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1517 "Zend/zend_language_scanner.l" +#line 1515 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3273 "Zend/zend_language_scanner.c" +#line 3271 "Zend/zend_language_scanner.c" yy187: YYDEBUG(187, *YYCURSOR); ++YYCURSOR; YYDEBUG(188, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1505 "Zend/zend_language_scanner.l" +#line 1503 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3283 "Zend/zend_language_scanner.c" +#line 3281 "Zend/zend_language_scanner.c" yy189: YYDEBUG(189, *YYCURSOR); yyaccept = 4; @@ -3288,7 +3286,7 @@ yy189: yy190: YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1905 "Zend/zend_language_scanner.l" +#line 1903 "Zend/zend_language_scanner.l" { int doc_com; @@ -3321,7 +3319,7 @@ yy190: return T_COMMENT; } -#line 3325 "Zend/zend_language_scanner.c" +#line 3323 "Zend/zend_language_scanner.c" yy191: YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; @@ -3331,11 +3329,11 @@ yy192: ++YYCURSOR; YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1497 "Zend/zend_language_scanner.l" +#line 1495 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3339 "Zend/zend_language_scanner.c" +#line 3337 "Zend/zend_language_scanner.c" yy194: YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; @@ -3359,62 +3357,62 @@ yy197: if ((yych = *YYCURSOR) == '=') goto yy201; YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1489 "Zend/zend_language_scanner.l" +#line 1487 "Zend/zend_language_scanner.l" { return T_POW; } -#line 3367 "Zend/zend_language_scanner.c" +#line 3365 "Zend/zend_language_scanner.c" yy199: YYDEBUG(199, *YYCURSOR); ++YYCURSOR; YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" +#line 1483 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3377 "Zend/zend_language_scanner.c" +#line 3375 "Zend/zend_language_scanner.c" yy201: YYDEBUG(201, *YYCURSOR); ++YYCURSOR; YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1493 "Zend/zend_language_scanner.l" +#line 1491 "Zend/zend_language_scanner.l" { return T_POW_EQUAL; } -#line 3387 "Zend/zend_language_scanner.c" +#line 3385 "Zend/zend_language_scanner.c" yy203: YYDEBUG(203, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy207; YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1553 "Zend/zend_language_scanner.l" +#line 1551 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3398 "Zend/zend_language_scanner.c" +#line 3396 "Zend/zend_language_scanner.c" yy205: YYDEBUG(205, *YYCURSOR); ++YYCURSOR; YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" +#line 1471 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3408 "Zend/zend_language_scanner.c" +#line 3406 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); ++YYCURSOR; YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" +#line 1511 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3418 "Zend/zend_language_scanner.c" +#line 3416 "Zend/zend_language_scanner.c" yy209: YYDEBUG(209, *YYCURSOR); yyaccept = 5; @@ -3425,53 +3423,53 @@ yy209: yy210: YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1549 "Zend/zend_language_scanner.l" +#line 1547 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3433 "Zend/zend_language_scanner.c" +#line 3431 "Zend/zend_language_scanner.c" yy211: YYDEBUG(211, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '>') goto yy215; YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1469 "Zend/zend_language_scanner.l" +#line 1467 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3444 "Zend/zend_language_scanner.c" +#line 3442 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); ++YYCURSOR; yy214: YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1461 "Zend/zend_language_scanner.l" +#line 1459 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3455 "Zend/zend_language_scanner.c" +#line 3453 "Zend/zend_language_scanner.c" yy215: YYDEBUG(215, *YYCURSOR); ++YYCURSOR; YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1465 "Zend/zend_language_scanner.l" +#line 1463 "Zend/zend_language_scanner.l" { return T_SPACESHIP; } -#line 3465 "Zend/zend_language_scanner.c" +#line 3463 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1509 "Zend/zend_language_scanner.l" +#line 1507 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3475 "Zend/zend_language_scanner.c" +#line 3473 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; @@ -3576,7 +3574,7 @@ yy228: yy229: YYDEBUG(229, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2057 "Zend/zend_language_scanner.l" +#line 2055 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3623,7 +3621,7 @@ yy229: return T_START_HEREDOC; } -#line 3627 "Zend/zend_language_scanner.c" +#line 3625 "Zend/zend_language_scanner.c" yy230: YYDEBUG(230, *YYCURSOR); yych = *++YYCURSOR; @@ -3663,31 +3661,31 @@ yy233: ++YYCURSOR; YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1453 "Zend/zend_language_scanner.l" +#line 1451 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3671 "Zend/zend_language_scanner.c" +#line 3669 "Zend/zend_language_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1477 "Zend/zend_language_scanner.l" +#line 1475 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3681 "Zend/zend_language_scanner.c" +#line 3679 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); ++YYCURSOR; YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" +#line 1439 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3691 "Zend/zend_language_scanner.c" +#line 3689 "Zend/zend_language_scanner.c" yy240: YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; @@ -3706,42 +3704,42 @@ yy242: } YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1429 "Zend/zend_language_scanner.l" +#line 1427 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3714 "Zend/zend_language_scanner.c" +#line 3712 "Zend/zend_language_scanner.c" yy244: YYDEBUG(244, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy248; YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1457 "Zend/zend_language_scanner.l" +#line 1455 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3725 "Zend/zend_language_scanner.c" +#line 3723 "Zend/zend_language_scanner.c" yy246: YYDEBUG(246, *YYCURSOR); ++YYCURSOR; YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1425 "Zend/zend_language_scanner.l" +#line 1423 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3735 "Zend/zend_language_scanner.c" +#line 3733 "Zend/zend_language_scanner.c" yy248: YYDEBUG(248, *YYCURSOR); ++YYCURSOR; YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1449 "Zend/zend_language_scanner.l" +#line 1447 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3745 "Zend/zend_language_scanner.c" +#line 3743 "Zend/zend_language_scanner.c" yy250: YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; @@ -3871,11 +3869,11 @@ yy266: } YYDEBUG(269, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1755 "Zend/zend_language_scanner.l" +#line 1753 "Zend/zend_language_scanner.l" { return T_NS_C; } -#line 3879 "Zend/zend_language_scanner.c" +#line 3877 "Zend/zend_language_scanner.c" yy270: YYDEBUG(270, *YYCURSOR); yych = *++YYCURSOR; @@ -3895,11 +3893,11 @@ yy271: } YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1751 "Zend/zend_language_scanner.l" +#line 1749 "Zend/zend_language_scanner.l" { return T_DIR; } -#line 3903 "Zend/zend_language_scanner.c" +#line 3901 "Zend/zend_language_scanner.c" yy275: YYDEBUG(275, *YYCURSOR); yych = *++YYCURSOR; @@ -3924,11 +3922,11 @@ yy277: } YYDEBUG(280, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1743 "Zend/zend_language_scanner.l" +#line 1741 "Zend/zend_language_scanner.l" { return T_LINE; } -#line 3932 "Zend/zend_language_scanner.c" +#line 3930 "Zend/zend_language_scanner.c" yy281: YYDEBUG(281, *YYCURSOR); yych = *++YYCURSOR; @@ -3963,11 +3961,11 @@ yy285: } YYDEBUG(288, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1739 "Zend/zend_language_scanner.l" +#line 1737 "Zend/zend_language_scanner.l" { return T_METHOD_C; } -#line 3971 "Zend/zend_language_scanner.c" +#line 3969 "Zend/zend_language_scanner.c" yy289: YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; @@ -4018,11 +4016,11 @@ yy296: } YYDEBUG(299, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1735 "Zend/zend_language_scanner.l" +#line 1733 "Zend/zend_language_scanner.l" { return T_FUNC_C; } -#line 4026 "Zend/zend_language_scanner.c" +#line 4024 "Zend/zend_language_scanner.c" yy300: YYDEBUG(300, *YYCURSOR); yych = *++YYCURSOR; @@ -4042,11 +4040,11 @@ yy301: } YYDEBUG(304, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1747 "Zend/zend_language_scanner.l" +#line 1745 "Zend/zend_language_scanner.l" { return T_FILE; } -#line 4050 "Zend/zend_language_scanner.c" +#line 4048 "Zend/zend_language_scanner.c" yy305: YYDEBUG(305, *YYCURSOR); yych = *++YYCURSOR; @@ -4076,11 +4074,11 @@ yy308: } YYDEBUG(311, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1731 "Zend/zend_language_scanner.l" +#line 1729 "Zend/zend_language_scanner.l" { return T_TRAIT_C; } -#line 4084 "Zend/zend_language_scanner.c" +#line 4082 "Zend/zend_language_scanner.c" yy312: YYDEBUG(312, *YYCURSOR); yych = *++YYCURSOR; @@ -4110,11 +4108,11 @@ yy315: } YYDEBUG(318, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1727 "Zend/zend_language_scanner.l" +#line 1725 "Zend/zend_language_scanner.l" { return T_CLASS_C; } -#line 4118 "Zend/zend_language_scanner.c" +#line 4116 "Zend/zend_language_scanner.c" yy319: YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; @@ -4176,11 +4174,11 @@ yy330: } YYDEBUG(331, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1393 "Zend/zend_language_scanner.l" +#line 1391 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4184 "Zend/zend_language_scanner.c" +#line 4182 "Zend/zend_language_scanner.c" yy332: YYDEBUG(332, *YYCURSOR); yych = *++YYCURSOR; @@ -4200,11 +4198,11 @@ yy334: } YYDEBUG(335, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1373 "Zend/zend_language_scanner.l" +#line 1371 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4208 "Zend/zend_language_scanner.c" +#line 4206 "Zend/zend_language_scanner.c" yy336: YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; @@ -4223,11 +4221,11 @@ yy338: } YYDEBUG(339, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1421 "Zend/zend_language_scanner.l" +#line 1419 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4231 "Zend/zend_language_scanner.c" +#line 4229 "Zend/zend_language_scanner.c" yy340: YYDEBUG(340, *YYCURSOR); ++YYCURSOR; @@ -4399,11 +4397,11 @@ yy355: ++YYCURSOR; YYDEBUG(357, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1321 "Zend/zend_language_scanner.l" +#line 1319 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4407 "Zend/zend_language_scanner.c" +#line 4405 "Zend/zend_language_scanner.c" yy358: YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; @@ -4447,11 +4445,11 @@ yy363: ++YYCURSOR; YYDEBUG(366, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1325 "Zend/zend_language_scanner.l" +#line 1323 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4455 "Zend/zend_language_scanner.c" +#line 4453 "Zend/zend_language_scanner.c" yy367: YYDEBUG(367, *YYCURSOR); yych = *++YYCURSOR; @@ -4521,11 +4519,11 @@ yy377: ++YYCURSOR; YYDEBUG(380, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1329 "Zend/zend_language_scanner.l" +#line 1327 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4529 "Zend/zend_language_scanner.c" +#line 4527 "Zend/zend_language_scanner.c" yy381: YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; @@ -4558,11 +4556,11 @@ yy384: ++YYCURSOR; YYDEBUG(387, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1331 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4566 "Zend/zend_language_scanner.c" +#line 4564 "Zend/zend_language_scanner.c" yy388: YYDEBUG(388, *YYCURSOR); yych = *++YYCURSOR; @@ -4600,11 +4598,11 @@ yy392: ++YYCURSOR; YYDEBUG(395, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1337 "Zend/zend_language_scanner.l" +#line 1335 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4608 "Zend/zend_language_scanner.c" +#line 4606 "Zend/zend_language_scanner.c" yy396: YYDEBUG(396, *YYCURSOR); yych = *++YYCURSOR; @@ -4645,11 +4643,11 @@ yy401: ++YYCURSOR; YYDEBUG(403, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1341 "Zend/zend_language_scanner.l" +#line 1339 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4653 "Zend/zend_language_scanner.c" +#line 4651 "Zend/zend_language_scanner.c" yy404: YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; @@ -4709,11 +4707,11 @@ yy412: ++YYCURSOR; YYDEBUG(415, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1345 "Zend/zend_language_scanner.l" +#line 1343 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4717 "Zend/zend_language_scanner.c" +#line 4715 "Zend/zend_language_scanner.c" yy416: YYDEBUG(416, *YYCURSOR); yych = *++YYCURSOR; @@ -4727,11 +4725,11 @@ yy417: } YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1317 "Zend/zend_language_scanner.l" +#line 1315 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4735 "Zend/zend_language_scanner.c" +#line 4733 "Zend/zend_language_scanner.c" yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; @@ -4751,11 +4749,11 @@ yy421: } YYDEBUG(422, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1309 "Zend/zend_language_scanner.l" +#line 1307 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4759 "Zend/zend_language_scanner.c" +#line 4757 "Zend/zend_language_scanner.c" yy423: YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; @@ -4794,11 +4792,11 @@ yy429: } YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1369 "Zend/zend_language_scanner.l" +#line 1367 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4802 "Zend/zend_language_scanner.c" +#line 4800 "Zend/zend_language_scanner.c" yy431: YYDEBUG(431, *YYCURSOR); ++YYCURSOR; @@ -4807,22 +4805,22 @@ yy431: yy432: YYDEBUG(432, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1938 "Zend/zend_language_scanner.l" +#line 1936 "Zend/zend_language_scanner.l" { BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 4816 "Zend/zend_language_scanner.c" +#line 4814 "Zend/zend_language_scanner.c" yy433: YYDEBUG(433, *YYCURSOR); ++YYCURSOR; YYDEBUG(434, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1305 "Zend/zend_language_scanner.l" +#line 1303 "Zend/zend_language_scanner.l" { return T_COALESCE; } -#line 4826 "Zend/zend_language_scanner.c" +#line 4824 "Zend/zend_language_scanner.c" yy435: YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; @@ -4853,11 +4851,11 @@ yy439: ++YYCURSOR; YYDEBUG(440, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1499 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 4861 "Zend/zend_language_scanner.c" +#line 4859 "Zend/zend_language_scanner.c" yy441: YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; @@ -4866,21 +4864,21 @@ yy441: ++YYCURSOR; YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1301 "Zend/zend_language_scanner.l" +#line 1299 "Zend/zend_language_scanner.l" { return T_ELLIPSIS; } -#line 4874 "Zend/zend_language_scanner.c" +#line 4872 "Zend/zend_language_scanner.c" yy444: YYDEBUG(444, *YYCURSOR); ++YYCURSOR; YYDEBUG(445, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1293 "Zend/zend_language_scanner.l" +#line 1291 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4884 "Zend/zend_language_scanner.c" +#line 4882 "Zend/zend_language_scanner.c" yy446: YYDEBUG(446, *YYCURSOR); ++YYCURSOR; @@ -4902,32 +4900,32 @@ yy448: ++YYCURSOR; YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1481 "Zend/zend_language_scanner.l" +#line 1479 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 4910 "Zend/zend_language_scanner.c" +#line 4908 "Zend/zend_language_scanner.c" yy450: YYDEBUG(450, *YYCURSOR); ++YYCURSOR; YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1445 "Zend/zend_language_scanner.l" +#line 1443 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 4920 "Zend/zend_language_scanner.c" +#line 4918 "Zend/zend_language_scanner.c" yy452: YYDEBUG(452, *YYCURSOR); ++YYCURSOR; YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1267 "Zend/zend_language_scanner.l" +#line 1265 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY); return T_OBJECT_OPERATOR; } -#line 4931 "Zend/zend_language_scanner.c" +#line 4929 "Zend/zend_language_scanner.c" yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; @@ -4972,11 +4970,11 @@ yy459: } YYDEBUG(460, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1417 "Zend/zend_language_scanner.l" +#line 1415 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 4980 "Zend/zend_language_scanner.c" +#line 4978 "Zend/zend_language_scanner.c" yy461: YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; @@ -5031,11 +5029,11 @@ yy468: } YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1413 "Zend/zend_language_scanner.l" +#line 1411 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5039 "Zend/zend_language_scanner.c" +#line 5037 "Zend/zend_language_scanner.c" yy470: YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; @@ -5065,11 +5063,11 @@ yy474: } YYDEBUG(475, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1409 "Zend/zend_language_scanner.l" +#line 1407 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5073 "Zend/zend_language_scanner.c" +#line 5071 "Zend/zend_language_scanner.c" yy476: YYDEBUG(476, *YYCURSOR); ++YYCURSOR; @@ -5078,11 +5076,11 @@ yy476: } YYDEBUG(477, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1243 "Zend/zend_language_scanner.l" +#line 1241 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5086 "Zend/zend_language_scanner.c" +#line 5084 "Zend/zend_language_scanner.c" yy478: YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; @@ -5107,11 +5105,11 @@ yy481: } YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1235 "Zend/zend_language_scanner.l" +#line 1233 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5115 "Zend/zend_language_scanner.c" +#line 5113 "Zend/zend_language_scanner.c" yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; @@ -5135,11 +5133,11 @@ yy486: } YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1381 "Zend/zend_language_scanner.l" +#line 1379 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5143 "Zend/zend_language_scanner.c" +#line 5141 "Zend/zend_language_scanner.c" yy488: YYDEBUG(488, *YYCURSOR); yych = *++YYCURSOR; @@ -5176,11 +5174,11 @@ yy494: } YYDEBUG(495, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1227 "Zend/zend_language_scanner.l" +#line 1225 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5184 "Zend/zend_language_scanner.c" +#line 5182 "Zend/zend_language_scanner.c" yy496: YYDEBUG(496, *YYCURSOR); yych = *++YYCURSOR; @@ -5220,11 +5218,11 @@ yy502: } YYDEBUG(503, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1211 "Zend/zend_language_scanner.l" +#line 1209 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5228 "Zend/zend_language_scanner.c" +#line 5226 "Zend/zend_language_scanner.c" yy504: YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; @@ -5248,11 +5246,11 @@ yy507: } YYDEBUG(508, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1397 "Zend/zend_language_scanner.l" +#line 1395 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5256 "Zend/zend_language_scanner.c" +#line 5254 "Zend/zend_language_scanner.c" yy509: YYDEBUG(509, *YYCURSOR); yych = *++YYCURSOR; @@ -5279,11 +5277,11 @@ yy512: } YYDEBUG(513, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1207 "Zend/zend_language_scanner.l" +#line 1205 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5287 "Zend/zend_language_scanner.c" +#line 5285 "Zend/zend_language_scanner.c" yy514: YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; @@ -5302,11 +5300,11 @@ yy516: } YYDEBUG(517, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1433 "Zend/zend_language_scanner.l" +#line 1431 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5310 "Zend/zend_language_scanner.c" +#line 5308 "Zend/zend_language_scanner.c" yy518: YYDEBUG(518, *YYCURSOR); ++YYCURSOR; @@ -5315,11 +5313,11 @@ yy518: } YYDEBUG(519, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1541 "Zend/zend_language_scanner.l" +#line 1539 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5323 "Zend/zend_language_scanner.c" +#line 5321 "Zend/zend_language_scanner.c" yy520: YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; @@ -5353,11 +5351,11 @@ yy525: } YYDEBUG(526, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1401 "Zend/zend_language_scanner.l" +#line 1399 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5361 "Zend/zend_language_scanner.c" +#line 5359 "Zend/zend_language_scanner.c" yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; @@ -5381,11 +5379,11 @@ yy530: } YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1167 "Zend/zend_language_scanner.l" +#line 1165 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5389 "Zend/zend_language_scanner.c" +#line 5387 "Zend/zend_language_scanner.c" yy532: YYDEBUG(532, *YYCURSOR); ++YYCURSOR; @@ -5394,11 +5392,11 @@ yy532: } YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1151 "Zend/zend_language_scanner.l" +#line 1149 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5402 "Zend/zend_language_scanner.c" +#line 5400 "Zend/zend_language_scanner.c" yy534: YYDEBUG(534, *YYCURSOR); yych = *++YYCURSOR; @@ -5450,11 +5448,11 @@ yy539: } YYDEBUG(540, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1385 "Zend/zend_language_scanner.l" +#line 1383 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5458 "Zend/zend_language_scanner.c" +#line 5456 "Zend/zend_language_scanner.c" yy541: YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; @@ -5508,11 +5506,11 @@ yy547: yy548: YYDEBUG(548, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1353 "Zend/zend_language_scanner.l" +#line 1351 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5516 "Zend/zend_language_scanner.c" +#line 5514 "Zend/zend_language_scanner.c" yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; @@ -5541,11 +5539,11 @@ yy553: } YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1357 "Zend/zend_language_scanner.l" +#line 1355 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5549 "Zend/zend_language_scanner.c" +#line 5547 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; @@ -5579,11 +5577,11 @@ yy560: } YYDEBUG(561, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1249 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5587 "Zend/zend_language_scanner.c" +#line 5585 "Zend/zend_language_scanner.c" yy562: YYDEBUG(562, *YYCURSOR); yych = *++YYCURSOR; @@ -5633,11 +5631,11 @@ yy568: } YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1377 "Zend/zend_language_scanner.l" +#line 1375 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } -#line 5641 "Zend/zend_language_scanner.c" +#line 5639 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -5666,11 +5664,11 @@ yy574: } YYDEBUG(575, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1203 "Zend/zend_language_scanner.l" +#line 1201 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5674 "Zend/zend_language_scanner.c" +#line 5672 "Zend/zend_language_scanner.c" yy576: YYDEBUG(576, *YYCURSOR); yych = *++YYCURSOR; @@ -5714,11 +5712,11 @@ yy583: } YYDEBUG(584, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1263 "Zend/zend_language_scanner.l" +#line 1261 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 5722 "Zend/zend_language_scanner.c" +#line 5720 "Zend/zend_language_scanner.c" yy585: YYDEBUG(585, *YYCURSOR); yych = *++YYCURSOR; @@ -5746,11 +5744,11 @@ yy586: } YYDEBUG(588, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1135 "Zend/zend_language_scanner.l" +#line 1133 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 5754 "Zend/zend_language_scanner.c" +#line 5752 "Zend/zend_language_scanner.c" yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; @@ -5769,11 +5767,11 @@ yy591: } YYDEBUG(592, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1255 "Zend/zend_language_scanner.l" +#line 1253 "Zend/zend_language_scanner.l" { return T_TRAIT; } -#line 5777 "Zend/zend_language_scanner.c" +#line 5775 "Zend/zend_language_scanner.c" yy593: YYDEBUG(593, *YYCURSOR); yych = *++YYCURSOR; @@ -5792,11 +5790,11 @@ yy595: } YYDEBUG(596, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1147 "Zend/zend_language_scanner.l" +#line 1145 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 5800 "Zend/zend_language_scanner.c" +#line 5798 "Zend/zend_language_scanner.c" yy597: YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; @@ -5829,11 +5827,11 @@ yy600: yy601: YYDEBUG(601, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1131 "Zend/zend_language_scanner.l" +#line 1129 "Zend/zend_language_scanner.l" { return T_YIELD; } -#line 5837 "Zend/zend_language_scanner.c" +#line 5835 "Zend/zend_language_scanner.c" yy602: YYDEBUG(602, *YYCURSOR); ++YYCURSOR; @@ -5875,11 +5873,11 @@ yy607: ++YYCURSOR; YYDEBUG(608, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1127 "Zend/zend_language_scanner.l" +#line 1125 "Zend/zend_language_scanner.l" { return T_YIELD_FROM; } -#line 5883 "Zend/zend_language_scanner.c" +#line 5881 "Zend/zend_language_scanner.c" yy609: YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; @@ -5940,11 +5938,11 @@ yy615: yy616: YYDEBUG(616, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1361 "Zend/zend_language_scanner.l" +#line 1359 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 5948 "Zend/zend_language_scanner.c" +#line 5946 "Zend/zend_language_scanner.c" yy617: YYDEBUG(617, *YYCURSOR); yych = *++YYCURSOR; @@ -5973,11 +5971,11 @@ yy621: } YYDEBUG(622, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1365 "Zend/zend_language_scanner.l" +#line 1363 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 5981 "Zend/zend_language_scanner.c" +#line 5979 "Zend/zend_language_scanner.c" yy623: YYDEBUG(623, *YYCURSOR); yych = *++YYCURSOR; @@ -5996,11 +5994,11 @@ yy625: } YYDEBUG(626, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1123 "Zend/zend_language_scanner.l" +#line 1121 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 6004 "Zend/zend_language_scanner.c" +#line 6002 "Zend/zend_language_scanner.c" yy627: YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; @@ -6090,11 +6088,11 @@ yy636: } YYDEBUG(637, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1231 "Zend/zend_language_scanner.l" +#line 1229 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6098 "Zend/zend_language_scanner.c" +#line 6096 "Zend/zend_language_scanner.c" yy638: YYDEBUG(638, *YYCURSOR); ++YYCURSOR; @@ -6103,11 +6101,11 @@ yy638: } YYDEBUG(639, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1119 "Zend/zend_language_scanner.l" +#line 1117 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6111 "Zend/zend_language_scanner.c" +#line 6109 "Zend/zend_language_scanner.c" yy640: YYDEBUG(640, *YYCURSOR); yych = *++YYCURSOR; @@ -6132,11 +6130,11 @@ yy643: } YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1313 "Zend/zend_language_scanner.l" +#line 1311 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6140 "Zend/zend_language_scanner.c" +#line 6138 "Zend/zend_language_scanner.c" yy645: YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; @@ -6150,11 +6148,11 @@ yy646: } YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1247 "Zend/zend_language_scanner.l" +#line 1245 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6158 "Zend/zend_language_scanner.c" +#line 6156 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; @@ -6200,11 +6198,11 @@ yy655: } YYDEBUG(656, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1437 "Zend/zend_language_scanner.l" +#line 1435 "Zend/zend_language_scanner.l" { return T_CALLABLE; } -#line 6208 "Zend/zend_language_scanner.c" +#line 6206 "Zend/zend_language_scanner.c" yy657: YYDEBUG(657, *YYCURSOR); ++YYCURSOR; @@ -6213,11 +6211,11 @@ yy657: } YYDEBUG(658, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1219 "Zend/zend_language_scanner.l" +#line 1217 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6221 "Zend/zend_language_scanner.c" +#line 6219 "Zend/zend_language_scanner.c" yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; @@ -6231,11 +6229,11 @@ yy660: } YYDEBUG(661, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1139 "Zend/zend_language_scanner.l" +#line 1137 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6239 "Zend/zend_language_scanner.c" +#line 6237 "Zend/zend_language_scanner.c" yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; @@ -6286,11 +6284,11 @@ yy670: } YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1115 "Zend/zend_language_scanner.l" +#line 1113 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6294 "Zend/zend_language_scanner.c" +#line 6292 "Zend/zend_language_scanner.c" yy672: YYDEBUG(672, *YYCURSOR); ++YYCURSOR; @@ -6314,11 +6312,11 @@ yy672: yy673: YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1179 "Zend/zend_language_scanner.l" +#line 1177 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6322 "Zend/zend_language_scanner.c" +#line 6320 "Zend/zend_language_scanner.c" yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; @@ -6342,11 +6340,11 @@ yy677: } YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1187 "Zend/zend_language_scanner.l" +#line 1185 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6350 "Zend/zend_language_scanner.c" +#line 6348 "Zend/zend_language_scanner.c" yy679: YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; @@ -6380,11 +6378,11 @@ yy681: yy682: YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1405 "Zend/zend_language_scanner.l" +#line 1403 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6388 "Zend/zend_language_scanner.c" +#line 6386 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; @@ -6398,11 +6396,11 @@ yy684: } YYDEBUG(685, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1143 "Zend/zend_language_scanner.l" +#line 1141 "Zend/zend_language_scanner.l" { return T_FINALLY; } -#line 6406 "Zend/zend_language_scanner.c" +#line 6404 "Zend/zend_language_scanner.c" yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; @@ -6433,11 +6431,11 @@ yy688: } YYDEBUG(689, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1175 "Zend/zend_language_scanner.l" +#line 1173 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6441 "Zend/zend_language_scanner.c" +#line 6439 "Zend/zend_language_scanner.c" yy690: YYDEBUG(690, *YYCURSOR); ++YYCURSOR; @@ -6446,11 +6444,11 @@ yy690: } YYDEBUG(691, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1111 "Zend/zend_language_scanner.l" +#line 1109 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6454 "Zend/zend_language_scanner.c" +#line 6452 "Zend/zend_language_scanner.c" yy692: YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; @@ -6485,11 +6483,11 @@ yy697: } YYDEBUG(698, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1223 "Zend/zend_language_scanner.l" +#line 1221 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6493 "Zend/zend_language_scanner.c" +#line 6491 "Zend/zend_language_scanner.c" yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; @@ -6513,11 +6511,11 @@ yy702: } YYDEBUG(703, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1195 "Zend/zend_language_scanner.l" +#line 1193 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6521 "Zend/zend_language_scanner.c" +#line 6519 "Zend/zend_language_scanner.c" yy704: YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; @@ -6597,11 +6595,11 @@ yy715: } YYDEBUG(716, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1259 "Zend/zend_language_scanner.l" +#line 1257 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6605 "Zend/zend_language_scanner.c" +#line 6603 "Zend/zend_language_scanner.c" yy717: YYDEBUG(717, *YYCURSOR); ++YYCURSOR; @@ -6610,11 +6608,11 @@ yy717: } YYDEBUG(718, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1107 "Zend/zend_language_scanner.l" +#line 1105 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6618 "Zend/zend_language_scanner.c" +#line 6616 "Zend/zend_language_scanner.c" yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; @@ -6628,11 +6626,11 @@ yy720: } YYDEBUG(721, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1349 "Zend/zend_language_scanner.l" +#line 1347 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6636 "Zend/zend_language_scanner.c" +#line 6634 "Zend/zend_language_scanner.c" yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; @@ -6702,11 +6700,11 @@ yy731: } YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1171 "Zend/zend_language_scanner.l" +#line 1169 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6710 "Zend/zend_language_scanner.c" +#line 6708 "Zend/zend_language_scanner.c" yy733: YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; @@ -6735,11 +6733,11 @@ yy737: } YYDEBUG(738, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1215 "Zend/zend_language_scanner.l" +#line 1213 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6743 "Zend/zend_language_scanner.c" +#line 6741 "Zend/zend_language_scanner.c" yy739: YYDEBUG(739, *YYCURSOR); ++YYCURSOR; @@ -6748,11 +6746,11 @@ yy739: } YYDEBUG(740, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1159 "Zend/zend_language_scanner.l" +#line 1157 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6756 "Zend/zend_language_scanner.c" +#line 6754 "Zend/zend_language_scanner.c" yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; @@ -6781,11 +6779,11 @@ yy742: yy743: YYDEBUG(743, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1183 "Zend/zend_language_scanner.l" +#line 1181 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6789 "Zend/zend_language_scanner.c" +#line 6787 "Zend/zend_language_scanner.c" yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; @@ -6809,11 +6807,11 @@ yy747: } YYDEBUG(748, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1191 "Zend/zend_language_scanner.l" +#line 1189 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 6817 "Zend/zend_language_scanner.c" +#line 6815 "Zend/zend_language_scanner.c" yy749: YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; @@ -6847,11 +6845,11 @@ yy754: } YYDEBUG(755, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1199 "Zend/zend_language_scanner.l" +#line 1197 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 6855 "Zend/zend_language_scanner.c" +#line 6853 "Zend/zend_language_scanner.c" yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; @@ -6870,11 +6868,11 @@ yy758: } YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1389 "Zend/zend_language_scanner.l" +#line 1387 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 6878 "Zend/zend_language_scanner.c" +#line 6876 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; @@ -6903,11 +6901,11 @@ yy761: yy762: YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1163 "Zend/zend_language_scanner.l" +#line 1161 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 6911 "Zend/zend_language_scanner.c" +#line 6909 "Zend/zend_language_scanner.c" yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; @@ -6921,11 +6919,11 @@ yy764: } YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1155 "Zend/zend_language_scanner.l" +#line 1153 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 6929 "Zend/zend_language_scanner.c" +#line 6927 "Zend/zend_language_scanner.c" yy766: YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; @@ -6939,11 +6937,11 @@ yy767: } YYDEBUG(768, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1239 "Zend/zend_language_scanner.l" +#line 1237 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 6947 "Zend/zend_language_scanner.c" +#line 6945 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7016,12 +7014,12 @@ yy771: yy772: YYDEBUG(772, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1272 "Zend/zend_language_scanner.l" +#line 1270 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7025 "Zend/zend_language_scanner.c" +#line 7023 "Zend/zend_language_scanner.c" yy773: YYDEBUG(773, *YYCURSOR); ++YYCURSOR; @@ -7029,13 +7027,13 @@ yy773: yy774: YYDEBUG(774, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1287 "Zend/zend_language_scanner.l" +#line 1285 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); goto restart; } -#line 7039 "Zend/zend_language_scanner.c" +#line 7037 "Zend/zend_language_scanner.c" yy775: YYDEBUG(775, *YYCURSOR); ++YYCURSOR; @@ -7044,13 +7042,13 @@ yy775: yy776: YYDEBUG(776, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1281 "Zend/zend_language_scanner.l" +#line 1279 "Zend/zend_language_scanner.l" { yy_pop_state(); zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7054 "Zend/zend_language_scanner.c" +#line 7052 "Zend/zend_language_scanner.c" yy777: YYDEBUG(777, *YYCURSOR); yych = *++YYCURSOR; @@ -7071,11 +7069,11 @@ yy780: ++YYCURSOR; YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1277 "Zend/zend_language_scanner.l" +#line 1275 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 7079 "Zend/zend_language_scanner.c" +#line 7077 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); ++YYCURSOR; @@ -7160,14 +7158,14 @@ yy786: yy787: YYDEBUG(787, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1592 "Zend/zend_language_scanner.l" +#line 1590 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(); yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7171 "Zend/zend_language_scanner.c" +#line 7169 "Zend/zend_language_scanner.c" yy788: YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; @@ -7192,7 +7190,7 @@ yy792: ++YYCURSOR; YYDEBUG(793, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1583 "Zend/zend_language_scanner.l" +#line 1581 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7200,7 +7198,7 @@ yy792: yy_push_state(ST_IN_SCRIPTING); return T_STRING_VARNAME; } -#line 7204 "Zend/zend_language_scanner.c" +#line 7202 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7211,7 +7209,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(797, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2316 "Zend/zend_language_scanner.l" +#line 2314 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7267,7 +7265,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7271 "Zend/zend_language_scanner.c" +#line 7269 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7374,7 +7372,7 @@ yy800: yy801: YYDEBUG(801, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1697 "Zend/zend_language_scanner.l" +#line 1695 "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; @@ -7390,7 +7388,7 @@ string: } return T_NUM_STRING; } -#line 7394 "Zend/zend_language_scanner.c" +#line 7392 "Zend/zend_language_scanner.c" yy802: YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; @@ -7410,23 +7408,23 @@ yy803: yy804: YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1855 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7419 "Zend/zend_language_scanner.c" +#line 7417 "Zend/zend_language_scanner.c" yy805: YYDEBUG(805, *YYCURSOR); ++YYCURSOR; YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1852 "Zend/zend_language_scanner.l" +#line 1850 "Zend/zend_language_scanner.l" { yy_pop_state(); return ']'; } -#line 7430 "Zend/zend_language_scanner.c" +#line 7428 "Zend/zend_language_scanner.c" yy807: YYDEBUG(807, *YYCURSOR); yych = *++YYCURSOR; @@ -7436,7 +7434,7 @@ yy808: ++YYCURSOR; YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1862 "Zend/zend_language_scanner.l" +#line 1860 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7444,7 +7442,7 @@ yy808: ZVAL_NULL(zendlval); return T_ENCAPSED_AND_WHITESPACE; } -#line 7448 "Zend/zend_language_scanner.c" +#line 7446 "Zend/zend_language_scanner.c" yy810: YYDEBUG(810, *YYCURSOR); ++YYCURSOR; @@ -7453,18 +7451,18 @@ yy810: yy811: YYDEBUG(811, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1870 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7462 "Zend/zend_language_scanner.c" +#line 7460 "Zend/zend_language_scanner.c" yy812: YYDEBUG(812, *YYCURSOR); ++YYCURSOR; YYDEBUG(813, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2373 "Zend/zend_language_scanner.l" +#line 2371 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7473,7 +7471,7 @@ yy812: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7477 "Zend/zend_language_scanner.c" +#line 7475 "Zend/zend_language_scanner.c" yy814: YYDEBUG(814, *YYCURSOR); ++YYCURSOR; @@ -7509,12 +7507,12 @@ yy816: yy818: YYDEBUG(818, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1847 "Zend/zend_language_scanner.l" +#line 1845 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7518 "Zend/zend_language_scanner.c" +#line 7516 "Zend/zend_language_scanner.c" yy819: YYDEBUG(819, *YYCURSOR); ++YYCURSOR; @@ -7554,12 +7552,12 @@ yy824: yy826: YYDEBUG(826, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1713 "Zend/zend_language_scanner.l" +#line 1711 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); return T_NUM_STRING; } -#line 7563 "Zend/zend_language_scanner.c" +#line 7561 "Zend/zend_language_scanner.c" yy827: YYDEBUG(827, *YYCURSOR); ++YYCURSOR; @@ -7582,6 +7580,6 @@ yy829: goto yy826; } } -#line 2382 "Zend/zend_language_scanner.l" +#line 2380 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index c94792a358..c778a9a4c3 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -593,7 +593,6 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type) zend_file_context_begin(&original_file_context); zend_oparray_context_begin(&original_oparray_context); zend_compile_top_stmt(CG(ast)); - zend_do_end_compilation(); zend_emit_final_return(&retval_zv); pass_two(op_array); zend_oparray_context_end(&original_oparray_context); @@ -757,7 +756,6 @@ zend_op_array *compile_string(zval *source_string, char *filename) zend_file_context_begin(&original_file_context); zend_oparray_context_begin(&original_oparray_context); zend_compile_top_stmt(CG(ast)); - zend_do_end_compilation(); zend_emit_final_return(NULL); pass_two(op_array); zend_oparray_context_end(&original_oparray_context); -- 2.40.0