summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/bug69388.phpt19
-rw-r--r--Zend/tests/bug69388_2.phpt16
-rw-r--r--Zend/zend_compile.c186
-rw-r--r--Zend/zend_compile.h50
-rw-r--r--Zend/zend_globals.h12
-rw-r--r--Zend/zend_language_scanner.c698
-rw-r--r--Zend/zend_language_scanner.l2
7 files changed, 498 insertions, 485 deletions
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--
+<?php
+
+error_reporting(E_ALL | E_STRICT);
+function handle_error($code, $message, $file, $line, $context) {
+ if (!function_exists("bla")) {
+ eval('function bla($s) {echo "$s\n";}');
+ }
+ bla($message);
+}
+
+set_error_handler('handle_error');
+eval('namespace {use Exception;}');
+
+?>
+--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--
+<?php
+error_reporting(E_ALL | E_STRICT);
+function handle_error($code, $message, $file, $line, $context) {
+ eval('namespace Foo;');
+ echo "$message\n";
+}
+
+set_error_handler('handle_error');
+eval('namespace {use Exception;}');
+
+?>
+--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);