diff options
Diffstat (limited to 'Zend')
34 files changed, 4586 insertions, 3843 deletions
diff --git a/Zend/tests/bug68148.phpt b/Zend/tests/bug68148.phpt new file mode 100644 index 0000000000..fcbf69bb87 --- /dev/null +++ b/Zend/tests/bug68148.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #68148: $this is null inside include +--FILE-- +<?php + +class Test { + public function method() { + eval('var_dump($this);'); + } +} + +(new Test)->method(); + +?> +--EXPECT-- +object(Test)#1 (0) { +} diff --git a/Zend/tests/dereference_002.phpt b/Zend/tests/dereference_002.phpt index da13decc39..cc0f27d534 100644 --- a/Zend/tests/dereference_002.phpt +++ b/Zend/tests/dereference_002.phpt @@ -76,4 +76,4 @@ NULL Notice: Undefined offset: 3 in %s on line %d -Fatal error: Call to a member function bar() on null in %s on line %d +Catchable fatal error: Call to a member function bar() on null in %s on line %d diff --git a/Zend/tests/methods-on-non-objects-args-catch.phpt b/Zend/tests/methods-on-non-objects-args-catch.phpt new file mode 100644 index 0000000000..853d2d5602 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-args-catch.phpt @@ -0,0 +1,18 @@ +--TEST-- +Catch method calls on non-objects raise recoverable errors +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +var_dump($x->method(1, 2, 3)); +echo "Alive\n"; +?> +--EXPECTF-- + +int(4096) +string(%d) "Call to a member function method() on null" +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-array-access.phpt b/Zend/tests/methods-on-non-objects-array-access.phpt new file mode 100755 index 0000000000..be87457c6c --- /dev/null +++ b/Zend/tests/methods-on-non-objects-array-access.phpt @@ -0,0 +1,18 @@ +--TEST-- +Catch method calls on non-objects inside array access +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +$a= [null => 'OK']; +var_dump($a[$x->method()]); +echo "Alive\n"; +?> +--EXPECTF-- +int(4096) +string(%d) "Call to a member function method() on null" +string(2) "OK" +Alive
\ No newline at end of file diff --git a/Zend/tests/methods-on-non-objects-array-creation.phpt b/Zend/tests/methods-on-non-objects-array-creation.phpt new file mode 100755 index 0000000000..74cbb9c179 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-array-creation.phpt @@ -0,0 +1,35 @@ +--TEST-- +Catch method calls on non-objects inside array creation +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +var_dump([$x->method() => 'OK']); +var_dump([$x->method(), $x->method(), $x->method()]); +echo "Alive\n"; +?> +--EXPECTF-- +int(4096) +string(%d) "Call to a member function method() on null" +array(1) { + [""]=> + string(2) "OK" +} +int(4096) +string(%d) "Call to a member function method() on null" +int(4096) +string(%d) "Call to a member function method() on null" +int(4096) +string(%d) "Call to a member function method() on null" +array(3) { + [0]=> + NULL + [1]=> + NULL + [2]=> + NULL +} +Alive
\ No newline at end of file diff --git a/Zend/tests/methods-on-non-objects-as-arg.phpt b/Zend/tests/methods-on-non-objects-as-arg.phpt new file mode 100755 index 0000000000..13b83cb06e --- /dev/null +++ b/Zend/tests/methods-on-non-objects-as-arg.phpt @@ -0,0 +1,47 @@ +--TEST-- +Catch method calls on non-objects as argument +--FILE-- +<?php +function nesting() { + return func_get_args(); +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; +var_dump(nesting($x->method())); +var_dump(nesting(nesting($x->method()))); +var_dump(nesting($x->method(nesting($x->method())))); +var_dump(nesting($x->method(), $x->method())); +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +array(1) { + [0]=> + NULL +} +Called #2 +array(1) { + [0]=> + array(1) { + [0]=> + NULL + } +} +Called #3 +array(1) { + [0]=> + NULL +} +Called #4 +Called #5 +array(2) { + [0]=> + NULL + [1]=> + NULL +} +Alive diff --git a/Zend/tests/methods-on-non-objects-call-user-func.phpt b/Zend/tests/methods-on-non-objects-call-user-func.phpt new file mode 100644 index 0000000000..f76b7d43a0 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-call-user-func.phpt @@ -0,0 +1,13 @@ +--TEST-- +call_user_func() in combination with "Call to a member function method() on a non-object" +--FILE-- +<?php +$comparator= null; +var_dump(call_user_func([$comparator, 'compare'], 1, 2)); +echo "Alive\n"; +?> +--EXPECTF-- +Warning: call_user_func() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d +NULL +Alive + diff --git a/Zend/tests/methods-on-non-objects-catch.phpt b/Zend/tests/methods-on-non-objects-catch.phpt new file mode 100644 index 0000000000..bbfadac107 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-catch.phpt @@ -0,0 +1,18 @@ +--TEST-- +Catch method calls on non-objects raise recoverable errors +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +var_dump($x->method()); +echo "Alive\n"; +?> +--EXPECTF-- + +int(4096) +string(%d) "Call to a member function method() on null" +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-chain.phpt b/Zend/tests/methods-on-non-objects-chain.phpt new file mode 100644 index 0000000000..30da254cd5 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-chain.phpt @@ -0,0 +1,22 @@ +--TEST-- +Catch chained method calls on non-objects raise recoverable errors +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +var_dump($x->method()->chained()->invocations()); +echo "Alive\n"; +?> +--EXPECTF-- + +int(4096) +string(%d) "Call to a member function method() on null" +int(4096) +string(%d) "Call to a member function chained() on null" +int(4096) +string(%d) "Call to a member function invocations() on null" +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-concat.phpt b/Zend/tests/methods-on-non-objects-concat.phpt new file mode 100755 index 0000000000..4ff47aa454 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-concat.phpt @@ -0,0 +1,18 @@ +--TEST-- +Catch method calls on non-objects inside concatenation +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +echo "Before\n".$x->method()."After\n"; +echo "Alive\n"; +?> +--EXPECTF-- +int(4096) +string(%d) "Call to a member function method() on null" +Before +After +Alive
\ No newline at end of file diff --git a/Zend/tests/methods-on-non-objects-dynamic.phpt b/Zend/tests/methods-on-non-objects-dynamic.phpt new file mode 100755 index 0000000000..11c5c9f44b --- /dev/null +++ b/Zend/tests/methods-on-non-objects-dynamic.phpt @@ -0,0 +1,23 @@ +--TEST-- +Catch method calls on non-objects with dynamic lookups +--FILE-- +<?php +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$arr= [null, 'method']; +var_dump($arr[0]->{$arr[1]}()); + +$fun= function() { return null; }; +var_dump($fun()->{'method'}()); + +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-eval.phpt b/Zend/tests/methods-on-non-objects-eval.phpt new file mode 100644 index 0000000000..8ee494c434 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-eval.phpt @@ -0,0 +1,18 @@ +--TEST-- +Indirect call inside eval to member function on non-object +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +var_dump(eval('$x->method(1, 2, 3);')); +echo "Alive\n"; +?> +--EXPECTF-- + +int(4096) +string(%d) "Call to a member function method() on null" +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-in-echo.phpt b/Zend/tests/methods-on-non-objects-in-echo.phpt new file mode 100755 index 0000000000..a0267c0ea5 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-in-echo.phpt @@ -0,0 +1,18 @@ +--TEST-- +Catch method calls on non-objects inside echo +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$x= null; +echo "Before\n", $x->method(), "After\n"; +echo "Alive\n"; +?> +--EXPECTF-- +Before +int(4096) +string(%d) "Call to a member function method() on null" +After +Alive
\ No newline at end of file diff --git a/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt b/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt new file mode 100755 index 0000000000..267104f1b3 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-dyn.phpt @@ -0,0 +1,37 @@ +--TEST-- +Catch method calls on non-objects with nested dynamic calls +--FILE-- +<?php +function nested() { + throw new LogicException('Should not be called'); +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; + +$closure= function() { return nested(); }; +var_dump($x->method($closure())); + +$lambda= create_function('', 'return nested();'); +var_dump($x->method($lambda())); + +$func= 'nested'; +var_dump($x->method($func())); + +var_dump($x->method(call_user_func('nested'))); + +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Called #4 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls-new.phpt b/Zend/tests/methods-on-non-objects-nested-calls-new.phpt new file mode 100755 index 0000000000..d8e3dd21bf --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-new.phpt @@ -0,0 +1,37 @@ +--TEST-- +Catch method calls on non-objects with nested calls to new +--FILE-- +<?php +class Nesting { +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; +var_dump($x->method(new Nesting())); +var_dump($x->method(new Nesting(), new Nesting())); +var_dump($x->method(new Nesting(new Nesting()))); +var_dump($x->method(new Nesting($x->nested()))); +var_dump($x->method(new Nesting($x->nested(new Nesting())))); +var_dump($x->method($x->nested(new Nesting($x->deep())))); +var_dump($x->method([new Nesting()])); +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Called #4 +NULL +Called #5 +NULL +Called #6 +NULL +Called #7 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls-nonct.phpt b/Zend/tests/methods-on-non-objects-nested-calls-nonct.phpt new file mode 100755 index 0000000000..a4529eecdc --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-nonct.phpt @@ -0,0 +1,43 @@ +--TEST-- +Catch method calls on non-objects with nested non-compile-time-resolveable calls +--FILE-- +<?php +require('methods-on-non-objects-nested.inc'); + +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; + +var_dump($x->method(nested())); + +$closure= function() { return nested(); }; +var_dump($x->method($closure())); + +$lambda= create_function('', 'return nested();'); +var_dump($x->method($lambda())); + +$func= 'nested'; +var_dump($x->method($func())); + +var_dump($x->method(call_user_func('nested'))); +var_dump($x->method(call_user_func_array('nested', []))); + +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Called #4 +NULL +Called #5 +NULL +Called #6 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls-ns.phpt b/Zend/tests/methods-on-non-objects-nested-calls-ns.phpt new file mode 100755 index 0000000000..b16f579fa9 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-ns.phpt @@ -0,0 +1,26 @@ +--TEST-- +Catch method calls on non-objects with nested calls to namespaced functions with core counterparts +--FILE-- +<?php namespace test; +function strlen($str) { + throw new LogicException('Should not be called'); +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; +var_dump($x->method(strlen('Test'))); +var_dump($x->method(strlen('Test'), strlen('Test'))); +var_dump($x->method([strlen('Test')])); +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls-static.phpt b/Zend/tests/methods-on-non-objects-nested-calls-static.phpt new file mode 100755 index 0000000000..64972ee871 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls-static.phpt @@ -0,0 +1,33 @@ +--TEST-- +Catch method calls on non-objects with nested calls to static methods +--FILE-- +<?php +class Nesting { + static function nested() { + throw new LogicException('Should not be called'); + } +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; +$class= 'Nesting'; +$method= 'nested'; +var_dump($x->method(Nesting::nested())); +var_dump($x->method($class::nested())); +var_dump($x->method($class::{$method}())); +var_dump($x->method([Nesting::nested()])); +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Called #4 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested-calls.phpt b/Zend/tests/methods-on-non-objects-nested-calls.phpt new file mode 100644 index 0000000000..b25aeafd9c --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested-calls.phpt @@ -0,0 +1,47 @@ +--TEST-- +Catch method calls on non-objects with nested function and method calls +--FILE-- +<?php +function nested() { + throw new LogicException('Should not be called'); +} +set_error_handler(function($code, $message) { + static $i= 0; + echo 'Called #'.(++$i)."\n"; +}); + +$x= null; +var_dump($x->method(nested())); +var_dump($x->method(nested(), nested())); +var_dump($x->method(nested(nested()))); +var_dump($x->method($x->nested())); +var_dump($x->method($x->nested(), $x->nested())); +var_dump($x->method($x->nested(nested()))); +var_dump($x->method($x->nested($x->deep()))); +var_dump($x->method($x->nested(nested($x->deep())))); +var_dump($x->method(nested(nested($x->nested())))); +var_dump($x->method([nested()])); +echo "Alive\n"; +?> +--EXPECTF-- +Called #1 +NULL +Called #2 +NULL +Called #3 +NULL +Called #4 +NULL +Called #5 +NULL +Called #6 +NULL +Called #7 +NULL +Called #8 +NULL +Called #9 +NULL +Called #10 +NULL +Alive diff --git a/Zend/tests/methods-on-non-objects-nested.inc b/Zend/tests/methods-on-non-objects-nested.inc new file mode 100755 index 0000000000..8511414b82 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-nested.inc @@ -0,0 +1,4 @@ +<?php +function nested() { + throw new LogicException('Should not be called'); +}
\ No newline at end of file diff --git a/Zend/tests/methods-on-non-objects-return-unused.phpt b/Zend/tests/methods-on-non-objects-return-unused.phpt new file mode 100755 index 0000000000..ab2951f94f --- /dev/null +++ b/Zend/tests/methods-on-non-objects-return-unused.phpt @@ -0,0 +1,17 @@ +--TEST-- +Catch method calls on non-objects without using return value +--INI-- +report_memleaks=1 +--FILE-- +<?php +set_error_handler(function($code, $message) { + echo "Caught\n"; +}); + +$x= null; +$x->method(); +echo "Alive\n"; +?> +--EXPECTF-- +Caught +Alive diff --git a/Zend/tests/methods-on-non-objects-throw.phpt b/Zend/tests/methods-on-non-objects-throw.phpt new file mode 100644 index 0000000000..874f57cb24 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-throw.phpt @@ -0,0 +1,29 @@ +--TEST-- +Convert errors to exceptions from method calls on non-objects raise recoverable errors +--FILE-- +<?php +set_error_handler(function($code, $message) { + echo "Raising...\n"; + if (0 === strncmp('Call', $message, 4)) { + throw new BadMethodCallException($message); + } else if (0 === strncmp('Argument', $message, 8)) { + throw new InvalidArgumentException($message); + } else { + trigger_error($message, E_USER_ERROR); + } +}, E_RECOVERABLE_ERROR); + +$x= null; +echo "Calling...\n"; +try { + $x->method(); +} catch (BadMethodCallException $e) { + echo "Caught expected ", $e->getMessage(), "!\n"; +} +echo "Alive\n"; +?> +--EXPECTF-- +Calling... +Raising... +Caught expected Call to a member function method() on null! +Alive diff --git a/Zend/tests/methods-on-non-objects-usort.phpt b/Zend/tests/methods-on-non-objects-usort.phpt new file mode 100644 index 0000000000..760d481b27 --- /dev/null +++ b/Zend/tests/methods-on-non-objects-usort.phpt @@ -0,0 +1,43 @@ +--TEST-- +usort() in combination with "Call to a member function method() on null" +--FILE-- +<?php +set_error_handler(function($code, $message) { + var_dump($code, $message); +}); + +$comparator= null; +$list= [1, 4, 2, 3, -1]; +usort($list, function($a, $b) use ($comparator) { + return $comparator->compare($a, $b); +}); +var_dump($list); +echo "Alive\n"; +?> +--EXPECTF-- +int(4096) +string(43) "Call to a member function compare() on null" +int(4096) +string(43) "Call to a member function compare() on null" +int(4096) +string(43) "Call to a member function compare() on null" +int(4096) +string(43) "Call to a member function compare() on null" +int(4096) +string(43) "Call to a member function compare() on null" +int(4096) +string(43) "Call to a member function compare() on null" +array(5) { + [0]=> + int(-1) + [1]=> + int(3) + [2]=> + int(2) + [3]=> + int(4) + [4]=> + int(1) +} +Alive + diff --git a/Zend/tests/methods-on-non-objects.phpt b/Zend/tests/methods-on-non-objects.phpt new file mode 100644 index 0000000000..01031b8b1d --- /dev/null +++ b/Zend/tests/methods-on-non-objects.phpt @@ -0,0 +1,12 @@ +--TEST-- +Method calls on non-objects raise recoverable errors +--FILE-- +<?php + +$x= null; +$x->method(); +echo "Should not get here!\n"; +?> +--EXPECTF-- + +Catchable fatal error: Call to a member function method() on null in %s on line %d diff --git a/Zend/zend.c b/Zend/zend.c index 6494441600..253c8515ed 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -373,11 +373,9 @@ static FILE *zend_fopen_wrapper(const char *filename, char **opened_path TSRMLS_ /* }}} */ #ifdef ZTS -static zend_bool asp_tags_default = 0; -static zend_bool short_tags_default = 1; +static zend_bool short_tags_default = 1; static uint32_t compiler_options_default = ZEND_COMPILE_DEFAULT; #else -# define asp_tags_default 0 # define short_tags_default 1 # define compiler_options_default ZEND_COMPILE_DEFAULT #endif @@ -385,7 +383,6 @@ static uint32_t compiler_options_default = ZEND_COMPILE_DEFAULT; static void zend_set_default_compile_time_values(TSRMLS_D) /* {{{ */ { /* default compile-time values */ - CG(asp_tags) = asp_tags_default; CG(short_tags) = short_tags_default; CG(compiler_options) = compiler_options_default; } @@ -723,7 +720,6 @@ void zend_post_startup(TSRMLS_D) /* {{{ */ *GLOBAL_CLASS_TABLE = *compiler_globals->class_table; *GLOBAL_CONSTANTS_TABLE = *executor_globals->zend_constants; - asp_tags_default = CG(asp_tags); short_tags_default = CG(short_tags); compiler_options_default = CG(compiler_options); diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 1c21a20888..ded71481db 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2186,7 +2186,6 @@ static void zend_compile_list_assign(znode *result, zend_ast *ast, znode *expr_n for (i = 0; i < list->children; ++i) { zend_ast *var_ast = list->child[i]; znode fetch_result, dim_node; - zend_op *opline; if (var_ast == NULL) { continue; @@ -2199,9 +2198,7 @@ static void zend_compile_list_assign(znode *result, zend_ast *ast, znode *expr_n Z_TRY_ADDREF(expr_node->u.constant); } - opline = zend_emit_op(&fetch_result, - ZEND_FETCH_LIST, expr_node, &dim_node TSRMLS_CC); - + zend_emit_op(&fetch_result, ZEND_FETCH_LIST, expr_node, &dim_node TSRMLS_CC); zend_emit_assign_znode(var_ast, &fetch_result TSRMLS_CC); } *result = *expr_node; diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index e019191a5e..e6e0176058 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -462,10 +462,13 @@ static inline zval *_get_obj_zval_ptr_ptr(int op_type, const znode_op *node, zen static inline void zend_assign_to_variable_reference(zval *variable_ptr, zval *value_ptr TSRMLS_DC) { if (EXPECTED(variable_ptr != value_ptr)) { + zend_reference *ref; ZVAL_MAKE_REF(value_ptr); Z_ADDREF_P(value_ptr); + ref = Z_REF_P(value_ptr); + zval_ptr_dtor(variable_ptr); - ZVAL_REF(variable_ptr, Z_REF_P(value_ptr)); + ZVAL_REF(variable_ptr, ref); } else { ZVAL_MAKE_REF(variable_ptr); } @@ -1503,6 +1506,11 @@ static zend_always_inline void i_init_code_execute_data(zend_execute_data *execu zend_attach_symbol_table(execute_data); + if (op_array->this_var != -1 && Z_OBJ(EX(This))) { + ZVAL_OBJ(EX_VAR(op_array->this_var), Z_OBJ(EX(This))); + GC_REFCOUNT(Z_OBJ(EX(This)))++; + } + if (!op_array->run_time_cache && op_array->last_cache_slot) { op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*)); } @@ -1570,11 +1578,11 @@ static zend_always_inline void i_init_execute_data(zend_execute_data *execute_da var++; } while (var != end); } + } - if (op_array->this_var != -1 && Z_OBJ(EX(This))) { - ZVAL_OBJ(EX_VAR(op_array->this_var), Z_OBJ(EX(This))); - GC_REFCOUNT(Z_OBJ(EX(This)))++; - } + if (op_array->this_var != -1 && Z_OBJ(EX(This))) { + ZVAL_OBJ(EX_VAR(op_array->this_var), Z_OBJ(EX(This))); + GC_REFCOUNT(Z_OBJ(EX(This)))++; } if (!op_array->run_time_cache && op_array->last_cache_slot) { diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index a4bf8f62fd..35361663ad 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -826,8 +826,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS call->num_args = fci->param_count; EG(scope) = calling_scope; - if (!fci->object || - (func->common.fn_flags & ZEND_ACC_STATIC)) { + if (func->common.fn_flags & ZEND_ACC_STATIC) { + fci->object = NULL; + } + if (!fci->object) { Z_OBJ(call->This) = NULL; Z_TYPE_INFO(call->This) = IS_UNDEF; } else { @@ -905,7 +907,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS } } - if (fci->object && !(func->common.fn_flags & ZEND_ACC_STATIC)) { + if (fci->object) { OBJ_RELEASE(fci->object); } diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index d2be4ec5c2..8a42fbe1f2 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -91,7 +91,6 @@ struct _zend_compiler_globals { zend_bool parse_error; zend_bool in_compilation; zend_bool short_tags; - zend_bool asp_tags; zend_declarables declarables; diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 1f5cc3f55a..034369a4c2 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6 */ +/* Generated by re2c 0.13.5 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -991,10 +991,8 @@ int lex_scan(zval *zendlval TSRMLS_DC) restart: SCNG(yy_text) = YYCURSOR; -yymore_restart: - -#line 998 "Zend/zend_language_scanner.c" +#line 996 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1037,63 +1035,19 @@ yymore_restart: } /* *********************************** */ yyc_INITIAL: + + YYDEBUG(0, *YYCURSOR); + YYFILL(7); + yych = *YYCURSOR; + if (yych != '<') goto yy4; + YYDEBUG(2, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '?') goto yy5; +yy3: + YYDEBUG(3, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1631 "Zend/zend_language_scanner.l" { - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 0, 0, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - YYDEBUG(1, *YYCURSOR); - YYFILL(8); - yych = *YYCURSOR; - if (yych != '<') goto yy5; - YYDEBUG(3, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '?') { - if (yych == '%') goto yy8; - if (yych >= '?') goto yy6; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy10; - } else { - if (yych == 's') goto yy10; - } - } -yy4: - YYDEBUG(4, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1667 "Zend/zend_language_scanner.l" - { if (YYCURSOR > YYLIMIT) { return 0; } @@ -1105,35 +1059,19 @@ inline_char_handler: YYCURSOR = ptr ? ptr + 1 : YYLIMIT; - if (YYCURSOR < YYLIMIT) { - switch (*YYCURSOR) { - case '?': - if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ - break; - } - continue; - case '%': - if (CG(asp_tags)) { - break; - } - continue; - case 's': - case 'S': - /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet - * If it is, the PHP <script> tag rule checks for any HTML scanned before it */ - YYCURSOR--; - yymore(); - default: - continue; - } - - YYCURSOR--; + if (YYCURSOR >= YYLIMIT) { + break; } - break; + if (*YYCURSOR == '?') { + if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ + + YYCURSOR--; + break; + } + } } -inline_html: yyleng = YYCURSOR - SCNG(yy_text); if (SCNG(output_filter)) { @@ -1153,26 +1091,26 @@ inline_html: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1157 "Zend/zend_language_scanner.c" +#line 1095 "Zend/zend_language_scanner.c" +yy4: + YYDEBUG(4, *YYCURSOR); + yych = *++YYCURSOR; + goto yy3; yy5: - YYDEBUG(5, *YYCURSOR); - yych = *++YYCURSOR; - goto yy4; + YYDEBUG(5, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'O') { + if (yych == '=') goto yy7; + } else { + if (yych <= 'P') goto yy9; + if (yych == 'p') goto yy9; + } yy6: - YYDEBUG(6, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'O') { - if (yych == '=') goto yy46; - } else { - if (yych <= 'P') goto yy48; - if (yych == 'p') goto yy48; - } -yy7: - YYDEBUG(7, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1658 "Zend/zend_language_scanner.l" - { + YYDEBUG(6, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1622 "Zend/zend_language_scanner.l" + { if (CG(short_tags)) { BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; @@ -1180,309 +1118,60 @@ yy7: goto inline_char_handler; } } -#line 1184 "Zend/zend_language_scanner.c" -yy8: - YYDEBUG(8, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy44; - YYDEBUG(9, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1641 "Zend/zend_language_scanner.l" - { - if (CG(asp_tags)) { - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG; - } else { - goto inline_char_handler; - } +#line 1122 "Zend/zend_language_scanner.c" +yy7: + YYDEBUG(7, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(8, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1609 "Zend/zend_language_scanner.l" + { + BEGIN(ST_IN_SCRIPTING); + return T_OPEN_TAG_WITH_ECHO; } -#line 1200 "Zend/zend_language_scanner.c" +#line 1133 "Zend/zend_language_scanner.c" +yy9: + YYDEBUG(9, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy11; + if (yych == 'h') goto yy11; yy10: - YYDEBUG(10, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy12; - if (yych == 'c') goto yy12; + YYDEBUG(10, *YYCURSOR); + YYCURSOR = YYMARKER; + goto yy6; yy11: - YYDEBUG(11, *YYCURSOR); - YYCURSOR = YYMARKER; - if (yyaccept == 0) { - goto yy4; - } else { - goto yy7; - } + YYDEBUG(11, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy12; + if (yych != 'p') goto yy10; yy12: - YYDEBUG(12, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy13; - if (yych != 'r') goto yy11; -yy13: - YYDEBUG(13, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy14; - if (yych != 'i') goto yy11; -yy14: - YYDEBUG(14, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy15; - if (yych != 'p') goto yy11; -yy15: - YYDEBUG(15, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy16; - if (yych != 't') goto yy11; -yy16: - YYDEBUG(16, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy11; - if (yych == 'l') goto yy11; - goto yy18; -yy17: - YYDEBUG(17, *YYCURSOR); - ++YYCURSOR; - YYFILL(8); - yych = *YYCURSOR; -yy18: - YYDEBUG(18, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy17; - } - if (yych == 'L') goto yy19; - if (yych != 'l') goto yy11; -yy19: - YYDEBUG(19, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy20; - if (yych != 'a') goto yy11; -yy20: - YYDEBUG(20, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy21; - if (yych != 'n') goto yy11; -yy21: - YYDEBUG(21, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy22; - if (yych != 'g') goto yy11; -yy22: - YYDEBUG(22, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy23; - if (yych != 'u') goto yy11; -yy23: - YYDEBUG(23, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy24; - if (yych != 'a') goto yy11; -yy24: - YYDEBUG(24, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy25; - if (yych != 'g') goto yy11; -yy25: - YYDEBUG(25, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy26; - if (yych != 'e') goto yy11; -yy26: - YYDEBUG(26, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(27, *YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) goto yy11; - if (yych <= '\n') goto yy26; - if (yych <= '\f') goto yy11; - goto yy26; - } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy11; - goto yy26; - } else { - if (yych != '=') goto yy11; - } - } -yy28: - YYDEBUG(28, *YYCURSOR); - ++YYCURSOR; - YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(29, *YYCURSOR); - if (yych <= '!') { - if (yych <= '\f') { - if (yych <= 0x08) goto yy11; - if (yych <= '\n') goto yy28; - goto yy11; - } else { - if (yych <= '\r') goto yy28; - if (yych == ' ') goto yy28; - goto yy11; - } - } else { - if (yych <= 'O') { - if (yych <= '"') goto yy31; - if (yych == '\'') goto yy32; - goto yy11; - } else { - if (yych <= 'P') goto yy30; - if (yych != 'p') goto yy11; - } - } -yy30: - YYDEBUG(30, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy43; - if (yych == 'h') goto yy43; - goto yy11; -yy31: - YYDEBUG(31, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy40; - if (yych == 'p') goto yy40; - goto yy11; -yy32: - YYDEBUG(32, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy33; - if (yych != 'p') goto yy11; -yy33: - YYDEBUG(33, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy34; - if (yych != 'h') goto yy11; -yy34: - YYDEBUG(34, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy35; - if (yych != 'p') goto yy11; -yy35: - YYDEBUG(35, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '\'') goto yy11; -yy36: - YYDEBUG(36, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(37, *YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) goto yy11; - if (yych <= '\n') goto yy36; - if (yych <= '\f') goto yy11; - goto yy36; - } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy11; - goto yy36; - } else { - if (yych != '>') goto yy11; - } - } - YYDEBUG(38, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(39, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1610 "Zend/zend_language_scanner.l" - { - YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); - - if (bracket != SCNG(yy_text)) { - /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */ - YYCURSOR = bracket; - goto inline_html; - } - - HANDLE_NEWLINES(yytext, yyleng); - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG; -} -#line 1400 "Zend/zend_language_scanner.c" -yy40: - YYDEBUG(40, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy41; - if (yych != 'h') goto yy11; -yy41: - YYDEBUG(41, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy42; - if (yych != 'p') goto yy11; -yy42: - YYDEBUG(42, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '"') goto yy36; - goto yy11; -yy43: - YYDEBUG(43, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy36; - if (yych == 'p') goto yy36; - goto yy11; -yy44: - YYDEBUG(44, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(45, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1625 "Zend/zend_language_scanner.l" - { - if (CG(asp_tags)) { - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG_WITH_ECHO; + YYDEBUG(12, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '\f') { + if (yych <= 0x08) goto yy10; + if (yych >= '\v') goto yy10; } else { - goto inline_char_handler; + if (yych <= '\r') goto yy15; + if (yych != ' ') goto yy10; } -} -#line 1436 "Zend/zend_language_scanner.c" -yy46: - YYDEBUG(46, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(47, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1635 "Zend/zend_language_scanner.l" - { - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG_WITH_ECHO; -} -#line 1447 "Zend/zend_language_scanner.c" -yy48: - YYDEBUG(48, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy49; - if (yych != 'h') goto yy11; -yy49: - YYDEBUG(49, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy50; - if (yych != 'p') goto yy11; -yy50: - YYDEBUG(50, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\f') { - if (yych <= 0x08) goto yy11; - if (yych >= '\v') goto yy11; - } else { - if (yych <= '\r') goto yy53; - if (yych != ' ') goto yy11; - } -yy51: - YYDEBUG(51, *YYCURSOR); - ++YYCURSOR; -yy52: - YYDEBUG(52, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" - { +yy13: + YYDEBUG(13, *YYCURSOR); + ++YYCURSOR; +yy14: + YYDEBUG(14, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1615 "Zend/zend_language_scanner.l" + { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1480 "Zend/zend_language_scanner.c" -yy53: - YYDEBUG(53, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy51; - goto yy52; - } +#line 1170 "Zend/zend_language_scanner.c" +yy15: + YYDEBUG(15, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy13; + goto yy14; /* *********************************** */ yyc_ST_BACKQUOTE: { @@ -1520,34 +1209,34 @@ yyc_ST_BACKQUOTE: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(54, *YYCURSOR); + YYDEBUG(16, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych != '$') goto yy61; + if (yych != '$') goto yy23; } else { - if (yych <= '`') goto yy59; - if (yych == '{') goto yy58; - goto yy61; + if (yych <= '`') goto yy21; + if (yych == '{') goto yy20; + goto yy23; } - YYDEBUG(56, *YYCURSOR); + YYDEBUG(18, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy57; - if (yych <= 'Z') goto yy64; - if (yych >= '_') goto yy64; + if (yych <= '@') goto yy19; + if (yych <= 'Z') goto yy26; + if (yych >= '_') goto yy26; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy64; + if (yych >= 'a') goto yy26; } else { - if (yych <= '{') goto yy67; - if (yych >= 0x7F) goto yy64; + if (yych <= '{') goto yy29; + if (yych >= 0x7F) goto yy26; } } -yy57: - YYDEBUG(57, *YYCURSOR); +yy19: + YYDEBUG(19, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2110 "Zend/zend_language_scanner.l" +#line 2042 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1588,118 +1277,118 @@ yy57: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1592 "Zend/zend_language_scanner.c" -yy58: - YYDEBUG(58, *YYCURSOR); +#line 1281 "Zend/zend_language_scanner.c" +yy20: + YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '$') goto yy62; - goto yy57; -yy59: - YYDEBUG(59, *YYCURSOR); + if (yych == '$') goto yy24; + goto yy19; +yy21: + YYDEBUG(21, *YYCURSOR); ++YYCURSOR; - YYDEBUG(60, *YYCURSOR); + YYDEBUG(22, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2054 "Zend/zend_language_scanner.l" +#line 1986 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1608 "Zend/zend_language_scanner.c" -yy61: - YYDEBUG(61, *YYCURSOR); +#line 1297 "Zend/zend_language_scanner.c" +yy23: + YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; - goto yy57; -yy62: - YYDEBUG(62, *YYCURSOR); + goto yy19; +yy24: + YYDEBUG(24, *YYCURSOR); ++YYCURSOR; - YYDEBUG(63, *YYCURSOR); + YYDEBUG(25, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2041 "Zend/zend_language_scanner.l" +#line 1973 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1625 "Zend/zend_language_scanner.c" -yy64: - YYDEBUG(64, *YYCURSOR); +#line 1314 "Zend/zend_language_scanner.c" +yy26: + YYDEBUG(26, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(65, *YYCURSOR); + YYDEBUG(27, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy64; + goto yy26; } - if (yych == '-') goto yy69; - if (yych == '[') goto yy71; -yy66: - YYDEBUG(66, *YYCURSOR); + if (yych == '-') goto yy31; + if (yych == '[') goto yy33; +yy28: + YYDEBUG(28, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1646 "Zend/zend_language_scanner.c" -yy67: - YYDEBUG(67, *YYCURSOR); +#line 1335 "Zend/zend_language_scanner.c" +yy29: + YYDEBUG(29, *YYCURSOR); ++YYCURSOR; - YYDEBUG(68, *YYCURSOR); + YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1657 "Zend/zend_language_scanner.c" -yy69: - YYDEBUG(69, *YYCURSOR); +#line 1346 "Zend/zend_language_scanner.c" +yy31: + YYDEBUG(31, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy73; -yy70: - YYDEBUG(70, *YYCURSOR); + if (yych == '>') goto yy35; +yy32: + YYDEBUG(32, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy66; -yy71: - YYDEBUG(71, *YYCURSOR); + goto yy28; +yy33: + YYDEBUG(33, *YYCURSOR); ++YYCURSOR; - YYDEBUG(72, *YYCURSOR); + YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1741 "Zend/zend_language_scanner.l" +#line 1689 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1678 "Zend/zend_language_scanner.c" -yy73: - YYDEBUG(73, *YYCURSOR); +#line 1367 "Zend/zend_language_scanner.c" +yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy70; - if (yych <= 'Z') goto yy74; - if (yych <= '^') goto yy70; + if (yych <= '@') goto yy32; + if (yych <= 'Z') goto yy36; + if (yych <= '^') goto yy32; } else { - if (yych <= '`') goto yy70; - if (yych <= 'z') goto yy74; - if (yych <= '~') goto yy70; + if (yych <= '`') goto yy32; + if (yych <= 'z') goto yy36; + if (yych <= '~') goto yy32; } -yy74: - YYDEBUG(74, *YYCURSOR); +yy36: + YYDEBUG(36, *YYCURSOR); ++YYCURSOR; - YYDEBUG(75, *YYCURSOR); + YYDEBUG(37, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1703 "Zend/zend_language_scanner.c" +#line 1392 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1738,36 +1427,36 @@ yyc_ST_DOUBLE_QUOTES: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(76, *YYCURSOR); + YYDEBUG(38, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '#') { - if (yych == '"') goto yy81; - goto yy83; + if (yych == '"') goto yy43; + goto yy45; } else { - if (yych <= '$') goto yy78; - if (yych == '{') goto yy80; - goto yy83; + if (yych <= '$') goto yy40; + if (yych == '{') goto yy42; + goto yy45; } -yy78: - YYDEBUG(78, *YYCURSOR); +yy40: + YYDEBUG(40, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy79; - if (yych <= 'Z') goto yy86; - if (yych >= '_') goto yy86; + if (yych <= '@') goto yy41; + if (yych <= 'Z') goto yy48; + if (yych >= '_') goto yy48; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy86; + if (yych >= 'a') goto yy48; } else { - if (yych <= '{') goto yy89; - if (yych >= 0x7F) goto yy86; + if (yych <= '{') goto yy51; + if (yych >= 0x7F) goto yy48; } } -yy79: - YYDEBUG(79, *YYCURSOR); +yy41: + YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2060 "Zend/zend_language_scanner.l" +#line 1992 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1816,129 +1505,129 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1820 "Zend/zend_language_scanner.c" -yy80: - YYDEBUG(80, *YYCURSOR); +#line 1509 "Zend/zend_language_scanner.c" +yy42: + YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '$') goto yy84; - goto yy79; -yy81: - YYDEBUG(81, *YYCURSOR); + if (yych == '$') goto yy46; + goto yy41; +yy43: + YYDEBUG(43, *YYCURSOR); ++YYCURSOR; - YYDEBUG(82, *YYCURSOR); + YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2049 "Zend/zend_language_scanner.l" +#line 1981 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1836 "Zend/zend_language_scanner.c" -yy83: - YYDEBUG(83, *YYCURSOR); +#line 1525 "Zend/zend_language_scanner.c" +yy45: + YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; - goto yy79; -yy84: - YYDEBUG(84, *YYCURSOR); + goto yy41; +yy46: + YYDEBUG(46, *YYCURSOR); ++YYCURSOR; - YYDEBUG(85, *YYCURSOR); + YYDEBUG(47, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2041 "Zend/zend_language_scanner.l" +#line 1973 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1853 "Zend/zend_language_scanner.c" -yy86: - YYDEBUG(86, *YYCURSOR); +#line 1542 "Zend/zend_language_scanner.c" +yy48: + YYDEBUG(48, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(87, *YYCURSOR); + YYDEBUG(49, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy86; + goto yy48; } - if (yych == '-') goto yy91; - if (yych == '[') goto yy93; -yy88: - YYDEBUG(88, *YYCURSOR); + if (yych == '-') goto yy53; + if (yych == '[') goto yy55; +yy50: + YYDEBUG(50, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1874 "Zend/zend_language_scanner.c" -yy89: - YYDEBUG(89, *YYCURSOR); +#line 1563 "Zend/zend_language_scanner.c" +yy51: + YYDEBUG(51, *YYCURSOR); ++YYCURSOR; - YYDEBUG(90, *YYCURSOR); + YYDEBUG(52, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1885 "Zend/zend_language_scanner.c" -yy91: - YYDEBUG(91, *YYCURSOR); +#line 1574 "Zend/zend_language_scanner.c" +yy53: + YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy95; -yy92: - YYDEBUG(92, *YYCURSOR); + if (yych == '>') goto yy57; +yy54: + YYDEBUG(54, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy88; -yy93: - YYDEBUG(93, *YYCURSOR); + goto yy50; +yy55: + YYDEBUG(55, *YYCURSOR); ++YYCURSOR; - YYDEBUG(94, *YYCURSOR); + YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1741 "Zend/zend_language_scanner.l" +#line 1689 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1906 "Zend/zend_language_scanner.c" -yy95: - YYDEBUG(95, *YYCURSOR); +#line 1595 "Zend/zend_language_scanner.c" +yy57: + YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy92; - if (yych <= 'Z') goto yy96; - if (yych <= '^') goto yy92; + if (yych <= '@') goto yy54; + if (yych <= 'Z') goto yy58; + if (yych <= '^') goto yy54; } else { - if (yych <= '`') goto yy92; - if (yych <= 'z') goto yy96; - if (yych <= '~') goto yy92; + if (yych <= '`') goto yy54; + if (yych <= 'z') goto yy58; + if (yych <= '~') goto yy54; } -yy96: - YYDEBUG(96, *YYCURSOR); +yy58: + YYDEBUG(58, *YYCURSOR); ++YYCURSOR; - YYDEBUG(97, *YYCURSOR); + YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1931 "Zend/zend_language_scanner.c" +#line 1620 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: - YYDEBUG(98, *YYCURSOR); + YYDEBUG(60, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(100, *YYCURSOR); + YYDEBUG(62, *YYCURSOR); ++YYCURSOR; - YYDEBUG(101, *YYCURSOR); + YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2027 "Zend/zend_language_scanner.l" +#line 1959 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1951,7 +1640,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1955 "Zend/zend_language_scanner.c" +#line 1644 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1989,31 +1678,31 @@ yyc_ST_HEREDOC: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(102, *YYCURSOR); + YYDEBUG(64, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych == '$') goto yy104; - if (yych == '{') goto yy106; - goto yy107; -yy104: - YYDEBUG(104, *YYCURSOR); + if (yych == '$') goto yy66; + if (yych == '{') goto yy68; + goto yy69; +yy66: + YYDEBUG(66, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy105; - if (yych <= 'Z') goto yy110; - if (yych >= '_') goto yy110; + if (yych <= '@') goto yy67; + if (yych <= 'Z') goto yy72; + if (yych >= '_') goto yy72; } else { if (yych <= 'z') { - if (yych >= 'a') goto yy110; + if (yych >= 'a') goto yy72; } else { - if (yych <= '{') goto yy113; - if (yych >= 0x7F) goto yy110; + if (yych <= '{') goto yy75; + if (yych >= 0x7F) goto yy72; } } -yy105: - YYDEBUG(105, *YYCURSOR); +yy67: + YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2152 "Zend/zend_language_scanner.l" +#line 2084 "Zend/zend_language_scanner.l" { int newline = 0; @@ -2086,107 +1775,107 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 2090 "Zend/zend_language_scanner.c" -yy106: - YYDEBUG(106, *YYCURSOR); +#line 1779 "Zend/zend_language_scanner.c" +yy68: + YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '$') goto yy108; - goto yy105; -yy107: - YYDEBUG(107, *YYCURSOR); + if (yych == '$') goto yy70; + goto yy67; +yy69: + YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; - goto yy105; -yy108: - YYDEBUG(108, *YYCURSOR); + goto yy67; +yy70: + YYDEBUG(70, *YYCURSOR); ++YYCURSOR; - YYDEBUG(109, *YYCURSOR); + YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2041 "Zend/zend_language_scanner.l" +#line 1973 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (zend_long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 2112 "Zend/zend_language_scanner.c" -yy110: - YYDEBUG(110, *YYCURSOR); +#line 1801 "Zend/zend_language_scanner.c" +yy72: + YYDEBUG(72, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(111, *YYCURSOR); + YYDEBUG(73, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy110; + goto yy72; } - if (yych == '-') goto yy115; - if (yych == '[') goto yy117; -yy112: - YYDEBUG(112, *YYCURSOR); + if (yych == '-') goto yy77; + if (yych == '[') goto yy79; +yy74: + YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2133 "Zend/zend_language_scanner.c" -yy113: - YYDEBUG(113, *YYCURSOR); +#line 1822 "Zend/zend_language_scanner.c" +yy75: + YYDEBUG(75, *YYCURSOR); ++YYCURSOR; - YYDEBUG(114, *YYCURSOR); + YYDEBUG(76, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1462 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2144 "Zend/zend_language_scanner.c" -yy115: - YYDEBUG(115, *YYCURSOR); +#line 1833 "Zend/zend_language_scanner.c" +yy77: + YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy119; -yy116: - YYDEBUG(116, *YYCURSOR); + if (yych == '>') goto yy81; +yy78: + YYDEBUG(78, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy112; -yy117: - YYDEBUG(117, *YYCURSOR); + goto yy74; +yy79: + YYDEBUG(79, *YYCURSOR); ++YYCURSOR; - YYDEBUG(118, *YYCURSOR); + YYDEBUG(80, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1741 "Zend/zend_language_scanner.l" +#line 1689 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2165 "Zend/zend_language_scanner.c" -yy119: - YYDEBUG(119, *YYCURSOR); +#line 1854 "Zend/zend_language_scanner.c" +yy81: + YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy116; - if (yych <= 'Z') goto yy120; - if (yych <= '^') goto yy116; + if (yych <= '@') goto yy78; + if (yych <= 'Z') goto yy82; + if (yych <= '^') goto yy78; } else { - if (yych <= '`') goto yy116; - if (yych <= 'z') goto yy120; - if (yych <= '~') goto yy116; + if (yych <= '`') goto yy78; + if (yych <= 'z') goto yy82; + if (yych <= '~') goto yy78; } -yy120: - YYDEBUG(120, *YYCURSOR); +yy82: + YYDEBUG(82, *YYCURSOR); ++YYCURSOR; - YYDEBUG(121, *YYCURSOR); + YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2190 "Zend/zend_language_scanner.c" +#line 1879 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2225,7 +1914,7 @@ yyc_ST_IN_SCRIPTING: 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; - YYDEBUG(122, *YYCURSOR); + YYDEBUG(84, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; YYDEBUG(-1, yych); @@ -2258,32 +1947,32 @@ yyc_ST_IN_SCRIPTING: case 0x1C: case 0x1D: case 0x1E: - case 0x1F: goto yy185; + case 0x1F: goto yy147; case '\t': case '\n': case '\r': - case ' ': goto yy141; - case '!': goto yy156; - case '"': goto yy181; - case '#': goto yy177; - case '$': goto yy167; - case '%': goto yy161; - case '&': goto yy162; - case '\'': goto yy179; - case '(': goto yy150; + case ' ': goto yy103; + case '!': goto yy118; + case '"': goto yy143; + case '#': goto yy139; + case '$': goto yy129; + case '%': goto yy123; + case '&': goto yy124; + case '\'': goto yy141; + case '(': goto yy112; case ')': case ',': case ';': case '@': case '[': case ']': - case '~': goto yy168; - case '*': goto yy159; - case '+': goto yy155; - case '-': goto yy139; - case '.': goto yy146; - case '/': goto yy160; - case '0': goto yy173; + case '~': goto yy130; + case '*': goto yy121; + case '+': goto yy117; + case '-': goto yy101; + case '.': goto yy108; + case '/': goto yy122; + case '0': goto yy135; case '1': case '2': case '3': @@ -2292,601 +1981,594 @@ yyc_ST_IN_SCRIPTING: case '6': case '7': case '8': - case '9': goto yy175; - case ':': goto yy143; - case '<': goto yy157; - case '=': goto yy153; - case '>': goto yy158; - case '?': goto yy147; + case '9': goto yy137; + case ':': goto yy105; + case '<': goto yy119; + case '=': goto yy115; + case '>': goto yy120; + case '?': goto yy109; case 'A': - case 'a': goto yy134; + case 'a': goto yy96; case 'B': - case 'b': goto yy136; + case 'b': goto yy98; case 'C': - case 'c': goto yy128; + case 'c': goto yy90; case 'D': - case 'd': goto yy126; + case 'd': goto yy88; case 'E': - case 'e': goto yy124; + case 'e': goto yy86; case 'F': - case 'f': goto yy127; + case 'f': goto yy89; case 'G': - case 'g': goto yy137; + case 'g': goto yy99; case 'I': - case 'i': goto yy132; + case 'i': goto yy94; case 'L': - case 'l': goto yy154; + case 'l': goto yy116; case 'N': - case 'n': goto yy148; + case 'n': goto yy110; case 'O': - case 'o': goto yy165; + case 'o': goto yy127; case 'P': - case 'p': goto yy138; + case 'p': goto yy100; case 'R': - case 'r': goto yy129; + case 'r': goto yy91; case 'S': - case 's': goto yy135; + case 's': goto yy97; case 'T': - case 't': goto yy131; + case 't': goto yy93; case 'U': - case 'u': goto yy151; + case 'u': goto yy113; case 'V': - case 'v': goto yy149; + case 'v': goto yy111; case 'W': - case 'w': goto yy133; + case 'w': goto yy95; case 'X': - case 'x': goto yy166; + case 'x': goto yy128; case 'Y': - case 'y': goto yy130; - case '\\': goto yy144; - case '^': goto yy164; - case '_': goto yy152; - case '`': goto yy183; - case '{': goto yy169; - case '|': goto yy163; - case '}': goto yy171; - default: goto yy176; + case 'y': goto yy92; + case '\\': goto yy106; + case '^': goto yy126; + case '_': goto yy114; + case '`': goto yy145; + case '{': goto yy131; + case '|': goto yy125; + case '}': goto yy133; + default: goto yy138; } -yy124: - YYDEBUG(124, *YYCURSOR); +yy86: + YYDEBUG(86, *YYCURSOR); ++YYCURSOR; YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': - case 'c': goto yy745; + case 'c': goto yy695; case 'L': - case 'l': goto yy746; + case 'l': goto yy696; case 'M': - case 'm': goto yy747; + case 'm': goto yy697; case 'N': - case 'n': goto yy748; + case 'n': goto yy698; case 'V': - case 'v': goto yy749; + case 'v': goto yy699; case 'X': - case 'x': goto yy750; - default: goto yy188; + case 'x': goto yy700; + default: goto yy150; } -yy125: - YYDEBUG(125, *YYCURSOR); +yy87: + YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1771 "Zend/zend_language_scanner.l" +#line 1719 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 2378 "Zend/zend_language_scanner.c" -yy126: - YYDEBUG(126, *YYCURSOR); +#line 2067 "Zend/zend_language_scanner.c" +yy88: + YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'E') goto yy727; - goto yy188; + if (yych == 'E') goto yy677; + goto yy150; } else { - if (yych <= 'I') goto yy728; - if (yych <= 'N') goto yy188; - goto yy729; + if (yych <= 'I') goto yy678; + if (yych <= 'N') goto yy150; + goto yy679; } } else { if (yych <= 'h') { - if (yych == 'e') goto yy727; - goto yy188; + if (yych == 'e') goto yy677; + goto yy150; } else { - if (yych <= 'i') goto yy728; - if (yych == 'o') goto yy729; - goto yy188; + if (yych <= 'i') goto yy678; + if (yych == 'o') goto yy679; + goto yy150; } } -yy127: - YYDEBUG(127, *YYCURSOR); +yy89: + YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'N') { - if (yych == 'I') goto yy703; - goto yy188; + if (yych == 'I') goto yy653; + goto yy150; } else { - if (yych <= 'O') goto yy704; - if (yych <= 'T') goto yy188; - goto yy705; + if (yych <= 'O') goto yy654; + if (yych <= 'T') goto yy150; + goto yy655; } } else { if (yych <= 'n') { - if (yych == 'i') goto yy703; - goto yy188; + if (yych == 'i') goto yy653; + goto yy150; } else { - if (yych <= 'o') goto yy704; - if (yych == 'u') goto yy705; - goto yy188; + if (yych <= 'o') goto yy654; + if (yych == 'u') goto yy655; + goto yy150; } } -yy128: - YYDEBUG(128, *YYCURSOR); +yy90: + YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'K') { - if (yych == 'A') goto yy668; - goto yy188; + if (yych == 'A') goto yy618; + goto yy150; } else { - if (yych <= 'L') goto yy669; - if (yych <= 'N') goto yy188; - goto yy670; + if (yych <= 'L') goto yy619; + if (yych <= 'N') goto yy150; + goto yy620; } } else { if (yych <= 'k') { - if (yych == 'a') goto yy668; - goto yy188; + if (yych == 'a') goto yy618; + goto yy150; } else { - if (yych <= 'l') goto yy669; - if (yych == 'o') goto yy670; - goto yy188; + if (yych <= 'l') goto yy619; + if (yych == 'o') goto yy620; + goto yy150; } } -yy129: - YYDEBUG(129, *YYCURSOR); +yy91: + YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy650; - if (yych == 'e') goto yy650; - goto yy188; -yy130: - YYDEBUG(130, *YYCURSOR); + if (yych == 'E') goto yy600; + if (yych == 'e') goto yy600; + goto yy150; +yy92: + YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy645; - if (yych == 'i') goto yy645; - goto yy188; -yy131: - YYDEBUG(131, *YYCURSOR); + if (yych == 'I') goto yy595; + if (yych == 'i') goto yy595; + goto yy150; +yy93: + YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'H') goto yy633; - if (yych <= 'Q') goto yy188; - goto yy634; + if (yych == 'H') goto yy583; + if (yych <= 'Q') goto yy150; + goto yy584; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy188; - goto yy633; + if (yych <= 'g') goto yy150; + goto yy583; } else { - if (yych == 'r') goto yy634; - goto yy188; + if (yych == 'r') goto yy584; + goto yy150; } } -yy132: - YYDEBUG(132, *YYCURSOR); +yy94: + YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'L') { - if (yych == 'F') goto yy580; - goto yy188; + if (yych == 'F') goto yy530; + goto yy150; } else { - if (yych <= 'M') goto yy582; - if (yych <= 'N') goto yy583; - if (yych <= 'R') goto yy188; - goto yy584; + if (yych <= 'M') goto yy532; + if (yych <= 'N') goto yy533; + if (yych <= 'R') goto yy150; + goto yy534; } } else { if (yych <= 'm') { - if (yych == 'f') goto yy580; - if (yych <= 'l') goto yy188; - goto yy582; + if (yych == 'f') goto yy530; + if (yych <= 'l') goto yy150; + goto yy532; } else { - if (yych <= 'n') goto yy583; - if (yych == 's') goto yy584; - goto yy188; + if (yych <= 'n') goto yy533; + if (yych == 's') goto yy534; + goto yy150; } } -yy133: - YYDEBUG(133, *YYCURSOR); +yy95: + YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy575; - if (yych == 'h') goto yy575; - goto yy188; -yy134: - YYDEBUG(134, *YYCURSOR); + if (yych == 'H') goto yy525; + if (yych == 'h') goto yy525; + goto yy150; +yy96: + YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'M') { - if (yych == 'B') goto yy557; - goto yy188; + if (yych == 'B') goto yy507; + goto yy150; } else { - if (yych <= 'N') goto yy558; - if (yych <= 'Q') goto yy188; - if (yych <= 'R') goto yy559; - goto yy560; + if (yych <= 'N') goto yy508; + if (yych <= 'Q') goto yy150; + if (yych <= 'R') goto yy509; + goto yy510; } } else { if (yych <= 'n') { - if (yych == 'b') goto yy557; - if (yych <= 'm') goto yy188; - goto yy558; + if (yych == 'b') goto yy507; + if (yych <= 'm') goto yy150; + goto yy508; } else { - if (yych <= 'q') goto yy188; - if (yych <= 'r') goto yy559; - if (yych <= 's') goto yy560; - goto yy188; + if (yych <= 'q') goto yy150; + if (yych <= 'r') goto yy509; + if (yych <= 's') goto yy510; + goto yy150; } } -yy135: - YYDEBUG(135, *YYCURSOR); +yy97: + YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { - if (yych == 'T') goto yy545; - if (yych <= 'V') goto yy188; - goto yy546; + if (yych == 'T') goto yy495; + if (yych <= 'V') goto yy150; + goto yy496; } else { if (yych <= 't') { - if (yych <= 's') goto yy188; - goto yy545; + if (yych <= 's') goto yy150; + goto yy495; } else { - if (yych == 'w') goto yy546; - goto yy188; + if (yych == 'w') goto yy496; + goto yy150; } } -yy136: - YYDEBUG(136, *YYCURSOR); +yy98: + YYDEBUG(98, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ';') { if (yych <= '"') { - if (yych <= '!') goto yy188; - goto yy537; + if (yych <= '!') goto yy150; + goto yy487; } else { - if (yych == '\'') goto yy538; - goto yy188; + if (yych == '\'') goto yy488; + goto yy150; } } else { if (yych <= 'R') { - if (yych <= '<') goto yy536; - if (yych <= 'Q') goto yy188; - goto yy539; + if (yych <= '<') goto yy486; + if (yych <= 'Q') goto yy150; + goto yy489; } else { - if (yych == 'r') goto yy539; - goto yy188; + if (yych == 'r') goto yy489; + goto yy150; } } -yy137: - YYDEBUG(137, *YYCURSOR); +yy99: + YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy526; - if (yych <= 'N') goto yy188; - goto yy527; + if (yych == 'L') goto yy476; + if (yych <= 'N') goto yy150; + goto yy477; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy188; - goto yy526; + if (yych <= 'k') goto yy150; + goto yy476; } else { - if (yych == 'o') goto yy527; - goto yy188; + if (yych == 'o') goto yy477; + goto yy150; } } -yy138: - YYDEBUG(138, *YYCURSOR); +yy100: + YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy502; - if (yych <= 'T') goto yy188; - goto yy503; + if (yych == 'R') goto yy452; + if (yych <= 'T') goto yy150; + goto yy453; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy188; - goto yy502; + if (yych <= 'q') goto yy150; + goto yy452; } else { - if (yych == 'u') goto yy503; - goto yy188; + if (yych == 'u') goto yy453; + goto yy150; } } -yy139: - YYDEBUG(139, *YYCURSOR); +yy101: + YYDEBUG(101, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy498; + if (yych == '-') goto yy448; } else { - if (yych <= '=') goto yy496; - if (yych <= '>') goto yy500; + if (yych <= '=') goto yy446; + if (yych <= '>') goto yy450; } -yy140: - YYDEBUG(140, *YYCURSOR); +yy102: + YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1453 "Zend/zend_language_scanner.l" +#line 1451 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2614 "Zend/zend_language_scanner.c" -yy141: - YYDEBUG(141, *YYCURSOR); +#line 2303 "Zend/zend_language_scanner.c" +yy103: + YYDEBUG(103, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy495; -yy142: - YYDEBUG(142, *YYCURSOR); + goto yy445; +yy104: + YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1172 "Zend/zend_language_scanner.l" +#line 1170 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2628 "Zend/zend_language_scanner.c" -yy143: - YYDEBUG(143, *YYCURSOR); +#line 2317 "Zend/zend_language_scanner.c" +yy105: + YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; - if (yych == ':') goto yy492; - goto yy140; -yy144: - YYDEBUG(144, *YYCURSOR); + if (yych == ':') goto yy442; + goto yy102; +yy106: + YYDEBUG(106, *YYCURSOR); ++YYCURSOR; - YYDEBUG(145, *YYCURSOR); + YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1197 "Zend/zend_language_scanner.l" +#line 1195 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2643 "Zend/zend_language_scanner.c" -yy146: - YYDEBUG(146, *YYCURSOR); +#line 2332 "Zend/zend_language_scanner.c" +yy108: + YYDEBUG(108, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy489; - goto yy140; + if (yych == '.') goto yy439; + goto yy102; } else { - if (yych <= '9') goto yy485; - if (yych == '=') goto yy487; - goto yy140; + if (yych <= '9') goto yy435; + if (yych == '=') goto yy437; + goto yy102; } -yy147: - YYDEBUG(147, *YYCURSOR); +yy109: + YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '=') goto yy140; - if (yych <= '>') goto yy265; - if (yych <= '?') goto yy483; - goto yy140; -yy148: - YYDEBUG(148, *YYCURSOR); + if (yych <= '=') goto yy102; + if (yych <= '>') goto yy429; + if (yych <= '?') goto yy431; + goto yy102; +yy110: + YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy471; - if (yych <= 'D') goto yy188; - goto yy472; + if (yych == 'A') goto yy417; + if (yych <= 'D') goto yy150; + goto yy418; } else { if (yych <= 'a') { - if (yych <= '`') goto yy188; - goto yy471; + if (yych <= '`') goto yy150; + goto yy417; } else { - if (yych == 'e') goto yy472; - goto yy188; + if (yych == 'e') goto yy418; + goto yy150; } } -yy149: - YYDEBUG(149, *YYCURSOR); +yy111: + YYDEBUG(111, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy468; - if (yych == 'a') goto yy468; - goto yy188; -yy150: - YYDEBUG(150, *YYCURSOR); + if (yych == 'A') goto yy414; + if (yych == 'a') goto yy414; + goto yy150; +yy112: + YYDEBUG(112, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy393; - if (yych <= 0x1F) goto yy140; - goto yy393; + if (yych == '\t') goto yy339; + if (yych <= 0x1F) goto yy102; + goto yy339; } else { - if (yych <= '@') goto yy140; - if (yych == 'C') goto yy140; - goto yy393; + if (yych <= '@') goto yy102; + if (yych == 'C') goto yy102; + goto yy339; } } else { if (yych <= 'I') { - if (yych == 'F') goto yy393; - if (yych <= 'H') goto yy140; - goto yy393; + if (yych == 'F') goto yy339; + if (yych <= 'H') goto yy102; + goto yy339; } else { - if (yych == 'O') goto yy393; - if (yych <= 'Q') goto yy140; - goto yy393; + if (yych == 'O') goto yy339; + if (yych <= 'Q') goto yy102; + goto yy339; } } } else { if (yych <= 'f') { if (yych <= 'b') { - if (yych == 'U') goto yy393; - if (yych <= '`') goto yy140; - goto yy393; + if (yych == 'U') goto yy339; + if (yych <= '`') goto yy102; + goto yy339; } else { - if (yych == 'd') goto yy393; - if (yych <= 'e') goto yy140; - goto yy393; + if (yych == 'd') goto yy339; + if (yych <= 'e') goto yy102; + goto yy339; } } else { if (yych <= 'o') { - if (yych == 'i') goto yy393; - if (yych <= 'n') goto yy140; - goto yy393; + if (yych == 'i') goto yy339; + if (yych <= 'n') goto yy102; + goto yy339; } else { if (yych <= 's') { - if (yych <= 'q') goto yy140; - goto yy393; + if (yych <= 'q') goto yy102; + goto yy339; } else { - if (yych == 'u') goto yy393; - goto yy140; + if (yych == 'u') goto yy339; + goto yy102; } } } } -yy151: - YYDEBUG(151, *YYCURSOR); +yy113: + YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'N') goto yy384; - if (yych <= 'R') goto yy188; - goto yy385; + if (yych == 'N') goto yy330; + if (yych <= 'R') goto yy150; + goto yy331; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy188; - goto yy384; + if (yych <= 'm') goto yy150; + goto yy330; } else { - if (yych == 's') goto yy385; - goto yy188; + if (yych == 's') goto yy331; + goto yy150; } } -yy152: - YYDEBUG(152, *YYCURSOR); +yy114: + YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy302; - goto yy188; -yy153: - YYDEBUG(153, *YYCURSOR); + if (yych == '_') goto yy248; + goto yy150; +yy115: + YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy140; - if (yych <= '=') goto yy296; - if (yych <= '>') goto yy298; - goto yy140; -yy154: - YYDEBUG(154, *YYCURSOR); + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy242; + if (yych <= '>') goto yy244; + goto yy102; +yy116: + YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy292; - if (yych == 'i') goto yy292; - goto yy188; -yy155: - YYDEBUG(155, *YYCURSOR); + if (yych == 'I') goto yy238; + if (yych == 'i') goto yy238; + goto yy150; +yy117: + YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy290; - if (yych == '=') goto yy288; - goto yy140; -yy156: - YYDEBUG(156, *YYCURSOR); + if (yych == '+') goto yy236; + if (yych == '=') goto yy234; + goto yy102; +yy118: + YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy285; - goto yy140; -yy157: - YYDEBUG(157, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') { - if (yych == '/') goto yy253; - goto yy140; - } else { - if (yych <= '<') goto yy251; - if (yych <= '=') goto yy254; - if (yych <= '>') goto yy256; - goto yy140; - } -yy158: - YYDEBUG(158, *YYCURSOR); + if (yych == '=') goto yy231; + goto yy102; +yy119: + YYDEBUG(119, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy140; - if (yych <= '=') goto yy247; - if (yych <= '>') goto yy245; - goto yy140; -yy159: - YYDEBUG(159, *YYCURSOR); + if (yych <= ';') goto yy102; + if (yych <= '<') goto yy209; + if (yych <= '=') goto yy211; + if (yych <= '>') goto yy213; + goto yy102; +yy120: + YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '*') goto yy239; - if (yych == '=') goto yy241; - goto yy140; -yy160: - YYDEBUG(160, *YYCURSOR); + if (yych <= '<') goto yy102; + if (yych <= '=') goto yy205; + if (yych <= '>') goto yy203; + goto yy102; +yy121: + YYDEBUG(121, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '*') goto yy197; + if (yych == '=') goto yy199; + goto yy102; +yy122: + YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { - if (yych == '*') goto yy231; - goto yy140; + if (yych == '*') goto yy189; + goto yy102; } else { - if (yych <= '/') goto yy233; - if (yych == '=') goto yy234; - goto yy140; + if (yych <= '/') goto yy191; + if (yych == '=') goto yy192; + goto yy102; } -yy161: - YYDEBUG(161, *YYCURSOR); +yy123: + YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy140; - if (yych <= '=') goto yy227; - if (yych <= '>') goto yy225; - goto yy140; -yy162: - YYDEBUG(162, *YYCURSOR); + if (yych == '=') goto yy187; + goto yy102; +yy124: + YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy221; - if (yych == '=') goto yy223; - goto yy140; -yy163: - YYDEBUG(163, *YYCURSOR); + if (yych == '&') goto yy183; + if (yych == '=') goto yy185; + goto yy102; +yy125: + YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy219; - if (yych == '|') goto yy217; - goto yy140; -yy164: - YYDEBUG(164, *YYCURSOR); + if (yych == '=') goto yy181; + if (yych == '|') goto yy179; + goto yy102; +yy126: + YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy215; - goto yy140; -yy165: - YYDEBUG(165, *YYCURSOR); + if (yych == '=') goto yy177; + goto yy102; +yy127: + YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy213; - if (yych == 'r') goto yy213; - goto yy188; -yy166: - YYDEBUG(166, *YYCURSOR); + if (yych == 'R') goto yy175; + if (yych == 'r') goto yy175; + goto yy150; +yy128: + YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy210; - if (yych == 'o') goto yy210; - goto yy188; -yy167: - YYDEBUG(167, *YYCURSOR); + if (yych == 'O') goto yy172; + if (yych == 'o') goto yy172; + goto yy150; +yy129: + YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy140; - if (yych <= 'Z') goto yy207; - if (yych <= '^') goto yy140; - goto yy207; + if (yych <= '@') goto yy102; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy102; + goto yy169; } else { - if (yych <= '`') goto yy140; - if (yych <= 'z') goto yy207; - if (yych <= '~') goto yy140; - goto yy207; + if (yych <= '`') goto yy102; + if (yych <= 'z') goto yy169; + if (yych <= '~') goto yy102; + goto yy169; } -yy168: - YYDEBUG(168, *YYCURSOR); +yy130: + YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; - goto yy140; -yy169: - YYDEBUG(169, *YYCURSOR); + goto yy102; +yy131: + YYDEBUG(131, *YYCURSOR); ++YYCURSOR; - YYDEBUG(170, *YYCURSOR); + YYDEBUG(132, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1458 "Zend/zend_language_scanner.l" +#line 1456 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2884 "Zend/zend_language_scanner.c" -yy171: - YYDEBUG(171, *YYCURSOR); +#line 2566 "Zend/zend_language_scanner.c" +yy133: + YYDEBUG(133, *YYCURSOR); ++YYCURSOR; - YYDEBUG(172, *YYCURSOR); + YYDEBUG(134, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1470 "Zend/zend_language_scanner.l" +#line 1468 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2894,35 +2576,35 @@ yy171: } return '}'; } -#line 2898 "Zend/zend_language_scanner.c" -yy173: - YYDEBUG(173, *YYCURSOR); +#line 2580 "Zend/zend_language_scanner.c" +yy135: + YYDEBUG(135, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '9') { - if (yych == '.') goto yy189; - if (yych >= '0') goto yy192; + if (yych == '.') goto yy151; + if (yych >= '0') goto yy154; } else { - if (yych == 'B') goto yy200; - if (yych >= 'E') goto yy194; + if (yych == 'B') goto yy162; + if (yych >= 'E') goto yy156; } } else { if (yych <= 'b') { - if (yych == 'X') goto yy199; - if (yych >= 'b') goto yy200; + if (yych == 'X') goto yy161; + if (yych >= 'b') goto yy162; } else { if (yych <= 'e') { - if (yych >= 'e') goto yy194; + if (yych >= 'e') goto yy156; } else { - if (yych == 'x') goto yy199; + if (yych == 'x') goto yy161; } } } -yy174: - YYDEBUG(174, *YYCURSOR); +yy136: + YYDEBUG(136, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1518 "Zend/zend_language_scanner.l" +#line 1516 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 0)); @@ -2940,35 +2622,35 @@ yy174: } return T_LNUMBER; } -#line 2944 "Zend/zend_language_scanner.c" -yy175: - YYDEBUG(175, *YYCURSOR); +#line 2626 "Zend/zend_language_scanner.c" +yy137: + YYDEBUG(137, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy189; - if (yych <= '/') goto yy174; - goto yy192; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy174; - goto yy194; + if (yych <= 'D') goto yy136; + goto yy156; } else { - if (yych == 'e') goto yy194; - goto yy174; + if (yych == 'e') goto yy156; + goto yy136; } } -yy176: - YYDEBUG(176, *YYCURSOR); +yy138: + YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; - goto yy188; -yy177: - YYDEBUG(177, *YYCURSOR); + goto yy150; +yy139: + YYDEBUG(139, *YYCURSOR); ++YYCURSOR; -yy178: - YYDEBUG(178, *YYCURSOR); +yy140: + YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1777 "Zend/zend_language_scanner.l" +#line 1725 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2980,11 +2662,6 @@ yy178: case '\n': CG(zend_lineno)++; break; - case '%': - if (!CG(asp_tags)) { - continue; - } - /* fall through */ case '?': if (*YYCURSOR == '>') { YYCURSOR--; @@ -3002,14 +2679,14 @@ yy178: return T_COMMENT; } -#line 3006 "Zend/zend_language_scanner.c" -yy179: - YYDEBUG(179, *YYCURSOR); +#line 2683 "Zend/zend_language_scanner.c" +yy141: + YYDEBUG(141, *YYCURSOR); ++YYCURSOR; -yy180: - YYDEBUG(180, *YYCURSOR); +yy142: + YYDEBUG(142, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1861 "Zend/zend_language_scanner.l" +#line 1793 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -3078,14 +2755,14 @@ yy180: } return T_CONSTANT_ENCAPSED_STRING; } -#line 3082 "Zend/zend_language_scanner.c" -yy181: - YYDEBUG(181, *YYCURSOR); +#line 2759 "Zend/zend_language_scanner.c" +yy143: + YYDEBUG(143, *YYCURSOR); ++YYCURSOR; -yy182: - YYDEBUG(182, *YYCURSOR); +yy144: + YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1931 "Zend/zend_language_scanner.l" +#line 1863 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3126,24 +2803,24 @@ yy182: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3130 "Zend/zend_language_scanner.c" -yy183: - YYDEBUG(183, *YYCURSOR); +#line 2807 "Zend/zend_language_scanner.c" +yy145: + YYDEBUG(145, *YYCURSOR); ++YYCURSOR; - YYDEBUG(184, *YYCURSOR); + YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2021 "Zend/zend_language_scanner.l" +#line 1953 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3141 "Zend/zend_language_scanner.c" -yy185: - YYDEBUG(185, *YYCURSOR); +#line 2818 "Zend/zend_language_scanner.c" +yy147: + YYDEBUG(147, *YYCURSOR); ++YYCURSOR; - YYDEBUG(186, *YYCURSOR); + YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2283 "Zend/zend_language_scanner.l" +#line 2215 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3152,131 +2829,131 @@ yy185: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3156 "Zend/zend_language_scanner.c" -yy187: - YYDEBUG(187, *YYCURSOR); +#line 2833 "Zend/zend_language_scanner.c" +yy149: + YYDEBUG(149, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy188: - YYDEBUG(188, *YYCURSOR); +yy150: + YYDEBUG(150, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy187; + goto yy149; } - goto yy125; -yy189: - YYDEBUG(189, *YYCURSOR); + goto yy87; +yy151: + YYDEBUG(151, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(190, *YYCURSOR); + YYDEBUG(152, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy189; + goto yy151; } - if (yych == 'E') goto yy194; - if (yych == 'e') goto yy194; -yy191: - YYDEBUG(191, *YYCURSOR); + if (yych == 'E') goto yy156; + if (yych == 'e') goto yy156; +yy153: + YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1573 "Zend/zend_language_scanner.l" +#line 1571 "Zend/zend_language_scanner.l" { ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL)); return T_DNUMBER; } -#line 3188 "Zend/zend_language_scanner.c" -yy192: - YYDEBUG(192, *YYCURSOR); +#line 2865 "Zend/zend_language_scanner.c" +yy154: + YYDEBUG(154, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(193, *YYCURSOR); + YYDEBUG(155, *YYCURSOR); if (yych <= '9') { - if (yych == '.') goto yy189; - if (yych <= '/') goto yy174; - goto yy192; + if (yych == '.') goto yy151; + if (yych <= '/') goto yy136; + goto yy154; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy174; + if (yych <= 'D') goto yy136; } else { - if (yych != 'e') goto yy174; + if (yych != 'e') goto yy136; } } -yy194: - YYDEBUG(194, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy196; + if (yych == '+') goto yy158; } else { - if (yych <= '-') goto yy196; - if (yych <= '/') goto yy195; - if (yych <= '9') goto yy197; + if (yych <= '-') goto yy158; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy159; } -yy195: - YYDEBUG(195, *YYCURSOR); +yy157: + YYDEBUG(157, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 2) { if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy125; + if (yyaccept <= 0) { + goto yy87; } else { - goto yy140; + goto yy102; } } else { - goto yy174; + goto yy136; } } else { if (yyaccept <= 4) { - if (yyaccept == 3) { - goto yy191; + if (yyaccept <= 3) { + goto yy153; } else { - goto yy232; + goto yy190; } } else { - goto yy252; + goto yy210; } } -yy196: - YYDEBUG(196, *YYCURSOR); +yy158: + YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy195; - if (yych >= ':') goto yy195; -yy197: - YYDEBUG(197, *YYCURSOR); + if (yych <= '/') goto yy157; + if (yych >= ':') goto yy157; +yy159: + YYDEBUG(159, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(198, *YYCURSOR); - if (yych <= '/') goto yy191; - if (yych <= '9') goto yy197; - goto yy191; -yy199: - YYDEBUG(199, *YYCURSOR); + YYDEBUG(160, *YYCURSOR); + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy159; + goto yy153; +yy161: + YYDEBUG(161, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 32) { - goto yy204; + goto yy166; } - goto yy195; -yy200: - YYDEBUG(200, *YYCURSOR); + goto yy157; +yy162: + YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { - goto yy201; + goto yy163; } - goto yy195; -yy201: - YYDEBUG(201, *YYCURSOR); + goto yy157; +yy163: + YYDEBUG(163, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(202, *YYCURSOR); + YYDEBUG(164, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy201; + goto yy163; } - YYDEBUG(203, *YYCURSOR); + YYDEBUG(165, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1495 "Zend/zend_language_scanner.l" +#line 1493 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3299,19 +2976,19 @@ yy201: return T_DNUMBER; } } -#line 3303 "Zend/zend_language_scanner.c" -yy204: - YYDEBUG(204, *YYCURSOR); +#line 2980 "Zend/zend_language_scanner.c" +yy166: + YYDEBUG(166, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(205, *YYCURSOR); + YYDEBUG(167, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy204; + goto yy166; } - YYDEBUG(206, *YYCURSOR); + YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1536 "Zend/zend_language_scanner.l" +#line 1534 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3334,165 +3011,137 @@ yy204: return T_DNUMBER; } } -#line 3338 "Zend/zend_language_scanner.c" -yy207: - YYDEBUG(207, *YYCURSOR); +#line 3015 "Zend/zend_language_scanner.c" +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(208, *YYCURSOR); + YYDEBUG(170, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy207; + if (yych >= '0') goto yy169; } else { - if (yych <= '@') goto yy209; - if (yych <= 'Z') goto yy207; + if (yych <= '@') goto yy171; + if (yych <= 'Z') goto yy169; } } else { if (yych <= '`') { - if (yych <= '_') goto yy207; + if (yych <= '_') goto yy169; } else { - if (yych <= 'z') goto yy207; - if (yych >= 0x7F) goto yy207; + if (yych <= 'z') goto yy169; + if (yych >= 0x7F) goto yy169; } } -yy209: - YYDEBUG(209, *YYCURSOR); +yy171: + YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 3368 "Zend/zend_language_scanner.c" -yy210: - YYDEBUG(210, *YYCURSOR); +#line 3045 "Zend/zend_language_scanner.c" +yy172: + YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy211; - if (yych != 'r') goto yy188; -yy211: - YYDEBUG(211, *YYCURSOR); + if (yych == 'R') goto yy173; + if (yych != 'r') goto yy150; +yy173: + YYDEBUG(173, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(212, *YYCURSOR); + YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1441 "Zend/zend_language_scanner.l" +#line 1439 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3386 "Zend/zend_language_scanner.c" -yy213: - YYDEBUG(213, *YYCURSOR); +#line 3063 "Zend/zend_language_scanner.c" +yy175: + YYDEBUG(175, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(214, *YYCURSOR); + YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1433 "Zend/zend_language_scanner.l" +#line 1431 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3399 "Zend/zend_language_scanner.c" -yy215: - YYDEBUG(215, *YYCURSOR); +#line 3076 "Zend/zend_language_scanner.c" +yy177: + YYDEBUG(177, *YYCURSOR); ++YYCURSOR; - YYDEBUG(216, *YYCURSOR); + YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1421 "Zend/zend_language_scanner.l" +#line 1419 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3409 "Zend/zend_language_scanner.c" -yy217: - YYDEBUG(217, *YYCURSOR); +#line 3086 "Zend/zend_language_scanner.c" +yy179: + YYDEBUG(179, *YYCURSOR); ++YYCURSOR; - YYDEBUG(218, *YYCURSOR); + YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1425 "Zend/zend_language_scanner.l" +#line 1423 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3419 "Zend/zend_language_scanner.c" -yy219: - YYDEBUG(219, *YYCURSOR); +#line 3096 "Zend/zend_language_scanner.c" +yy181: + YYDEBUG(181, *YYCURSOR); ++YYCURSOR; - YYDEBUG(220, *YYCURSOR); + YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1417 "Zend/zend_language_scanner.l" +#line 1415 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3429 "Zend/zend_language_scanner.c" -yy221: - YYDEBUG(221, *YYCURSOR); +#line 3106 "Zend/zend_language_scanner.c" +yy183: + YYDEBUG(183, *YYCURSOR); ++YYCURSOR; - YYDEBUG(222, *YYCURSOR); + YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1429 "Zend/zend_language_scanner.l" +#line 1427 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3439 "Zend/zend_language_scanner.c" -yy223: - YYDEBUG(223, *YYCURSOR); +#line 3116 "Zend/zend_language_scanner.c" +yy185: + YYDEBUG(185, *YYCURSOR); ++YYCURSOR; - YYDEBUG(224, *YYCURSOR); + YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1413 "Zend/zend_language_scanner.l" +#line 1411 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3449 "Zend/zend_language_scanner.c" -yy225: - YYDEBUG(225, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy229; - if (yych == '\r') goto yy230; -yy226: - YYDEBUG(226, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1850 "Zend/zend_language_scanner.l" - { - if (CG(asp_tags)) { - BEGIN(INITIAL); - return T_CLOSE_TAG; /* implicit ';' at php-end tag */ - } else { - yyless(1); - return yytext[0]; - } -} -#line 3468 "Zend/zend_language_scanner.c" -yy227: - YYDEBUG(227, *YYCURSOR); +#line 3126 "Zend/zend_language_scanner.c" +yy187: + YYDEBUG(187, *YYCURSOR); ++YYCURSOR; - YYDEBUG(228, *YYCURSOR); + YYDEBUG(188, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1401 "Zend/zend_language_scanner.l" +#line 1399 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3478 "Zend/zend_language_scanner.c" -yy229: - YYDEBUG(229, *YYCURSOR); - yych = *++YYCURSOR; - goto yy226; -yy230: - YYDEBUG(230, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy229; - goto yy226; -yy231: - YYDEBUG(231, *YYCURSOR); +#line 3136 "Zend/zend_language_scanner.c" +yy189: + YYDEBUG(189, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy236; -yy232: - YYDEBUG(232, *YYCURSOR); + if (yych == '*') goto yy194; +yy190: + YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1811 "Zend/zend_language_scanner.l" +#line 1754 "Zend/zend_language_scanner.l" { int doc_com; @@ -3525,324 +3174,251 @@ yy232: return T_COMMENT; } -#line 3529 "Zend/zend_language_scanner.c" -yy233: - YYDEBUG(233, *YYCURSOR); +#line 3178 "Zend/zend_language_scanner.c" +yy191: + YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; - goto yy178; -yy234: - YYDEBUG(234, *YYCURSOR); + goto yy140; +yy192: + YYDEBUG(192, *YYCURSOR); ++YYCURSOR; - YYDEBUG(235, *YYCURSOR); + YYDEBUG(193, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1393 "Zend/zend_language_scanner.l" +#line 1391 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3543 "Zend/zend_language_scanner.c" -yy236: - YYDEBUG(236, *YYCURSOR); +#line 3192 "Zend/zend_language_scanner.c" +yy194: + YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy237; + goto yy195; } - goto yy195; -yy237: - YYDEBUG(237, *YYCURSOR); + goto yy157; +yy195: + YYDEBUG(195, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(238, *YYCURSOR); + YYDEBUG(196, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy237; + goto yy195; } - goto yy232; -yy239: - YYDEBUG(239, *YYCURSOR); + goto yy190; +yy197: + YYDEBUG(197, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy243; - YYDEBUG(240, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy201; + YYDEBUG(198, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1385 "Zend/zend_language_scanner.l" +#line 1383 "Zend/zend_language_scanner.l" { return T_POW; } -#line 3571 "Zend/zend_language_scanner.c" -yy241: - YYDEBUG(241, *YYCURSOR); +#line 3220 "Zend/zend_language_scanner.c" +yy199: + YYDEBUG(199, *YYCURSOR); ++YYCURSOR; - YYDEBUG(242, *YYCURSOR); + YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1381 "Zend/zend_language_scanner.l" +#line 1379 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3581 "Zend/zend_language_scanner.c" -yy243: - YYDEBUG(243, *YYCURSOR); +#line 3230 "Zend/zend_language_scanner.c" +yy201: + YYDEBUG(201, *YYCURSOR); ++YYCURSOR; - YYDEBUG(244, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1389 "Zend/zend_language_scanner.l" +#line 1387 "Zend/zend_language_scanner.l" { return T_POW_EQUAL; } -#line 3591 "Zend/zend_language_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); +#line 3240 "Zend/zend_language_scanner.c" +yy203: + YYDEBUG(203, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy249; - YYDEBUG(246, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy207; + YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1449 "Zend/zend_language_scanner.l" +#line 1447 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3602 "Zend/zend_language_scanner.c" -yy247: - YYDEBUG(247, *YYCURSOR); +#line 3251 "Zend/zend_language_scanner.c" +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; - YYDEBUG(248, *YYCURSOR); + YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1369 "Zend/zend_language_scanner.l" +#line 1367 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3612 "Zend/zend_language_scanner.c" -yy249: - YYDEBUG(249, *YYCURSOR); +#line 3261 "Zend/zend_language_scanner.c" +yy207: + YYDEBUG(207, *YYCURSOR); ++YYCURSOR; - YYDEBUG(250, *YYCURSOR); + YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1409 "Zend/zend_language_scanner.l" +#line 1407 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3622 "Zend/zend_language_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); +#line 3271 "Zend/zend_language_scanner.c" +yy209: + YYDEBUG(209, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy252; - if (yych <= '<') goto yy271; - if (yych <= '=') goto yy269; -yy252: - YYDEBUG(252, *YYCURSOR); + if (yych <= ';') goto yy210; + if (yych <= '<') goto yy217; + if (yych <= '=') goto yy215; +yy210: + YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1445 "Zend/zend_language_scanner.l" +#line 1443 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3637 "Zend/zend_language_scanner.c" -yy253: - YYDEBUG(253, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy258; - if (yych == 's') goto yy258; - goto yy195; -yy254: - YYDEBUG(254, *YYCURSOR); +#line 3286 "Zend/zend_language_scanner.c" +yy211: + YYDEBUG(211, *YYCURSOR); ++YYCURSOR; - YYDEBUG(255, *YYCURSOR); + YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1365 "Zend/zend_language_scanner.l" +#line 1363 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3653 "Zend/zend_language_scanner.c" -yy256: - YYDEBUG(256, *YYCURSOR); +#line 3296 "Zend/zend_language_scanner.c" +yy213: + YYDEBUG(213, *YYCURSOR); ++YYCURSOR; -yy257: - YYDEBUG(257, *YYCURSOR); +yy214: + YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1361 "Zend/zend_language_scanner.l" +#line 1359 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3664 "Zend/zend_language_scanner.c" -yy258: - YYDEBUG(258, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy259; - if (yych != 'c') goto yy195; -yy259: - YYDEBUG(259, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy260; - if (yych != 'r') goto yy195; -yy260: - YYDEBUG(260, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy261; - if (yych != 'i') goto yy195; -yy261: - YYDEBUG(261, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy262; - if (yych != 'p') goto yy195; -yy262: - YYDEBUG(262, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy263; - if (yych != 't') goto yy195; -yy263: - YYDEBUG(263, *YYCURSOR); - ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; - YYDEBUG(264, *YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) goto yy195; - if (yych <= '\n') goto yy263; - if (yych <= '\f') goto yy195; - goto yy263; - } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy195; - goto yy263; - } else { - if (yych != '>') goto yy195; - } - } -yy265: - YYDEBUG(265, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy267; - if (yych == '\r') goto yy268; -yy266: - YYDEBUG(266, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1844 "Zend/zend_language_scanner.l" - { - BEGIN(INITIAL); - return T_CLOSE_TAG; /* implicit ';' at php-end tag */ -} -#line 3722 "Zend/zend_language_scanner.c" -yy267: - YYDEBUG(267, *YYCURSOR); - yych = *++YYCURSOR; - goto yy266; -yy268: - YYDEBUG(268, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy267; - goto yy266; -yy269: - YYDEBUG(269, *YYCURSOR); +#line 3307 "Zend/zend_language_scanner.c" +yy215: + YYDEBUG(215, *YYCURSOR); ++YYCURSOR; - YYDEBUG(270, *YYCURSOR); + YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1405 "Zend/zend_language_scanner.l" +#line 1403 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3741 "Zend/zend_language_scanner.c" -yy271: - YYDEBUG(271, *YYCURSOR); +#line 3317 "Zend/zend_language_scanner.c" +yy217: + YYDEBUG(217, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(272, *YYCURSOR); + YYDEBUG(218, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy271; + goto yy217; } if (yych <= 'Z') { if (yych <= '&') { - if (yych == '"') goto yy276; - goto yy195; + if (yych == '"') goto yy222; + goto yy157; } else { - if (yych <= '\'') goto yy275; - if (yych <= '@') goto yy195; + if (yych <= '\'') goto yy221; + if (yych <= '@') goto yy157; } } else { if (yych <= '`') { - if (yych != '_') goto yy195; + if (yych != '_') goto yy157; } else { - if (yych <= 'z') goto yy273; - if (yych <= '~') goto yy195; + if (yych <= 'z') goto yy219; + if (yych <= '~') goto yy157; } } -yy273: - YYDEBUG(273, *YYCURSOR); +yy219: + YYDEBUG(219, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(274, *YYCURSOR); + YYDEBUG(220, *YYCURSOR); if (yych <= '@') { if (yych <= '\f') { - if (yych == '\n') goto yy280; - goto yy195; + if (yych == '\n') goto yy226; + goto yy157; } else { - if (yych <= '\r') goto yy282; - if (yych <= '/') goto yy195; - if (yych <= '9') goto yy273; - goto yy195; + if (yych <= '\r') goto yy228; + if (yych <= '/') goto yy157; + if (yych <= '9') goto yy219; + goto yy157; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy273; - if (yych <= '^') goto yy195; - goto yy273; + if (yych <= 'Z') goto yy219; + if (yych <= '^') goto yy157; + goto yy219; } else { - if (yych <= '`') goto yy195; - if (yych <= 'z') goto yy273; - if (yych <= '~') goto yy195; - goto yy273; + if (yych <= '`') goto yy157; + if (yych <= 'z') goto yy219; + if (yych <= '~') goto yy157; + goto yy219; } } -yy275: - YYDEBUG(275, *YYCURSOR); +yy221: + YYDEBUG(221, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\'') goto yy195; - if (yych <= '/') goto yy284; - if (yych <= '9') goto yy195; - goto yy284; -yy276: - YYDEBUG(276, *YYCURSOR); + if (yych == '\'') goto yy157; + if (yych <= '/') goto yy230; + if (yych <= '9') goto yy157; + goto yy230; +yy222: + YYDEBUG(222, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '"') goto yy195; - if (yych <= '/') goto yy278; - if (yych <= '9') goto yy195; - goto yy278; -yy277: - YYDEBUG(277, *YYCURSOR); + if (yych == '"') goto yy157; + if (yych <= '/') goto yy224; + if (yych <= '9') goto yy157; + goto yy224; +yy223: + YYDEBUG(223, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy278: - YYDEBUG(278, *YYCURSOR); +yy224: + YYDEBUG(224, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych != '"') goto yy195; + if (yych != '"') goto yy157; } else { - if (yych <= '9') goto yy277; - if (yych <= '@') goto yy195; - goto yy277; + if (yych <= '9') goto yy223; + if (yych <= '@') goto yy157; + goto yy223; } } else { if (yych <= '`') { - if (yych == '_') goto yy277; - goto yy195; + if (yych == '_') goto yy223; + goto yy157; } else { - if (yych <= 'z') goto yy277; - if (yych <= '~') goto yy195; - goto yy277; + if (yych <= 'z') goto yy223; + if (yych <= '~') goto yy157; + goto yy223; } } -yy279: - YYDEBUG(279, *YYCURSOR); +yy225: + YYDEBUG(225, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy280; - if (yych == '\r') goto yy282; - goto yy195; -yy280: - YYDEBUG(280, *YYCURSOR); + if (yych == '\n') goto yy226; + if (yych == '\r') goto yy228; + goto yy157; +yy226: + YYDEBUG(226, *YYCURSOR); ++YYCURSOR; -yy281: - YYDEBUG(281, *YYCURSOR); +yy227: + YYDEBUG(227, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1973 "Zend/zend_language_scanner.l" +#line 1905 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3889,3249 +3465,3272 @@ yy281: return T_START_HEREDOC; } -#line 3893 "Zend/zend_language_scanner.c" -yy282: - YYDEBUG(282, *YYCURSOR); +#line 3469 "Zend/zend_language_scanner.c" +yy228: + YYDEBUG(228, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy280; - goto yy281; -yy283: - YYDEBUG(283, *YYCURSOR); + if (yych == '\n') goto yy226; + goto yy227; +yy229: + YYDEBUG(229, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy284: - YYDEBUG(284, *YYCURSOR); +yy230: + YYDEBUG(230, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych == '\'') goto yy279; - goto yy195; + if (yych == '\'') goto yy225; + goto yy157; } else { - if (yych <= '9') goto yy283; - if (yych <= '@') goto yy195; - goto yy283; + if (yych <= '9') goto yy229; + if (yych <= '@') goto yy157; + goto yy229; } } else { if (yych <= '`') { - if (yych == '_') goto yy283; - goto yy195; + if (yych == '_') goto yy229; + goto yy157; } else { - if (yych <= 'z') goto yy283; - if (yych <= '~') goto yy195; - goto yy283; + if (yych <= 'z') goto yy229; + if (yych <= '~') goto yy157; + goto yy229; } } -yy285: - YYDEBUG(285, *YYCURSOR); +yy231: + YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy257; - YYDEBUG(286, *YYCURSOR); + if (yych != '=') goto yy214; + YYDEBUG(232, *YYCURSOR); ++YYCURSOR; - YYDEBUG(287, *YYCURSOR); + YYDEBUG(233, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1353 "Zend/zend_language_scanner.l" +#line 1351 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3937 "Zend/zend_language_scanner.c" -yy288: - YYDEBUG(288, *YYCURSOR); +#line 3513 "Zend/zend_language_scanner.c" +yy234: + YYDEBUG(234, *YYCURSOR); ++YYCURSOR; - YYDEBUG(289, *YYCURSOR); + YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1373 "Zend/zend_language_scanner.l" +#line 1371 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3947 "Zend/zend_language_scanner.c" -yy290: - YYDEBUG(290, *YYCURSOR); +#line 3523 "Zend/zend_language_scanner.c" +yy236: + YYDEBUG(236, *YYCURSOR); ++YYCURSOR; - YYDEBUG(291, *YYCURSOR); + YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1341 "Zend/zend_language_scanner.l" +#line 1339 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3957 "Zend/zend_language_scanner.c" -yy292: - YYDEBUG(292, *YYCURSOR); +#line 3533 "Zend/zend_language_scanner.c" +yy238: + YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy293; - if (yych != 's') goto yy188; -yy293: - YYDEBUG(293, *YYCURSOR); + if (yych == 'S') goto yy239; + if (yych != 's') goto yy150; +yy239: + YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy294; - if (yych != 't') goto yy188; -yy294: - YYDEBUG(294, *YYCURSOR); + if (yych == 'T') goto yy240; + if (yych != 't') goto yy150; +yy240: + YYDEBUG(240, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(295, *YYCURSOR); + YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1329 "Zend/zend_language_scanner.l" +#line 1327 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3980 "Zend/zend_language_scanner.c" -yy296: - YYDEBUG(296, *YYCURSOR); +#line 3556 "Zend/zend_language_scanner.c" +yy242: + YYDEBUG(242, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy300; - YYDEBUG(297, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy246; + YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1357 "Zend/zend_language_scanner.l" +#line 1355 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3991 "Zend/zend_language_scanner.c" -yy298: - YYDEBUG(298, *YYCURSOR); +#line 3567 "Zend/zend_language_scanner.c" +yy244: + YYDEBUG(244, *YYCURSOR); ++YYCURSOR; - YYDEBUG(299, *YYCURSOR); + YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1325 "Zend/zend_language_scanner.l" +#line 1323 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 4001 "Zend/zend_language_scanner.c" -yy300: - YYDEBUG(300, *YYCURSOR); +#line 3577 "Zend/zend_language_scanner.c" +yy246: + YYDEBUG(246, *YYCURSOR); ++YYCURSOR; - YYDEBUG(301, *YYCURSOR); + YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1349 "Zend/zend_language_scanner.l" +#line 1347 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 4011 "Zend/zend_language_scanner.c" -yy302: - YYDEBUG(302, *YYCURSOR); +#line 3587 "Zend/zend_language_scanner.c" +yy248: + YYDEBUG(248, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'C': - case 'c': goto yy304; + case 'c': goto yy250; case 'D': - case 'd': goto yy309; + case 'd': goto yy255; case 'F': - case 'f': goto yy306; + case 'f': goto yy252; case 'H': - case 'h': goto yy303; + case 'h': goto yy249; case 'L': - case 'l': goto yy308; + case 'l': goto yy254; case 'M': - case 'm': goto yy307; + case 'm': goto yy253; case 'N': - case 'n': goto yy310; + case 'n': goto yy256; case 'T': - case 't': goto yy305; - default: goto yy188; + case 't': goto yy251; + default: goto yy150; } -yy303: - YYDEBUG(303, *YYCURSOR); +yy249: + YYDEBUG(249, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy371; - if (yych == 'a') goto yy371; - goto yy188; -yy304: - YYDEBUG(304, *YYCURSOR); + if (yych == 'A') goto yy317; + if (yych == 'a') goto yy317; + goto yy150; +yy250: + YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy364; - if (yych == 'l') goto yy364; - goto yy188; -yy305: - YYDEBUG(305, *YYCURSOR); + if (yych == 'L') goto yy310; + if (yych == 'l') goto yy310; + goto yy150; +yy251: + YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy357; - if (yych == 'r') goto yy357; - goto yy188; -yy306: - YYDEBUG(306, *YYCURSOR); + if (yych == 'R') goto yy303; + if (yych == 'r') goto yy303; + goto yy150; +yy252: + YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'I') goto yy341; - if (yych <= 'T') goto yy188; - goto yy342; + if (yych == 'I') goto yy287; + if (yych <= 'T') goto yy150; + goto yy288; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy188; - goto yy341; + if (yych <= 'h') goto yy150; + goto yy287; } else { - if (yych == 'u') goto yy342; - goto yy188; + if (yych == 'u') goto yy288; + goto yy150; } } -yy307: - YYDEBUG(307, *YYCURSOR); +yy253: + YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy333; - if (yych == 'e') goto yy333; - goto yy188; -yy308: - YYDEBUG(308, *YYCURSOR); + if (yych == 'E') goto yy279; + if (yych == 'e') goto yy279; + goto yy150; +yy254: + YYDEBUG(254, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy327; - if (yych == 'i') goto yy327; - goto yy188; -yy309: - YYDEBUG(309, *YYCURSOR); + if (yych == 'I') goto yy273; + if (yych == 'i') goto yy273; + goto yy150; +yy255: + YYDEBUG(255, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy322; - if (yych == 'i') goto yy322; - goto yy188; -yy310: - YYDEBUG(310, *YYCURSOR); + if (yych == 'I') goto yy268; + if (yych == 'i') goto yy268; + goto yy150; +yy256: + YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy311; - if (yych != 'a') goto yy188; -yy311: - YYDEBUG(311, *YYCURSOR); + if (yych == 'A') goto yy257; + if (yych != 'a') goto yy150; +yy257: + YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy312; - if (yych != 'm') goto yy188; -yy312: - YYDEBUG(312, *YYCURSOR); + if (yych == 'M') goto yy258; + if (yych != 'm') goto yy150; +yy258: + YYDEBUG(258, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy313; - if (yych != 'e') goto yy188; -yy313: - YYDEBUG(313, *YYCURSOR); + if (yych == 'E') goto yy259; + if (yych != 'e') goto yy150; +yy259: + YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy314; - if (yych != 's') goto yy188; -yy314: - YYDEBUG(314, *YYCURSOR); + if (yych == 'S') goto yy260; + if (yych != 's') goto yy150; +yy260: + YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy315; - if (yych != 'p') goto yy188; -yy315: - YYDEBUG(315, *YYCURSOR); + if (yych == 'P') goto yy261; + if (yych != 'p') goto yy150; +yy261: + YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy316; - if (yych != 'a') goto yy188; -yy316: - YYDEBUG(316, *YYCURSOR); + if (yych == 'A') goto yy262; + if (yych != 'a') goto yy150; +yy262: + YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy317; - if (yych != 'c') goto yy188; -yy317: - YYDEBUG(317, *YYCURSOR); + if (yych == 'C') goto yy263; + if (yych != 'c') goto yy150; +yy263: + YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy318; - if (yych != 'e') goto yy188; -yy318: - YYDEBUG(318, *YYCURSOR); + if (yych == 'E') goto yy264; + if (yych != 'e') goto yy150; +yy264: + YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(319, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(320, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(266, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(321, *YYCURSOR); + YYDEBUG(267, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1606 "Zend/zend_language_scanner.l" +#line 1604 "Zend/zend_language_scanner.l" { return T_NS_C; } -#line 4145 "Zend/zend_language_scanner.c" -yy322: - YYDEBUG(322, *YYCURSOR); +#line 3721 "Zend/zend_language_scanner.c" +yy268: + YYDEBUG(268, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy323; - if (yych != 'r') goto yy188; -yy323: - YYDEBUG(323, *YYCURSOR); + if (yych == 'R') goto yy269; + if (yych != 'r') goto yy150; +yy269: + YYDEBUG(269, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(324, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(270, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(325, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(271, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(326, *YYCURSOR); + YYDEBUG(272, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1602 "Zend/zend_language_scanner.l" +#line 1600 "Zend/zend_language_scanner.l" { return T_DIR; } -#line 4169 "Zend/zend_language_scanner.c" -yy327: - YYDEBUG(327, *YYCURSOR); +#line 3745 "Zend/zend_language_scanner.c" +yy273: + YYDEBUG(273, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy328; - if (yych != 'n') goto yy188; -yy328: - YYDEBUG(328, *YYCURSOR); + if (yych == 'N') goto yy274; + if (yych != 'n') goto yy150; +yy274: + YYDEBUG(274, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy329; - if (yych != 'e') goto yy188; -yy329: - YYDEBUG(329, *YYCURSOR); + if (yych == 'E') goto yy275; + if (yych != 'e') goto yy150; +yy275: + YYDEBUG(275, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(330, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(331, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(277, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(332, *YYCURSOR); + YYDEBUG(278, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1594 "Zend/zend_language_scanner.l" +#line 1592 "Zend/zend_language_scanner.l" { return T_LINE; } -#line 4198 "Zend/zend_language_scanner.c" -yy333: - YYDEBUG(333, *YYCURSOR); +#line 3774 "Zend/zend_language_scanner.c" +yy279: + YYDEBUG(279, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy334; - if (yych != 't') goto yy188; -yy334: - YYDEBUG(334, *YYCURSOR); + if (yych == 'T') goto yy280; + if (yych != 't') goto yy150; +yy280: + YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy335; - if (yych != 'h') goto yy188; -yy335: - YYDEBUG(335, *YYCURSOR); + if (yych == 'H') goto yy281; + if (yych != 'h') goto yy150; +yy281: + YYDEBUG(281, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy336; - if (yych != 'o') goto yy188; -yy336: - YYDEBUG(336, *YYCURSOR); + if (yych == 'O') goto yy282; + if (yych != 'o') goto yy150; +yy282: + YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy337; - if (yych != 'd') goto yy188; -yy337: - YYDEBUG(337, *YYCURSOR); + if (yych == 'D') goto yy283; + if (yych != 'd') goto yy150; +yy283: + YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(338, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(339, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(285, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(340, *YYCURSOR); + YYDEBUG(286, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1590 "Zend/zend_language_scanner.l" +#line 1588 "Zend/zend_language_scanner.l" { return T_METHOD_C; } -#line 4237 "Zend/zend_language_scanner.c" -yy341: - YYDEBUG(341, *YYCURSOR); +#line 3813 "Zend/zend_language_scanner.c" +yy287: + YYDEBUG(287, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy352; - if (yych == 'l') goto yy352; - goto yy188; -yy342: - YYDEBUG(342, *YYCURSOR); + if (yych == 'L') goto yy298; + if (yych == 'l') goto yy298; + goto yy150; +yy288: + YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy343; - if (yych != 'n') goto yy188; -yy343: - YYDEBUG(343, *YYCURSOR); + if (yych == 'N') goto yy289; + if (yych != 'n') goto yy150; +yy289: + YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy344; - if (yych != 'c') goto yy188; -yy344: - YYDEBUG(344, *YYCURSOR); + if (yych == 'C') goto yy290; + if (yych != 'c') goto yy150; +yy290: + YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy345; - if (yych != 't') goto yy188; -yy345: - YYDEBUG(345, *YYCURSOR); + if (yych == 'T') goto yy291; + if (yych != 't') goto yy150; +yy291: + YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy346; - if (yych != 'i') goto yy188; -yy346: - YYDEBUG(346, *YYCURSOR); + if (yych == 'I') goto yy292; + if (yych != 'i') goto yy150; +yy292: + YYDEBUG(292, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy347; - if (yych != 'o') goto yy188; -yy347: - YYDEBUG(347, *YYCURSOR); + if (yych == 'O') goto yy293; + if (yych != 'o') goto yy150; +yy293: + YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy348; - if (yych != 'n') goto yy188; -yy348: - YYDEBUG(348, *YYCURSOR); + if (yych == 'N') goto yy294; + if (yych != 'n') goto yy150; +yy294: + YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(349, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(350, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(296, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(351, *YYCURSOR); + YYDEBUG(297, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1586 "Zend/zend_language_scanner.l" +#line 1584 "Zend/zend_language_scanner.l" { return T_FUNC_C; } -#line 4292 "Zend/zend_language_scanner.c" -yy352: - YYDEBUG(352, *YYCURSOR); +#line 3868 "Zend/zend_language_scanner.c" +yy298: + YYDEBUG(298, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy353; - if (yych != 'e') goto yy188; -yy353: - YYDEBUG(353, *YYCURSOR); + if (yych == 'E') goto yy299; + if (yych != 'e') goto yy150; +yy299: + YYDEBUG(299, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(354, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(300, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(355, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(301, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(356, *YYCURSOR); + YYDEBUG(302, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1598 "Zend/zend_language_scanner.l" +#line 1596 "Zend/zend_language_scanner.l" { return T_FILE; } -#line 4316 "Zend/zend_language_scanner.c" -yy357: - YYDEBUG(357, *YYCURSOR); +#line 3892 "Zend/zend_language_scanner.c" +yy303: + YYDEBUG(303, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy358; - if (yych != 'a') goto yy188; -yy358: - YYDEBUG(358, *YYCURSOR); + if (yych == 'A') goto yy304; + if (yych != 'a') goto yy150; +yy304: + YYDEBUG(304, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy359; - if (yych != 'i') goto yy188; -yy359: - YYDEBUG(359, *YYCURSOR); + if (yych == 'I') goto yy305; + if (yych != 'i') goto yy150; +yy305: + YYDEBUG(305, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy360; - if (yych != 't') goto yy188; -yy360: - YYDEBUG(360, *YYCURSOR); + if (yych == 'T') goto yy306; + if (yych != 't') goto yy150; +yy306: + YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(361, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(307, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(362, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(308, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(363, *YYCURSOR); + YYDEBUG(309, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1582 "Zend/zend_language_scanner.l" +#line 1580 "Zend/zend_language_scanner.l" { return T_TRAIT_C; } -#line 4350 "Zend/zend_language_scanner.c" -yy364: - YYDEBUG(364, *YYCURSOR); +#line 3926 "Zend/zend_language_scanner.c" +yy310: + YYDEBUG(310, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy365; - if (yych != 'a') goto yy188; -yy365: - YYDEBUG(365, *YYCURSOR); + if (yych == 'A') goto yy311; + if (yych != 'a') goto yy150; +yy311: + YYDEBUG(311, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy366; - if (yych != 's') goto yy188; -yy366: - YYDEBUG(366, *YYCURSOR); + if (yych == 'S') goto yy312; + if (yych != 's') goto yy150; +yy312: + YYDEBUG(312, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy367; - if (yych != 's') goto yy188; -yy367: - YYDEBUG(367, *YYCURSOR); + if (yych == 'S') goto yy313; + if (yych != 's') goto yy150; +yy313: + YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(368, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(314, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(369, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(315, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(370, *YYCURSOR); + YYDEBUG(316, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1578 "Zend/zend_language_scanner.l" +#line 1576 "Zend/zend_language_scanner.l" { return T_CLASS_C; } -#line 4384 "Zend/zend_language_scanner.c" -yy371: - YYDEBUG(371, *YYCURSOR); +#line 3960 "Zend/zend_language_scanner.c" +yy317: + YYDEBUG(317, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy372; - if (yych != 'l') goto yy188; -yy372: - YYDEBUG(372, *YYCURSOR); + if (yych == 'L') goto yy318; + if (yych != 'l') goto yy150; +yy318: + YYDEBUG(318, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy373; - if (yych != 't') goto yy188; -yy373: - YYDEBUG(373, *YYCURSOR); + if (yych == 'T') goto yy319; + if (yych != 't') goto yy150; +yy319: + YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy188; - YYDEBUG(374, *YYCURSOR); + if (yych != '_') goto yy150; + YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy375; - if (yych != 'c') goto yy188; -yy375: - YYDEBUG(375, *YYCURSOR); + if (yych == 'C') goto yy321; + if (yych != 'c') goto yy150; +yy321: + YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy376; - if (yych != 'o') goto yy188; -yy376: - YYDEBUG(376, *YYCURSOR); + if (yych == 'O') goto yy322; + if (yych != 'o') goto yy150; +yy322: + YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy377; - if (yych != 'm') goto yy188; -yy377: - YYDEBUG(377, *YYCURSOR); + if (yych == 'M') goto yy323; + if (yych != 'm') goto yy150; +yy323: + YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy378; - if (yych != 'p') goto yy188; -yy378: - YYDEBUG(378, *YYCURSOR); + if (yych == 'P') goto yy324; + if (yych != 'p') goto yy150; +yy324: + YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy379; - if (yych != 'i') goto yy188; -yy379: - YYDEBUG(379, *YYCURSOR); + if (yych == 'I') goto yy325; + if (yych != 'i') goto yy150; +yy325: + YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy380; - if (yych != 'l') goto yy188; -yy380: - YYDEBUG(380, *YYCURSOR); + if (yych == 'L') goto yy326; + if (yych != 'l') goto yy150; +yy326: + YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy381; - if (yych != 'e') goto yy188; -yy381: - YYDEBUG(381, *YYCURSOR); + if (yych == 'E') goto yy327; + if (yych != 'e') goto yy150; +yy327: + YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy382; - if (yych != 'r') goto yy188; -yy382: - YYDEBUG(382, *YYCURSOR); + if (yych == 'R') goto yy328; + if (yych != 'r') goto yy150; +yy328: + YYDEBUG(328, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(383, *YYCURSOR); + YYDEBUG(329, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1293 "Zend/zend_language_scanner.l" +#line 1291 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4450 "Zend/zend_language_scanner.c" -yy384: - YYDEBUG(384, *YYCURSOR); +#line 4026 "Zend/zend_language_scanner.c" +yy330: + YYDEBUG(330, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy388; - if (yych == 's') goto yy388; - goto yy188; -yy385: - YYDEBUG(385, *YYCURSOR); + if (yych == 'S') goto yy334; + if (yych == 's') goto yy334; + goto yy150; +yy331: + YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy386; - if (yych != 'e') goto yy188; -yy386: - YYDEBUG(386, *YYCURSOR); + if (yych == 'E') goto yy332; + if (yych != 'e') goto yy150; +yy332: + YYDEBUG(332, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(387, *YYCURSOR); + YYDEBUG(333, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1273 "Zend/zend_language_scanner.l" +#line 1271 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4474 "Zend/zend_language_scanner.c" -yy388: - YYDEBUG(388, *YYCURSOR); +#line 4050 "Zend/zend_language_scanner.c" +yy334: + YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy389; - if (yych != 'e') goto yy188; -yy389: - YYDEBUG(389, *YYCURSOR); + if (yych == 'E') goto yy335; + if (yych != 'e') goto yy150; +yy335: + YYDEBUG(335, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy390; - if (yych != 't') goto yy188; -yy390: - YYDEBUG(390, *YYCURSOR); + if (yych == 'T') goto yy336; + if (yych != 't') goto yy150; +yy336: + YYDEBUG(336, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(391, *YYCURSOR); + YYDEBUG(337, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1321 "Zend/zend_language_scanner.l" +#line 1319 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4497 "Zend/zend_language_scanner.c" -yy392: - YYDEBUG(392, *YYCURSOR); +#line 4073 "Zend/zend_language_scanner.c" +yy338: + YYDEBUG(338, *YYCURSOR); ++YYCURSOR; YYFILL(7); yych = *YYCURSOR; -yy393: - YYDEBUG(393, *YYCURSOR); +yy339: + YYDEBUG(339, *YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy392; - if (yych <= 0x1F) goto yy195; - goto yy392; + if (yych == '\t') goto yy338; + if (yych <= 0x1F) goto yy157; + goto yy338; } else { if (yych <= 'A') { - if (yych <= '@') goto yy195; - goto yy397; + if (yych <= '@') goto yy157; + goto yy343; } else { - if (yych <= 'B') goto yy395; - if (yych <= 'C') goto yy195; - goto yy400; + if (yych <= 'B') goto yy341; + if (yych <= 'C') goto yy157; + goto yy346; } } } else { if (yych <= 'I') { - if (yych == 'F') goto yy401; - if (yych <= 'H') goto yy195; - goto yy402; + if (yych == 'F') goto yy347; + if (yych <= 'H') goto yy157; + goto yy348; } else { if (yych <= 'O') { - if (yych <= 'N') goto yy195; - goto yy396; + if (yych <= 'N') goto yy157; + goto yy342; } else { - if (yych <= 'Q') goto yy195; - if (yych <= 'R') goto yy399; - goto yy398; + if (yych <= 'Q') goto yy157; + if (yych <= 'R') goto yy345; + goto yy344; } } } } else { if (yych <= 'f') { if (yych <= 'a') { - if (yych == 'U') goto yy394; - if (yych <= '`') goto yy195; - goto yy397; + if (yych == 'U') goto yy340; + if (yych <= '`') goto yy157; + goto yy343; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy395; - goto yy195; + if (yych <= 'b') goto yy341; + goto yy157; } else { - if (yych <= 'd') goto yy400; - if (yych <= 'e') goto yy195; - goto yy401; + if (yych <= 'd') goto yy346; + if (yych <= 'e') goto yy157; + goto yy347; } } } else { if (yych <= 'q') { if (yych <= 'i') { - if (yych <= 'h') goto yy195; - goto yy402; + if (yych <= 'h') goto yy157; + goto yy348; } else { - if (yych == 'o') goto yy396; - goto yy195; + if (yych == 'o') goto yy342; + goto yy157; } } else { if (yych <= 's') { - if (yych <= 'r') goto yy399; - goto yy398; + if (yych <= 'r') goto yy345; + goto yy344; } else { - if (yych != 'u') goto yy195; + if (yych != 'u') goto yy157; } } } } -yy394: - YYDEBUG(394, *YYCURSOR); +yy340: + YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy461; - if (yych == 'n') goto yy461; - goto yy195; -yy395: - YYDEBUG(395, *YYCURSOR); + if (yych == 'N') goto yy407; + if (yych == 'n') goto yy407; + goto yy157; +yy341: + YYDEBUG(341, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy448; - if (yych <= 'N') goto yy195; - goto yy449; + if (yych == 'I') goto yy394; + if (yych <= 'N') goto yy157; + goto yy395; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy195; - goto yy448; + if (yych <= 'h') goto yy157; + goto yy394; } else { - if (yych == 'o') goto yy449; - goto yy195; + if (yych == 'o') goto yy395; + goto yy157; } } -yy396: - YYDEBUG(396, *YYCURSOR); +yy342: + YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy440; - if (yych == 'b') goto yy440; - goto yy195; -yy397: - YYDEBUG(397, *YYCURSOR); + if (yych == 'B') goto yy386; + if (yych == 'b') goto yy386; + goto yy157; +yy343: + YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy433; - if (yych == 'r') goto yy433; - goto yy195; -yy398: - YYDEBUG(398, *YYCURSOR); + if (yych == 'R') goto yy379; + if (yych == 'r') goto yy379; + goto yy157; +yy344: + YYDEBUG(344, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy425; - if (yych == 't') goto yy425; - goto yy195; -yy399: - YYDEBUG(399, *YYCURSOR); + if (yych == 'T') goto yy371; + if (yych == 't') goto yy371; + goto yy157; +yy345: + YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy423; - if (yych == 'e') goto yy423; - goto yy195; -yy400: - YYDEBUG(400, *YYCURSOR); + if (yych == 'E') goto yy369; + if (yych == 'e') goto yy369; + goto yy157; +yy346: + YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy419; - if (yych == 'o') goto yy419; - goto yy195; -yy401: - YYDEBUG(401, *YYCURSOR); + if (yych == 'O') goto yy365; + if (yych == 'o') goto yy365; + goto yy157; +yy347: + YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; - goto yy195; -yy402: - YYDEBUG(402, *YYCURSOR); + if (yych == 'L') goto yy358; + if (yych == 'l') goto yy358; + goto yy157; +yy348: + YYDEBUG(348, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy403; - if (yych != 'n') goto yy195; -yy403: - YYDEBUG(403, *YYCURSOR); + if (yych == 'N') goto yy349; + if (yych != 'n') goto yy157; +yy349: + YYDEBUG(349, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy404; - if (yych != 't') goto yy195; -yy404: - YYDEBUG(404, *YYCURSOR); + if (yych == 'T') goto yy350; + if (yych != 't') goto yy157; +yy350: + YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy405; - if (yych != 'e') goto yy407; -yy405: - YYDEBUG(405, *YYCURSOR); + if (yych == 'E') goto yy351; + if (yych != 'e') goto yy353; +yy351: + YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy410; - if (yych == 'g') goto yy410; - goto yy195; -yy406: - YYDEBUG(406, *YYCURSOR); + if (yych == 'G') goto yy356; + if (yych == 'g') goto yy356; + goto yy157; +yy352: + YYDEBUG(352, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy407: - YYDEBUG(407, *YYCURSOR); +yy353: + YYDEBUG(353, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy406; - goto yy195; + if (yych == '\t') goto yy352; + goto yy157; } else { - if (yych <= ' ') goto yy406; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy352; + if (yych != ')') goto yy157; } - YYDEBUG(408, *YYCURSOR); + YYDEBUG(354, *YYCURSOR); ++YYCURSOR; - YYDEBUG(409, *YYCURSOR); + YYDEBUG(355, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1221 "Zend/zend_language_scanner.l" +#line 1219 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4673 "Zend/zend_language_scanner.c" -yy410: - YYDEBUG(410, *YYCURSOR); +#line 4249 "Zend/zend_language_scanner.c" +yy356: + YYDEBUG(356, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy411; - if (yych != 'e') goto yy195; -yy411: - YYDEBUG(411, *YYCURSOR); + if (yych == 'E') goto yy357; + if (yych != 'e') goto yy157; +yy357: + YYDEBUG(357, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy406; - if (yych == 'r') goto yy406; - goto yy195; -yy412: - YYDEBUG(412, *YYCURSOR); + if (yych == 'R') goto yy352; + if (yych == 'r') goto yy352; + goto yy157; +yy358: + YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy413; - if (yych != 'o') goto yy195; -yy413: - YYDEBUG(413, *YYCURSOR); + if (yych == 'O') goto yy359; + if (yych != 'o') goto yy157; +yy359: + YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy414; - if (yych != 'a') goto yy195; -yy414: - YYDEBUG(414, *YYCURSOR); + if (yych == 'A') goto yy360; + if (yych != 'a') goto yy157; +yy360: + YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy415; - if (yych != 't') goto yy195; -yy415: - YYDEBUG(415, *YYCURSOR); + if (yych == 'T') goto yy361; + if (yych != 't') goto yy157; +yy361: + YYDEBUG(361, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(416, *YYCURSOR); + YYDEBUG(362, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy415; - goto yy195; + if (yych == '\t') goto yy361; + goto yy157; } else { - if (yych <= ' ') goto yy415; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy361; + if (yych != ')') goto yy157; } - YYDEBUG(417, *YYCURSOR); + YYDEBUG(363, *YYCURSOR); ++YYCURSOR; - YYDEBUG(418, *YYCURSOR); + YYDEBUG(364, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1225 "Zend/zend_language_scanner.l" +#line 1223 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4721 "Zend/zend_language_scanner.c" -yy419: - YYDEBUG(419, *YYCURSOR); +#line 4297 "Zend/zend_language_scanner.c" +yy365: + YYDEBUG(365, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy420; - if (yych != 'u') goto yy195; -yy420: - YYDEBUG(420, *YYCURSOR); + if (yych == 'U') goto yy366; + if (yych != 'u') goto yy157; +yy366: + YYDEBUG(366, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy421; - if (yych != 'b') goto yy195; -yy421: - YYDEBUG(421, *YYCURSOR); + if (yych == 'B') goto yy367; + if (yych != 'b') goto yy157; +yy367: + YYDEBUG(367, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy422; - if (yych != 'l') goto yy195; -yy422: - YYDEBUG(422, *YYCURSOR); + if (yych == 'L') goto yy368; + if (yych != 'l') goto yy157; +yy368: + YYDEBUG(368, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy415; - if (yych == 'e') goto yy415; - goto yy195; -yy423: - YYDEBUG(423, *YYCURSOR); + if (yych == 'E') goto yy361; + if (yych == 'e') goto yy361; + goto yy157; +yy369: + YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy424; - if (yych != 'a') goto yy195; -yy424: - YYDEBUG(424, *YYCURSOR); + if (yych == 'A') goto yy370; + if (yych != 'a') goto yy157; +yy370: + YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy415; - if (yych == 'l') goto yy415; - goto yy195; -yy425: - YYDEBUG(425, *YYCURSOR); + if (yych == 'L') goto yy361; + if (yych == 'l') goto yy361; + goto yy157; +yy371: + YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy426; - if (yych != 'r') goto yy195; -yy426: - YYDEBUG(426, *YYCURSOR); + if (yych == 'R') goto yy372; + if (yych != 'r') goto yy157; +yy372: + YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy427; - if (yych != 'i') goto yy195; -yy427: - YYDEBUG(427, *YYCURSOR); + if (yych == 'I') goto yy373; + if (yych != 'i') goto yy157; +yy373: + YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy428; - if (yych != 'n') goto yy195; -yy428: - YYDEBUG(428, *YYCURSOR); + if (yych == 'N') goto yy374; + if (yych != 'n') goto yy157; +yy374: + YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy429; - if (yych != 'g') goto yy195; -yy429: - YYDEBUG(429, *YYCURSOR); + if (yych == 'G') goto yy375; + if (yych != 'g') goto yy157; +yy375: + YYDEBUG(375, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(430, *YYCURSOR); + YYDEBUG(376, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy429; - goto yy195; + if (yych == '\t') goto yy375; + goto yy157; } else { - if (yych <= ' ') goto yy429; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy375; + if (yych != ')') goto yy157; } - YYDEBUG(431, *YYCURSOR); + YYDEBUG(377, *YYCURSOR); ++YYCURSOR; - YYDEBUG(432, *YYCURSOR); + YYDEBUG(378, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1229 "Zend/zend_language_scanner.l" +#line 1227 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4795 "Zend/zend_language_scanner.c" -yy433: - YYDEBUG(433, *YYCURSOR); +#line 4371 "Zend/zend_language_scanner.c" +yy379: + YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy434; - if (yych != 'r') goto yy195; -yy434: - YYDEBUG(434, *YYCURSOR); + if (yych == 'R') goto yy380; + if (yych != 'r') goto yy157; +yy380: + YYDEBUG(380, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy435; - if (yych != 'a') goto yy195; -yy435: - YYDEBUG(435, *YYCURSOR); + if (yych == 'A') goto yy381; + if (yych != 'a') goto yy157; +yy381: + YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy436; - if (yych != 'y') goto yy195; -yy436: - YYDEBUG(436, *YYCURSOR); + if (yych == 'Y') goto yy382; + if (yych != 'y') goto yy157; +yy382: + YYDEBUG(382, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(437, *YYCURSOR); + YYDEBUG(383, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy436; - goto yy195; + if (yych == '\t') goto yy382; + goto yy157; } else { - if (yych <= ' ') goto yy436; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy382; + if (yych != ')') goto yy157; } - YYDEBUG(438, *YYCURSOR); + YYDEBUG(384, *YYCURSOR); ++YYCURSOR; - YYDEBUG(439, *YYCURSOR); + YYDEBUG(385, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1233 "Zend/zend_language_scanner.l" +#line 1231 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4832 "Zend/zend_language_scanner.c" -yy440: - YYDEBUG(440, *YYCURSOR); +#line 4408 "Zend/zend_language_scanner.c" +yy386: + YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy441; - if (yych != 'j') goto yy195; -yy441: - YYDEBUG(441, *YYCURSOR); + if (yych == 'J') goto yy387; + if (yych != 'j') goto yy157; +yy387: + YYDEBUG(387, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy442; - if (yych != 'e') goto yy195; -yy442: - YYDEBUG(442, *YYCURSOR); + if (yych == 'E') goto yy388; + if (yych != 'e') goto yy157; +yy388: + YYDEBUG(388, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy443; - if (yych != 'c') goto yy195; -yy443: - YYDEBUG(443, *YYCURSOR); + if (yych == 'C') goto yy389; + if (yych != 'c') goto yy157; +yy389: + YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy444; - if (yych != 't') goto yy195; -yy444: - YYDEBUG(444, *YYCURSOR); + if (yych == 'T') goto yy390; + if (yych != 't') goto yy157; +yy390: + YYDEBUG(390, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(445, *YYCURSOR); + YYDEBUG(391, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy444; - goto yy195; + if (yych == '\t') goto yy390; + goto yy157; } else { - if (yych <= ' ') goto yy444; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy390; + if (yych != ')') goto yy157; } - YYDEBUG(446, *YYCURSOR); + YYDEBUG(392, *YYCURSOR); ++YYCURSOR; - YYDEBUG(447, *YYCURSOR); + YYDEBUG(393, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1237 "Zend/zend_language_scanner.l" +#line 1235 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4874 "Zend/zend_language_scanner.c" -yy448: - YYDEBUG(448, *YYCURSOR); +#line 4450 "Zend/zend_language_scanner.c" +yy394: + YYDEBUG(394, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy458; - if (yych == 'n') goto yy458; - goto yy195; -yy449: - YYDEBUG(449, *YYCURSOR); + if (yych == 'N') goto yy404; + if (yych == 'n') goto yy404; + goto yy157; +yy395: + YYDEBUG(395, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy450; - if (yych != 'o') goto yy195; -yy450: - YYDEBUG(450, *YYCURSOR); + if (yych == 'O') goto yy396; + if (yych != 'o') goto yy157; +yy396: + YYDEBUG(396, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy451; - if (yych != 'l') goto yy195; -yy451: - YYDEBUG(451, *YYCURSOR); + if (yych == 'L') goto yy397; + if (yych != 'l') goto yy157; +yy397: + YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy456; - if (yych == 'e') goto yy456; - goto yy453; -yy452: - YYDEBUG(452, *YYCURSOR); + if (yych == 'E') goto yy402; + if (yych == 'e') goto yy402; + goto yy399; +yy398: + YYDEBUG(398, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy453: - YYDEBUG(453, *YYCURSOR); +yy399: + YYDEBUG(399, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy452; - goto yy195; + if (yych == '\t') goto yy398; + goto yy157; } else { - if (yych <= ' ') goto yy452; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy398; + if (yych != ')') goto yy157; } - YYDEBUG(454, *YYCURSOR); + YYDEBUG(400, *YYCURSOR); ++YYCURSOR; - YYDEBUG(455, *YYCURSOR); + YYDEBUG(401, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1241 "Zend/zend_language_scanner.l" +#line 1239 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4919 "Zend/zend_language_scanner.c" -yy456: - YYDEBUG(456, *YYCURSOR); +#line 4495 "Zend/zend_language_scanner.c" +yy402: + YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy457; - if (yych != 'a') goto yy195; -yy457: - YYDEBUG(457, *YYCURSOR); + if (yych == 'A') goto yy403; + if (yych != 'a') goto yy157; +yy403: + YYDEBUG(403, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy452; - if (yych == 'n') goto yy452; - goto yy195; -yy458: - YYDEBUG(458, *YYCURSOR); + if (yych == 'N') goto yy398; + if (yych == 'n') goto yy398; + goto yy157; +yy404: + YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy459; - if (yych != 'a') goto yy195; -yy459: - YYDEBUG(459, *YYCURSOR); + if (yych == 'A') goto yy405; + if (yych != 'a') goto yy157; +yy405: + YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy460; - if (yych != 'r') goto yy195; -yy460: - YYDEBUG(460, *YYCURSOR); + if (yych == 'R') goto yy406; + if (yych != 'r') goto yy157; +yy406: + YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy429; - if (yych == 'y') goto yy429; - goto yy195; -yy461: - YYDEBUG(461, *YYCURSOR); + if (yych == 'Y') goto yy375; + if (yych == 'y') goto yy375; + goto yy157; +yy407: + YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy462; - if (yych != 's') goto yy195; -yy462: - YYDEBUG(462, *YYCURSOR); + if (yych == 'S') goto yy408; + if (yych != 's') goto yy157; +yy408: + YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy463; - if (yych != 'e') goto yy195; -yy463: - YYDEBUG(463, *YYCURSOR); + if (yych == 'E') goto yy409; + if (yych != 'e') goto yy157; +yy409: + YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy464; - if (yych != 't') goto yy195; -yy464: - YYDEBUG(464, *YYCURSOR); + if (yych == 'T') goto yy410; + if (yych != 't') goto yy157; +yy410: + YYDEBUG(410, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(465, *YYCURSOR); + YYDEBUG(411, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy464; - goto yy195; + if (yych == '\t') goto yy410; + goto yy157; } else { - if (yych <= ' ') goto yy464; - if (yych != ')') goto yy195; + if (yych <= ' ') goto yy410; + if (yych != ')') goto yy157; } - YYDEBUG(466, *YYCURSOR); + YYDEBUG(412, *YYCURSOR); ++YYCURSOR; - YYDEBUG(467, *YYCURSOR); + YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1245 "Zend/zend_language_scanner.l" +#line 1243 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4983 "Zend/zend_language_scanner.c" -yy468: - YYDEBUG(468, *YYCURSOR); +#line 4559 "Zend/zend_language_scanner.c" +yy414: + YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy469; - if (yych != 'r') goto yy188; -yy469: - YYDEBUG(469, *YYCURSOR); + if (yych == 'R') goto yy415; + if (yych != 'r') goto yy150; +yy415: + YYDEBUG(415, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(470, *YYCURSOR); + YYDEBUG(416, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1217 "Zend/zend_language_scanner.l" +#line 1215 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 5001 "Zend/zend_language_scanner.c" -yy471: - YYDEBUG(471, *YYCURSOR); +#line 4577 "Zend/zend_language_scanner.c" +yy417: + YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy475; - if (yych == 'm') goto yy475; - goto yy188; -yy472: - YYDEBUG(472, *YYCURSOR); + if (yych == 'M') goto yy421; + if (yych == 'm') goto yy421; + goto yy150; +yy418: + YYDEBUG(418, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy473; - if (yych != 'w') goto yy188; -yy473: - YYDEBUG(473, *YYCURSOR); + if (yych == 'W') goto yy419; + if (yych != 'w') goto yy150; +yy419: + YYDEBUG(419, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(474, *YYCURSOR); + YYDEBUG(420, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1209 "Zend/zend_language_scanner.l" +#line 1207 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 5025 "Zend/zend_language_scanner.c" -yy475: - YYDEBUG(475, *YYCURSOR); +#line 4601 "Zend/zend_language_scanner.c" +yy421: + YYDEBUG(421, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy476; - if (yych != 'e') goto yy188; -yy476: - YYDEBUG(476, *YYCURSOR); + if (yych == 'E') goto yy422; + if (yych != 'e') goto yy150; +yy422: + YYDEBUG(422, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy477; - if (yych != 's') goto yy188; -yy477: - YYDEBUG(477, *YYCURSOR); + if (yych == 'S') goto yy423; + if (yych != 's') goto yy150; +yy423: + YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy478; - if (yych != 'p') goto yy188; -yy478: - YYDEBUG(478, *YYCURSOR); + if (yych == 'P') goto yy424; + if (yych != 'p') goto yy150; +yy424: + YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy479; - if (yych != 'a') goto yy188; -yy479: - YYDEBUG(479, *YYCURSOR); + if (yych == 'A') goto yy425; + if (yych != 'a') goto yy150; +yy425: + YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy480; - if (yych != 'c') goto yy188; -yy480: - YYDEBUG(480, *YYCURSOR); + if (yych == 'C') goto yy426; + if (yych != 'c') goto yy150; +yy426: + YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy481; - if (yych != 'e') goto yy188; -yy481: - YYDEBUG(481, *YYCURSOR); + if (yych == 'E') goto yy427; + if (yych != 'e') goto yy150; +yy427: + YYDEBUG(427, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(482, *YYCURSOR); + YYDEBUG(428, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1269 "Zend/zend_language_scanner.l" +#line 1267 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 5068 "Zend/zend_language_scanner.c" -yy483: - YYDEBUG(483, *YYCURSOR); +#line 4644 "Zend/zend_language_scanner.c" +yy429: + YYDEBUG(429, *YYCURSOR); ++YYCURSOR; - YYDEBUG(484, *YYCURSOR); + if ((yych = *YYCURSOR) == '\n') goto yy433; + if (yych == '\r') goto yy434; +yy430: + YYDEBUG(430, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1787 "Zend/zend_language_scanner.l" + { + BEGIN(INITIAL); + return T_CLOSE_TAG; /* implicit ';' at php-end tag */ +} +#line 4658 "Zend/zend_language_scanner.c" +yy431: + YYDEBUG(431, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(432, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1205 "Zend/zend_language_scanner.l" +#line 1203 "Zend/zend_language_scanner.l" { return T_COALESCE; } -#line 5078 "Zend/zend_language_scanner.c" -yy485: - YYDEBUG(485, *YYCURSOR); +#line 4668 "Zend/zend_language_scanner.c" +yy433: + YYDEBUG(433, *YYCURSOR); + yych = *++YYCURSOR; + goto yy430; +yy434: + YYDEBUG(434, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy433; + goto yy430; +yy435: + YYDEBUG(435, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(486, *YYCURSOR); + YYDEBUG(436, *YYCURSOR); if (yych <= 'D') { - if (yych <= '/') goto yy191; - if (yych <= '9') goto yy485; - goto yy191; + if (yych <= '/') goto yy153; + if (yych <= '9') goto yy435; + goto yy153; } else { - if (yych <= 'E') goto yy194; - if (yych == 'e') goto yy194; - goto yy191; + if (yych <= 'E') goto yy156; + if (yych == 'e') goto yy156; + goto yy153; } -yy487: - YYDEBUG(487, *YYCURSOR); +yy437: + YYDEBUG(437, *YYCURSOR); ++YYCURSOR; - YYDEBUG(488, *YYCURSOR); + YYDEBUG(438, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1397 "Zend/zend_language_scanner.l" +#line 1395 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 5104 "Zend/zend_language_scanner.c" -yy489: - YYDEBUG(489, *YYCURSOR); +#line 4703 "Zend/zend_language_scanner.c" +yy439: + YYDEBUG(439, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '.') goto yy195; - YYDEBUG(490, *YYCURSOR); + if (yych != '.') goto yy157; + YYDEBUG(440, *YYCURSOR); ++YYCURSOR; - YYDEBUG(491, *YYCURSOR); + YYDEBUG(441, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1201 "Zend/zend_language_scanner.l" +#line 1199 "Zend/zend_language_scanner.l" { return T_ELLIPSIS; } -#line 5117 "Zend/zend_language_scanner.c" -yy492: - YYDEBUG(492, *YYCURSOR); +#line 4716 "Zend/zend_language_scanner.c" +yy442: + YYDEBUG(442, *YYCURSOR); ++YYCURSOR; - YYDEBUG(493, *YYCURSOR); + YYDEBUG(443, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1193 "Zend/zend_language_scanner.l" +#line 1191 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 5127 "Zend/zend_language_scanner.c" -yy494: - YYDEBUG(494, *YYCURSOR); +#line 4726 "Zend/zend_language_scanner.c" +yy444: + YYDEBUG(444, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy495: - YYDEBUG(495, *YYCURSOR); +yy445: + YYDEBUG(445, *YYCURSOR); if (yych <= '\f') { - if (yych <= 0x08) goto yy142; - if (yych <= '\n') goto yy494; - goto yy142; + if (yych <= 0x08) goto yy104; + if (yych <= '\n') goto yy444; + goto yy104; } else { - if (yych <= '\r') goto yy494; - if (yych == ' ') goto yy494; - goto yy142; + if (yych <= '\r') goto yy444; + if (yych == ' ') goto yy444; + goto yy104; } -yy496: - YYDEBUG(496, *YYCURSOR); +yy446: + YYDEBUG(446, *YYCURSOR); ++YYCURSOR; - YYDEBUG(497, *YYCURSOR); + YYDEBUG(447, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1377 "Zend/zend_language_scanner.l" +#line 1375 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 5153 "Zend/zend_language_scanner.c" -yy498: - YYDEBUG(498, *YYCURSOR); +#line 4752 "Zend/zend_language_scanner.c" +yy448: + YYDEBUG(448, *YYCURSOR); ++YYCURSOR; - YYDEBUG(499, *YYCURSOR); + YYDEBUG(449, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1345 "Zend/zend_language_scanner.l" +#line 1343 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5163 "Zend/zend_language_scanner.c" -yy500: - YYDEBUG(500, *YYCURSOR); +#line 4762 "Zend/zend_language_scanner.c" +yy450: + YYDEBUG(450, *YYCURSOR); ++YYCURSOR; - YYDEBUG(501, *YYCURSOR); + YYDEBUG(451, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1167 "Zend/zend_language_scanner.l" +#line 1165 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5174 "Zend/zend_language_scanner.c" -yy502: - YYDEBUG(502, *YYCURSOR); +#line 4773 "Zend/zend_language_scanner.c" +yy452: + YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy509; - if (yych <= 'N') goto yy188; - goto yy510; + if (yych == 'I') goto yy459; + if (yych <= 'N') goto yy150; + goto yy460; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy188; - goto yy509; + if (yych <= 'h') goto yy150; + goto yy459; } else { - if (yych == 'o') goto yy510; - goto yy188; + if (yych == 'o') goto yy460; + goto yy150; } } -yy503: - YYDEBUG(503, *YYCURSOR); +yy453: + YYDEBUG(453, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy504; - if (yych != 'b') goto yy188; -yy504: - YYDEBUG(504, *YYCURSOR); + if (yych == 'B') goto yy454; + if (yych != 'b') goto yy150; +yy454: + YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy505; - if (yych != 'l') goto yy188; -yy505: - YYDEBUG(505, *YYCURSOR); + if (yych == 'L') goto yy455; + if (yych != 'l') goto yy150; +yy455: + YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy506; - if (yych != 'i') goto yy188; -yy506: - YYDEBUG(506, *YYCURSOR); + if (yych == 'I') goto yy456; + if (yych != 'i') goto yy150; +yy456: + YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy507; - if (yych != 'c') goto yy188; -yy507: - YYDEBUG(507, *YYCURSOR); + if (yych == 'C') goto yy457; + if (yych != 'c') goto yy150; +yy457: + YYDEBUG(457, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(508, *YYCURSOR); + YYDEBUG(458, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1317 "Zend/zend_language_scanner.l" +#line 1315 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 5223 "Zend/zend_language_scanner.c" -yy509: - YYDEBUG(509, *YYCURSOR); +#line 4822 "Zend/zend_language_scanner.c" +yy459: + YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { - if (yych == 'N') goto yy518; - if (yych <= 'U') goto yy188; - goto yy519; + if (yych == 'N') goto yy468; + if (yych <= 'U') goto yy150; + goto yy469; } else { if (yych <= 'n') { - if (yych <= 'm') goto yy188; - goto yy518; + if (yych <= 'm') goto yy150; + goto yy468; } else { - if (yych == 'v') goto yy519; - goto yy188; + if (yych == 'v') goto yy469; + goto yy150; } } -yy510: - YYDEBUG(510, *YYCURSOR); +yy460: + YYDEBUG(460, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy511; - if (yych != 't') goto yy188; -yy511: - YYDEBUG(511, *YYCURSOR); + if (yych == 'T') goto yy461; + if (yych != 't') goto yy150; +yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy512; - if (yych != 'e') goto yy188; -yy512: - YYDEBUG(512, *YYCURSOR); + if (yych == 'E') goto yy462; + if (yych != 'e') goto yy150; +yy462: + YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy513; - if (yych != 'c') goto yy188; -yy513: - YYDEBUG(513, *YYCURSOR); + if (yych == 'C') goto yy463; + if (yych != 'c') goto yy150; +yy463: + YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy514; - if (yych != 't') goto yy188; -yy514: - YYDEBUG(514, *YYCURSOR); + if (yych == 'T') goto yy464; + if (yych != 't') goto yy150; +yy464: + YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy515; - if (yych != 'e') goto yy188; -yy515: - YYDEBUG(515, *YYCURSOR); + if (yych == 'E') goto yy465; + if (yych != 'e') goto yy150; +yy465: + YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy516; - if (yych != 'd') goto yy188; -yy516: - YYDEBUG(516, *YYCURSOR); + if (yych == 'D') goto yy466; + if (yych != 'd') goto yy150; +yy466: + YYDEBUG(466, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(517, *YYCURSOR); + YYDEBUG(467, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1313 "Zend/zend_language_scanner.l" +#line 1311 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5282 "Zend/zend_language_scanner.c" -yy518: - YYDEBUG(518, *YYCURSOR); +#line 4881 "Zend/zend_language_scanner.c" +yy468: + YYDEBUG(468, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy524; - if (yych == 't') goto yy524; - goto yy188; -yy519: - YYDEBUG(519, *YYCURSOR); + if (yych == 'T') goto yy474; + if (yych == 't') goto yy474; + goto yy150; +yy469: + YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy520; - if (yych != 'a') goto yy188; -yy520: - YYDEBUG(520, *YYCURSOR); + if (yych == 'A') goto yy470; + if (yych != 'a') goto yy150; +yy470: + YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy521; - if (yych != 't') goto yy188; -yy521: - YYDEBUG(521, *YYCURSOR); + if (yych == 'T') goto yy471; + if (yych != 't') goto yy150; +yy471: + YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy522; - if (yych != 'e') goto yy188; -yy522: - YYDEBUG(522, *YYCURSOR); + if (yych == 'E') goto yy472; + if (yych != 'e') goto yy150; +yy472: + YYDEBUG(472, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(523, *YYCURSOR); + YYDEBUG(473, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1309 "Zend/zend_language_scanner.l" +#line 1307 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5316 "Zend/zend_language_scanner.c" -yy524: - YYDEBUG(524, *YYCURSOR); +#line 4915 "Zend/zend_language_scanner.c" +yy474: + YYDEBUG(474, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(525, *YYCURSOR); + YYDEBUG(475, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1143 "Zend/zend_language_scanner.l" +#line 1141 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5329 "Zend/zend_language_scanner.c" -yy526: - YYDEBUG(526, *YYCURSOR); +#line 4928 "Zend/zend_language_scanner.c" +yy476: + YYDEBUG(476, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy531; - if (yych == 'o') goto yy531; - goto yy188; -yy527: - YYDEBUG(527, *YYCURSOR); + if (yych == 'O') goto yy481; + if (yych == 'o') goto yy481; + goto yy150; +yy477: + YYDEBUG(477, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy528; - if (yych != 't') goto yy188; -yy528: - YYDEBUG(528, *YYCURSOR); + if (yych == 'T') goto yy478; + if (yych != 't') goto yy150; +yy478: + YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy529; - if (yych != 'o') goto yy188; -yy529: - YYDEBUG(529, *YYCURSOR); + if (yych == 'O') goto yy479; + if (yych != 'o') goto yy150; +yy479: + YYDEBUG(479, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(530, *YYCURSOR); + YYDEBUG(480, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1135 "Zend/zend_language_scanner.l" +#line 1133 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5358 "Zend/zend_language_scanner.c" -yy531: - YYDEBUG(531, *YYCURSOR); +#line 4957 "Zend/zend_language_scanner.c" +yy481: + YYDEBUG(481, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy532; - if (yych != 'b') goto yy188; -yy532: - YYDEBUG(532, *YYCURSOR); + if (yych == 'B') goto yy482; + if (yych != 'b') goto yy150; +yy482: + YYDEBUG(482, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy533; - if (yych != 'a') goto yy188; -yy533: - YYDEBUG(533, *YYCURSOR); + if (yych == 'A') goto yy483; + if (yych != 'a') goto yy150; +yy483: + YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy534; - if (yych != 'l') goto yy188; -yy534: - YYDEBUG(534, *YYCURSOR); + if (yych == 'L') goto yy484; + if (yych != 'l') goto yy150; +yy484: + YYDEBUG(484, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(535, *YYCURSOR); + YYDEBUG(485, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1281 "Zend/zend_language_scanner.l" +#line 1279 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5386 "Zend/zend_language_scanner.c" -yy536: - YYDEBUG(536, *YYCURSOR); +#line 4985 "Zend/zend_language_scanner.c" +yy486: + YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy544; - goto yy195; -yy537: - YYDEBUG(537, *YYCURSOR); + if (yych == '<') goto yy494; + goto yy157; +yy487: + YYDEBUG(487, *YYCURSOR); yych = *++YYCURSOR; - goto yy182; -yy538: - YYDEBUG(538, *YYCURSOR); + goto yy144; +yy488: + YYDEBUG(488, *YYCURSOR); yych = *++YYCURSOR; - goto yy180; -yy539: - YYDEBUG(539, *YYCURSOR); + goto yy142; +yy489: + YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy540; - if (yych != 'e') goto yy188; -yy540: - YYDEBUG(540, *YYCURSOR); + if (yych == 'E') goto yy490; + if (yych != 'e') goto yy150; +yy490: + YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy541; - if (yych != 'a') goto yy188; -yy541: - YYDEBUG(541, *YYCURSOR); + if (yych == 'A') goto yy491; + if (yych != 'a') goto yy150; +yy491: + YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy542; - if (yych != 'k') goto yy188; -yy542: - YYDEBUG(542, *YYCURSOR); + if (yych == 'K') goto yy492; + if (yych != 'k') goto yy150; +yy492: + YYDEBUG(492, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(543, *YYCURSOR); + YYDEBUG(493, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1127 "Zend/zend_language_scanner.l" +#line 1125 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5427 "Zend/zend_language_scanner.c" -yy544: - YYDEBUG(544, *YYCURSOR); +#line 5026 "Zend/zend_language_scanner.c" +yy494: + YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy271; - goto yy195; -yy545: - YYDEBUG(545, *YYCURSOR); + if (yych == '<') goto yy217; + goto yy157; +yy495: + YYDEBUG(495, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy552; - if (yych == 'a') goto yy552; - goto yy188; -yy546: - YYDEBUG(546, *YYCURSOR); + if (yych == 'A') goto yy502; + if (yych == 'a') goto yy502; + goto yy150; +yy496: + YYDEBUG(496, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy547; - if (yych != 'i') goto yy188; -yy547: - YYDEBUG(547, *YYCURSOR); + if (yych == 'I') goto yy497; + if (yych != 'i') goto yy150; +yy497: + YYDEBUG(497, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy548; - if (yych != 't') goto yy188; -yy548: - YYDEBUG(548, *YYCURSOR); + if (yych == 'T') goto yy498; + if (yych != 't') goto yy150; +yy498: + YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy549; - if (yych != 'c') goto yy188; -yy549: - YYDEBUG(549, *YYCURSOR); + if (yych == 'C') goto yy499; + if (yych != 'c') goto yy150; +yy499: + YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy550; - if (yych != 'h') goto yy188; -yy550: - YYDEBUG(550, *YYCURSOR); + if (yych == 'H') goto yy500; + if (yych != 'h') goto yy150; +yy500: + YYDEBUG(500, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(551, *YYCURSOR); + YYDEBUG(501, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1111 "Zend/zend_language_scanner.l" +#line 1109 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5471 "Zend/zend_language_scanner.c" -yy552: - YYDEBUG(552, *YYCURSOR); +#line 5070 "Zend/zend_language_scanner.c" +yy502: + YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy553; - if (yych != 't') goto yy188; -yy553: - YYDEBUG(553, *YYCURSOR); + if (yych == 'T') goto yy503; + if (yych != 't') goto yy150; +yy503: + YYDEBUG(503, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy554; - if (yych != 'i') goto yy188; -yy554: - YYDEBUG(554, *YYCURSOR); + if (yych == 'I') goto yy504; + if (yych != 'i') goto yy150; +yy504: + YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy555; - if (yych != 'c') goto yy188; -yy555: - YYDEBUG(555, *YYCURSOR); + if (yych == 'C') goto yy505; + if (yych != 'c') goto yy150; +yy505: + YYDEBUG(505, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(556, *YYCURSOR); + YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1297 "Zend/zend_language_scanner.l" +#line 1295 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5499 "Zend/zend_language_scanner.c" -yy557: - YYDEBUG(557, *YYCURSOR); +#line 5098 "Zend/zend_language_scanner.c" +yy507: + YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy568; - if (yych == 's') goto yy568; - goto yy188; -yy558: - YYDEBUG(558, *YYCURSOR); + if (yych == 'S') goto yy518; + if (yych == 's') goto yy518; + goto yy150; +yy508: + YYDEBUG(508, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy566; - if (yych == 'd') goto yy566; - goto yy188; -yy559: - YYDEBUG(559, *YYCURSOR); + if (yych == 'D') goto yy516; + if (yych == 'd') goto yy516; + goto yy150; +yy509: + YYDEBUG(509, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy562; - if (yych == 'r') goto yy562; - goto yy188; -yy560: - YYDEBUG(560, *YYCURSOR); + if (yych == 'R') goto yy512; + if (yych == 'r') goto yy512; + goto yy150; +yy510: + YYDEBUG(510, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(561, *YYCURSOR); + YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1107 "Zend/zend_language_scanner.l" +#line 1105 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5530 "Zend/zend_language_scanner.c" -yy562: - YYDEBUG(562, *YYCURSOR); +#line 5129 "Zend/zend_language_scanner.c" +yy512: + YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy563; - if (yych != 'a') goto yy188; -yy563: - YYDEBUG(563, *YYCURSOR); + if (yych == 'A') goto yy513; + if (yych != 'a') goto yy150; +yy513: + YYDEBUG(513, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy564; - if (yych != 'y') goto yy188; -yy564: - YYDEBUG(564, *YYCURSOR); + if (yych == 'Y') goto yy514; + if (yych != 'y') goto yy150; +yy514: + YYDEBUG(514, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(565, *YYCURSOR); + YYDEBUG(515, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1333 "Zend/zend_language_scanner.l" +#line 1331 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5553 "Zend/zend_language_scanner.c" -yy566: - YYDEBUG(566, *YYCURSOR); +#line 5152 "Zend/zend_language_scanner.c" +yy516: + YYDEBUG(516, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(567, *YYCURSOR); + YYDEBUG(517, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1437 "Zend/zend_language_scanner.l" +#line 1435 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5566 "Zend/zend_language_scanner.c" -yy568: - YYDEBUG(568, *YYCURSOR); +#line 5165 "Zend/zend_language_scanner.c" +yy518: + YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy569; - if (yych != 't') goto yy188; -yy569: - YYDEBUG(569, *YYCURSOR); + if (yych == 'T') goto yy519; + if (yych != 't') goto yy150; +yy519: + YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy570; - if (yych != 'r') goto yy188; -yy570: - YYDEBUG(570, *YYCURSOR); + if (yych == 'R') goto yy520; + if (yych != 'r') goto yy150; +yy520: + YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy571; - if (yych != 'a') goto yy188; -yy571: - YYDEBUG(571, *YYCURSOR); + if (yych == 'A') goto yy521; + if (yych != 'a') goto yy150; +yy521: + YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy572; - if (yych != 'c') goto yy188; -yy572: - YYDEBUG(572, *YYCURSOR); + if (yych == 'C') goto yy522; + if (yych != 'c') goto yy150; +yy522: + YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy573; - if (yych != 't') goto yy188; -yy573: - YYDEBUG(573, *YYCURSOR); + if (yych == 'T') goto yy523; + if (yych != 't') goto yy150; +yy523: + YYDEBUG(523, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(574, *YYCURSOR); + YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1301 "Zend/zend_language_scanner.l" +#line 1299 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5604 "Zend/zend_language_scanner.c" -yy575: - YYDEBUG(575, *YYCURSOR); +#line 5203 "Zend/zend_language_scanner.c" +yy525: + YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy576; - if (yych != 'i') goto yy188; -yy576: - YYDEBUG(576, *YYCURSOR); + if (yych == 'I') goto yy526; + if (yych != 'i') goto yy150; +yy526: + YYDEBUG(526, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy577; - if (yych != 'l') goto yy188; -yy577: - YYDEBUG(577, *YYCURSOR); + if (yych == 'L') goto yy527; + if (yych != 'l') goto yy150; +yy527: + YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy578; - if (yych != 'e') goto yy188; -yy578: - YYDEBUG(578, *YYCURSOR); + if (yych == 'E') goto yy528; + if (yych != 'e') goto yy150; +yy528: + YYDEBUG(528, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(579, *YYCURSOR); + YYDEBUG(529, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1067 "Zend/zend_language_scanner.l" +#line 1065 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5632 "Zend/zend_language_scanner.c" -yy580: - YYDEBUG(580, *YYCURSOR); +#line 5231 "Zend/zend_language_scanner.c" +yy530: + YYDEBUG(530, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(581, *YYCURSOR); + YYDEBUG(531, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1051 "Zend/zend_language_scanner.l" +#line 1049 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5645 "Zend/zend_language_scanner.c" -yy582: - YYDEBUG(582, *YYCURSOR); +#line 5244 "Zend/zend_language_scanner.c" +yy532: + YYDEBUG(532, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy624; - if (yych == 'p') goto yy624; - goto yy188; -yy583: - YYDEBUG(583, *YYCURSOR); + if (yych == 'P') goto yy574; + if (yych == 'p') goto yy574; + goto yy150; +yy533: + YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'C') { - if (yych <= 'B') goto yy188; - goto yy591; + if (yych <= 'B') goto yy150; + goto yy541; } else { - if (yych <= 'R') goto yy188; - if (yych <= 'S') goto yy589; - goto yy590; + if (yych <= 'R') goto yy150; + if (yych <= 'S') goto yy539; + goto yy540; } } else { if (yych <= 'r') { - if (yych == 'c') goto yy591; - goto yy188; + if (yych == 'c') goto yy541; + goto yy150; } else { - if (yych <= 's') goto yy589; - if (yych <= 't') goto yy590; - goto yy188; + if (yych <= 's') goto yy539; + if (yych <= 't') goto yy540; + goto yy150; } } -yy584: - YYDEBUG(584, *YYCURSOR); +yy534: + YYDEBUG(534, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy585; - if (yych != 's') goto yy188; -yy585: - YYDEBUG(585, *YYCURSOR); + if (yych == 'S') goto yy535; + if (yych != 's') goto yy150; +yy535: + YYDEBUG(535, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy586; - if (yych != 'e') goto yy188; -yy586: - YYDEBUG(586, *YYCURSOR); + if (yych == 'E') goto yy536; + if (yych != 'e') goto yy150; +yy536: + YYDEBUG(536, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy587; - if (yych != 't') goto yy188; -yy587: - YYDEBUG(587, *YYCURSOR); + if (yych == 'T') goto yy537; + if (yych != 't') goto yy150; +yy537: + YYDEBUG(537, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(588, *YYCURSOR); + YYDEBUG(538, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1285 "Zend/zend_language_scanner.l" +#line 1283 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5701 "Zend/zend_language_scanner.c" -yy589: - YYDEBUG(589, *YYCURSOR); +#line 5300 "Zend/zend_language_scanner.c" +yy539: + YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy610; - if (yych == 't') goto yy610; - goto yy188; -yy590: - YYDEBUG(590, *YYCURSOR); + if (yych == 'T') goto yy560; + if (yych == 't') goto yy560; + goto yy150; +yy540: + YYDEBUG(540, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy603; - if (yych == 'e') goto yy603; - goto yy188; -yy591: - YYDEBUG(591, *YYCURSOR); + if (yych == 'E') goto yy553; + if (yych == 'e') goto yy553; + goto yy150; +yy541: + YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy592; - if (yych != 'l') goto yy188; -yy592: - YYDEBUG(592, *YYCURSOR); + if (yych == 'L') goto yy542; + if (yych != 'l') goto yy150; +yy542: + YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy593; - if (yych != 'u') goto yy188; -yy593: - YYDEBUG(593, *YYCURSOR); + if (yych == 'U') goto yy543; + if (yych != 'u') goto yy150; +yy543: + YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy594; - if (yych != 'd') goto yy188; -yy594: - YYDEBUG(594, *YYCURSOR); + if (yych == 'D') goto yy544; + if (yych != 'd') goto yy150; +yy544: + YYDEBUG(544, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy595; - if (yych != 'e') goto yy188; -yy595: - YYDEBUG(595, *YYCURSOR); + if (yych == 'E') goto yy545; + if (yych != 'e') goto yy150; +yy545: + YYDEBUG(545, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy187; + if (yych >= '0') goto yy149; } else { - if (yych <= '@') goto yy596; - if (yych <= 'Z') goto yy187; + if (yych <= '@') goto yy546; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { - if (yych <= '_') goto yy597; + if (yych <= '_') goto yy547; } else { - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy596: - YYDEBUG(596, *YYCURSOR); +yy546: + YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1253 "Zend/zend_language_scanner.l" +#line 1251 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5759 "Zend/zend_language_scanner.c" -yy597: - YYDEBUG(597, *YYCURSOR); +#line 5358 "Zend/zend_language_scanner.c" +yy547: + YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy598; - if (yych != 'o') goto yy188; -yy598: - YYDEBUG(598, *YYCURSOR); + if (yych == 'O') goto yy548; + if (yych != 'o') goto yy150; +yy548: + YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy599; - if (yych != 'n') goto yy188; -yy599: - YYDEBUG(599, *YYCURSOR); + if (yych == 'N') goto yy549; + if (yych != 'n') goto yy150; +yy549: + YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy600; - if (yych != 'c') goto yy188; -yy600: - YYDEBUG(600, *YYCURSOR); + if (yych == 'C') goto yy550; + if (yych != 'c') goto yy150; +yy550: + YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy601; - if (yych != 'e') goto yy188; -yy601: - YYDEBUG(601, *YYCURSOR); + if (yych == 'E') goto yy551; + if (yych != 'e') goto yy150; +yy551: + YYDEBUG(551, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(602, *YYCURSOR); + YYDEBUG(552, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1257 "Zend/zend_language_scanner.l" +#line 1255 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5792 "Zend/zend_language_scanner.c" -yy603: - YYDEBUG(603, *YYCURSOR); +#line 5391 "Zend/zend_language_scanner.c" +yy553: + YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy604; - if (yych != 'r') goto yy188; -yy604: - YYDEBUG(604, *YYCURSOR); + if (yych == 'R') goto yy554; + if (yych != 'r') goto yy150; +yy554: + YYDEBUG(554, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy605; - if (yych != 'f') goto yy188; -yy605: - YYDEBUG(605, *YYCURSOR); + if (yych == 'F') goto yy555; + if (yych != 'f') goto yy150; +yy555: + YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy606; - if (yych != 'a') goto yy188; -yy606: - YYDEBUG(606, *YYCURSOR); + if (yych == 'A') goto yy556; + if (yych != 'a') goto yy150; +yy556: + YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy607; - if (yych != 'c') goto yy188; -yy607: - YYDEBUG(607, *YYCURSOR); + if (yych == 'C') goto yy557; + if (yych != 'c') goto yy150; +yy557: + YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy608; - if (yych != 'e') goto yy188; -yy608: - YYDEBUG(608, *YYCURSOR); + if (yych == 'E') goto yy558; + if (yych != 'e') goto yy150; +yy558: + YYDEBUG(558, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(609, *YYCURSOR); + YYDEBUG(559, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1151 "Zend/zend_language_scanner.l" +#line 1149 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5830 "Zend/zend_language_scanner.c" -yy610: - YYDEBUG(610, *YYCURSOR); +#line 5429 "Zend/zend_language_scanner.c" +yy560: + YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy611; - if (yych <= 'D') goto yy188; - goto yy612; + if (yych == 'A') goto yy561; + if (yych <= 'D') goto yy150; + goto yy562; } else { if (yych <= 'a') { - if (yych <= '`') goto yy188; + if (yych <= '`') goto yy150; } else { - if (yych == 'e') goto yy612; - goto yy188; + if (yych == 'e') goto yy562; + goto yy150; } } -yy611: - YYDEBUG(611, *YYCURSOR); +yy561: + YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy618; - if (yych == 'n') goto yy618; - goto yy188; -yy612: - YYDEBUG(612, *YYCURSOR); + if (yych == 'N') goto yy568; + if (yych == 'n') goto yy568; + goto yy150; +yy562: + YYDEBUG(562, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy613; - if (yych != 'a') goto yy188; -yy613: - YYDEBUG(613, *YYCURSOR); + if (yych == 'A') goto yy563; + if (yych != 'a') goto yy150; +yy563: + YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy614; - if (yych != 'd') goto yy188; -yy614: - YYDEBUG(614, *YYCURSOR); + if (yych == 'D') goto yy564; + if (yych != 'd') goto yy150; +yy564: + YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy615; - if (yych != 'o') goto yy188; -yy615: - YYDEBUG(615, *YYCURSOR); + if (yych == 'O') goto yy565; + if (yych != 'o') goto yy150; +yy565: + YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy616; - if (yych != 'f') goto yy188; -yy616: - YYDEBUG(616, *YYCURSOR); + if (yych == 'F') goto yy566; + if (yych != 'f') goto yy150; +yy566: + YYDEBUG(566, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(617, *YYCURSOR); + YYDEBUG(567, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1277 "Zend/zend_language_scanner.l" +#line 1275 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } -#line 5884 "Zend/zend_language_scanner.c" -yy618: - YYDEBUG(618, *YYCURSOR); +#line 5483 "Zend/zend_language_scanner.c" +yy568: + YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy619; - if (yych != 'c') goto yy188; -yy619: - YYDEBUG(619, *YYCURSOR); + if (yych == 'C') goto yy569; + if (yych != 'c') goto yy150; +yy569: + YYDEBUG(569, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy620; - if (yych != 'e') goto yy188; -yy620: - YYDEBUG(620, *YYCURSOR); + if (yych == 'E') goto yy570; + if (yych != 'e') goto yy150; +yy570: + YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy621; - if (yych != 'o') goto yy188; -yy621: - YYDEBUG(621, *YYCURSOR); + if (yych == 'O') goto yy571; + if (yych != 'o') goto yy150; +yy571: + YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy622; - if (yych != 'f') goto yy188; -yy622: - YYDEBUG(622, *YYCURSOR); + if (yych == 'F') goto yy572; + if (yych != 'f') goto yy150; +yy572: + YYDEBUG(572, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(623, *YYCURSOR); + YYDEBUG(573, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1103 "Zend/zend_language_scanner.l" +#line 1101 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5917 "Zend/zend_language_scanner.c" -yy624: - YYDEBUG(624, *YYCURSOR); +#line 5516 "Zend/zend_language_scanner.c" +yy574: + YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy625; - if (yych != 'l') goto yy188; -yy625: - YYDEBUG(625, *YYCURSOR); + if (yych == 'L') goto yy575; + if (yych != 'l') goto yy150; +yy575: + YYDEBUG(575, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy626; - if (yych != 'e') goto yy188; -yy626: - YYDEBUG(626, *YYCURSOR); + if (yych == 'E') goto yy576; + if (yych != 'e') goto yy150; +yy576: + YYDEBUG(576, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy627; - if (yych != 'm') goto yy188; -yy627: - YYDEBUG(627, *YYCURSOR); + if (yych == 'M') goto yy577; + if (yych != 'm') goto yy150; +yy577: + YYDEBUG(577, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy628; - if (yych != 'e') goto yy188; -yy628: - YYDEBUG(628, *YYCURSOR); + if (yych == 'E') goto yy578; + if (yych != 'e') goto yy150; +yy578: + YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy629; - if (yych != 'n') goto yy188; -yy629: - YYDEBUG(629, *YYCURSOR); + if (yych == 'N') goto yy579; + if (yych != 'n') goto yy150; +yy579: + YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy630; - if (yych != 't') goto yy188; -yy630: - YYDEBUG(630, *YYCURSOR); + if (yych == 'T') goto yy580; + if (yych != 't') goto yy150; +yy580: + YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy631; - if (yych != 's') goto yy188; -yy631: - YYDEBUG(631, *YYCURSOR); + if (yych == 'S') goto yy581; + if (yych != 's') goto yy150; +yy581: + YYDEBUG(581, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(632, *YYCURSOR); + YYDEBUG(582, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1163 "Zend/zend_language_scanner.l" +#line 1161 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 5965 "Zend/zend_language_scanner.c" -yy633: - YYDEBUG(633, *YYCURSOR); +#line 5564 "Zend/zend_language_scanner.c" +yy583: + YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy641; - if (yych == 'r') goto yy641; - goto yy188; -yy634: - YYDEBUG(634, *YYCURSOR); + if (yych == 'R') goto yy591; + if (yych == 'r') goto yy591; + goto yy150; +yy584: + YYDEBUG(584, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'A') goto yy637; - if (yych <= 'X') goto yy188; + if (yych == 'A') goto yy587; + if (yych <= 'X') goto yy150; } else { if (yych <= 'a') { - if (yych <= '`') goto yy188; - goto yy637; + if (yych <= '`') goto yy150; + goto yy587; } else { - if (yych != 'y') goto yy188; + if (yych != 'y') goto yy150; } } - YYDEBUG(635, *YYCURSOR); + YYDEBUG(585, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(636, *YYCURSOR); + YYDEBUG(586, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1035 "Zend/zend_language_scanner.l" +#line 1033 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 5997 "Zend/zend_language_scanner.c" -yy637: - YYDEBUG(637, *YYCURSOR); +#line 5596 "Zend/zend_language_scanner.c" +yy587: + YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy638; - if (yych != 'i') goto yy188; -yy638: - YYDEBUG(638, *YYCURSOR); + if (yych == 'I') goto yy588; + if (yych != 'i') goto yy150; +yy588: + YYDEBUG(588, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy639; - if (yych != 't') goto yy188; -yy639: - YYDEBUG(639, *YYCURSOR); + if (yych == 'T') goto yy589; + if (yych != 't') goto yy150; +yy589: + YYDEBUG(589, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(640, *YYCURSOR); + YYDEBUG(590, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1155 "Zend/zend_language_scanner.l" +#line 1153 "Zend/zend_language_scanner.l" { return T_TRAIT; } -#line 6020 "Zend/zend_language_scanner.c" -yy641: - YYDEBUG(641, *YYCURSOR); +#line 5619 "Zend/zend_language_scanner.c" +yy591: + YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy642; - if (yych != 'o') goto yy188; -yy642: - YYDEBUG(642, *YYCURSOR); + if (yych == 'O') goto yy592; + if (yych != 'o') goto yy150; +yy592: + YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy643; - if (yych != 'w') goto yy188; -yy643: - YYDEBUG(643, *YYCURSOR); + if (yych == 'W') goto yy593; + if (yych != 'w') goto yy150; +yy593: + YYDEBUG(593, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(644, *YYCURSOR); + YYDEBUG(594, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1047 "Zend/zend_language_scanner.l" +#line 1045 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 6043 "Zend/zend_language_scanner.c" -yy645: - YYDEBUG(645, *YYCURSOR); +#line 5642 "Zend/zend_language_scanner.c" +yy595: + YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy646; - if (yych != 'e') goto yy188; -yy646: - YYDEBUG(646, *YYCURSOR); + if (yych == 'E') goto yy596; + if (yych != 'e') goto yy150; +yy596: + YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy647; - if (yych != 'l') goto yy188; -yy647: - YYDEBUG(647, *YYCURSOR); + if (yych == 'L') goto yy597; + if (yych != 'l') goto yy150; +yy597: + YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy648; - if (yych != 'd') goto yy188; -yy648: - YYDEBUG(648, *YYCURSOR); + if (yych == 'D') goto yy598; + if (yych != 'd') goto yy150; +yy598: + YYDEBUG(598, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(649, *YYCURSOR); + YYDEBUG(599, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1031 "Zend/zend_language_scanner.l" +#line 1029 "Zend/zend_language_scanner.l" { return T_YIELD; } -#line 6071 "Zend/zend_language_scanner.c" -yy650: - YYDEBUG(650, *YYCURSOR); +#line 5670 "Zend/zend_language_scanner.c" +yy600: + YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'Q') goto yy652; - if (yych <= 'S') goto yy188; + if (yych == 'Q') goto yy602; + if (yych <= 'S') goto yy150; } else { if (yych <= 'q') { - if (yych <= 'p') goto yy188; - goto yy652; + if (yych <= 'p') goto yy150; + goto yy602; } else { - if (yych != 't') goto yy188; + if (yych != 't') goto yy150; } } - YYDEBUG(651, *YYCURSOR); + YYDEBUG(601, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy664; - if (yych == 'u') goto yy664; - goto yy188; -yy652: - YYDEBUG(652, *YYCURSOR); + if (yych == 'U') goto yy614; + if (yych == 'u') goto yy614; + goto yy150; +yy602: + YYDEBUG(602, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy653; - if (yych != 'u') goto yy188; -yy653: - YYDEBUG(653, *YYCURSOR); + if (yych == 'U') goto yy603; + if (yych != 'u') goto yy150; +yy603: + YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy654; - if (yych != 'i') goto yy188; -yy654: - YYDEBUG(654, *YYCURSOR); + if (yych == 'I') goto yy604; + if (yych != 'i') goto yy150; +yy604: + YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy655; - if (yych != 'r') goto yy188; -yy655: - YYDEBUG(655, *YYCURSOR); + if (yych == 'R') goto yy605; + if (yych != 'r') goto yy150; +yy605: + YYDEBUG(605, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy656; - if (yych != 'e') goto yy188; -yy656: - YYDEBUG(656, *YYCURSOR); + if (yych == 'E') goto yy606; + if (yych != 'e') goto yy150; +yy606: + YYDEBUG(606, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy187; + if (yych >= '0') goto yy149; } else { - if (yych <= '@') goto yy657; - if (yych <= 'Z') goto yy187; + if (yych <= '@') goto yy607; + if (yych <= 'Z') goto yy149; } } else { if (yych <= '`') { - if (yych <= '_') goto yy658; + if (yych <= '_') goto yy608; } else { - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy657: - YYDEBUG(657, *YYCURSOR); +yy607: + YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1261 "Zend/zend_language_scanner.l" +#line 1259 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 6136 "Zend/zend_language_scanner.c" -yy658: - YYDEBUG(658, *YYCURSOR); +#line 5735 "Zend/zend_language_scanner.c" +yy608: + YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy659; - if (yych != 'o') goto yy188; -yy659: - YYDEBUG(659, *YYCURSOR); + if (yych == 'O') goto yy609; + if (yych != 'o') goto yy150; +yy609: + YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy660; - if (yych != 'n') goto yy188; -yy660: - YYDEBUG(660, *YYCURSOR); + if (yych == 'N') goto yy610; + if (yych != 'n') goto yy150; +yy610: + YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy661; - if (yych != 'c') goto yy188; -yy661: - YYDEBUG(661, *YYCURSOR); + if (yych == 'C') goto yy611; + if (yych != 'c') goto yy150; +yy611: + YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy662; - if (yych != 'e') goto yy188; -yy662: - YYDEBUG(662, *YYCURSOR); + if (yych == 'E') goto yy612; + if (yych != 'e') goto yy150; +yy612: + YYDEBUG(612, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(663, *YYCURSOR); + YYDEBUG(613, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1265 "Zend/zend_language_scanner.l" +#line 1263 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 6169 "Zend/zend_language_scanner.c" -yy664: - YYDEBUG(664, *YYCURSOR); +#line 5768 "Zend/zend_language_scanner.c" +yy614: + YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy665; - if (yych != 'r') goto yy188; -yy665: - YYDEBUG(665, *YYCURSOR); + if (yych == 'R') goto yy615; + if (yych != 'r') goto yy150; +yy615: + YYDEBUG(615, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy666; - if (yych != 'n') goto yy188; -yy666: - YYDEBUG(666, *YYCURSOR); + if (yych == 'N') goto yy616; + if (yych != 'n') goto yy150; +yy616: + YYDEBUG(616, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(667, *YYCURSOR); + YYDEBUG(617, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1027 "Zend/zend_language_scanner.l" +#line 1025 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 6192 "Zend/zend_language_scanner.c" -yy668: - YYDEBUG(668, *YYCURSOR); +#line 5791 "Zend/zend_language_scanner.c" +yy618: + YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { - if (yych <= 'K') goto yy188; - goto yy691; + if (yych <= 'K') goto yy150; + goto yy641; } else { - if (yych <= 'R') goto yy188; - if (yych <= 'S') goto yy690; - goto yy689; + if (yych <= 'R') goto yy150; + if (yych <= 'S') goto yy640; + goto yy639; } } else { if (yych <= 'r') { - if (yych == 'l') goto yy691; - goto yy188; + if (yych == 'l') goto yy641; + goto yy150; } else { - if (yych <= 's') goto yy690; - if (yych <= 't') goto yy689; - goto yy188; + if (yych <= 's') goto yy640; + if (yych <= 't') goto yy639; + goto yy150; } } -yy669: - YYDEBUG(669, *YYCURSOR); +yy619: + YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'A') goto yy681; - if (yych <= 'N') goto yy188; - goto yy682; + if (yych == 'A') goto yy631; + if (yych <= 'N') goto yy150; + goto yy632; } else { if (yych <= 'a') { - if (yych <= '`') goto yy188; - goto yy681; + if (yych <= '`') goto yy150; + goto yy631; } else { - if (yych == 'o') goto yy682; - goto yy188; + if (yych == 'o') goto yy632; + goto yy150; } } -yy670: - YYDEBUG(670, *YYCURSOR); +yy620: + YYDEBUG(620, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy671; - if (yych != 'n') goto yy188; -yy671: - YYDEBUG(671, *YYCURSOR); + if (yych == 'N') goto yy621; + if (yych != 'n') goto yy150; +yy621: + YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych <= 'R') goto yy188; - if (yych >= 'T') goto yy673; + if (yych <= 'R') goto yy150; + if (yych >= 'T') goto yy623; } else { - if (yych <= 'r') goto yy188; - if (yych <= 's') goto yy672; - if (yych <= 't') goto yy673; - goto yy188; + if (yych <= 'r') goto yy150; + if (yych <= 's') goto yy622; + if (yych <= 't') goto yy623; + goto yy150; } -yy672: - YYDEBUG(672, *YYCURSOR); +yy622: + YYDEBUG(622, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy679; - if (yych == 't') goto yy679; - goto yy188; -yy673: - YYDEBUG(673, *YYCURSOR); + if (yych == 'T') goto yy629; + if (yych == 't') goto yy629; + goto yy150; +yy623: + YYDEBUG(623, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy674; - if (yych != 'i') goto yy188; -yy674: - YYDEBUG(674, *YYCURSOR); + if (yych == 'I') goto yy624; + if (yych != 'i') goto yy150; +yy624: + YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy675; - if (yych != 'n') goto yy188; -yy675: - YYDEBUG(675, *YYCURSOR); + if (yych == 'N') goto yy625; + if (yych != 'n') goto yy150; +yy625: + YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy676; - if (yych != 'u') goto yy188; -yy676: - YYDEBUG(676, *YYCURSOR); + if (yych == 'U') goto yy626; + if (yych != 'u') goto yy150; +yy626: + YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy677; - if (yych != 'e') goto yy188; -yy677: - YYDEBUG(677, *YYCURSOR); + if (yych == 'E') goto yy627; + if (yych != 'e') goto yy150; +yy627: + YYDEBUG(627, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(678, *YYCURSOR); + YYDEBUG(628, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1131 "Zend/zend_language_scanner.l" +#line 1129 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6286 "Zend/zend_language_scanner.c" -yy679: - YYDEBUG(679, *YYCURSOR); +#line 5885 "Zend/zend_language_scanner.c" +yy629: + YYDEBUG(629, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(680, *YYCURSOR); + YYDEBUG(630, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1023 "Zend/zend_language_scanner.l" +#line 1021 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6299 "Zend/zend_language_scanner.c" -yy681: - YYDEBUG(681, *YYCURSOR); +#line 5898 "Zend/zend_language_scanner.c" +yy631: + YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy686; - if (yych == 's') goto yy686; - goto yy188; -yy682: - YYDEBUG(682, *YYCURSOR); + if (yych == 'S') goto yy636; + if (yych == 's') goto yy636; + goto yy150; +yy632: + YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy683; - if (yych != 'n') goto yy188; -yy683: - YYDEBUG(683, *YYCURSOR); + if (yych == 'N') goto yy633; + if (yych != 'n') goto yy150; +yy633: + YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy684; - if (yych != 'e') goto yy188; -yy684: - YYDEBUG(684, *YYCURSOR); + if (yych == 'E') goto yy634; + if (yych != 'e') goto yy150; +yy634: + YYDEBUG(634, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(685, *YYCURSOR); + YYDEBUG(635, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1213 "Zend/zend_language_scanner.l" +#line 1211 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6328 "Zend/zend_language_scanner.c" -yy686: - YYDEBUG(686, *YYCURSOR); +#line 5927 "Zend/zend_language_scanner.c" +yy636: + YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy687; - if (yych != 's') goto yy188; -yy687: - YYDEBUG(687, *YYCURSOR); + if (yych == 'S') goto yy637; + if (yych != 's') goto yy150; +yy637: + YYDEBUG(637, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(688, *YYCURSOR); + YYDEBUG(638, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1147 "Zend/zend_language_scanner.l" +#line 1145 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6346 "Zend/zend_language_scanner.c" -yy689: - YYDEBUG(689, *YYCURSOR); +#line 5945 "Zend/zend_language_scanner.c" +yy639: + YYDEBUG(639, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy700; - if (yych == 'c') goto yy700; - goto yy188; -yy690: - YYDEBUG(690, *YYCURSOR); + if (yych == 'C') goto yy650; + if (yych == 'c') goto yy650; + goto yy150; +yy640: + YYDEBUG(640, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy698; - if (yych == 'e') goto yy698; - goto yy188; -yy691: - YYDEBUG(691, *YYCURSOR); + if (yych == 'E') goto yy648; + if (yych == 'e') goto yy648; + goto yy150; +yy641: + YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy692; - if (yych != 'l') goto yy188; -yy692: - YYDEBUG(692, *YYCURSOR); + if (yych == 'L') goto yy642; + if (yych != 'l') goto yy150; +yy642: + YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy693; - if (yych != 'a') goto yy188; -yy693: - YYDEBUG(693, *YYCURSOR); + if (yych == 'A') goto yy643; + if (yych != 'a') goto yy150; +yy643: + YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy694; - if (yych != 'b') goto yy188; -yy694: - YYDEBUG(694, *YYCURSOR); + if (yych == 'B') goto yy644; + if (yych != 'b') goto yy150; +yy644: + YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy695; - if (yych != 'l') goto yy188; -yy695: - YYDEBUG(695, *YYCURSOR); + if (yych == 'L') goto yy645; + if (yych != 'l') goto yy150; +yy645: + YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy696; - if (yych != 'e') goto yy188; -yy696: - YYDEBUG(696, *YYCURSOR); + if (yych == 'E') goto yy646; + if (yych != 'e') goto yy150; +yy646: + YYDEBUG(646, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(697, *YYCURSOR); + YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1337 "Zend/zend_language_scanner.l" +#line 1335 "Zend/zend_language_scanner.l" { return T_CALLABLE; } -#line 6396 "Zend/zend_language_scanner.c" -yy698: - YYDEBUG(698, *YYCURSOR); +#line 5995 "Zend/zend_language_scanner.c" +yy648: + YYDEBUG(648, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(699, *YYCURSOR); + YYDEBUG(649, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1119 "Zend/zend_language_scanner.l" +#line 1117 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6409 "Zend/zend_language_scanner.c" -yy700: - YYDEBUG(700, *YYCURSOR); +#line 6008 "Zend/zend_language_scanner.c" +yy650: + YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy701; - if (yych != 'h') goto yy188; -yy701: - YYDEBUG(701, *YYCURSOR); + if (yych == 'H') goto yy651; + if (yych != 'h') goto yy150; +yy651: + YYDEBUG(651, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(702, *YYCURSOR); + YYDEBUG(652, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1039 "Zend/zend_language_scanner.l" +#line 1037 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6427 "Zend/zend_language_scanner.c" -yy703: - YYDEBUG(703, *YYCURSOR); +#line 6026 "Zend/zend_language_scanner.c" +yy653: + YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy720; - if (yych == 'n') goto yy720; - goto yy188; -yy704: - YYDEBUG(704, *YYCURSOR); + if (yych == 'N') goto yy670; + if (yych == 'n') goto yy670; + goto yy150; +yy654: + YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy713; - if (yych == 'r') goto yy713; - goto yy188; -yy705: - YYDEBUG(705, *YYCURSOR); + if (yych == 'R') goto yy663; + if (yych == 'r') goto yy663; + goto yy150; +yy655: + YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy706; - if (yych != 'n') goto yy188; -yy706: - YYDEBUG(706, *YYCURSOR); + if (yych == 'N') goto yy656; + if (yych != 'n') goto yy150; +yy656: + YYDEBUG(656, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy707; - if (yych != 'c') goto yy188; -yy707: - YYDEBUG(707, *YYCURSOR); + if (yych == 'C') goto yy657; + if (yych != 'c') goto yy150; +yy657: + YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy708; - if (yych != 't') goto yy188; -yy708: - YYDEBUG(708, *YYCURSOR); + if (yych == 'T') goto yy658; + if (yych != 't') goto yy150; +yy658: + YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy709; - if (yych != 'i') goto yy188; -yy709: - YYDEBUG(709, *YYCURSOR); + if (yych == 'I') goto yy659; + if (yych != 'i') goto yy150; +yy659: + YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy710; - if (yych != 'o') goto yy188; -yy710: - YYDEBUG(710, *YYCURSOR); + if (yych == 'O') goto yy660; + if (yych != 'o') goto yy150; +yy660: + YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy711; - if (yych != 'n') goto yy188; -yy711: - YYDEBUG(711, *YYCURSOR); + if (yych == 'N') goto yy661; + if (yych != 'n') goto yy150; +yy661: + YYDEBUG(661, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(712, *YYCURSOR); + YYDEBUG(662, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1019 "Zend/zend_language_scanner.l" +#line 1017 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6482 "Zend/zend_language_scanner.c" -yy713: - YYDEBUG(713, *YYCURSOR); +#line 6081 "Zend/zend_language_scanner.c" +yy663: + YYDEBUG(663, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy714; - if (yych <= '9') goto yy187; + if (yych <= '/') goto yy664; + if (yych <= '9') goto yy149; } else { - if (yych == 'E') goto yy715; - if (yych <= 'Z') goto yy187; + if (yych == 'E') goto yy665; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy187; + if (yych != '`') goto yy149; } else { - if (yych <= 'e') goto yy715; - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'e') goto yy665; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy714: - YYDEBUG(714, *YYCURSOR); +yy664: + YYDEBUG(664, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1079 "Zend/zend_language_scanner.l" +#line 1077 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6510 "Zend/zend_language_scanner.c" -yy715: - YYDEBUG(715, *YYCURSOR); +#line 6109 "Zend/zend_language_scanner.c" +yy665: + YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy716; - if (yych != 'a') goto yy188; -yy716: - YYDEBUG(716, *YYCURSOR); + if (yych == 'A') goto yy666; + if (yych != 'a') goto yy150; +yy666: + YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy717; - if (yych != 'c') goto yy188; -yy717: - YYDEBUG(717, *YYCURSOR); + if (yych == 'C') goto yy667; + if (yych != 'c') goto yy150; +yy667: + YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy718; - if (yych != 'h') goto yy188; -yy718: - YYDEBUG(718, *YYCURSOR); + if (yych == 'H') goto yy668; + if (yych != 'h') goto yy150; +yy668: + YYDEBUG(668, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(719, *YYCURSOR); + YYDEBUG(669, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1087 "Zend/zend_language_scanner.l" +#line 1085 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6538 "Zend/zend_language_scanner.c" -yy720: - YYDEBUG(720, *YYCURSOR); +#line 6137 "Zend/zend_language_scanner.c" +yy670: + YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy721; - if (yych != 'a') goto yy188; -yy721: - YYDEBUG(721, *YYCURSOR); + if (yych == 'A') goto yy671; + if (yych != 'a') goto yy150; +yy671: + YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy722; - if (yych != 'l') goto yy188; -yy722: - YYDEBUG(722, *YYCURSOR); + if (yych == 'L') goto yy672; + if (yych != 'l') goto yy150; +yy672: + YYDEBUG(672, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy723; - if (yych <= '9') goto yy187; + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy149; } else { - if (yych == 'L') goto yy724; - if (yych <= 'Z') goto yy187; + if (yych == 'L') goto yy674; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'k') { - if (yych != '`') goto yy187; + if (yych != '`') goto yy149; } else { - if (yych <= 'l') goto yy724; - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'l') goto yy674; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy723: - YYDEBUG(723, *YYCURSOR); +yy673: + YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1305 "Zend/zend_language_scanner.l" +#line 1303 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6576 "Zend/zend_language_scanner.c" -yy724: - YYDEBUG(724, *YYCURSOR); +#line 6175 "Zend/zend_language_scanner.c" +yy674: + YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy725; - if (yych != 'y') goto yy188; -yy725: - YYDEBUG(725, *YYCURSOR); + if (yych == 'Y') goto yy675; + if (yych != 'y') goto yy150; +yy675: + YYDEBUG(675, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(726, *YYCURSOR); + YYDEBUG(676, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1043 "Zend/zend_language_scanner.l" +#line 1041 "Zend/zend_language_scanner.l" { return T_FINALLY; } -#line 6594 "Zend/zend_language_scanner.c" -yy727: - YYDEBUG(727, *YYCURSOR); +#line 6193 "Zend/zend_language_scanner.c" +yy677: + YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { - if (yych == 'C') goto yy733; - if (yych <= 'E') goto yy188; - goto yy734; + if (yych == 'C') goto yy683; + if (yych <= 'E') goto yy150; + goto yy684; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy188; - goto yy733; + if (yych <= 'b') goto yy150; + goto yy683; } else { - if (yych == 'f') goto yy734; - goto yy188; + if (yych == 'f') goto yy684; + goto yy150; } } -yy728: - YYDEBUG(728, *YYCURSOR); +yy678: + YYDEBUG(678, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy731; - if (yych == 'e') goto yy731; - goto yy188; -yy729: - YYDEBUG(729, *YYCURSOR); + if (yych == 'E') goto yy681; + if (yych == 'e') goto yy681; + goto yy150; +yy679: + YYDEBUG(679, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(730, *YYCURSOR); + YYDEBUG(680, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1075 "Zend/zend_language_scanner.l" +#line 1073 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6629 "Zend/zend_language_scanner.c" -yy731: - YYDEBUG(731, *YYCURSOR); +#line 6228 "Zend/zend_language_scanner.c" +yy681: + YYDEBUG(681, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(732, *YYCURSOR); + YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1015 "Zend/zend_language_scanner.l" +#line 1013 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6642 "Zend/zend_language_scanner.c" -yy733: - YYDEBUG(733, *YYCURSOR); +#line 6241 "Zend/zend_language_scanner.c" +yy683: + YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy740; - if (yych == 'l') goto yy740; - goto yy188; -yy734: - YYDEBUG(734, *YYCURSOR); + if (yych == 'L') goto yy690; + if (yych == 'l') goto yy690; + goto yy150; +yy684: + YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy735; - if (yych != 'a') goto yy188; -yy735: - YYDEBUG(735, *YYCURSOR); + if (yych == 'A') goto yy685; + if (yych != 'a') goto yy150; +yy685: + YYDEBUG(685, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy736; - if (yych != 'u') goto yy188; -yy736: - YYDEBUG(736, *YYCURSOR); + if (yych == 'U') goto yy686; + if (yych != 'u') goto yy150; +yy686: + YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy737; - if (yych != 'l') goto yy188; -yy737: - YYDEBUG(737, *YYCURSOR); + if (yych == 'L') goto yy687; + if (yych != 'l') goto yy150; +yy687: + YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy738; - if (yych != 't') goto yy188; -yy738: - YYDEBUG(738, *YYCURSOR); + if (yych == 'T') goto yy688; + if (yych != 't') goto yy150; +yy688: + YYDEBUG(688, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(739, *YYCURSOR); + YYDEBUG(689, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1123 "Zend/zend_language_scanner.l" +#line 1121 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6681 "Zend/zend_language_scanner.c" -yy740: - YYDEBUG(740, *YYCURSOR); +#line 6280 "Zend/zend_language_scanner.c" +yy690: + YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy741; - if (yych != 'a') goto yy188; -yy741: - YYDEBUG(741, *YYCURSOR); + if (yych == 'A') goto yy691; + if (yych != 'a') goto yy150; +yy691: + YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy742; - if (yych != 'r') goto yy188; -yy742: - YYDEBUG(742, *YYCURSOR); + if (yych == 'R') goto yy692; + if (yych != 'r') goto yy150; +yy692: + YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy743; - if (yych != 'e') goto yy188; -yy743: - YYDEBUG(743, *YYCURSOR); + if (yych == 'E') goto yy693; + if (yych != 'e') goto yy150; +yy693: + YYDEBUG(693, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(744, *YYCURSOR); + YYDEBUG(694, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1095 "Zend/zend_language_scanner.l" +#line 1093 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6709 "Zend/zend_language_scanner.c" -yy745: - YYDEBUG(745, *YYCURSOR); +#line 6308 "Zend/zend_language_scanner.c" +yy695: + YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy807; - if (yych == 'h') goto yy807; - goto yy188; -yy746: - YYDEBUG(746, *YYCURSOR); + if (yych == 'H') goto yy757; + if (yych == 'h') goto yy757; + goto yy150; +yy696: + YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy801; - if (yych == 's') goto yy801; - goto yy188; -yy747: - YYDEBUG(747, *YYCURSOR); + if (yych == 'S') goto yy751; + if (yych == 's') goto yy751; + goto yy150; +yy697: + YYDEBUG(697, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy797; - if (yych == 'p') goto yy797; - goto yy188; -yy748: - YYDEBUG(748, *YYCURSOR); + if (yych == 'P') goto yy747; + if (yych == 'p') goto yy747; + goto yy150; +yy698: + YYDEBUG(698, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy763; - if (yych == 'd') goto yy763; - goto yy188; -yy749: - YYDEBUG(749, *YYCURSOR); + if (yych == 'D') goto yy713; + if (yych == 'd') goto yy713; + goto yy150; +yy699: + YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy760; - if (yych == 'a') goto yy760; - goto yy188; -yy750: - YYDEBUG(750, *YYCURSOR); + if (yych == 'A') goto yy710; + if (yych == 'a') goto yy710; + goto yy150; +yy700: + YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'I') goto yy751; - if (yych <= 'S') goto yy188; - goto yy752; + if (yych == 'I') goto yy701; + if (yych <= 'S') goto yy150; + goto yy702; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy188; + if (yych <= 'h') goto yy150; } else { - if (yych == 't') goto yy752; - goto yy188; + if (yych == 't') goto yy702; + goto yy150; } } -yy751: - YYDEBUG(751, *YYCURSOR); +yy701: + YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy758; - if (yych == 't') goto yy758; - goto yy188; -yy752: - YYDEBUG(752, *YYCURSOR); + if (yych == 'T') goto yy708; + if (yych == 't') goto yy708; + goto yy150; +yy702: + YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy753; - if (yych != 'e') goto yy188; -yy753: - YYDEBUG(753, *YYCURSOR); + if (yych == 'E') goto yy703; + if (yych != 'e') goto yy150; +yy703: + YYDEBUG(703, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy754; - if (yych != 'n') goto yy188; -yy754: - YYDEBUG(754, *YYCURSOR); + if (yych == 'N') goto yy704; + if (yych != 'n') goto yy150; +yy704: + YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy755; - if (yych != 'd') goto yy188; -yy755: - YYDEBUG(755, *YYCURSOR); + if (yych == 'D') goto yy705; + if (yych != 'd') goto yy150; +yy705: + YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy756; - if (yych != 's') goto yy188; -yy756: - YYDEBUG(756, *YYCURSOR); + if (yych == 'S') goto yy706; + if (yych != 's') goto yy150; +yy706: + YYDEBUG(706, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(757, *YYCURSOR); + YYDEBUG(707, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1159 "Zend/zend_language_scanner.l" +#line 1157 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6793 "Zend/zend_language_scanner.c" -yy758: - YYDEBUG(758, *YYCURSOR); +#line 6392 "Zend/zend_language_scanner.c" +yy708: + YYDEBUG(708, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(759, *YYCURSOR); + YYDEBUG(709, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1011 "Zend/zend_language_scanner.l" +#line 1009 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6806 "Zend/zend_language_scanner.c" -yy760: - YYDEBUG(760, *YYCURSOR); +#line 6405 "Zend/zend_language_scanner.c" +yy710: + YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy761; - if (yych != 'l') goto yy188; -yy761: - YYDEBUG(761, *YYCURSOR); + if (yych == 'L') goto yy711; + if (yych != 'l') goto yy150; +yy711: + YYDEBUG(711, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(762, *YYCURSOR); + YYDEBUG(712, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1249 "Zend/zend_language_scanner.l" +#line 1247 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6824 "Zend/zend_language_scanner.c" -yy763: - YYDEBUG(763, *YYCURSOR); +#line 6423 "Zend/zend_language_scanner.c" +yy713: + YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'D': - case 'd': goto yy764; + case 'd': goto yy714; case 'F': - case 'f': goto yy765; + case 'f': goto yy715; case 'I': - case 'i': goto yy766; + case 'i': goto yy716; case 'S': - case 's': goto yy767; + case 's': goto yy717; case 'W': - case 'w': goto yy768; - default: goto yy188; + case 'w': goto yy718; + default: goto yy150; } -yy764: - YYDEBUG(764, *YYCURSOR); +yy714: + YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy790; - if (yych == 'e') goto yy790; - goto yy188; -yy765: - YYDEBUG(765, *YYCURSOR); + if (yych == 'E') goto yy740; + if (yych == 'e') goto yy740; + goto yy150; +yy715: + YYDEBUG(715, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy782; - if (yych == 'o') goto yy782; - goto yy188; -yy766: - YYDEBUG(766, *YYCURSOR); + if (yych == 'O') goto yy732; + if (yych == 'o') goto yy732; + goto yy150; +yy716: + YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy780; - if (yych == 'f') goto yy780; - goto yy188; -yy767: - YYDEBUG(767, *YYCURSOR); + if (yych == 'F') goto yy730; + if (yych == 'f') goto yy730; + goto yy150; +yy717: + YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy774; - if (yych == 'w') goto yy774; - goto yy188; -yy768: - YYDEBUG(768, *YYCURSOR); + if (yych == 'W') goto yy724; + if (yych == 'w') goto yy724; + goto yy150; +yy718: + YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy769; - if (yych != 'h') goto yy188; -yy769: - YYDEBUG(769, *YYCURSOR); + if (yych == 'H') goto yy719; + if (yych != 'h') goto yy150; +yy719: + YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy770; - if (yych != 'i') goto yy188; -yy770: - YYDEBUG(770, *YYCURSOR); + if (yych == 'I') goto yy720; + if (yych != 'i') goto yy150; +yy720: + YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy771; - if (yych != 'l') goto yy188; -yy771: - YYDEBUG(771, *YYCURSOR); + if (yych == 'L') goto yy721; + if (yych != 'l') goto yy150; +yy721: + YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy772; - if (yych != 'e') goto yy188; -yy772: - YYDEBUG(772, *YYCURSOR); + if (yych == 'E') goto yy722; + if (yych != 'e') goto yy150; +yy722: + YYDEBUG(722, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(773, *YYCURSOR); + YYDEBUG(723, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1071 "Zend/zend_language_scanner.l" +#line 1069 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6898 "Zend/zend_language_scanner.c" -yy774: - YYDEBUG(774, *YYCURSOR); +#line 6497 "Zend/zend_language_scanner.c" +yy724: + YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy775; - if (yych != 'i') goto yy188; -yy775: - YYDEBUG(775, *YYCURSOR); + if (yych == 'I') goto yy725; + if (yych != 'i') goto yy150; +yy725: + YYDEBUG(725, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy776; - if (yych != 't') goto yy188; -yy776: - YYDEBUG(776, *YYCURSOR); + if (yych == 'T') goto yy726; + if (yych != 't') goto yy150; +yy726: + YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy777; - if (yych != 'c') goto yy188; -yy777: - YYDEBUG(777, *YYCURSOR); + if (yych == 'C') goto yy727; + if (yych != 'c') goto yy150; +yy727: + YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy778; - if (yych != 'h') goto yy188; -yy778: - YYDEBUG(778, *YYCURSOR); + if (yych == 'H') goto yy728; + if (yych != 'h') goto yy150; +yy728: + YYDEBUG(728, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(779, *YYCURSOR); + YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1115 "Zend/zend_language_scanner.l" +#line 1113 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6931 "Zend/zend_language_scanner.c" -yy780: - YYDEBUG(780, *YYCURSOR); +#line 6530 "Zend/zend_language_scanner.c" +yy730: + YYDEBUG(730, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(781, *YYCURSOR); + YYDEBUG(731, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1059 "Zend/zend_language_scanner.l" +#line 1057 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6944 "Zend/zend_language_scanner.c" -yy782: - YYDEBUG(782, *YYCURSOR); +#line 6543 "Zend/zend_language_scanner.c" +yy732: + YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy783; - if (yych != 'r') goto yy188; -yy783: - YYDEBUG(783, *YYCURSOR); + if (yych == 'R') goto yy733; + if (yych != 'r') goto yy150; +yy733: + YYDEBUG(733, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy784; - if (yych <= '9') goto yy187; + if (yych <= '/') goto yy734; + if (yych <= '9') goto yy149; } else { - if (yych == 'E') goto yy785; - if (yych <= 'Z') goto yy187; + if (yych == 'E') goto yy735; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'd') { - if (yych != '`') goto yy187; + if (yych != '`') goto yy149; } else { - if (yych <= 'e') goto yy785; - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'e') goto yy735; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy784: - YYDEBUG(784, *YYCURSOR); +yy734: + YYDEBUG(734, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1083 "Zend/zend_language_scanner.l" +#line 1081 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6977 "Zend/zend_language_scanner.c" -yy785: - YYDEBUG(785, *YYCURSOR); +#line 6576 "Zend/zend_language_scanner.c" +yy735: + YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy786; - if (yych != 'a') goto yy188; -yy786: - YYDEBUG(786, *YYCURSOR); + if (yych == 'A') goto yy736; + if (yych != 'a') goto yy150; +yy736: + YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy787; - if (yych != 'c') goto yy188; -yy787: - YYDEBUG(787, *YYCURSOR); + if (yych == 'C') goto yy737; + if (yych != 'c') goto yy150; +yy737: + YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy788; - if (yych != 'h') goto yy188; -yy788: - YYDEBUG(788, *YYCURSOR); + if (yych == 'H') goto yy738; + if (yych != 'h') goto yy150; +yy738: + YYDEBUG(738, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(789, *YYCURSOR); + YYDEBUG(739, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1091 "Zend/zend_language_scanner.l" +#line 1089 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 7005 "Zend/zend_language_scanner.c" -yy790: - YYDEBUG(790, *YYCURSOR); +#line 6604 "Zend/zend_language_scanner.c" +yy740: + YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy791; - if (yych != 'c') goto yy188; -yy791: - YYDEBUG(791, *YYCURSOR); + if (yych == 'C') goto yy741; + if (yych != 'c') goto yy150; +yy741: + YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy792; - if (yych != 'l') goto yy188; -yy792: - YYDEBUG(792, *YYCURSOR); + if (yych == 'L') goto yy742; + if (yych != 'l') goto yy150; +yy742: + YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy793; - if (yych != 'a') goto yy188; -yy793: - YYDEBUG(793, *YYCURSOR); + if (yych == 'A') goto yy743; + if (yych != 'a') goto yy150; +yy743: + YYDEBUG(743, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy794; - if (yych != 'r') goto yy188; -yy794: - YYDEBUG(794, *YYCURSOR); + if (yych == 'R') goto yy744; + if (yych != 'r') goto yy150; +yy744: + YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy795; - if (yych != 'e') goto yy188; -yy795: - YYDEBUG(795, *YYCURSOR); + if (yych == 'E') goto yy745; + if (yych != 'e') goto yy150; +yy745: + YYDEBUG(745, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(796, *YYCURSOR); + YYDEBUG(746, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1099 "Zend/zend_language_scanner.l" +#line 1097 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 7043 "Zend/zend_language_scanner.c" -yy797: - YYDEBUG(797, *YYCURSOR); +#line 6642 "Zend/zend_language_scanner.c" +yy747: + YYDEBUG(747, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy798; - if (yych != 't') goto yy188; -yy798: - YYDEBUG(798, *YYCURSOR); + if (yych == 'T') goto yy748; + if (yych != 't') goto yy150; +yy748: + YYDEBUG(748, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy799; - if (yych != 'y') goto yy188; -yy799: - YYDEBUG(799, *YYCURSOR); + if (yych == 'Y') goto yy749; + if (yych != 'y') goto yy150; +yy749: + YYDEBUG(749, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(800, *YYCURSOR); + YYDEBUG(750, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1289 "Zend/zend_language_scanner.l" +#line 1287 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 7066 "Zend/zend_language_scanner.c" -yy801: - YYDEBUG(801, *YYCURSOR); +#line 6665 "Zend/zend_language_scanner.c" +yy751: + YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy802; - if (yych != 'e') goto yy188; -yy802: - YYDEBUG(802, *YYCURSOR); + if (yych == 'E') goto yy752; + if (yych != 'e') goto yy150; +yy752: + YYDEBUG(752, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy803; - if (yych <= '9') goto yy187; + if (yych <= '/') goto yy753; + if (yych <= '9') goto yy149; } else { - if (yych == 'I') goto yy804; - if (yych <= 'Z') goto yy187; + if (yych == 'I') goto yy754; + if (yych <= 'Z') goto yy149; } } else { if (yych <= 'h') { - if (yych != '`') goto yy187; + if (yych != '`') goto yy149; } else { - if (yych <= 'i') goto yy804; - if (yych <= 'z') goto yy187; - if (yych >= 0x7F) goto yy187; + if (yych <= 'i') goto yy754; + if (yych <= 'z') goto yy149; + if (yych >= 0x7F) goto yy149; } } -yy803: - YYDEBUG(803, *YYCURSOR); +yy753: + YYDEBUG(753, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1063 "Zend/zend_language_scanner.l" +#line 1061 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 7099 "Zend/zend_language_scanner.c" -yy804: - YYDEBUG(804, *YYCURSOR); +#line 6698 "Zend/zend_language_scanner.c" +yy754: + YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy805; - if (yych != 'f') goto yy188; -yy805: - YYDEBUG(805, *YYCURSOR); + if (yych == 'F') goto yy755; + if (yych != 'f') goto yy150; +yy755: + YYDEBUG(755, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(806, *YYCURSOR); + YYDEBUG(756, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1055 "Zend/zend_language_scanner.l" +#line 1053 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 7117 "Zend/zend_language_scanner.c" -yy807: - YYDEBUG(807, *YYCURSOR); +#line 6716 "Zend/zend_language_scanner.c" +yy757: + YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy808; - if (yych != 'o') goto yy188; -yy808: - YYDEBUG(808, *YYCURSOR); + if (yych == 'O') goto yy758; + if (yych != 'o') goto yy150; +yy758: + YYDEBUG(758, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy187; + goto yy149; } - YYDEBUG(809, *YYCURSOR); + YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1139 "Zend/zend_language_scanner.l" +#line 1137 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 7135 "Zend/zend_language_scanner.c" +#line 6734 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7170,111 +6769,111 @@ yyc_ST_LOOKING_FOR_PROPERTY: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(810, *YYCURSOR); + YYDEBUG(760, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= '\r') { - if (yych <= 0x08) goto yy818; - if (yych <= '\n') goto yy812; - if (yych <= '\f') goto yy818; + if (yych <= 0x08) goto yy768; + if (yych <= '\n') goto yy762; + if (yych <= '\f') goto yy768; } else { - if (yych == ' ') goto yy812; - if (yych <= ',') goto yy818; - goto yy814; + if (yych == ' ') goto yy762; + if (yych <= ',') goto yy768; + goto yy764; } } else { if (yych <= '_') { - if (yych <= '@') goto yy818; - if (yych <= 'Z') goto yy816; - if (yych <= '^') goto yy818; - goto yy816; + if (yych <= '@') goto yy768; + if (yych <= 'Z') goto yy766; + if (yych <= '^') goto yy768; + goto yy766; } else { - if (yych <= '`') goto yy818; - if (yych <= 'z') goto yy816; - if (yych <= '~') goto yy818; - goto yy816; + if (yych <= '`') goto yy768; + if (yych <= 'z') goto yy766; + if (yych <= '~') goto yy768; + goto yy766; } } -yy812: - YYDEBUG(812, *YYCURSOR); +yy762: + YYDEBUG(762, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy824; -yy813: - YYDEBUG(813, *YYCURSOR); + goto yy774; +yy763: + YYDEBUG(763, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1172 "Zend/zend_language_scanner.l" +#line 1170 "Zend/zend_language_scanner.l" { HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7213 "Zend/zend_language_scanner.c" -yy814: - YYDEBUG(814, *YYCURSOR); +#line 6812 "Zend/zend_language_scanner.c" +yy764: + YYDEBUG(764, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy821; -yy815: - YYDEBUG(815, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy771; +yy765: + YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1187 "Zend/zend_language_scanner.l" +#line 1185 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 7227 "Zend/zend_language_scanner.c" -yy816: - YYDEBUG(816, *YYCURSOR); +#line 6826 "Zend/zend_language_scanner.c" +yy766: + YYDEBUG(766, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy820; -yy817: - YYDEBUG(817, *YYCURSOR); + goto yy770; +yy767: + YYDEBUG(767, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1181 "Zend/zend_language_scanner.l" +#line 1179 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7242 "Zend/zend_language_scanner.c" -yy818: - YYDEBUG(818, *YYCURSOR); +#line 6841 "Zend/zend_language_scanner.c" +yy768: + YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; - goto yy815; -yy819: - YYDEBUG(819, *YYCURSOR); + goto yy765; +yy769: + YYDEBUG(769, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy820: - YYDEBUG(820, *YYCURSOR); +yy770: + YYDEBUG(770, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy819; + goto yy769; } - goto yy817; -yy821: - YYDEBUG(821, *YYCURSOR); + goto yy767; +yy771: + YYDEBUG(771, *YYCURSOR); ++YYCURSOR; - YYDEBUG(822, *YYCURSOR); + YYDEBUG(772, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1177 "Zend/zend_language_scanner.l" +#line 1175 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 7267 "Zend/zend_language_scanner.c" -yy823: - YYDEBUG(823, *YYCURSOR); +#line 6866 "Zend/zend_language_scanner.c" +yy773: + YYDEBUG(773, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy824: - YYDEBUG(824, *YYCURSOR); +yy774: + YYDEBUG(774, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy823; + goto yy773; } - goto yy813; + goto yy763; } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7313,74 +6912,74 @@ yyc_ST_LOOKING_FOR_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(825, *YYCURSOR); + YYDEBUG(775, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy829; - if (yych <= 'Z') goto yy827; - if (yych <= '^') goto yy829; + if (yych <= '@') goto yy779; + if (yych <= 'Z') goto yy777; + if (yych <= '^') goto yy779; } else { - if (yych <= '`') goto yy829; - if (yych <= 'z') goto yy827; - if (yych <= '~') goto yy829; + if (yych <= '`') goto yy779; + if (yych <= 'z') goto yy777; + if (yych <= '~') goto yy779; } -yy827: - YYDEBUG(827, *YYCURSOR); +yy777: + YYDEBUG(777, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '_') { if (yych <= '@') { - if (yych <= '/') goto yy828; - if (yych <= '9') goto yy831; + if (yych <= '/') goto yy778; + if (yych <= '9') goto yy781; } else { - if (yych <= '[') goto yy831; - if (yych >= '_') goto yy831; + if (yych <= '[') goto yy781; + if (yych >= '_') goto yy781; } } else { if (yych <= '|') { - if (yych <= '`') goto yy828; - if (yych <= 'z') goto yy831; + if (yych <= '`') goto yy778; + if (yych <= 'z') goto yy781; } else { - if (yych != '~') goto yy831; + if (yych != '~') goto yy781; } } -yy828: - YYDEBUG(828, *YYCURSOR); +yy778: + YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1488 "Zend/zend_language_scanner.l" +#line 1486 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7359 "Zend/zend_language_scanner.c" -yy829: - YYDEBUG(829, *YYCURSOR); +#line 6958 "Zend/zend_language_scanner.c" +yy779: + YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; - goto yy828; -yy830: - YYDEBUG(830, *YYCURSOR); + goto yy778; +yy780: + YYDEBUG(780, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy831: - YYDEBUG(831, *YYCURSOR); +yy781: + YYDEBUG(781, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy830; + goto yy780; } - if (yych == '[') goto yy833; - if (yych == '}') goto yy833; - YYDEBUG(832, *YYCURSOR); + if (yych == '[') goto yy783; + if (yych == '}') goto yy783; + YYDEBUG(782, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy828; -yy833: - YYDEBUG(833, *YYCURSOR); + goto yy778; +yy783: + YYDEBUG(783, *YYCURSOR); ++YYCURSOR; - YYDEBUG(834, *YYCURSOR); + YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1479 "Zend/zend_language_scanner.l" +#line 1477 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7388,18 +6987,18 @@ yy833: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7392 "Zend/zend_language_scanner.c" +#line 6991 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: - YYDEBUG(835, *YYCURSOR); + YYDEBUG(785, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(837, *YYCURSOR); + YYDEBUG(787, *YYCURSOR); ++YYCURSOR; - YYDEBUG(838, *YYCURSOR); + YYDEBUG(788, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2226 "Zend/zend_language_scanner.l" +#line 2158 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7455,7 +7054,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7459 "Zend/zend_language_scanner.c" +#line 7058 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7493,76 +7092,76 @@ yyc_ST_VAR_OFFSET: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(839, *YYCURSOR); + YYDEBUG(789, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '/') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy853; - if (yych <= '\n') goto yy849; - goto yy853; + if (yych <= 0x08) goto yy803; + if (yych <= '\n') goto yy799; + goto yy803; } else { - if (yych <= '\r') goto yy849; - if (yych <= 0x1F) goto yy853; - goto yy849; + if (yych <= '\r') goto yy799; + if (yych <= 0x1F) goto yy803; + goto yy799; } } else { if (yych <= '$') { - if (yych <= '"') goto yy848; - if (yych <= '#') goto yy849; - goto yy844; + if (yych <= '"') goto yy798; + if (yych <= '#') goto yy799; + goto yy794; } else { - if (yych == '\'') goto yy849; - goto yy848; + if (yych == '\'') goto yy799; + goto yy798; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '0') goto yy841; - if (yych <= '9') goto yy843; - goto yy848; + if (yych <= '0') goto yy791; + if (yych <= '9') goto yy793; + goto yy798; } else { - if (yych <= 'Z') goto yy851; - if (yych <= '[') goto yy848; - goto yy849; + if (yych <= 'Z') goto yy801; + if (yych <= '[') goto yy798; + goto yy799; } } else { if (yych <= '_') { - if (yych <= ']') goto yy846; - if (yych <= '^') goto yy848; - goto yy851; + if (yych <= ']') goto yy796; + if (yych <= '^') goto yy798; + goto yy801; } else { - if (yych <= '`') goto yy848; - if (yych <= 'z') goto yy851; - if (yych <= '~') goto yy848; - goto yy851; + if (yych <= '`') goto yy798; + if (yych <= 'z') goto yy801; + if (yych <= '~') goto yy798; + goto yy801; } } } -yy841: - YYDEBUG(841, *YYCURSOR); +yy791: + YYDEBUG(791, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '9') { - if (yych >= '0') goto yy865; + if (yych >= '0') goto yy815; } else { - if (yych == 'B') goto yy862; + if (yych == 'B') goto yy812; } } else { if (yych <= 'b') { - if (yych <= 'X') goto yy864; - if (yych >= 'b') goto yy862; + if (yych <= 'X') goto yy814; + if (yych >= 'b') goto yy812; } else { - if (yych == 'x') goto yy864; + if (yych == 'x') goto yy814; } } -yy842: - YYDEBUG(842, *YYCURSOR); +yy792: + YYDEBUG(792, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1559 "Zend/zend_language_scanner.l" +#line 1557 "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)) { ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, NULL, 10)); @@ -7571,53 +7170,53 @@ yy842: } return T_NUM_STRING; } -#line 7575 "Zend/zend_language_scanner.c" -yy843: - YYDEBUG(843, *YYCURSOR); +#line 7174 "Zend/zend_language_scanner.c" +yy793: + YYDEBUG(793, *YYCURSOR); yych = *++YYCURSOR; - goto yy861; -yy844: - YYDEBUG(844, *YYCURSOR); + goto yy811; +yy794: + YYDEBUG(794, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy845; - if (yych <= 'Z') goto yy857; - if (yych >= '_') goto yy857; + if (yych <= '@') goto yy795; + if (yych <= 'Z') goto yy807; + if (yych >= '_') goto yy807; } else { - if (yych <= '`') goto yy845; - if (yych <= 'z') goto yy857; - if (yych >= 0x7F) goto yy857; + if (yych <= '`') goto yy795; + if (yych <= 'z') goto yy807; + if (yych >= 0x7F) goto yy807; } -yy845: - YYDEBUG(845, *YYCURSOR); +yy795: + YYDEBUG(795, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1758 "Zend/zend_language_scanner.l" +#line 1706 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7600 "Zend/zend_language_scanner.c" -yy846: - YYDEBUG(846, *YYCURSOR); +#line 7199 "Zend/zend_language_scanner.c" +yy796: + YYDEBUG(796, *YYCURSOR); ++YYCURSOR; - YYDEBUG(847, *YYCURSOR); + YYDEBUG(797, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1753 "Zend/zend_language_scanner.l" +#line 1701 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7611 "Zend/zend_language_scanner.c" -yy848: - YYDEBUG(848, *YYCURSOR); +#line 7210 "Zend/zend_language_scanner.c" +yy798: + YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; - goto yy845; -yy849: - YYDEBUG(849, *YYCURSOR); + goto yy795; +yy799: + YYDEBUG(799, *YYCURSOR); ++YYCURSOR; - YYDEBUG(850, *YYCURSOR); + YYDEBUG(800, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1763 "Zend/zend_language_scanner.l" +#line 1711 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); @@ -7625,27 +7224,27 @@ yy849: ZVAL_NULL(zendlval); return T_ENCAPSED_AND_WHITESPACE; } -#line 7629 "Zend/zend_language_scanner.c" -yy851: - YYDEBUG(851, *YYCURSOR); +#line 7228 "Zend/zend_language_scanner.c" +yy801: + YYDEBUG(801, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy856; -yy852: - YYDEBUG(852, *YYCURSOR); + goto yy806; +yy802: + YYDEBUG(802, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1771 "Zend/zend_language_scanner.l" +#line 1719 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7643 "Zend/zend_language_scanner.c" -yy853: - YYDEBUG(853, *YYCURSOR); +#line 7242 "Zend/zend_language_scanner.c" +yy803: + YYDEBUG(803, *YYCURSOR); ++YYCURSOR; - YYDEBUG(854, *YYCURSOR); + YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2283 "Zend/zend_language_scanner.l" +#line 2215 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7654,115 +7253,115 @@ yy853: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7658 "Zend/zend_language_scanner.c" -yy855: - YYDEBUG(855, *YYCURSOR); +#line 7257 "Zend/zend_language_scanner.c" +yy805: + YYDEBUG(805, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy856: - YYDEBUG(856, *YYCURSOR); +yy806: + YYDEBUG(806, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy855; + goto yy805; } - goto yy852; -yy857: - YYDEBUG(857, *YYCURSOR); + goto yy802; +yy807: + YYDEBUG(807, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(858, *YYCURSOR); + YYDEBUG(808, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy857; + if (yych >= '0') goto yy807; } else { - if (yych <= '@') goto yy859; - if (yych <= 'Z') goto yy857; + if (yych <= '@') goto yy809; + if (yych <= 'Z') goto yy807; } } else { if (yych <= '`') { - if (yych <= '_') goto yy857; + if (yych <= '_') goto yy807; } else { - if (yych <= 'z') goto yy857; - if (yych >= 0x7F) goto yy857; + if (yych <= 'z') goto yy807; + if (yych >= 0x7F) goto yy807; } } -yy859: - YYDEBUG(859, *YYCURSOR); +yy809: + YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1748 "Zend/zend_language_scanner.l" +#line 1696 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7699 "Zend/zend_language_scanner.c" -yy860: - YYDEBUG(860, *YYCURSOR); +#line 7298 "Zend/zend_language_scanner.c" +yy810: + YYDEBUG(810, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy861: - YYDEBUG(861, *YYCURSOR); +yy811: + YYDEBUG(811, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy860; + goto yy810; } - goto yy842; -yy862: - YYDEBUG(862, *YYCURSOR); + goto yy792; +yy812: + YYDEBUG(812, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy870; + goto yy820; } -yy863: - YYDEBUG(863, *YYCURSOR); +yy813: + YYDEBUG(813, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy842; -yy864: - YYDEBUG(864, *YYCURSOR); + goto yy792; +yy814: + YYDEBUG(814, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy868; + goto yy818; } - goto yy863; -yy865: - YYDEBUG(865, *YYCURSOR); + goto yy813; +yy815: + YYDEBUG(815, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(866, *YYCURSOR); - if (yych <= '/') goto yy867; - if (yych <= '9') goto yy865; -yy867: - YYDEBUG(867, *YYCURSOR); + YYDEBUG(816, *YYCURSOR); + if (yych <= '/') goto yy817; + if (yych <= '9') goto yy815; +yy817: + YYDEBUG(817, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1566 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); return T_NUM_STRING; } -#line 7744 "Zend/zend_language_scanner.c" -yy868: - YYDEBUG(868, *YYCURSOR); +#line 7343 "Zend/zend_language_scanner.c" +yy818: + YYDEBUG(818, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(869, *YYCURSOR); + YYDEBUG(819, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy868; + goto yy818; } - goto yy867; -yy870: - YYDEBUG(870, *YYCURSOR); + goto yy817; +yy820: + YYDEBUG(820, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(871, *YYCURSOR); + YYDEBUG(821, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy870; + goto yy820; } - goto yy867; + goto yy817; } } -#line 2292 "Zend/zend_language_scanner.l" +#line 2224 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 3da8406c62..572b8713cb 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -989,8 +989,6 @@ int lex_scan(zval *zendlval TSRMLS_DC) restart: SCNG(yy_text) = YYCURSOR; -yymore_restart: - /*!re2c re2c:yyfill:check = 0; LNUM [0-9]+ @@ -1607,30 +1605,6 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_NS_C; } -<INITIAL>"<script"{WHITESPACE}+"language"{WHITESPACE}*"="{WHITESPACE}*("php"|"\"php\""|"'php'"){WHITESPACE}*">" { - YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); - - if (bracket != SCNG(yy_text)) { - /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */ - YYCURSOR = bracket; - goto inline_html; - } - - HANDLE_NEWLINES(yytext, yyleng); - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG; -} - - -<INITIAL>"<%=" { - if (CG(asp_tags)) { - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG_WITH_ECHO; - } else { - goto inline_char_handler; - } -} - <INITIAL>"<?=" { BEGIN(ST_IN_SCRIPTING); @@ -1638,16 +1612,6 @@ NEWLINE ("\r"|"\n"|"\r\n") } -<INITIAL>"<%" { - if (CG(asp_tags)) { - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG; - } else { - goto inline_char_handler; - } -} - - <INITIAL>"<?php"([ \t]|{NEWLINE}) { HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); @@ -1676,35 +1640,19 @@ inline_char_handler: YYCURSOR = ptr ? ptr + 1 : YYLIMIT; - if (YYCURSOR < YYLIMIT) { - switch (*YYCURSOR) { - case '?': - if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ - break; - } - continue; - case '%': - if (CG(asp_tags)) { - break; - } - continue; - case 's': - case 'S': - /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet - * If it is, the PHP <script> tag rule checks for any HTML scanned before it */ - YYCURSOR--; - yymore(); - default: - continue; - } - - YYCURSOR--; + if (YYCURSOR >= YYLIMIT) { + break; } - break; + if (*YYCURSOR == '?') { + if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ + + YYCURSOR--; + break; + } + } } -inline_html: yyleng = YYCURSOR - SCNG(yy_text); if (SCNG(output_filter)) { @@ -1785,11 +1733,6 @@ inline_html: case '\n': CG(zend_lineno)++; break; - case '%': - if (!CG(asp_tags)) { - continue; - } - /* fall through */ case '?': if (*YYCURSOR == '>') { YYCURSOR--; @@ -1841,23 +1784,12 @@ inline_html: return T_COMMENT; } -<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">"){NEWLINE}? { +<ST_IN_SCRIPTING>"?>"{NEWLINE}? { BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -<ST_IN_SCRIPTING>"%>"{NEWLINE}? { - if (CG(asp_tags)) { - BEGIN(INITIAL); - return T_CLOSE_TAG; /* implicit ';' at php-end tag */ - } else { - yyless(1); - return yytext[0]; - } -} - - <ST_IN_SCRIPTING>b?['] { register char *s, *t; char *end; diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 1118239c8d..5926e3c61d 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6 */ +/* Generated by re2c 0.13.5 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 61224297b5..fd0e11d57e 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2139,11 +2139,48 @@ ZEND_VM_HANDLER(112, ZEND_INIT_METHOD_CALL, TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV) object = GET_OP1_OBJ_ZVAL_PTR_DEREF(BP_VAR_R); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { FREE_OP2(); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + FREE_OP2(); + FREE_OP1_IF_VAR(); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 54d2bb2673..d93270140d 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -11003,11 +11003,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CONST_HANDLER(ZEND_OPCO object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -12135,11 +12171,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -13266,11 +13338,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -14990,11 +15098,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_ object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -18568,11 +18712,48 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZEND_OPCO object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zval_ptr_dtor_nogc(free_op1.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -20790,11 +20971,48 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + zval_ptr_dtor_nogc(free_op1.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -22979,11 +23197,48 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + zval_ptr_dtor_nogc(free_op1.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -26364,11 +26619,48 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_ object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zval_ptr_dtor_nogc(free_op1.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -27945,11 +28237,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_O object = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -29308,11 +29636,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPC object = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -30578,11 +30942,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC object = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -32358,11 +32758,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCO object = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -35674,11 +36110,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCOD object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -37729,11 +38201,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_ object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -39789,11 +40297,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_ object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { zval_ptr_dtor_nogc(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + zval_ptr_dtor_nogc(free_op2.var); + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); @@ -42900,11 +43444,47 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_H object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC); if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) { + uint32_t nesting = 1; + if (UNEXPECTED(EG(exception) != NULL)) { HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on %s", Z_STRVAL_P(function_name), zend_get_type_by_const(Z_TYPE_P(object))); + + + if (EG(exception) != NULL) { + HANDLE_EXCEPTION(); + } + + /* No exception raised: Skip over arguments until fcall opcode with correct + * nesting level. Return NULL (except when return value unused) */ + do { + opline++; + if (opline->opcode == ZEND_INIT_FCALL || + opline->opcode == ZEND_INIT_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME || + opline->opcode == ZEND_INIT_METHOD_CALL || + opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || + opline->opcode == ZEND_INIT_USER_CALL || + opline->opcode == ZEND_NEW + ) { + nesting++; + } else if (opline->opcode == ZEND_DO_FCALL) { + nesting--; + } + } while (nesting); + + if (RETURN_VALUE_USED(opline)) { + ZVAL_NULL(EX_VAR(opline->result.var)); + } + + /* We've skipped EXT_FCALL_BEGIND, so also skip the ending opcode */ + if ((opline + 1)->opcode == ZEND_EXT_FCALL_END) { + opline++; + } + ZEND_VM_JMP(++opline); } obj = Z_OBJ_P(object); |