summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rwxr-xr-xUPGRADING6
-rw-r--r--UPGRADING.INTERNALS42
-rw-r--r--Zend/tests/variadic/adding_additional_optional_parameter.phpt17
-rw-r--r--Zend/tests/variadic/adding_additional_optional_parameter_error.phpt16
-rw-r--r--Zend/tests/variadic/basic.phpt57
-rw-r--r--Zend/tests/variadic/by_ref.phpt24
-rw-r--r--Zend/tests/variadic/by_ref_error.phpt12
-rw-r--r--Zend/tests/variadic/no_default_error.phpt10
-rw-r--r--Zend/tests/variadic/non_variadic_implements_variadic_error.phpt16
-rw-r--r--Zend/tests/variadic/only_last_error.phpt10
-rw-r--r--Zend/tests/variadic/optional_params.phpt49
-rw-r--r--Zend/tests/variadic/removing_parameter_error.phpt20
-rw-r--r--Zend/tests/variadic/typehint_error.phpt36
-rw-r--r--Zend/tests/variadic/typehint_suppressed_error.phpt33
-rw-r--r--Zend/tests/variadic/variadic_changed_byref_error.phpt16
-rw-r--r--Zend/tests/variadic/variadic_changed_typehint_error.phpt16
-rw-r--r--Zend/tests/variadic/variadic_implements_non_variadic.phpt17
-rw-r--r--Zend/zend_API.c10
-rw-r--r--Zend/zend_API.h20
-rw-r--r--Zend/zend_compile.c96
-rw-r--r--Zend/zend_compile.h29
-rw-r--r--Zend/zend_execute.c11
-rw-r--r--Zend/zend_language_parser.y25
-rw-r--r--Zend/zend_language_scanner.c4356
-rw-r--r--Zend/zend_language_scanner.l5
-rw-r--r--Zend/zend_vm_def.h31
-rw-r--r--Zend/zend_vm_execute.h56
-rw-r--r--Zend/zend_vm_opcodes.h1
-rw-r--r--ext/mbstring/mbstring.c4
-rw-r--r--ext/mysqli/mysqli_fe.c15
-rw-r--r--ext/opcache/Optimizer/block_pass.c4
-rw-r--r--ext/pdo/pdo_dbh.c10
-rw-r--r--ext/reflection/php_reflection.c33
-rw-r--r--ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt18
-rw-r--r--ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt4
-rw-r--r--ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt24
-rw-r--r--ext/reflection/tests/ReflectionParameter_toString_basic.phpt3
-rw-r--r--ext/spl/spl_directory.c3
-rw-r--r--ext/spl/tests/bug51532.phpt2
-rw-r--r--ext/sqlite3/sqlite3.c2
-rw-r--r--ext/standard/basic_functions.c15
-rw-r--r--ext/tokenizer/tokenizer_data.c6
43 files changed, 2906 insertions, 2276 deletions
diff --git a/NEWS b/NEWS
index 540f896fe4..95acaa6669 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,8 @@ PHP NEWS
. Reduced POST data memory usage by 200-300%. Removed INI setting
always_populate_raw_post_data and the $HTTP_RAW_POST_DATA global
variable. (Mike)
+ . Implemented dedicated syntax for variadic functions
+ (RFC: https://wiki.php.net/rfc/variadics). (Nikita)
- cURL:
. Implemented FR #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir
diff --git a/UPGRADING b/UPGRADING
index 581a38e2ad..87b9eefeed 100755
--- a/UPGRADING
+++ b/UPGRADING
@@ -34,8 +34,10 @@ PHP X.Y UPGRADE NOTES
2. New Features
========================================
-- Core:
- The php://input stream is now re-usable and can be used concurrently with
+- Added dedicated syntax for variadic functions.
+ (https://wiki.php.net/rfc/variadics)
+
+- The php://input stream is now re-usable and can be used concurrently with
enable_post_data_reading=0.
========================================
diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS
index 90202f00f0..d1aca29dc4 100644
--- a/UPGRADING.INTERNALS
+++ b/UPGRADING.INTERNALS
@@ -6,6 +6,7 @@ UPGRADE NOTES - PHP X.Y
a. Addition of do_operation and compare object handlers
b. return_value_ptr now always available, RETVAL_ZVAL_FAST macros
c. POST data handling
+ d. Arginfo changes
2. Build system changes
a. Unix build system changes
@@ -68,6 +69,47 @@ UPGRADE NOTES - PHP X.Y
The recommended way to access raw POST data is to open and use a php://input
stream wrapper. It is safe to be used concurrently and more than once.
+ d. Arginfo changes
+
+ The pass_rest_by_reference argument of the ZEND_BEGIN_ARG_INFO and
+ ZEND_BEGIN_ARG_INFO_EX() is no longer used. The value passed to it is ignored.
+
+ Instead a variadic argument is created using ZEND_ARG_VARIADIC_INFO():
+
+ ZEND_ARG_VARIADIC_INFO(0, name) /* pass rest by value */
+ ZEND_ARG_VARIADIC_INFO(1, name) /* pass rest by reference */
+ ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, name)
+ /* pass rest by prefer-ref */
+
+ ZEND_ARG_VARIADIC_INFO() should only be used for the last argument.
+
+ The following changes were applied to the zend_arg_info struct:
+
+ typedef struct _zend_arg_info {
+ const char *class_name;
+ zend_uint class_name_len;
+ zend_uchar type_hint;
+ + zend_uchar pass_by_reference;
+ zend_bool allow_null;
+ - zend_bool pass_by_reference;
+ + zend_bool is_variadic;
+ } zend_arg_info;
+
+ The following changes were applied to the zend_internal_function_info struct:
+
+ typedef struct _zend_internal_function_info {
+ zend_uint required_num_args;
+ zend_uchar _type_hint;
+ zend_bool return_reference;
+ - zend_bool pass_rest_by_reference;
+ + zend_bool _allow_null;
+ + zend_bool _is_variadic;
+ } zend_internal_function_info;
+
+ The CHECK_ARG_SEND_TYPE(), ARG_MUST_BE_SENT_BY_REF(),
+ ARG_SHOULD_BE_SENT_BY_REF() and ARG_MAY_BE_SENT_BY_REF() macros now assume
+ that the argument passed to them is a zend_function* and that it is non-NULL.
+
========================
2. Build system changes
========================
diff --git a/Zend/tests/variadic/adding_additional_optional_parameter.phpt b/Zend/tests/variadic/adding_additional_optional_parameter.phpt
new file mode 100644
index 0000000000..b4e797803d
--- /dev/null
+++ b/Zend/tests/variadic/adding_additional_optional_parameter.phpt
@@ -0,0 +1,17 @@
+--TEST--
+It's possible to add additional optional arguments with matching signature
+--FILE--
+<?php
+
+interface DB {
+ public function query($query, string ...$params);
+}
+
+class MySQL implements DB {
+ public function query($query, string $extraParam = null, string ...$params) { }
+}
+
+?>
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/Zend/tests/variadic/adding_additional_optional_parameter_error.phpt b/Zend/tests/variadic/adding_additional_optional_parameter_error.phpt
new file mode 100644
index 0000000000..2f31d47dc6
--- /dev/null
+++ b/Zend/tests/variadic/adding_additional_optional_parameter_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Additional optional parameters must have a matching prototype
+--FILE--
+<?php
+
+interface DB {
+ public function query($query, string ...$params);
+}
+
+class MySQL implements DB {
+ public function query($query, int $extraParam = null, string ...$params) { }
+}
+
+?>
+--EXPECTF--
+Fatal error: Declaration of MySQL::query() must be compatible with DB::query($query, string ...$params) in %s on line %d
diff --git a/Zend/tests/variadic/basic.phpt b/Zend/tests/variadic/basic.phpt
new file mode 100644
index 0000000000..810d4756aa
--- /dev/null
+++ b/Zend/tests/variadic/basic.phpt
@@ -0,0 +1,57 @@
+--TEST--
+Basic variadic function
+--FILE--
+<?php
+
+function test1(... $args) {
+ var_dump($args);
+}
+
+test1();
+test1(1);
+test1(1, 2, 3);
+
+function test2($arg1, $arg2, ...$args) {
+ var_dump($arg1, $arg2, $args);
+}
+
+test2(1, 2);
+test2(1, 2, 3);
+test2(1, 2, 3, 4, 5);
+
+?>
+--EXPECT--
+array(0) {
+}
+array(1) {
+ [0]=>
+ int(1)
+}
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(1)
+int(2)
+array(0) {
+}
+int(1)
+int(2)
+array(1) {
+ [0]=>
+ int(3)
+}
+int(1)
+int(2)
+array(3) {
+ [0]=>
+ int(3)
+ [1]=>
+ int(4)
+ [2]=>
+ int(5)
+}
diff --git a/Zend/tests/variadic/by_ref.phpt b/Zend/tests/variadic/by_ref.phpt
new file mode 100644
index 0000000000..e1635f4ecf
--- /dev/null
+++ b/Zend/tests/variadic/by_ref.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Variadic arguments with by-reference passing
+--FILE--
+<?php
+
+function test(&... $args) {
+ $i = 0;
+ foreach ($args as &$arg) {
+ $arg = $i++;
+ }
+}
+
+test();
+test($a);
+var_dump($a);
+test($b, $c, $d);
+var_dump($b, $c, $d);
+
+?>
+--EXPECT--
+int(0)
+int(0)
+int(1)
+int(2)
diff --git a/Zend/tests/variadic/by_ref_error.phpt b/Zend/tests/variadic/by_ref_error.phpt
new file mode 100644
index 0000000000..7f21014146
--- /dev/null
+++ b/Zend/tests/variadic/by_ref_error.phpt
@@ -0,0 +1,12 @@
+--TEST--
+By-ref variadics enforce the reference
+--FILE--
+<?php
+
+function test(&... $args) { }
+
+test(1);
+
+?>
+--EXPECTF--
+Fatal error: Only variables can be passed by reference in %s on line %d
diff --git a/Zend/tests/variadic/no_default_error.phpt b/Zend/tests/variadic/no_default_error.phpt
new file mode 100644
index 0000000000..427ebed028
--- /dev/null
+++ b/Zend/tests/variadic/no_default_error.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Variadic argument cannot have a default value
+--FILE--
+<?php
+
+function test(...$args = 123) {}
+
+?>
+--EXPECTF--
+Fatal error: Variadic parameter cannot have a default value in %s on line %d
diff --git a/Zend/tests/variadic/non_variadic_implements_variadic_error.phpt b/Zend/tests/variadic/non_variadic_implements_variadic_error.phpt
new file mode 100644
index 0000000000..f447837ca4
--- /dev/null
+++ b/Zend/tests/variadic/non_variadic_implements_variadic_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+It's not possible to turn a variadic function into a non-variadic one
+--FILE--
+<?php
+
+interface DB {
+ public function query($query, ...$params);
+}
+
+class MySQL implements DB {
+ public function query($query, $params) { }
+}
+
+?>
+--EXPECTF--
+Fatal error: Declaration of MySQL::query() must be compatible with DB::query($query, ...$params) in %s on line %d
diff --git a/Zend/tests/variadic/only_last_error.phpt b/Zend/tests/variadic/only_last_error.phpt
new file mode 100644
index 0000000000..ee6ff3f777
--- /dev/null
+++ b/Zend/tests/variadic/only_last_error.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Only the last argument can be variadic
+--FILE--
+<?php
+
+function test($foo, ...$bar, $baz) {}
+
+?>
+--EXPECTF--
+Fatal error: Only the last parameter can be variadic in %s on line %d
diff --git a/Zend/tests/variadic/optional_params.phpt b/Zend/tests/variadic/optional_params.phpt
new file mode 100644
index 0000000000..ba965e538c
--- /dev/null
+++ b/Zend/tests/variadic/optional_params.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Optional parameter before variadic parameter
+--FILE--
+<?php
+
+function fn($reqParam, $optParam = null, ...$params) {
+ var_dump($reqParam, $optParam, $params);
+}
+
+fn(1);
+fn(1, 2);
+fn(1, 2, 3);
+fn(1, 2, 3, 4);
+fn(1, 2, 3, 4, 5);
+
+?>
+--EXPECT--
+int(1)
+NULL
+array(0) {
+}
+int(1)
+int(2)
+array(0) {
+}
+int(1)
+int(2)
+array(1) {
+ [0]=>
+ int(3)
+}
+int(1)
+int(2)
+array(2) {
+ [0]=>
+ int(3)
+ [1]=>
+ int(4)
+}
+int(1)
+int(2)
+array(3) {
+ [0]=>
+ int(3)
+ [1]=>
+ int(4)
+ [2]=>
+ int(5)
+}
diff --git a/Zend/tests/variadic/removing_parameter_error.phpt b/Zend/tests/variadic/removing_parameter_error.phpt
new file mode 100644
index 0000000000..a189e5cf09
--- /dev/null
+++ b/Zend/tests/variadic/removing_parameter_error.phpt
@@ -0,0 +1,20 @@
+--TEST--
+It's not possible to remove required parameter before a variadic parameter
+--FILE--
+<?php
+
+/* Theoretically this should be valid because it weakens the constraint, but
+ * PHP does not allow this (for non-variadics), so I'm not allowing it here, too,
+ * to stay consistent. */
+
+interface DB {
+ public function query($query, ...$params);
+}
+
+class MySQL implements DB {
+ public function query(...$params) { }
+}
+
+?>
+--EXPECTF--
+Fatal error: Declaration of MySQL::query() must be compatible with DB::query($query, ...$params) in %s on line %d
diff --git a/Zend/tests/variadic/typehint_error.phpt b/Zend/tests/variadic/typehint_error.phpt
new file mode 100644
index 0000000000..3006b99957
--- /dev/null
+++ b/Zend/tests/variadic/typehint_error.phpt
@@ -0,0 +1,36 @@
+--TEST--
+Variadic arguments enforce typehints
+--FILE--
+<?php
+
+function test(array... $args) {
+ var_dump($args);
+}
+
+test();
+test([0], [1], [2]);
+test([0], [1], 2);
+
+?>
+--EXPECTF--
+array(0) {
+}
+array(3) {
+ [0]=>
+ array(1) {
+ [0]=>
+ int(0)
+ }
+ [1]=>
+ array(1) {
+ [0]=>
+ int(1)
+ }
+ [2]=>
+ array(1) {
+ [0]=>
+ int(2)
+ }
+}
+
+Catchable fatal error: Argument 3 passed to test() must be of the type array, integer given, called in %s on line %d
diff --git a/Zend/tests/variadic/typehint_suppressed_error.phpt b/Zend/tests/variadic/typehint_suppressed_error.phpt
new file mode 100644
index 0000000000..5048e1c1bb
--- /dev/null
+++ b/Zend/tests/variadic/typehint_suppressed_error.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Error suppression for typehints on variadic arguments works
+--FILE--
+<?php
+
+function test(array... $args) {
+ var_dump($args);
+}
+
+set_error_handler(function($errno, $errstr) {
+ var_dump($errstr);
+ return true;
+});
+
+test([0], [1], 2);
+
+?>
+--EXPECTF--
+string(%d) "Argument 3 passed to test() must be of the type array, integer given, called in %s on line %d and defined"
+array(3) {
+ [0]=>
+ array(1) {
+ [0]=>
+ int(0)
+ }
+ [1]=>
+ array(1) {
+ [0]=>
+ int(1)
+ }
+ [2]=>
+ int(2)
+}
diff --git a/Zend/tests/variadic/variadic_changed_byref_error.phpt b/Zend/tests/variadic/variadic_changed_byref_error.phpt
new file mode 100644
index 0000000000..14fb6ae5eb
--- /dev/null
+++ b/Zend/tests/variadic/variadic_changed_byref_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Variadic arguments must have compatible passing modes
+--FILE--
+<?php
+
+interface DB {
+ public function query($query, &...$params);
+}
+
+class MySQL implements DB {
+ public function query($query, ...$params) { }
+}
+
+?>
+--EXPECTF--
+Fatal error: Declaration of MySQL::query() must be compatible with DB::query($query, &...$params) in %s on line %d
diff --git a/Zend/tests/variadic/variadic_changed_typehint_error.phpt b/Zend/tests/variadic/variadic_changed_typehint_error.phpt
new file mode 100644
index 0000000000..00df33a042
--- /dev/null
+++ b/Zend/tests/variadic/variadic_changed_typehint_error.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Typehints for variadic arguments have to be compatible
+--FILE--
+<?php
+
+interface DB {
+ public function query($query, string ...$params);
+}
+
+class MySQL implements DB {
+ public function query($query, int ...$params) { }
+}
+
+?>
+--EXPECTF--
+Fatal error: Declaration of MySQL::query() must be compatible with DB::query($query, string ...$params) in %s on line %d
diff --git a/Zend/tests/variadic/variadic_implements_non_variadic.phpt b/Zend/tests/variadic/variadic_implements_non_variadic.phpt
new file mode 100644
index 0000000000..a66ec280b8
--- /dev/null
+++ b/Zend/tests/variadic/variadic_implements_non_variadic.phpt
@@ -0,0 +1,17 @@
+--TEST--
+A non-variadic function can be turned into a variadic one
+--FILE--
+<?php
+
+interface DB {
+ public function query($query);
+}
+
+class MySQL implements DB {
+ public function query($query, ...$params) { }
+}
+
+?>
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 6241df1cad..5fa7fb908e 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2090,16 +2090,12 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
} else {
internal_function->required_num_args = info->required_num_args;
}
- if (info->pass_rest_by_reference) {
- if (info->pass_rest_by_reference == ZEND_SEND_PREFER_REF) {
- internal_function->fn_flags |= ZEND_ACC_PASS_REST_PREFER_REF;
- } else {
- internal_function->fn_flags |= ZEND_ACC_PASS_REST_BY_REFERENCE;
- }
- }
if (info->return_reference) {
internal_function->fn_flags |= ZEND_ACC_RETURN_REFERENCE;
}
+ if (ptr->arg_info[ptr->num_args].is_variadic) {
+ internal_function->fn_flags |= ZEND_ACC_VARIADIC;
+ }
} else {
internal_function->arg_info = NULL;
internal_function->num_args = 0;
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 16e766d8a5..007d989609 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -98,16 +98,18 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_FE_END { NULL, NULL, NULL, 0, 0 }
-#define ZEND_ARG_INFO(pass_by_ref, name) { #name, sizeof(#name)-1, NULL, 0, 0, 0, pass_by_ref},
-#define ZEND_ARG_PASS_INFO(pass_by_ref) { NULL, 0, NULL, 0, 0, 0, pass_by_ref},
-#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, IS_OBJECT, allow_null, pass_by_ref},
-#define ZEND_ARG_ARRAY_INFO(pass_by_ref, name, allow_null) { #name, sizeof(#name)-1, NULL, 0, IS_ARRAY, allow_null, pass_by_ref},
-#define ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) { #name, sizeof(#name)-1, NULL, 0, type_hint, allow_null, pass_by_ref},
-#define ZEND_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, return_reference, required_num_args) \
+#define ZEND_ARG_INFO(pass_by_ref, name) { #name, sizeof(#name)-1, NULL, 0, 0, pass_by_ref, 0, 0 },
+#define ZEND_ARG_PASS_INFO(pass_by_ref) { NULL, 0, NULL, 0, 0, pass_by_ref, 0, 0 },
+#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, IS_OBJECT, pass_by_ref, allow_null, 0 },
+#define ZEND_ARG_ARRAY_INFO(pass_by_ref, name, allow_null) { #name, sizeof(#name)-1, NULL, 0, IS_ARRAY, pass_by_ref, allow_null, 0 },
+#define ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) { #name, sizeof(#name)-1, NULL, 0, type_hint, pass_by_ref, allow_null, 0 },
+#define ZEND_ARG_VARIADIC_INFO(pass_by_ref, name) { #name, sizeof(#name)-1, NULL, 0, 0, pass_by_ref, 0, 1 },
+
+#define ZEND_BEGIN_ARG_INFO_EX(name, _unused, return_reference, required_num_args) \
static const zend_arg_info name[] = { \
- { NULL, 0, NULL, required_num_args, 0, return_reference, pass_rest_by_reference},
-#define ZEND_BEGIN_ARG_INFO(name, pass_rest_by_reference) \
- ZEND_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, ZEND_RETURN_VALUE, -1)
+ { NULL, 0, NULL, required_num_args, 0, return_reference, 0, 0 },
+#define ZEND_BEGIN_ARG_INFO(name, _unused) \
+ ZEND_BEGIN_ARG_INFO_EX(name, 0, ZEND_RETURN_VALUE, -1)
#define ZEND_END_ARG_INFO() };
/* Name macros */
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 672f62b7ee..90ff26297a 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -1822,7 +1822,7 @@ void zend_do_end_function_declaration(const znode *function_token TSRMLS_DC) /*
}
/* }}} */
-void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, const znode *initialization, znode *class_type, zend_uchar pass_by_reference TSRMLS_DC) /* {{{ */
+void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, const znode *initialization, znode *class_type, zend_uchar pass_by_reference, zend_bool is_variadic TSRMLS_DC) /* {{{ */
{
zend_op *opline;
zend_arg_info *cur_arg_info;
@@ -1846,6 +1846,19 @@ void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, con
}
}
+ if (CG(active_op_array)->fn_flags & ZEND_ACC_VARIADIC) {
+ zend_error(E_COMPILE_ERROR, "Only the last parameter can be variadic");
+ }
+
+ if (is_variadic) {
+ if (op == ZEND_RECV_INIT) {
+ zend_error(E_COMPILE_ERROR, "Variadic parameter cannot have a default value");
+ }
+
+ op = ZEND_RECV_VARIADIC;
+ CG(active_op_array)->fn_flags |= ZEND_ACC_VARIADIC;
+ }
+
opline = get_next_op(CG(active_op_array) TSRMLS_CC);
CG(active_op_array)->num_args++;
opline->opcode = op;
@@ -1854,16 +1867,19 @@ void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, con
if (op == ZEND_RECV_INIT) {
SET_NODE(opline->op2, initialization);
} else {
- CG(active_op_array)->required_num_args = CG(active_op_array)->num_args;
SET_UNUSED(opline->op2);
+ if (!is_variadic) {
+ CG(active_op_array)->required_num_args = CG(active_op_array)->num_args;
+ }
}
CG(active_op_array)->arg_info = erealloc(CG(active_op_array)->arg_info, sizeof(zend_arg_info)*(CG(active_op_array)->num_args));
cur_arg_info = &CG(active_op_array)->arg_info[CG(active_op_array)->num_args-1];
cur_arg_info->name = zend_new_interned_string(estrndup(Z_STRVAL(varname->u.constant), Z_STRLEN(varname->u.constant)), Z_STRLEN(varname->u.constant) + 1, 1 TSRMLS_CC);
cur_arg_info->name_len = Z_STRLEN(varname->u.constant);
cur_arg_info->type_hint = 0;
- cur_arg_info->allow_null = 1;
cur_arg_info->pass_by_reference = pass_by_reference;
+ cur_arg_info->allow_null = 1;
+ cur_arg_info->is_variadic = is_variadic;
cur_arg_info->class_name = NULL;
cur_arg_info->class_name_len = 0;
@@ -3083,7 +3099,7 @@ static void do_inherit_method(zend_function *function) /* {{{ */
static zend_bool zend_do_perform_implementation_check(const zend_function *fe, const zend_function *proto TSRMLS_DC) /* {{{ */
{
- zend_uint i;
+ zend_uint i, num_args;
/* If it's a user function then arg_info == NULL means we don't have any parameters but
* we still need to do the arg number checks. We are only willing to ignore this for internal
@@ -3113,48 +3129,66 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
return 0;
}
- if (fe->common.type != ZEND_USER_FUNCTION
- && (proto->common.fn_flags & ZEND_ACC_PASS_REST_BY_REFERENCE) != 0
- && (fe->common.fn_flags & ZEND_ACC_PASS_REST_BY_REFERENCE) == 0) {
- return 0;
- }
-
/* by-ref constraints on return values are covariant */
if ((proto->common.fn_flags & ZEND_ACC_RETURN_REFERENCE)
&& !(fe->common.fn_flags & ZEND_ACC_RETURN_REFERENCE)) {
return 0;
}
- for (i=0; i < proto->common.num_args; i++) {
- if (ZEND_LOG_XOR(fe->common.arg_info[i].class_name, proto->common.arg_info[i].class_name)) {
+ if ((proto->common.fn_flags & ZEND_ACC_VARIADIC)
+ && !(fe->common.fn_flags & ZEND_ACC_VARIADIC)) {
+ return 0;
+ }
+
+ /* For variadic functions any additional (optional) arguments that were added must be
+ * checked against the signature of the variadic argument, so in this case we have to
+ * go through all the parameters of the function and not just those present in the
+ * prototype. */
+ num_args = proto->common.num_args;
+ if ((fe->common.fn_flags & ZEND_ACC_VARIADIC)
+ && fe->common.num_args > proto->common.num_args) {
+ num_args = fe->common.num_args;
+ }
+
+ for (i = 0; i < num_args; i++) {
+ zend_arg_info *fe_arg_info = &fe->common.arg_info[i];
+
+ zend_arg_info *proto_arg_info;
+ if (i < proto->common.num_args) {
+ proto_arg_info = &proto->common.arg_info[i];
+ } else {
+ proto_arg_info = &proto->common.arg_info[proto->common.num_args-1];
+ }
+
+ if (ZEND_LOG_XOR(fe_arg_info->class_name, proto_arg_info->class_name)) {
/* Only one has a type hint and the other one doesn't */
return 0;
}
- if (fe->common.arg_info[i].class_name) {
+ if (fe_arg_info->class_name) {
const char *fe_class_name, *proto_class_name;
zend_uint fe_class_name_len, proto_class_name_len;
- if (!strcasecmp(fe->common.arg_info[i].class_name, "parent") && proto->common.scope) {
+ if (!strcasecmp(fe_arg_info->class_name, "parent") && proto->common.scope) {
fe_class_name = proto->common.scope->name;
fe_class_name_len = proto->common.scope->name_length;
- } else if (!strcasecmp(fe->common.arg_info[i].class_name, "self") && fe->common.scope) {
+ } else if (!strcasecmp(fe_arg_info->class_name, "self") && fe->common.scope) {
fe_class_name = fe->common.scope->name;
fe_class_name_len = fe->common.scope->name_length;
} else {
- fe_class_name = fe->common.arg_info[i].class_name;
- fe_class_name_len = fe->common.arg_info[i].class_name_len;
+ fe_class_name = fe_arg_info->class_name;
+ fe_class_name_len = fe_arg_info->class_name_len;
}
- if (!strcasecmp(proto->common.arg_info[i].class_name, "parent") && proto->common.scope && proto->common.scope->parent) {
+ if (!strcasecmp(proto_arg_info->class_name, "parent") && proto->common.scope && proto->common.scope->parent) {
proto_class_name = proto->common.scope->parent->name;
proto_class_name_len = proto->common.scope->parent->name_length;
- } else if (!strcasecmp(proto->common.arg_info[i].class_name, "self") && proto->common.scope) {
+ } else if (!strcasecmp(proto_arg_info->class_name, "self") && proto->common.scope) {
proto_class_name = proto->common.scope->name;
proto_class_name_len = proto->common.scope->name_length;
} else {
- proto_class_name = proto->common.arg_info[i].class_name;
- proto_class_name_len = proto->common.arg_info[i].class_name_len;
+ proto_class_name = proto_arg_info->class_name;
+ proto_class_name_len = proto_arg_info->class_name_len;
}
if (strcasecmp(fe_class_name, proto_class_name)!=0) {
@@ -3181,24 +3215,17 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
}
}
}
- if (fe->common.arg_info[i].type_hint != proto->common.arg_info[i].type_hint) {
+ if (fe_arg_info->type_hint != proto_arg_info->type_hint) {
/* Incompatible type hint */
return 0;
}
/* by-ref constraints on arguments are invariant */
- if (fe->common.arg_info[i].pass_by_reference != proto->common.arg_info[i].pass_by_reference) {
+ if (fe_arg_info->pass_by_reference != proto_arg_info->pass_by_reference) {
return 0;
}
}
- if (proto->common.fn_flags & ZEND_ACC_PASS_REST_BY_REFERENCE) {
- for (i=proto->common.num_args; i < fe->common.num_args; i++) {
- if (!fe->common.arg_info[i].pass_by_reference) {
- return 0;
- }
- }
- }
return 1;
}
/* }}} */
@@ -3271,6 +3298,13 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{
if (arg_info->pass_by_reference) {
*(offset++) = '&';
}
+
+ if (arg_info->is_variadic) {
+ *(offset++) = '.';
+ *(offset++) = '.';
+ *(offset++) = '.';
+ }
+
*(offset++) = '$';
if (arg_info->name) {
@@ -3286,7 +3320,7 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{
idx /= 10;
} while (idx > 0);
}
- if (i >= required) {
+ if (i >= required && !arg_info->is_variadic) {
*(offset++) = ' ';
*(offset++) = '=';
*(offset++) = ' ';
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 61d11427a1..0e07029412 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -207,8 +207,7 @@ typedef struct _zend_try_catch_element {
/* disable inline caching */
#define ZEND_ACC_NEVER_CACHE 0x400000
-#define ZEND_ACC_PASS_REST_BY_REFERENCE 0x1000000
-#define ZEND_ACC_PASS_REST_PREFER_REF 0x2000000
+#define ZEND_ACC_VARIADIC 0x1000000
#define ZEND_ACC_RETURN_REFERENCE 0x4000000
#define ZEND_ACC_DONE_PASS_TWO 0x8000000
@@ -234,8 +233,9 @@ typedef struct _zend_arg_info {
const char *class_name;
zend_uint class_name_len;
zend_uchar type_hint;
+ zend_uchar pass_by_reference;
zend_bool allow_null;
- zend_bool pass_by_reference;
+ zend_bool is_variadic;
} zend_arg_info;
/* the following structure repeats the layout of zend_arg_info,
@@ -249,7 +249,8 @@ typedef struct _zend_internal_function_info {
zend_uint required_num_args;
zend_uchar _type_hint;
zend_bool return_reference;
- zend_bool pass_rest_by_reference;
+ zend_bool _allow_null;
+ zend_bool _is_variadic;
} zend_internal_function_info;
typedef struct _zend_compiled_variable {
@@ -500,7 +501,7 @@ void zend_do_add_variable(znode *result, const znode *op1, const znode *op2 TSRM
int zend_do_verify_access_types(const znode *current_access_type, const znode *new_modifier);
void zend_do_begin_function_declaration(znode *function_token, znode *function_name, int is_method, int return_reference, znode *fn_flags_znode TSRMLS_DC);
void zend_do_end_function_declaration(const znode *function_token TSRMLS_DC);
-void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, const znode *initialization, znode *class_type, zend_bool pass_by_reference TSRMLS_DC);
+void zend_do_receive_arg(zend_uchar op, znode *varname, const znode *offset, const znode *initialization, znode *class_type, zend_bool pass_by_reference, zend_bool is_variadic TSRMLS_DC);
int zend_do_begin_function_call(znode *function_name, zend_bool check_namespace TSRMLS_DC);
void zend_do_begin_method_call(znode *left_bracket TSRMLS_DC);
void zend_do_clone(znode *result, const znode *expr TSRMLS_DC);
@@ -817,21 +818,21 @@ int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC);
#define ZEND_SEND_BY_REF 1
#define ZEND_SEND_PREFER_REF 2
-#define CHECK_ARG_SEND_TYPE(zf, arg_num, m1, m2) \
- ((zf) && \
- ((((zend_function*)(zf))->common.arg_info && \
- arg_num <= ((zend_function*)(zf))->common.num_args) ? \
- (((zend_function *)(zf))->common.arg_info[arg_num-1].pass_by_reference & (m1)) : \
- (((zend_function *)(zf))->common.fn_flags & (m2))))
+#define CHECK_ARG_SEND_TYPE(zf, arg_num, m) \
+ ((zf)->common.arg_info && \
+ (arg_num <= (zf)->common.num_args \
+ ? ((zf)->common.arg_info[arg_num-1].pass_by_reference & (m)) \
+ : ((zf)->common.fn_flags & ZEND_ACC_VARIADIC) \
+ ? ((zf)->common.arg_info[(zf)->common.num_args-1].pass_by_reference & (m)) : 0))
#define ARG_MUST_BE_SENT_BY_REF(zf, arg_num) \
- CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_BY_REF, ZEND_ACC_PASS_REST_BY_REFERENCE)
+ CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_BY_REF)
#define ARG_SHOULD_BE_SENT_BY_REF(zf, arg_num) \
- CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_BY_REF|ZEND_SEND_PREFER_REF, ZEND_ACC_PASS_REST_BY_REFERENCE|ZEND_ACC_PASS_REST_PREFER_REF)
+ CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_BY_REF|ZEND_SEND_PREFER_REF)
#define ARG_MAY_BE_SENT_BY_REF(zf, arg_num) \
- CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_PREFER_REF, ZEND_ACC_PASS_REST_PREFER_REF)
+ CHECK_ARG_SEND_TYPE(zf, arg_num, ZEND_SEND_PREFER_REF)
#define ZEND_RETURN_VAL 0
#define ZEND_RETURN_REF 1
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index c79a55169c..9f78218d3d 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -616,12 +616,17 @@ static inline int zend_verify_arg_type(zend_function *zf, zend_uint arg_num, zva
char *need_msg;
zend_class_entry *ce;
- if (!zf->common.arg_info
- || arg_num>zf->common.num_args) {
+ if (!zf->common.arg_info) {
return 1;
}
- cur_arg_info = &zf->common.arg_info[arg_num-1];
+ if (arg_num <= zf->common.num_args) {
+ cur_arg_info = &zf->common.arg_info[arg_num-1];
+ } else if (zf->common.fn_flags & ZEND_ACC_VARIADIC) {
+ cur_arg_info = &zf->common.arg_info[zf->common.num_args-1];
+ } else {
+ return 1;
+ }
if (cur_arg_info->class_name) {
const char *class_name;
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index 403146e164..4523783dec 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -212,6 +212,7 @@ static YYSIZE_T zend_yytnamerr(char*, const char*);
%token T_NS_C "__NAMESPACE__ (T_NS_C)"
%token T_DIR "__DIR__ (T_DIR)"
%token T_NS_SEPARATOR "\\ (T_NS_SEPARATOR)"
+%token T_ELLIPSIS "... (T_ELLIPSIS)"
%% /* Rules */
@@ -371,10 +372,14 @@ class_declaration_statement:
;
is_reference:
- /* empty */ { $$.op_type = ZEND_RETURN_VAL; }
- | '&' { $$.op_type = ZEND_RETURN_REF; }
+ /* empty */ { $$.op_type = 0; }
+ | '&' { $$.op_type = 1; }
;
+is_variadic:
+ /* empty */ { $$.op_type = 0; }
+ | T_ELLIPSIS { $$.op_type = 1; }
+;
unticked_function_declaration_statement:
function is_reference T_STRING { zend_do_begin_function_declaration(&$1, &$3, 0, $2.op_type, NULL TSRMLS_CC); }
@@ -523,14 +528,14 @@ parameter_list:
non_empty_parameter_list:
- optional_class_type T_VARIABLE { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV, &$2, &$$, NULL, &$1, 0 TSRMLS_CC); }
- | optional_class_type '&' T_VARIABLE { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV, &$3, &$$, NULL, &$1, 1 TSRMLS_CC); }
- | optional_class_type '&' T_VARIABLE '=' static_scalar { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV_INIT, &$3, &$$, &$5, &$1, 1 TSRMLS_CC); }
- | optional_class_type T_VARIABLE '=' static_scalar { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV_INIT, &$2, &$$, &$4, &$1, 0 TSRMLS_CC); }
- | non_empty_parameter_list ',' optional_class_type T_VARIABLE { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV, &$4, &$$, NULL, &$3, 0 TSRMLS_CC); }
- | non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV, &$5, &$$, NULL, &$3, 1 TSRMLS_CC); }
- | non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE '=' static_scalar { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV_INIT, &$5, &$$, &$7, &$3, 1 TSRMLS_CC); }
- | non_empty_parameter_list ',' optional_class_type T_VARIABLE '=' static_scalar { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV_INIT, &$4, &$$, &$6, &$3, 0 TSRMLS_CC); }
+ optional_class_type is_reference is_variadic T_VARIABLE
+ { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV, &$4, &$$, NULL, &$1, $2.op_type, $3.op_type TSRMLS_CC); }
+ | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar
+ { $$.op_type = IS_UNUSED; $$.u.op.num=1; zend_do_receive_arg(ZEND_RECV_INIT, &$4, &$$, &$6, &$1, $2.op_type, $3.op_type TSRMLS_CC); }
+ | non_empty_parameter_list ',' optional_class_type is_reference is_variadic T_VARIABLE
+ { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV, &$6, &$$, NULL, &$3, $4.op_type, $5.op_type TSRMLS_CC); }
+ | non_empty_parameter_list ',' optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar
+ { $$=$1; $$.u.op.num++; zend_do_receive_arg(ZEND_RECV_INIT, &$6, &$$, &$8, &$3, $4.op_type, $5.op_type TSRMLS_CC); }
;
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index d5768d3345..12ee1f59c2 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1096,7 +1096,7 @@ yyc_INITIAL:
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1738 "Zend/zend_language_scanner.l"
+#line 1741 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1174,7 +1174,7 @@ yy5:
yy6:
YYDEBUG(6, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1728 "Zend/zend_language_scanner.l"
+#line 1731 "Zend/zend_language_scanner.l"
{
if (CG(short_tags)) {
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
@@ -1191,7 +1191,7 @@ yy7:
if ((yych = *YYCURSOR) == '=') goto yy43;
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1709 "Zend/zend_language_scanner.l"
+#line 1712 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
@@ -1387,7 +1387,7 @@ yy35:
++YYCURSOR;
YYDEBUG(38, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1675 "Zend/zend_language_scanner.l"
+#line 1678 "Zend/zend_language_scanner.l"
{
YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
@@ -1429,7 +1429,7 @@ yy43:
++YYCURSOR;
YYDEBUG(44, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1691 "Zend/zend_language_scanner.l"
+#line 1694 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
@@ -1445,7 +1445,7 @@ yy45:
++YYCURSOR;
YYDEBUG(46, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1702 "Zend/zend_language_scanner.l"
+#line 1705 "Zend/zend_language_scanner.l"
{
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(ST_IN_SCRIPTING);
@@ -1478,7 +1478,7 @@ yy50:
yy51:
YYDEBUG(51, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1720 "Zend/zend_language_scanner.l"
+#line 1723 "Zend/zend_language_scanner.l"
{
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINE(yytext[yyleng-1]);
@@ -1556,7 +1556,7 @@ yyc_ST_BACKQUOTE:
yy56:
YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2183 "Zend/zend_language_scanner.l"
+#line 2186 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1608,7 +1608,7 @@ yy58:
++YYCURSOR;
YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2127 "Zend/zend_language_scanner.l"
+#line 2130 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '`';
@@ -1623,7 +1623,7 @@ yy61:
++YYCURSOR;
YYDEBUG(62, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2114 "Zend/zend_language_scanner.l"
+#line 2117 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -1646,7 +1646,7 @@ yy63:
yy65:
YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1820 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
@@ -1658,7 +1658,7 @@ yy66:
++YYCURSOR;
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -1677,7 +1677,7 @@ yy70:
++YYCURSOR;
YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1812 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1703,7 +1703,7 @@ yy73:
++YYCURSOR;
YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1802 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1779,7 +1779,7 @@ yy77:
yy78:
YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2133 "Zend/zend_language_scanner.l"
+#line 2136 "Zend/zend_language_scanner.l"
{
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
@@ -1839,7 +1839,7 @@ yy80:
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2122 "Zend/zend_language_scanner.l"
+#line 2125 "Zend/zend_language_scanner.l"
{
BEGIN(ST_IN_SCRIPTING);
return '"';
@@ -1854,7 +1854,7 @@ yy83:
++YYCURSOR;
YYDEBUG(84, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2114 "Zend/zend_language_scanner.l"
+#line 2117 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -1877,7 +1877,7 @@ yy85:
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1820 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
@@ -1889,7 +1889,7 @@ yy88:
++YYCURSOR;
YYDEBUG(89, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -1908,7 +1908,7 @@ yy92:
++YYCURSOR;
YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1812 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -1934,7 +1934,7 @@ yy95:
++YYCURSOR;
YYDEBUG(96, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1802 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -1953,7 +1953,7 @@ yyc_ST_END_HEREDOC:
++YYCURSOR;
YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2100 "Zend/zend_language_scanner.l"
+#line 2103 "Zend/zend_language_scanner.l"
{
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
@@ -2028,7 +2028,7 @@ yy103:
yy104:
YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2225 "Zend/zend_language_scanner.l"
+#line 2228 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -2116,7 +2116,7 @@ yy107:
++YYCURSOR;
YYDEBUG(108, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2114 "Zend/zend_language_scanner.l"
+#line 2117 "Zend/zend_language_scanner.l"
{
Z_LVAL_P(zendlval) = (long) '{';
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2139,7 +2139,7 @@ yy109:
yy111:
YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1820 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
@@ -2151,7 +2151,7 @@ yy112:
++YYCURSOR;
YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1454 "Zend/zend_language_scanner.l"
+#line 1457 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
return T_DOLLAR_OPEN_CURLY_BRACES;
@@ -2170,7 +2170,7 @@ yy116:
++YYCURSOR;
YYDEBUG(117, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1812 "Zend/zend_language_scanner.l"
+#line 1815 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
@@ -2196,7 +2196,7 @@ yy119:
++YYCURSOR;
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1802 "Zend/zend_language_scanner.l"
+#line 1805 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 3);
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
@@ -2281,14 +2281,14 @@ yyc_ST_IN_SCRIPTING:
case '\n':
case '\r':
case ' ': goto yy140;
- case '!': goto yy153;
+ case '!': goto yy154;
case '"': goto yy180;
case '#': goto yy176;
case '$': goto yy165;
case '%': goto yy159;
case '&': goto yy160;
case '\'': goto yy178;
- case '(': goto yy147;
+ case '(': goto yy148;
case ')':
case ',':
case ';':
@@ -2296,11 +2296,11 @@ yyc_ST_IN_SCRIPTING:
case '[':
case ']':
case '~': goto yy166;
- case '*': goto yy156;
- case '+': goto yy152;
+ case '*': goto yy157;
+ case '+': goto yy153;
case '-': goto yy138;
- case '.': goto yy158;
- case '/': goto yy157;
+ case '.': goto yy145;
+ case '/': goto yy158;
case '0': goto yy172;
case '1':
case '2':
@@ -2312,9 +2312,9 @@ yyc_ST_IN_SCRIPTING:
case '8':
case '9': goto yy174;
case ':': goto yy142;
- case '<': goto yy154;
- case '=': goto yy150;
- case '>': goto yy155;
+ case '<': goto yy155;
+ case '=': goto yy151;
+ case '>': goto yy156;
case '?': goto yy167;
case 'A':
case 'a': goto yy133;
@@ -2333,9 +2333,9 @@ yyc_ST_IN_SCRIPTING:
case 'I':
case 'i': goto yy131;
case 'L':
- case 'l': goto yy151;
+ case 'l': goto yy152;
case 'N':
- case 'n': goto yy145;
+ case 'n': goto yy146;
case 'O':
case 'o': goto yy163;
case 'P':
@@ -2347,9 +2347,9 @@ yyc_ST_IN_SCRIPTING:
case 'T':
case 't': goto yy130;
case 'U':
- case 'u': goto yy148;
+ case 'u': goto yy149;
case 'V':
- case 'v': goto yy146;
+ case 'v': goto yy147;
case 'W':
case 'w': goto yy132;
case 'X':
@@ -2358,7 +2358,7 @@ yyc_ST_IN_SCRIPTING:
case 'y': goto yy129;
case '\\': goto yy143;
case '^': goto yy162;
- case '_': goto yy149;
+ case '_': goto yy150;
case '`': goto yy182;
case '{': goto yy168;
case '|': goto yy161;
@@ -2371,23 +2371,23 @@ yy123:
YYDEBUG(-1, yych);
switch ((yych = *YYCURSOR)) {
case 'C':
- case 'c': goto yy735;
+ case 'c': goto yy738;
case 'L':
- case 'l': goto yy736;
+ case 'l': goto yy739;
case 'M':
- case 'm': goto yy737;
+ case 'm': goto yy740;
case 'N':
- case 'n': goto yy738;
+ case 'n': goto yy741;
case 'V':
- case 'v': goto yy739;
+ case 'v': goto yy742;
case 'X':
- case 'x': goto yy740;
+ case 'x': goto yy743;
default: goto yy187;
}
yy124:
YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1843 "Zend/zend_language_scanner.l"
+#line 1846 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
@@ -2399,20 +2399,20 @@ yy125:
yych = *++YYCURSOR;
if (yych <= 'O') {
if (yych <= 'H') {
- if (yych == 'E') goto yy717;
+ if (yych == 'E') goto yy720;
goto yy187;
} else {
- if (yych <= 'I') goto yy718;
+ if (yych <= 'I') goto yy721;
if (yych <= 'N') goto yy187;
- goto yy719;
+ goto yy722;
}
} else {
if (yych <= 'h') {
- if (yych == 'e') goto yy717;
+ if (yych == 'e') goto yy720;
goto yy187;
} else {
- if (yych <= 'i') goto yy718;
- if (yych == 'o') goto yy719;
+ if (yych <= 'i') goto yy721;
+ if (yych == 'o') goto yy722;
goto yy187;
}
}
@@ -2421,20 +2421,20 @@ yy126:
yych = *++YYCURSOR;
if (yych <= 'U') {
if (yych <= 'N') {
- if (yych == 'I') goto yy693;
+ if (yych == 'I') goto yy696;
goto yy187;
} else {
- if (yych <= 'O') goto yy694;
+ if (yych <= 'O') goto yy697;
if (yych <= 'T') goto yy187;
- goto yy695;
+ goto yy698;
}
} else {
if (yych <= 'n') {
- if (yych == 'i') goto yy693;
+ if (yych == 'i') goto yy696;
goto yy187;
} else {
- if (yych <= 'o') goto yy694;
- if (yych == 'u') goto yy695;
+ if (yych <= 'o') goto yy697;
+ if (yych == 'u') goto yy698;
goto yy187;
}
}
@@ -2443,48 +2443,48 @@ yy127:
yych = *++YYCURSOR;
if (yych <= 'O') {
if (yych <= 'K') {
- if (yych == 'A') goto yy658;
+ if (yych == 'A') goto yy661;
goto yy187;
} else {
- if (yych <= 'L') goto yy659;
+ if (yych <= 'L') goto yy662;
if (yych <= 'N') goto yy187;
- goto yy660;
+ goto yy663;
}
} else {
if (yych <= 'k') {
- if (yych == 'a') goto yy658;
+ if (yych == 'a') goto yy661;
goto yy187;
} else {
- if (yych <= 'l') goto yy659;
- if (yych == 'o') goto yy660;
+ if (yych <= 'l') goto yy662;
+ if (yych == 'o') goto yy663;
goto yy187;
}
}
yy128:
YYDEBUG(128, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy640;
- if (yych == 'e') goto yy640;
+ if (yych == 'E') goto yy643;
+ if (yych == 'e') goto yy643;
goto yy187;
yy129:
YYDEBUG(129, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy635;
- if (yych == 'i') goto yy635;
+ if (yych == 'I') goto yy638;
+ if (yych == 'i') goto yy638;
goto yy187;
yy130:
YYDEBUG(130, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'R') {
- if (yych == 'H') goto yy623;
+ if (yych == 'H') goto yy626;
if (yych <= 'Q') goto yy187;
- goto yy624;
+ goto yy627;
} else {
if (yych <= 'h') {
if (yych <= 'g') goto yy187;
- goto yy623;
+ goto yy626;
} else {
- if (yych == 'r') goto yy624;
+ if (yych == 'r') goto yy627;
goto yy187;
}
}
@@ -2493,53 +2493,53 @@ yy131:
yych = *++YYCURSOR;
if (yych <= 'S') {
if (yych <= 'L') {
- if (yych == 'F') goto yy570;
+ if (yych == 'F') goto yy573;
goto yy187;
} else {
- if (yych <= 'M') goto yy572;
- if (yych <= 'N') goto yy573;
+ if (yych <= 'M') goto yy575;
+ if (yych <= 'N') goto yy576;
if (yych <= 'R') goto yy187;
- goto yy574;
+ goto yy577;
}
} else {
if (yych <= 'm') {
- if (yych == 'f') goto yy570;
+ if (yych == 'f') goto yy573;
if (yych <= 'l') goto yy187;
- goto yy572;
+ goto yy575;
} else {
- if (yych <= 'n') goto yy573;
- if (yych == 's') goto yy574;
+ if (yych <= 'n') goto yy576;
+ if (yych == 's') goto yy577;
goto yy187;
}
}
yy132:
YYDEBUG(132, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy565;
- if (yych == 'h') goto yy565;
+ if (yych == 'H') goto yy568;
+ if (yych == 'h') goto yy568;
goto yy187;
yy133:
YYDEBUG(133, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'S') {
if (yych <= 'M') {
- if (yych == 'B') goto yy547;
+ if (yych == 'B') goto yy550;
goto yy187;
} else {
- if (yych <= 'N') goto yy548;
+ if (yych <= 'N') goto yy551;
if (yych <= 'Q') goto yy187;
- if (yych <= 'R') goto yy549;
- goto yy550;
+ if (yych <= 'R') goto yy552;
+ goto yy553;
}
} else {
if (yych <= 'n') {
- if (yych == 'b') goto yy547;
+ if (yych == 'b') goto yy550;
if (yych <= 'm') goto yy187;
- goto yy548;
+ goto yy551;
} else {
if (yych <= 'q') goto yy187;
- if (yych <= 'r') goto yy549;
- if (yych <= 's') goto yy550;
+ if (yych <= 'r') goto yy552;
+ if (yych <= 's') goto yy553;
goto yy187;
}
}
@@ -2547,15 +2547,15 @@ yy134:
YYDEBUG(134, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'W') {
- if (yych == 'T') goto yy535;
+ if (yych == 'T') goto yy538;
if (yych <= 'V') goto yy187;
- goto yy536;
+ goto yy539;
} else {
if (yych <= 't') {
if (yych <= 's') goto yy187;
- goto yy535;
+ goto yy538;
} else {
- if (yych == 'w') goto yy536;
+ if (yych == 'w') goto yy539;
goto yy187;
}
}
@@ -2566,18 +2566,18 @@ yy135:
if (yych <= ';') {
if (yych <= '"') {
if (yych <= '!') goto yy187;
- goto yy527;
+ goto yy530;
} else {
- if (yych == '\'') goto yy528;
+ if (yych == '\'') goto yy531;
goto yy187;
}
} else {
if (yych <= 'R') {
- if (yych <= '<') goto yy526;
+ if (yych <= '<') goto yy529;
if (yych <= 'Q') goto yy187;
- goto yy529;
+ goto yy532;
} else {
- if (yych == 'r') goto yy529;
+ if (yych == 'r') goto yy532;
goto yy187;
}
}
@@ -2585,15 +2585,15 @@ yy136:
YYDEBUG(136, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'O') {
- if (yych == 'L') goto yy516;
+ if (yych == 'L') goto yy519;
if (yych <= 'N') goto yy187;
- goto yy517;
+ goto yy520;
} else {
if (yych <= 'l') {
if (yych <= 'k') goto yy187;
- goto yy516;
+ goto yy519;
} else {
- if (yych == 'o') goto yy517;
+ if (yych == 'o') goto yy520;
goto yy187;
}
}
@@ -2601,15 +2601,15 @@ yy137:
YYDEBUG(137, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'U') {
- if (yych == 'R') goto yy492;
+ if (yych == 'R') goto yy495;
if (yych <= 'T') goto yy187;
- goto yy493;
+ goto yy496;
} else {
if (yych <= 'r') {
if (yych <= 'q') goto yy187;
- goto yy492;
+ goto yy495;
} else {
- if (yych == 'u') goto yy493;
+ if (yych == 'u') goto yy496;
goto yy187;
}
}
@@ -2617,15 +2617,15 @@ yy138:
YYDEBUG(138, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '<') {
- if (yych == '-') goto yy488;
+ if (yych == '-') goto yy491;
} else {
- if (yych <= '=') goto yy486;
- if (yych <= '>') goto yy490;
+ if (yych <= '=') goto yy489;
+ if (yych <= '>') goto yy493;
}
yy139:
YYDEBUG(139, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1443 "Zend/zend_language_scanner.l"
+#line 1446 "Zend/zend_language_scanner.l"
{
return yytext[0];
}
@@ -2634,11 +2634,11 @@ yy140:
YYDEBUG(140, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy485;
+ goto yy488;
yy141:
YYDEBUG(141, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1176 "Zend/zend_language_scanner.l"
+#line 1175 "Zend/zend_language_scanner.l"
{
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINES(yytext, yyleng);
@@ -2648,181 +2648,186 @@ yy141:
yy142:
YYDEBUG(142, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == ':') goto yy482;
+ if (yych == ':') goto yy485;
goto yy139;
yy143:
YYDEBUG(143, *YYCURSOR);
++YYCURSOR;
YYDEBUG(144, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1203 "Zend/zend_language_scanner.l"
+#line 1202 "Zend/zend_language_scanner.l"
{
return T_NS_SEPARATOR;
}
#line 2663 "Zend/zend_language_scanner.c"
yy145:
YYDEBUG(145, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych == '.') goto yy482;
+ goto yy139;
+ } else {
+ if (yych <= '9') goto yy478;
+ if (yych == '=') goto yy480;
+ goto yy139;
+ }
+yy146:
+ YYDEBUG(146, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'E') {
- if (yych == 'A') goto yy470;
+ if (yych == 'A') goto yy466;
if (yych <= 'D') goto yy187;
- goto yy471;
+ goto yy467;
} else {
if (yych <= 'a') {
if (yych <= '`') goto yy187;
- goto yy470;
+ goto yy466;
} else {
- if (yych == 'e') goto yy471;
+ if (yych == 'e') goto yy467;
goto yy187;
}
}
-yy146:
- YYDEBUG(146, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy467;
- if (yych == 'a') goto yy467;
- goto yy187;
yy147:
YYDEBUG(147, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy463;
+ if (yych == 'a') goto yy463;
+ goto yy187;
+yy148:
+ YYDEBUG(148, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'S') {
if (yych <= 'D') {
if (yych <= ' ') {
- if (yych == '\t') goto yy392;
+ if (yych == '\t') goto yy388;
if (yych <= 0x1F) goto yy139;
- goto yy392;
+ goto yy388;
} else {
if (yych <= '@') goto yy139;
if (yych == 'C') goto yy139;
- goto yy392;
+ goto yy388;
}
} else {
if (yych <= 'I') {
- if (yych == 'F') goto yy392;
+ if (yych == 'F') goto yy388;
if (yych <= 'H') goto yy139;
- goto yy392;
+ goto yy388;
} else {
- if (yych == 'O') goto yy392;
+ if (yych == 'O') goto yy388;
if (yych <= 'Q') goto yy139;
- goto yy392;
+ goto yy388;
}
}
} else {
if (yych <= 'f') {
if (yych <= 'b') {
- if (yych == 'U') goto yy392;
+ if (yych == 'U') goto yy388;
if (yych <= '`') goto yy139;
- goto yy392;
+ goto yy388;
} else {
- if (yych == 'd') goto yy392;
+ if (yych == 'd') goto yy388;
if (yych <= 'e') goto yy139;
- goto yy392;
+ goto yy388;
}
} else {
if (yych <= 'o') {
- if (yych == 'i') goto yy392;
+ if (yych == 'i') goto yy388;
if (yych <= 'n') goto yy139;
- goto yy392;
+ goto yy388;
} else {
if (yych <= 's') {
if (yych <= 'q') goto yy139;
- goto yy392;
+ goto yy388;
} else {
- if (yych == 'u') goto yy392;
+ if (yych == 'u') goto yy388;
goto yy139;
}
}
}
}
-yy148:
- YYDEBUG(148, *YYCURSOR);
+yy149:
+ YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'S') {
- if (yych == 'N') goto yy383;
+ if (yych == 'N') goto yy379;
if (yych <= 'R') goto yy187;
- goto yy384;
+ goto yy380;
} else {
if (yych <= 'n') {
if (yych <= 'm') goto yy187;
- goto yy383;
+ goto yy379;
} else {
- if (yych == 's') goto yy384;
+ if (yych == 's') goto yy380;
goto yy187;
}
}
-yy149:
- YYDEBUG(149, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy301;
- goto yy187;
yy150:
YYDEBUG(150, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy139;
- if (yych <= '=') goto yy295;
- if (yych <= '>') goto yy297;
- goto yy139;
+ if (yych == '_') goto yy297;
+ goto yy187;
yy151:
YYDEBUG(151, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy291;
- if (yych == 'i') goto yy291;
- goto yy187;
+ if (yych <= '<') goto yy139;
+ if (yych <= '=') goto yy291;
+ if (yych <= '>') goto yy293;
+ goto yy139;
yy152:
YYDEBUG(152, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '+') goto yy289;
- if (yych == '=') goto yy287;
- goto yy139;
+ if (yych == 'I') goto yy287;
+ if (yych == 'i') goto yy287;
+ goto yy187;
yy153:
YYDEBUG(153, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy284;
+ if (yych == '+') goto yy285;
+ if (yych == '=') goto yy283;
goto yy139;
yy154:
YYDEBUG(154, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy280;
+ goto yy139;
+yy155:
+ YYDEBUG(155, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= ';') {
- if (yych == '/') goto yy256;
+ if (yych == '/') goto yy252;
goto yy139;
} else {
- if (yych <= '<') goto yy254;
- if (yych <= '=') goto yy257;
- if (yych <= '>') goto yy259;
+ if (yych <= '<') goto yy250;
+ if (yych <= '=') goto yy253;
+ if (yych <= '>') goto yy255;
goto yy139;
}
-yy155:
- YYDEBUG(155, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy139;
- if (yych <= '=') goto yy250;
- if (yych <= '>') goto yy248;
- goto yy139;
yy156:
YYDEBUG(156, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy246;
+ if (yych <= '<') goto yy139;
+ if (yych <= '=') goto yy246;
+ if (yych <= '>') goto yy244;
goto yy139;
yy157:
YYDEBUG(157, *YYCURSOR);
yych = *++YYCURSOR;
+ if (yych == '=') goto yy242;
+ goto yy139;
+yy158:
+ YYDEBUG(158, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yych <= '.') {
- if (yych == '*') goto yy238;
+ if (yych == '*') goto yy234;
goto yy139;
} else {
- if (yych <= '/') goto yy240;
- if (yych == '=') goto yy241;
+ if (yych <= '/') goto yy236;
+ if (yych == '=') goto yy237;
goto yy139;
}
-yy158:
- YYDEBUG(158, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy139;
- if (yych <= '9') goto yy234;
- if (yych == '=') goto yy236;
- goto yy139;
yy159:
YYDEBUG(159, *YYCURSOR);
yych = *++YYCURSOR;
@@ -2887,18 +2892,18 @@ yy168:
++YYCURSOR;
YYDEBUG(169, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1448 "Zend/zend_language_scanner.l"
+#line 1451 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return '{';
}
-#line 2896 "Zend/zend_language_scanner.c"
+#line 2901 "Zend/zend_language_scanner.c"
yy170:
YYDEBUG(170, *YYCURSOR);
++YYCURSOR;
YYDEBUG(171, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1460 "Zend/zend_language_scanner.l"
+#line 1463 "Zend/zend_language_scanner.l"
{
RESET_DOC_COMMENT();
if (!zend_stack_is_empty(&SCNG(state_stack))) {
@@ -2906,7 +2911,7 @@ yy170:
}
return '}';
}
-#line 2910 "Zend/zend_language_scanner.c"
+#line 2915 "Zend/zend_language_scanner.c"
yy172:
YYDEBUG(172, *YYCURSOR);
yyaccept = 2;
@@ -2934,7 +2939,7 @@ yy172:
yy173:
YYDEBUG(173, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1510 "Zend/zend_language_scanner.l"
+#line 1513 "Zend/zend_language_scanner.l"
{
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);
@@ -2955,7 +2960,7 @@ yy173:
zendlval->type = IS_LONG;
return T_LNUMBER;
}
-#line 2959 "Zend/zend_language_scanner.c"
+#line 2964 "Zend/zend_language_scanner.c"
yy174:
YYDEBUG(174, *YYCURSOR);
yyaccept = 2;
@@ -2983,7 +2988,7 @@ yy176:
yy177:
YYDEBUG(177, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1850 "Zend/zend_language_scanner.l"
+#line 1853 "Zend/zend_language_scanner.l"
{
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR++) {
@@ -3017,14 +3022,14 @@ yy177:
return T_COMMENT;
}
-#line 3021 "Zend/zend_language_scanner.c"
+#line 3026 "Zend/zend_language_scanner.c"
yy178:
YYDEBUG(178, *YYCURSOR);
++YYCURSOR;
yy179:
YYDEBUG(179, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1937 "Zend/zend_language_scanner.l"
+#line 1940 "Zend/zend_language_scanner.l"
{
register char *s, *t;
char *end;
@@ -3090,14 +3095,14 @@ yy179:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-#line 3094 "Zend/zend_language_scanner.c"
+#line 3099 "Zend/zend_language_scanner.c"
yy180:
YYDEBUG(180, *YYCURSOR);
++YYCURSOR;
yy181:
YYDEBUG(181, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2004 "Zend/zend_language_scanner.l"
+#line 2007 "Zend/zend_language_scanner.l"
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -3138,24 +3143,24 @@ yy181:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-#line 3142 "Zend/zend_language_scanner.c"
+#line 3147 "Zend/zend_language_scanner.c"
yy182:
YYDEBUG(182, *YYCURSOR);
++YYCURSOR;
YYDEBUG(183, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2094 "Zend/zend_language_scanner.l"
+#line 2097 "Zend/zend_language_scanner.l"
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-#line 3153 "Zend/zend_language_scanner.c"
+#line 3158 "Zend/zend_language_scanner.c"
yy184:
YYDEBUG(184, *YYCURSOR);
++YYCURSOR;
YYDEBUG(185, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2357 "Zend/zend_language_scanner.l"
+#line 2360 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -3164,7 +3169,7 @@ yy184:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 3168 "Zend/zend_language_scanner.c"
+#line 3173 "Zend/zend_language_scanner.c"
yy186:
YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
@@ -3191,12 +3196,12 @@ yy188:
yy190:
YYDEBUG(190, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1569 "Zend/zend_language_scanner.l"
+#line 1572 "Zend/zend_language_scanner.l"
{
ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
return T_DNUMBER;
}
-#line 3200 "Zend/zend_language_scanner.c"
+#line 3205 "Zend/zend_language_scanner.c"
yy191:
YYDEBUG(191, *YYCURSOR);
yyaccept = 2;
@@ -3243,10 +3248,10 @@ yy194:
if (yyaccept <= 3) {
goto yy190;
} else {
- goto yy239;
+ goto yy235;
}
} else {
- goto yy255;
+ goto yy251;
}
}
yy195:
@@ -3288,7 +3293,7 @@ yy200:
}
YYDEBUG(202, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1486 "Zend/zend_language_scanner.l"
+#line 1489 "Zend/zend_language_scanner.l"
{
char *bin = yytext + 2; /* Skip "0b" */
int len = yyleng - 2;
@@ -3312,7 +3317,7 @@ yy200:
return T_DNUMBER;
}
}
-#line 3316 "Zend/zend_language_scanner.c"
+#line 3321 "Zend/zend_language_scanner.c"
yy203:
YYDEBUG(203, *YYCURSOR);
++YYCURSOR;
@@ -3324,7 +3329,7 @@ yy203:
}
YYDEBUG(205, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1531 "Zend/zend_language_scanner.l"
+#line 1534 "Zend/zend_language_scanner.l"
{
char *hex = yytext + 2; /* Skip "0x" */
int len = yyleng - 2;
@@ -3348,7 +3353,7 @@ yy203:
return T_DNUMBER;
}
}
-#line 3352 "Zend/zend_language_scanner.c"
+#line 3357 "Zend/zend_language_scanner.c"
yy206:
YYDEBUG(206, *YYCURSOR);
++YYCURSOR;
@@ -3357,13 +3362,13 @@ yy206:
yy207:
YYDEBUG(207, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1918 "Zend/zend_language_scanner.l"
+#line 1921 "Zend/zend_language_scanner.l"
{
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-#line 3367 "Zend/zend_language_scanner.c"
+#line 3372 "Zend/zend_language_scanner.c"
yy208:
YYDEBUG(208, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3397,13 +3402,13 @@ yy210:
yy212:
YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1820 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 3407 "Zend/zend_language_scanner.c"
+#line 3412 "Zend/zend_language_scanner.c"
yy213:
YYDEBUG(213, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3417,11 +3422,11 @@ yy214:
}
YYDEBUG(215, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1431 "Zend/zend_language_scanner.l"
+#line 1434 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_XOR;
}
-#line 3425 "Zend/zend_language_scanner.c"
+#line 3430 "Zend/zend_language_scanner.c"
yy216:
YYDEBUG(216, *YYCURSOR);
++YYCURSOR;
@@ -3430,61 +3435,61 @@ yy216:
}
YYDEBUG(217, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1423 "Zend/zend_language_scanner.l"
+#line 1426 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_OR;
}
-#line 3438 "Zend/zend_language_scanner.c"
+#line 3443 "Zend/zend_language_scanner.c"
yy218:
YYDEBUG(218, *YYCURSOR);
++YYCURSOR;
YYDEBUG(219, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1411 "Zend/zend_language_scanner.l"
+#line 1414 "Zend/zend_language_scanner.l"
{
return T_XOR_EQUAL;
}
-#line 3448 "Zend/zend_language_scanner.c"
+#line 3453 "Zend/zend_language_scanner.c"
yy220:
YYDEBUG(220, *YYCURSOR);
++YYCURSOR;
YYDEBUG(221, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1415 "Zend/zend_language_scanner.l"
+#line 1418 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_OR;
}
-#line 3458 "Zend/zend_language_scanner.c"
+#line 3463 "Zend/zend_language_scanner.c"
yy222:
YYDEBUG(222, *YYCURSOR);
++YYCURSOR;
YYDEBUG(223, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1407 "Zend/zend_language_scanner.l"
+#line 1410 "Zend/zend_language_scanner.l"
{
return T_OR_EQUAL;
}
-#line 3468 "Zend/zend_language_scanner.c"
+#line 3473 "Zend/zend_language_scanner.c"
yy224:
YYDEBUG(224, *YYCURSOR);
++YYCURSOR;
YYDEBUG(225, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1419 "Zend/zend_language_scanner.l"
+#line 1422 "Zend/zend_language_scanner.l"
{
return T_BOOLEAN_AND;
}
-#line 3478 "Zend/zend_language_scanner.c"
+#line 3483 "Zend/zend_language_scanner.c"
yy226:
YYDEBUG(226, *YYCURSOR);
++YYCURSOR;
YYDEBUG(227, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1403 "Zend/zend_language_scanner.l"
+#line 1406 "Zend/zend_language_scanner.l"
{
return T_AND_EQUAL;
}
-#line 3488 "Zend/zend_language_scanner.c"
+#line 3493 "Zend/zend_language_scanner.c"
yy228:
YYDEBUG(228, *YYCURSOR);
++YYCURSOR;
@@ -3493,7 +3498,7 @@ yy228:
yy229:
YYDEBUG(229, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1925 "Zend/zend_language_scanner.l"
+#line 1928 "Zend/zend_language_scanner.l"
{
if (CG(asp_tags)) {
BEGIN(INITIAL);
@@ -3504,17 +3509,17 @@ yy229:
return yytext[0];
}
}
-#line 3508 "Zend/zend_language_scanner.c"
+#line 3513 "Zend/zend_language_scanner.c"
yy230:
YYDEBUG(230, *YYCURSOR);
++YYCURSOR;
YYDEBUG(231, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1391 "Zend/zend_language_scanner.l"
+#line 1394 "Zend/zend_language_scanner.l"
{
return T_MOD_EQUAL;
}
-#line 3518 "Zend/zend_language_scanner.c"
+#line 3523 "Zend/zend_language_scanner.c"
yy232:
YYDEBUG(232, *YYCURSOR);
yych = *++YYCURSOR;
@@ -3526,39 +3531,13 @@ yy233:
goto yy229;
yy234:
YYDEBUG(234, *YYCURSOR);
- yyaccept = 3;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(235, *YYCURSOR);
- if (yych <= 'D') {
- if (yych <= '/') goto yy190;
- if (yych <= '9') goto yy234;
- goto yy190;
- } else {
- if (yych <= 'E') goto yy193;
- if (yych == 'e') goto yy193;
- goto yy190;
- }
-yy236:
- YYDEBUG(236, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(237, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1387 "Zend/zend_language_scanner.l"
- {
- return T_CONCAT_EQUAL;
-}
-#line 3553 "Zend/zend_language_scanner.c"
-yy238:
- YYDEBUG(238, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy243;
-yy239:
- YYDEBUG(239, *YYCURSOR);
+ if (yych == '*') goto yy239;
+yy235:
+ YYDEBUG(235, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1884 "Zend/zend_language_scanner.l"
+#line 1887 "Zend/zend_language_scanner.l"
{
int doc_com;
@@ -3592,281 +3571,281 @@ yy239:
return T_COMMENT;
}
-#line 3596 "Zend/zend_language_scanner.c"
-yy240:
- YYDEBUG(240, *YYCURSOR);
+#line 3575 "Zend/zend_language_scanner.c"
+yy236:
+ YYDEBUG(236, *YYCURSOR);
yych = *++YYCURSOR;
goto yy177;
-yy241:
- YYDEBUG(241, *YYCURSOR);
+yy237:
+ YYDEBUG(237, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(242, *YYCURSOR);
+ YYDEBUG(238, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1383 "Zend/zend_language_scanner.l"
+#line 1386 "Zend/zend_language_scanner.l"
{
return T_DIV_EQUAL;
}
-#line 3610 "Zend/zend_language_scanner.c"
-yy243:
- YYDEBUG(243, *YYCURSOR);
+#line 3589 "Zend/zend_language_scanner.c"
+yy239:
+ YYDEBUG(239, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy244;
+ goto yy240;
}
goto yy194;
-yy244:
- YYDEBUG(244, *YYCURSOR);
+yy240:
+ YYDEBUG(240, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(245, *YYCURSOR);
+ YYDEBUG(241, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy244;
+ goto yy240;
}
- goto yy239;
-yy246:
- YYDEBUG(246, *YYCURSOR);
+ goto yy235;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(247, *YYCURSOR);
+ YYDEBUG(243, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1379 "Zend/zend_language_scanner.l"
+#line 1382 "Zend/zend_language_scanner.l"
{
return T_MUL_EQUAL;
}
-#line 3637 "Zend/zend_language_scanner.c"
-yy248:
- YYDEBUG(248, *YYCURSOR);
+#line 3616 "Zend/zend_language_scanner.c"
+yy244:
+ YYDEBUG(244, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy252;
- YYDEBUG(249, *YYCURSOR);
+ if ((yych = *YYCURSOR) == '=') goto yy248;
+ YYDEBUG(245, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1439 "Zend/zend_language_scanner.l"
+#line 1442 "Zend/zend_language_scanner.l"
{
return T_SR;
}
-#line 3648 "Zend/zend_language_scanner.c"
-yy250:
- YYDEBUG(250, *YYCURSOR);
+#line 3627 "Zend/zend_language_scanner.c"
+yy246:
+ YYDEBUG(246, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(251, *YYCURSOR);
+ YYDEBUG(247, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1367 "Zend/zend_language_scanner.l"
+#line 1370 "Zend/zend_language_scanner.l"
{
return T_IS_GREATER_OR_EQUAL;
}
-#line 3658 "Zend/zend_language_scanner.c"
-yy252:
- YYDEBUG(252, *YYCURSOR);
+#line 3637 "Zend/zend_language_scanner.c"
+yy248:
+ YYDEBUG(248, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(253, *YYCURSOR);
+ YYDEBUG(249, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1399 "Zend/zend_language_scanner.l"
+#line 1402 "Zend/zend_language_scanner.l"
{
return T_SR_EQUAL;
}
-#line 3668 "Zend/zend_language_scanner.c"
-yy254:
- YYDEBUG(254, *YYCURSOR);
+#line 3647 "Zend/zend_language_scanner.c"
+yy250:
+ YYDEBUG(250, *YYCURSOR);
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy255;
- if (yych <= '<') goto yy270;
- if (yych <= '=') goto yy268;
-yy255:
- YYDEBUG(255, *YYCURSOR);
+ if (yych <= ';') goto yy251;
+ if (yych <= '<') goto yy266;
+ if (yych <= '=') goto yy264;
+yy251:
+ YYDEBUG(251, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1435 "Zend/zend_language_scanner.l"
+#line 1438 "Zend/zend_language_scanner.l"
{
return T_SL;
}
-#line 3683 "Zend/zend_language_scanner.c"
-yy256:
- YYDEBUG(256, *YYCURSOR);
+#line 3662 "Zend/zend_language_scanner.c"
+yy252:
+ YYDEBUG(252, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy261;
- if (yych == 's') goto yy261;
+ if (yych == 'S') goto yy257;
+ if (yych == 's') goto yy257;
goto yy194;
-yy257:
- YYDEBUG(257, *YYCURSOR);
+yy253:
+ YYDEBUG(253, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(258, *YYCURSOR);
+ YYDEBUG(254, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1363 "Zend/zend_language_scanner.l"
+#line 1366 "Zend/zend_language_scanner.l"
{
return T_IS_SMALLER_OR_EQUAL;
}
-#line 3699 "Zend/zend_language_scanner.c"
-yy259:
- YYDEBUG(259, *YYCURSOR);
+#line 3678 "Zend/zend_language_scanner.c"
+yy255:
+ YYDEBUG(255, *YYCURSOR);
++YYCURSOR;
-yy260:
- YYDEBUG(260, *YYCURSOR);
+yy256:
+ YYDEBUG(256, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1359 "Zend/zend_language_scanner.l"
+#line 1362 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_EQUAL;
}
-#line 3710 "Zend/zend_language_scanner.c"
-yy261:
- YYDEBUG(261, *YYCURSOR);
+#line 3689 "Zend/zend_language_scanner.c"
+yy257:
+ YYDEBUG(257, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy262;
+ if (yych == 'C') goto yy258;
if (yych != 'c') goto yy194;
-yy262:
- YYDEBUG(262, *YYCURSOR);
+yy258:
+ YYDEBUG(258, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy263;
+ if (yych == 'R') goto yy259;
if (yych != 'r') goto yy194;
-yy263:
- YYDEBUG(263, *YYCURSOR);
+yy259:
+ YYDEBUG(259, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy264;
+ if (yych == 'I') goto yy260;
if (yych != 'i') goto yy194;
-yy264:
- YYDEBUG(264, *YYCURSOR);
+yy260:
+ YYDEBUG(260, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy265;
+ if (yych == 'P') goto yy261;
if (yych != 'p') goto yy194;
-yy265:
- YYDEBUG(265, *YYCURSOR);
+yy261:
+ YYDEBUG(261, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy266;
+ if (yych == 'T') goto yy262;
if (yych != 't') goto yy194;
-yy266:
- YYDEBUG(266, *YYCURSOR);
+yy262:
+ YYDEBUG(262, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(267, *YYCURSOR);
+ YYDEBUG(263, *YYCURSOR);
if (yych <= '\r') {
if (yych <= 0x08) goto yy194;
- if (yych <= '\n') goto yy266;
+ if (yych <= '\n') goto yy262;
if (yych <= '\f') goto yy194;
- goto yy266;
+ goto yy262;
} else {
if (yych <= ' ') {
if (yych <= 0x1F) goto yy194;
- goto yy266;
+ goto yy262;
} else {
if (yych == '>') goto yy206;
goto yy194;
}
}
-yy268:
- YYDEBUG(268, *YYCURSOR);
+yy264:
+ YYDEBUG(264, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(269, *YYCURSOR);
+ YYDEBUG(265, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1395 "Zend/zend_language_scanner.l"
+#line 1398 "Zend/zend_language_scanner.l"
{
return T_SL_EQUAL;
}
-#line 3765 "Zend/zend_language_scanner.c"
-yy270:
- YYDEBUG(270, *YYCURSOR);
+#line 3744 "Zend/zend_language_scanner.c"
+yy266:
+ YYDEBUG(266, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(271, *YYCURSOR);
+ YYDEBUG(267, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy270;
+ goto yy266;
}
if (yych <= 'Z') {
if (yych <= '&') {
- if (yych == '"') goto yy275;
+ if (yych == '"') goto yy271;
goto yy194;
} else {
- if (yych <= '\'') goto yy274;
+ if (yych <= '\'') goto yy270;
if (yych <= '@') goto yy194;
}
} else {
if (yych <= '`') {
if (yych != '_') goto yy194;
} else {
- if (yych <= 'z') goto yy272;
+ if (yych <= 'z') goto yy268;
if (yych <= '~') goto yy194;
}
}
-yy272:
- YYDEBUG(272, *YYCURSOR);
+yy268:
+ YYDEBUG(268, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(273, *YYCURSOR);
+ YYDEBUG(269, *YYCURSOR);
if (yych <= '@') {
if (yych <= '\f') {
- if (yych == '\n') goto yy279;
+ if (yych == '\n') goto yy275;
goto yy194;
} else {
- if (yych <= '\r') goto yy281;
+ if (yych <= '\r') goto yy277;
if (yych <= '/') goto yy194;
- if (yych <= '9') goto yy272;
+ if (yych <= '9') goto yy268;
goto yy194;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy272;
+ if (yych <= 'Z') goto yy268;
if (yych <= '^') goto yy194;
- goto yy272;
+ goto yy268;
} else {
if (yych <= '`') goto yy194;
- if (yych <= 'z') goto yy272;
+ if (yych <= 'z') goto yy268;
if (yych <= '~') goto yy194;
- goto yy272;
+ goto yy268;
}
}
-yy274:
- YYDEBUG(274, *YYCURSOR);
+yy270:
+ YYDEBUG(270, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == '\'') goto yy194;
- if (yych <= '/') goto yy283;
+ if (yych <= '/') goto yy279;
if (yych <= '9') goto yy194;
- goto yy283;
-yy275:
- YYDEBUG(275, *YYCURSOR);
+ goto yy279;
+yy271:
+ YYDEBUG(271, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == '"') goto yy194;
- if (yych <= '/') goto yy277;
+ if (yych <= '/') goto yy273;
if (yych <= '9') goto yy194;
- goto yy277;
-yy276:
- YYDEBUG(276, *YYCURSOR);
+ goto yy273;
+yy272:
+ YYDEBUG(272, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
-yy277:
- YYDEBUG(277, *YYCURSOR);
+yy273:
+ YYDEBUG(273, *YYCURSOR);
if (yych <= 'Z') {
if (yych <= '/') {
if (yych != '"') goto yy194;
} else {
- if (yych <= '9') goto yy276;
+ if (yych <= '9') goto yy272;
if (yych <= '@') goto yy194;
- goto yy276;
+ goto yy272;
}
} else {
if (yych <= '`') {
- if (yych == '_') goto yy276;
+ if (yych == '_') goto yy272;
goto yy194;
} else {
- if (yych <= 'z') goto yy276;
+ if (yych <= 'z') goto yy272;
if (yych <= '~') goto yy194;
- goto yy276;
+ goto yy272;
}
}
-yy278:
- YYDEBUG(278, *YYCURSOR);
+yy274:
+ YYDEBUG(274, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy279;
- if (yych == '\r') goto yy281;
+ if (yych == '\n') goto yy275;
+ if (yych == '\r') goto yy277;
goto yy194;
-yy279:
- YYDEBUG(279, *YYCURSOR);
+yy275:
+ YYDEBUG(275, *YYCURSOR);
++YYCURSOR;
-yy280:
- YYDEBUG(280, *YYCURSOR);
+yy276:
+ YYDEBUG(276, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2046 "Zend/zend_language_scanner.l"
+#line 2049 "Zend/zend_language_scanner.l"
{
char *s;
int bprefix = (yytext[0] != '<') ? 1 : 0;
@@ -3913,255 +3892,255 @@ yy280:
return T_START_HEREDOC;
}
-#line 3917 "Zend/zend_language_scanner.c"
-yy281:
- YYDEBUG(281, *YYCURSOR);
+#line 3896 "Zend/zend_language_scanner.c"
+yy277:
+ YYDEBUG(277, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy279;
- goto yy280;
-yy282:
- YYDEBUG(282, *YYCURSOR);
+ if (yych == '\n') goto yy275;
+ goto yy276;
+yy278:
+ YYDEBUG(278, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
-yy283:
- YYDEBUG(283, *YYCURSOR);
+yy279:
+ YYDEBUG(279, *YYCURSOR);
if (yych <= 'Z') {
if (yych <= '/') {
- if (yych == '\'') goto yy278;
+ if (yych == '\'') goto yy274;
goto yy194;
} else {
- if (yych <= '9') goto yy282;
+ if (yych <= '9') goto yy278;
if (yych <= '@') goto yy194;
- goto yy282;
+ goto yy278;
}
} else {
if (yych <= '`') {
- if (yych == '_') goto yy282;
+ if (yych == '_') goto yy278;
goto yy194;
} else {
- if (yych <= 'z') goto yy282;
+ if (yych <= 'z') goto yy278;
if (yych <= '~') goto yy194;
- goto yy282;
+ goto yy278;
}
}
-yy284:
- YYDEBUG(284, *YYCURSOR);
+yy280:
+ YYDEBUG(280, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych != '=') goto yy260;
- YYDEBUG(285, *YYCURSOR);
+ if (yych != '=') goto yy256;
+ YYDEBUG(281, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(286, *YYCURSOR);
+ YYDEBUG(282, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1351 "Zend/zend_language_scanner.l"
+#line 1354 "Zend/zend_language_scanner.l"
{
return T_IS_NOT_IDENTICAL;
}
-#line 3961 "Zend/zend_language_scanner.c"
-yy287:
- YYDEBUG(287, *YYCURSOR);
+#line 3940 "Zend/zend_language_scanner.c"
+yy283:
+ YYDEBUG(283, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(288, *YYCURSOR);
+ YYDEBUG(284, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1371 "Zend/zend_language_scanner.l"
+#line 1374 "Zend/zend_language_scanner.l"
{
return T_PLUS_EQUAL;
}
-#line 3971 "Zend/zend_language_scanner.c"
-yy289:
- YYDEBUG(289, *YYCURSOR);
+#line 3950 "Zend/zend_language_scanner.c"
+yy285:
+ YYDEBUG(285, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(290, *YYCURSOR);
+ YYDEBUG(286, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1339 "Zend/zend_language_scanner.l"
+#line 1342 "Zend/zend_language_scanner.l"
{
return T_INC;
}
-#line 3981 "Zend/zend_language_scanner.c"
-yy291:
- YYDEBUG(291, *YYCURSOR);
+#line 3960 "Zend/zend_language_scanner.c"
+yy287:
+ YYDEBUG(287, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy292;
+ if (yych == 'S') goto yy288;
if (yych != 's') goto yy187;
-yy292:
- YYDEBUG(292, *YYCURSOR);
+yy288:
+ YYDEBUG(288, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy293;
+ if (yych == 'T') goto yy289;
if (yych != 't') goto yy187;
-yy293:
- YYDEBUG(293, *YYCURSOR);
+yy289:
+ YYDEBUG(289, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(294, *YYCURSOR);
+ YYDEBUG(290, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1327 "Zend/zend_language_scanner.l"
+#line 1330 "Zend/zend_language_scanner.l"
{
return T_LIST;
}
-#line 4004 "Zend/zend_language_scanner.c"
-yy295:
- YYDEBUG(295, *YYCURSOR);
+#line 3983 "Zend/zend_language_scanner.c"
+yy291:
+ YYDEBUG(291, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy299;
- YYDEBUG(296, *YYCURSOR);
+ if ((yych = *YYCURSOR) == '=') goto yy295;
+ YYDEBUG(292, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1355 "Zend/zend_language_scanner.l"
+#line 1358 "Zend/zend_language_scanner.l"
{
return T_IS_EQUAL;
}
-#line 4015 "Zend/zend_language_scanner.c"
-yy297:
- YYDEBUG(297, *YYCURSOR);
+#line 3994 "Zend/zend_language_scanner.c"
+yy293:
+ YYDEBUG(293, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(298, *YYCURSOR);
+ YYDEBUG(294, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1323 "Zend/zend_language_scanner.l"
+#line 1326 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_ARROW;
}
-#line 4025 "Zend/zend_language_scanner.c"
-yy299:
- YYDEBUG(299, *YYCURSOR);
+#line 4004 "Zend/zend_language_scanner.c"
+yy295:
+ YYDEBUG(295, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(300, *YYCURSOR);
+ YYDEBUG(296, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1347 "Zend/zend_language_scanner.l"
+#line 1350 "Zend/zend_language_scanner.l"
{
return T_IS_IDENTICAL;
}
-#line 4035 "Zend/zend_language_scanner.c"
-yy301:
- YYDEBUG(301, *YYCURSOR);
+#line 4014 "Zend/zend_language_scanner.c"
+yy297:
+ YYDEBUG(297, *YYCURSOR);
yych = *++YYCURSOR;
YYDEBUG(-1, yych);
switch (yych) {
case 'C':
- case 'c': goto yy303;
+ case 'c': goto yy299;
case 'D':
- case 'd': goto yy308;
+ case 'd': goto yy304;
case 'F':
- case 'f': goto yy305;
+ case 'f': goto yy301;
case 'H':
- case 'h': goto yy302;
+ case 'h': goto yy298;
case 'L':
- case 'l': goto yy307;
+ case 'l': goto yy303;
case 'M':
- case 'm': goto yy306;
+ case 'm': goto yy302;
case 'N':
- case 'n': goto yy309;
+ case 'n': goto yy305;
case 'T':
- case 't': goto yy304;
+ case 't': goto yy300;
default: goto yy187;
}
-yy302:
- YYDEBUG(302, *YYCURSOR);
+yy298:
+ YYDEBUG(298, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy370;
- if (yych == 'a') goto yy370;
+ if (yych == 'A') goto yy366;
+ if (yych == 'a') goto yy366;
goto yy187;
-yy303:
- YYDEBUG(303, *YYCURSOR);
+yy299:
+ YYDEBUG(299, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy363;
- if (yych == 'l') goto yy363;
+ if (yych == 'L') goto yy359;
+ if (yych == 'l') goto yy359;
goto yy187;
-yy304:
- YYDEBUG(304, *YYCURSOR);
+yy300:
+ YYDEBUG(300, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy356;
- if (yych == 'r') goto yy356;
+ if (yych == 'R') goto yy352;
+ if (yych == 'r') goto yy352;
goto yy187;
-yy305:
- YYDEBUG(305, *YYCURSOR);
+yy301:
+ YYDEBUG(301, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'U') {
- if (yych == 'I') goto yy340;
+ if (yych == 'I') goto yy336;
if (yych <= 'T') goto yy187;
- goto yy341;
+ goto yy337;
} else {
if (yych <= 'i') {
if (yych <= 'h') goto yy187;
- goto yy340;
+ goto yy336;
} else {
- if (yych == 'u') goto yy341;
+ if (yych == 'u') goto yy337;
goto yy187;
}
}
+yy302:
+ YYDEBUG(302, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy328;
+ if (yych == 'e') goto yy328;
+ goto yy187;
+yy303:
+ YYDEBUG(303, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy322;
+ if (yych == 'i') goto yy322;
+ goto yy187;
+yy304:
+ YYDEBUG(304, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy317;
+ if (yych == 'i') goto yy317;
+ goto yy187;
+yy305:
+ YYDEBUG(305, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy306;
+ if (yych != 'a') goto yy187;
yy306:
YYDEBUG(306, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy332;
- if (yych == 'e') goto yy332;
- goto yy187;
+ if (yych == 'M') goto yy307;
+ if (yych != 'm') goto yy187;
yy307:
YYDEBUG(307, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy326;
- if (yych == 'i') goto yy326;
- goto yy187;
+ if (yych == 'E') goto yy308;
+ if (yych != 'e') goto yy187;
yy308:
YYDEBUG(308, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy321;
- if (yych == 'i') goto yy321;
- goto yy187;
+ if (yych == 'S') goto yy309;
+ if (yych != 's') goto yy187;
yy309:
YYDEBUG(309, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy310;
- if (yych != 'a') goto yy187;
+ if (yych == 'P') goto yy310;
+ if (yych != 'p') goto yy187;
yy310:
YYDEBUG(310, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy311;
- if (yych != 'm') goto yy187;
+ if (yych == 'A') goto yy311;
+ if (yych != 'a') goto yy187;
yy311:
YYDEBUG(311, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy312;
- if (yych != 'e') goto yy187;
+ if (yych == 'C') goto yy312;
+ if (yych != 'c') goto yy187;
yy312:
YYDEBUG(312, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy313;
- if (yych != 's') goto yy187;
+ if (yych == 'E') goto yy313;
+ if (yych != 'e') goto yy187;
yy313:
YYDEBUG(313, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy314;
- if (yych != 'p') goto yy187;
-yy314:
- YYDEBUG(314, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy315;
- if (yych != 'a') goto yy187;
-yy315:
- YYDEBUG(315, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy316;
- if (yych != 'c') goto yy187;
-yy316:
- YYDEBUG(316, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy317;
- if (yych != 'e') goto yy187;
-yy317:
- YYDEBUG(317, *YYCURSOR);
- yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(318, *YYCURSOR);
+ YYDEBUG(314, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(319, *YYCURSOR);
+ YYDEBUG(315, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(320, *YYCURSOR);
+ YYDEBUG(316, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1665 "Zend/zend_language_scanner.l"
+#line 1668 "Zend/zend_language_scanner.l"
{
if (CG(current_namespace)) {
*zendlval = *CG(current_namespace);
@@ -4171,27 +4150,27 @@ yy317:
}
return T_NS_C;
}
-#line 4175 "Zend/zend_language_scanner.c"
-yy321:
- YYDEBUG(321, *YYCURSOR);
+#line 4154 "Zend/zend_language_scanner.c"
+yy317:
+ YYDEBUG(317, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy322;
+ if (yych == 'R') goto yy318;
if (yych != 'r') goto yy187;
-yy322:
- YYDEBUG(322, *YYCURSOR);
+yy318:
+ YYDEBUG(318, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(323, *YYCURSOR);
+ YYDEBUG(319, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(324, *YYCURSOR);
+ YYDEBUG(320, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(325, *YYCURSOR);
+ YYDEBUG(321, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1640 "Zend/zend_language_scanner.l"
+#line 1643 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
const size_t filename_len = strlen(filename);
@@ -4216,72 +4195,72 @@ yy322:
ZVAL_STRING(zendlval, dirname, 0);
return T_DIR;
}
-#line 4220 "Zend/zend_language_scanner.c"
-yy326:
- YYDEBUG(326, *YYCURSOR);
+#line 4199 "Zend/zend_language_scanner.c"
+yy322:
+ YYDEBUG(322, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy327;
+ if (yych == 'N') goto yy323;
if (yych != 'n') goto yy187;
-yy327:
- YYDEBUG(327, *YYCURSOR);
+yy323:
+ YYDEBUG(323, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy328;
+ if (yych == 'E') goto yy324;
if (yych != 'e') goto yy187;
-yy328:
- YYDEBUG(328, *YYCURSOR);
+yy324:
+ YYDEBUG(324, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(329, *YYCURSOR);
+ YYDEBUG(325, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(330, *YYCURSOR);
+ YYDEBUG(326, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(331, *YYCURSOR);
+ YYDEBUG(327, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1625 "Zend/zend_language_scanner.l"
+#line 1628 "Zend/zend_language_scanner.l"
{
ZVAL_LONG(zendlval, CG(zend_lineno));
return T_LINE;
}
-#line 4250 "Zend/zend_language_scanner.c"
-yy332:
- YYDEBUG(332, *YYCURSOR);
+#line 4229 "Zend/zend_language_scanner.c"
+yy328:
+ YYDEBUG(328, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy333;
+ if (yych == 'T') goto yy329;
if (yych != 't') goto yy187;
-yy333:
- YYDEBUG(333, *YYCURSOR);
+yy329:
+ YYDEBUG(329, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy334;
+ if (yych == 'H') goto yy330;
if (yych != 'h') goto yy187;
-yy334:
- YYDEBUG(334, *YYCURSOR);
+yy330:
+ YYDEBUG(330, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy335;
+ if (yych == 'O') goto yy331;
if (yych != 'o') goto yy187;
-yy335:
- YYDEBUG(335, *YYCURSOR);
+yy331:
+ YYDEBUG(331, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy336;
+ if (yych == 'D') goto yy332;
if (yych != 'd') goto yy187;
-yy336:
- YYDEBUG(336, *YYCURSOR);
+yy332:
+ YYDEBUG(332, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(337, *YYCURSOR);
+ YYDEBUG(333, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(338, *YYCURSOR);
+ YYDEBUG(334, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(339, *YYCURSOR);
+ YYDEBUG(335, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1612 "Zend/zend_language_scanner.l"
+#line 1615 "Zend/zend_language_scanner.l"
{
const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
@@ -4294,58 +4273,58 @@ yy336:
zendlval->type = IS_STRING;
return T_METHOD_C;
}
-#line 4298 "Zend/zend_language_scanner.c"
-yy340:
- YYDEBUG(340, *YYCURSOR);
+#line 4277 "Zend/zend_language_scanner.c"
+yy336:
+ YYDEBUG(336, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy351;
- if (yych == 'l') goto yy351;
+ if (yych == 'L') goto yy347;
+ if (yych == 'l') goto yy347;
goto yy187;
-yy341:
- YYDEBUG(341, *YYCURSOR);
+yy337:
+ YYDEBUG(337, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy342;
+ if (yych == 'N') goto yy338;
if (yych != 'n') goto yy187;
-yy342:
- YYDEBUG(342, *YYCURSOR);
+yy338:
+ YYDEBUG(338, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy343;
+ if (yych == 'C') goto yy339;
if (yych != 'c') goto yy187;
-yy343:
- YYDEBUG(343, *YYCURSOR);
+yy339:
+ YYDEBUG(339, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy344;
+ if (yych == 'T') goto yy340;
if (yych != 't') goto yy187;
-yy344:
- YYDEBUG(344, *YYCURSOR);
+yy340:
+ YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy345;
+ if (yych == 'I') goto yy341;
if (yych != 'i') goto yy187;
-yy345:
- YYDEBUG(345, *YYCURSOR);
+yy341:
+ YYDEBUG(341, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy346;
+ if (yych == 'O') goto yy342;
if (yych != 'o') goto yy187;
-yy346:
- YYDEBUG(346, *YYCURSOR);
+yy342:
+ YYDEBUG(342, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy347;
+ if (yych == 'N') goto yy343;
if (yych != 'n') goto yy187;
-yy347:
- YYDEBUG(347, *YYCURSOR);
+yy343:
+ YYDEBUG(343, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(348, *YYCURSOR);
+ YYDEBUG(344, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(349, *YYCURSOR);
+ YYDEBUG(345, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(350, *YYCURSOR);
+ YYDEBUG(346, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1602 "Zend/zend_language_scanner.l"
+#line 1605 "Zend/zend_language_scanner.l"
{
zend_op_array *op_array = CG(active_op_array);
if (op_array && op_array->function_name) {
@@ -4355,27 +4334,27 @@ yy347:
}
return T_FUNC_C;
}
-#line 4359 "Zend/zend_language_scanner.c"
-yy351:
- YYDEBUG(351, *YYCURSOR);
+#line 4338 "Zend/zend_language_scanner.c"
+yy347:
+ YYDEBUG(347, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy352;
+ if (yych == 'E') goto yy348;
if (yych != 'e') goto yy187;
-yy352:
- YYDEBUG(352, *YYCURSOR);
+yy348:
+ YYDEBUG(348, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(353, *YYCURSOR);
+ YYDEBUG(349, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(354, *YYCURSOR);
+ YYDEBUG(350, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(355, *YYCURSOR);
+ YYDEBUG(351, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1630 "Zend/zend_language_scanner.l"
+#line 1633 "Zend/zend_language_scanner.l"
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
@@ -4385,37 +4364,37 @@ yy352:
ZVAL_STRING(zendlval, filename, 1);
return T_FILE;
}
-#line 4389 "Zend/zend_language_scanner.c"
-yy356:
- YYDEBUG(356, *YYCURSOR);
+#line 4368 "Zend/zend_language_scanner.c"
+yy352:
+ YYDEBUG(352, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy357;
+ if (yych == 'A') goto yy353;
if (yych != 'a') goto yy187;
-yy357:
- YYDEBUG(357, *YYCURSOR);
+yy353:
+ YYDEBUG(353, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy358;
+ if (yych == 'I') goto yy354;
if (yych != 'i') goto yy187;
-yy358:
- YYDEBUG(358, *YYCURSOR);
+yy354:
+ YYDEBUG(354, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy359;
+ if (yych == 'T') goto yy355;
if (yych != 't') goto yy187;
-yy359:
- YYDEBUG(359, *YYCURSOR);
+yy355:
+ YYDEBUG(355, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(360, *YYCURSOR);
+ YYDEBUG(356, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(361, *YYCURSOR);
+ YYDEBUG(357, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(362, *YYCURSOR);
+ YYDEBUG(358, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1592 "Zend/zend_language_scanner.l"
+#line 1595 "Zend/zend_language_scanner.l"
{
zend_class_entry *ce = CG(active_class_entry);
if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
@@ -4425,37 +4404,37 @@ yy359:
}
return T_TRAIT_C;
}
-#line 4429 "Zend/zend_language_scanner.c"
-yy363:
- YYDEBUG(363, *YYCURSOR);
+#line 4408 "Zend/zend_language_scanner.c"
+yy359:
+ YYDEBUG(359, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy364;
+ if (yych == 'A') goto yy360;
if (yych != 'a') goto yy187;
-yy364:
- YYDEBUG(364, *YYCURSOR);
+yy360:
+ YYDEBUG(360, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy365;
+ if (yych == 'S') goto yy361;
if (yych != 's') goto yy187;
-yy365:
- YYDEBUG(365, *YYCURSOR);
+yy361:
+ YYDEBUG(361, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy366;
+ if (yych == 'S') goto yy362;
if (yych != 's') goto yy187;
-yy366:
- YYDEBUG(366, *YYCURSOR);
+yy362:
+ YYDEBUG(362, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(367, *YYCURSOR);
+ YYDEBUG(363, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '_') goto yy187;
- YYDEBUG(368, *YYCURSOR);
+ YYDEBUG(364, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(369, *YYCURSOR);
+ YYDEBUG(365, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1574 "Zend/zend_language_scanner.l"
+#line 1577 "Zend/zend_language_scanner.l"
{
zend_class_entry *ce = CG(active_class_entry);
if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
@@ -4473,60 +4452,84 @@ yy366:
}
return T_CLASS_C;
}
-#line 4477 "Zend/zend_language_scanner.c"
+#line 4456 "Zend/zend_language_scanner.c"
+yy366:
+ YYDEBUG(366, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy367;
+ if (yych != 'l') goto yy187;
+yy367:
+ YYDEBUG(367, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy368;
+ if (yych != 't') goto yy187;
+yy368:
+ YYDEBUG(368, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
+ YYDEBUG(369, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy370;
+ if (yych != 'c') goto yy187;
yy370:
YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy371;
- if (yych != 'l') goto yy187;
+ if (yych == 'O') goto yy371;
+ if (yych != 'o') goto yy187;
yy371:
YYDEBUG(371, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy372;
- if (yych != 't') goto yy187;
+ if (yych == 'M') goto yy372;
+ if (yych != 'm') goto yy187;
yy372:
YYDEBUG(372, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych != '_') goto yy187;
+ if (yych == 'P') goto yy373;
+ if (yych != 'p') goto yy187;
+yy373:
YYDEBUG(373, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy374;
- if (yych != 'c') goto yy187;
+ if (yych == 'I') goto yy374;
+ if (yych != 'i') goto yy187;
yy374:
YYDEBUG(374, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy375;
- if (yych != 'o') goto yy187;
+ if (yych == 'L') goto yy375;
+ if (yych != 'l') goto yy187;
yy375:
YYDEBUG(375, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy376;
- if (yych != 'm') goto yy187;
+ if (yych == 'E') goto yy376;
+ if (yych != 'e') goto yy187;
yy376:
YYDEBUG(376, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy377;
- if (yych != 'p') goto yy187;
+ if (yych == 'R') goto yy377;
+ if (yych != 'r') goto yy187;
yy377:
YYDEBUG(377, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy378;
- if (yych != 'i') goto yy187;
-yy378:
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
YYDEBUG(378, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy379;
- if (yych != 'l') goto yy187;
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1294 "Zend/zend_language_scanner.l"
+ {
+ return T_HALT_COMPILER;
+}
+#line 4522 "Zend/zend_language_scanner.c"
yy379:
YYDEBUG(379, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy380;
- if (yych != 'e') goto yy187;
+ if (yych == 'S') goto yy383;
+ if (yych == 's') goto yy383;
+ goto yy187;
yy380:
YYDEBUG(380, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy381;
- if (yych != 'r') goto yy187;
+ if (yych == 'E') goto yy381;
+ if (yych != 'e') goto yy187;
yy381:
YYDEBUG(381, *YYCURSOR);
++YYCURSOR;
@@ -4535,22 +4538,21 @@ yy381:
}
YYDEBUG(382, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1291 "Zend/zend_language_scanner.l"
+#line 1274 "Zend/zend_language_scanner.l"
{
- return T_HALT_COMPILER;
+ return T_USE;
}
-#line 4543 "Zend/zend_language_scanner.c"
+#line 4546 "Zend/zend_language_scanner.c"
yy383:
YYDEBUG(383, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy387;
- if (yych == 's') goto yy387;
- goto yy187;
+ if (yych == 'E') goto yy384;
+ if (yych != 'e') goto yy187;
yy384:
YYDEBUG(384, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy385;
- if (yych != 'e') goto yy187;
+ if (yych == 'T') goto yy385;
+ if (yych != 't') goto yy187;
yy385:
YYDEBUG(385, *YYCURSOR);
++YYCURSOR;
@@ -4559,742 +4561,743 @@ yy385:
}
YYDEBUG(386, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1271 "Zend/zend_language_scanner.l"
+#line 1322 "Zend/zend_language_scanner.l"
{
- return T_USE;
+ return T_UNSET;
}
-#line 4567 "Zend/zend_language_scanner.c"
+#line 4569 "Zend/zend_language_scanner.c"
yy387:
YYDEBUG(387, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy388;
- if (yych != 'e') goto yy187;
-yy388:
- YYDEBUG(388, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy389;
- if (yych != 't') goto yy187;
-yy389:
- YYDEBUG(389, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy186;
- }
- YYDEBUG(390, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1319 "Zend/zend_language_scanner.l"
- {
- return T_UNSET;
-}
-#line 4590 "Zend/zend_language_scanner.c"
-yy391:
- YYDEBUG(391, *YYCURSOR);
++YYCURSOR;
YYFILL(7);
yych = *YYCURSOR;
-yy392:
- YYDEBUG(392, *YYCURSOR);
+yy388:
+ YYDEBUG(388, *YYCURSOR);
if (yych <= 'S') {
if (yych <= 'D') {
if (yych <= ' ') {
- if (yych == '\t') goto yy391;
+ if (yych == '\t') goto yy387;
if (yych <= 0x1F) goto yy194;
- goto yy391;
+ goto yy387;
} else {
if (yych <= 'A') {
if (yych <= '@') goto yy194;
- goto yy396;
+ goto yy392;
} else {
- if (yych <= 'B') goto yy394;
+ if (yych <= 'B') goto yy390;
if (yych <= 'C') goto yy194;
- goto yy399;
+ goto yy395;
}
}
} else {
if (yych <= 'I') {
- if (yych == 'F') goto yy400;
+ if (yych == 'F') goto yy396;
if (yych <= 'H') goto yy194;
- goto yy401;
+ goto yy397;
} else {
if (yych <= 'O') {
if (yych <= 'N') goto yy194;
- goto yy395;
+ goto yy391;
} else {
if (yych <= 'Q') goto yy194;
- if (yych <= 'R') goto yy398;
- goto yy397;
+ if (yych <= 'R') goto yy394;
+ goto yy393;
}
}
}
} else {
if (yych <= 'f') {
if (yych <= 'a') {
- if (yych == 'U') goto yy393;
+ if (yych == 'U') goto yy389;
if (yych <= '`') goto yy194;
- goto yy396;
+ goto yy392;
} else {
if (yych <= 'c') {
- if (yych <= 'b') goto yy394;
+ if (yych <= 'b') goto yy390;
goto yy194;
} else {
- if (yych <= 'd') goto yy399;
+ if (yych <= 'd') goto yy395;
if (yych <= 'e') goto yy194;
- goto yy400;
+ goto yy396;
}
}
} else {
if (yych <= 'q') {
if (yych <= 'i') {
if (yych <= 'h') goto yy194;
- goto yy401;
+ goto yy397;
} else {
- if (yych == 'o') goto yy395;
+ if (yych == 'o') goto yy391;
goto yy194;
}
} else {
if (yych <= 's') {
- if (yych <= 'r') goto yy398;
- goto yy397;
+ if (yych <= 'r') goto yy394;
+ goto yy393;
} else {
if (yych != 'u') goto yy194;
}
}
}
}
-yy393:
- YYDEBUG(393, *YYCURSOR);
+yy389:
+ YYDEBUG(389, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy460;
- if (yych == 'n') goto yy460;
+ if (yych == 'N') goto yy456;
+ if (yych == 'n') goto yy456;
goto yy194;
-yy394:
- YYDEBUG(394, *YYCURSOR);
+yy390:
+ YYDEBUG(390, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'O') {
- if (yych == 'I') goto yy447;
+ if (yych == 'I') goto yy443;
if (yych <= 'N') goto yy194;
- goto yy448;
+ goto yy444;
} else {
if (yych <= 'i') {
if (yych <= 'h') goto yy194;
- goto yy447;
+ goto yy443;
} else {
- if (yych == 'o') goto yy448;
+ if (yych == 'o') goto yy444;
goto yy194;
}
}
+yy391:
+ YYDEBUG(391, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'B') goto yy435;
+ if (yych == 'b') goto yy435;
+ goto yy194;
+yy392:
+ YYDEBUG(392, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy428;
+ if (yych == 'r') goto yy428;
+ goto yy194;
+yy393:
+ YYDEBUG(393, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy420;
+ if (yych == 't') goto yy420;
+ goto yy194;
+yy394:
+ YYDEBUG(394, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy418;
+ if (yych == 'e') goto yy418;
+ goto yy194;
yy395:
YYDEBUG(395, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy439;
- if (yych == 'b') goto yy439;
+ if (yych == 'O') goto yy414;
+ if (yych == 'o') goto yy414;
goto yy194;
yy396:
YYDEBUG(396, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy432;
- if (yych == 'r') goto yy432;
+ if (yych == 'L') goto yy407;
+ if (yych == 'l') goto yy407;
goto yy194;
yy397:
YYDEBUG(397, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy424;
- if (yych == 't') goto yy424;
- goto yy194;
+ if (yych == 'N') goto yy398;
+ if (yych != 'n') goto yy194;
yy398:
YYDEBUG(398, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy422;
- if (yych == 'e') goto yy422;
- goto yy194;
+ if (yych == 'T') goto yy399;
+ if (yych != 't') goto yy194;
yy399:
YYDEBUG(399, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy418;
- if (yych == 'o') goto yy418;
- goto yy194;
+ if (yych == 'E') goto yy400;
+ if (yych != 'e') goto yy402;
yy400:
YYDEBUG(400, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy411;
- if (yych == 'l') goto yy411;
+ if (yych == 'G') goto yy405;
+ if (yych == 'g') goto yy405;
goto yy194;
yy401:
YYDEBUG(401, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy402;
- if (yych != 'n') goto yy194;
-yy402:
- YYDEBUG(402, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy403;
- if (yych != 't') goto yy194;
-yy403:
- YYDEBUG(403, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy404;
- if (yych != 'e') goto yy406;
-yy404:
- YYDEBUG(404, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy409;
- if (yych == 'g') goto yy409;
- goto yy194;
-yy405:
- YYDEBUG(405, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy406:
- YYDEBUG(406, *YYCURSOR);
+yy402:
+ YYDEBUG(402, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy405;
+ if (yych == '\t') goto yy401;
goto yy194;
} else {
- if (yych <= ' ') goto yy405;
+ if (yych <= ' ') goto yy401;
if (yych != ')') goto yy194;
}
- YYDEBUG(407, *YYCURSOR);
+ YYDEBUG(403, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(408, *YYCURSOR);
+ YYDEBUG(404, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1219 "Zend/zend_language_scanner.l"
+#line 1222 "Zend/zend_language_scanner.l"
{
return T_INT_CAST;
}
-#line 4766 "Zend/zend_language_scanner.c"
-yy409:
- YYDEBUG(409, *YYCURSOR);
+#line 4745 "Zend/zend_language_scanner.c"
+yy405:
+ YYDEBUG(405, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy410;
+ if (yych == 'E') goto yy406;
if (yych != 'e') goto yy194;
-yy410:
- YYDEBUG(410, *YYCURSOR);
+yy406:
+ YYDEBUG(406, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy405;
- if (yych == 'r') goto yy405;
+ if (yych == 'R') goto yy401;
+ if (yych == 'r') goto yy401;
goto yy194;
-yy411:
- YYDEBUG(411, *YYCURSOR);
+yy407:
+ YYDEBUG(407, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy412;
+ if (yych == 'O') goto yy408;
if (yych != 'o') goto yy194;
-yy412:
- YYDEBUG(412, *YYCURSOR);
+yy408:
+ YYDEBUG(408, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy413;
+ if (yych == 'A') goto yy409;
if (yych != 'a') goto yy194;
-yy413:
- YYDEBUG(413, *YYCURSOR);
+yy409:
+ YYDEBUG(409, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy414;
+ if (yych == 'T') goto yy410;
if (yych != 't') goto yy194;
-yy414:
- YYDEBUG(414, *YYCURSOR);
+yy410:
+ YYDEBUG(410, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(415, *YYCURSOR);
+ YYDEBUG(411, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy414;
+ if (yych == '\t') goto yy410;
goto yy194;
} else {
- if (yych <= ' ') goto yy414;
+ if (yych <= ' ') goto yy410;
if (yych != ')') goto yy194;
}
- YYDEBUG(416, *YYCURSOR);
+ YYDEBUG(412, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(417, *YYCURSOR);
+ YYDEBUG(413, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1223 "Zend/zend_language_scanner.l"
+#line 1226 "Zend/zend_language_scanner.l"
{
return T_DOUBLE_CAST;
}
-#line 4814 "Zend/zend_language_scanner.c"
-yy418:
- YYDEBUG(418, *YYCURSOR);
+#line 4793 "Zend/zend_language_scanner.c"
+yy414:
+ YYDEBUG(414, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy419;
+ if (yych == 'U') goto yy415;
if (yych != 'u') goto yy194;
-yy419:
- YYDEBUG(419, *YYCURSOR);
+yy415:
+ YYDEBUG(415, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy420;
+ if (yych == 'B') goto yy416;
if (yych != 'b') goto yy194;
-yy420:
- YYDEBUG(420, *YYCURSOR);
+yy416:
+ YYDEBUG(416, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy421;
+ if (yych == 'L') goto yy417;
if (yych != 'l') goto yy194;
-yy421:
- YYDEBUG(421, *YYCURSOR);
+yy417:
+ YYDEBUG(417, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy414;
- if (yych == 'e') goto yy414;
+ if (yych == 'E') goto yy410;
+ if (yych == 'e') goto yy410;
goto yy194;
-yy422:
- YYDEBUG(422, *YYCURSOR);
+yy418:
+ YYDEBUG(418, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy423;
+ if (yych == 'A') goto yy419;
if (yych != 'a') goto yy194;
-yy423:
- YYDEBUG(423, *YYCURSOR);
+yy419:
+ YYDEBUG(419, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy414;
- if (yych == 'l') goto yy414;
+ if (yych == 'L') goto yy410;
+ if (yych == 'l') goto yy410;
goto yy194;
-yy424:
- YYDEBUG(424, *YYCURSOR);
+yy420:
+ YYDEBUG(420, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy425;
+ if (yych == 'R') goto yy421;
if (yych != 'r') goto yy194;
-yy425:
- YYDEBUG(425, *YYCURSOR);
+yy421:
+ YYDEBUG(421, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy426;
+ if (yych == 'I') goto yy422;
if (yych != 'i') goto yy194;
-yy426:
- YYDEBUG(426, *YYCURSOR);
+yy422:
+ YYDEBUG(422, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy427;
+ if (yych == 'N') goto yy423;
if (yych != 'n') goto yy194;
-yy427:
- YYDEBUG(427, *YYCURSOR);
+yy423:
+ YYDEBUG(423, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'G') goto yy428;
+ if (yych == 'G') goto yy424;
if (yych != 'g') goto yy194;
-yy428:
- YYDEBUG(428, *YYCURSOR);
+yy424:
+ YYDEBUG(424, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(429, *YYCURSOR);
+ YYDEBUG(425, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy428;
+ if (yych == '\t') goto yy424;
goto yy194;
} else {
- if (yych <= ' ') goto yy428;
+ if (yych <= ' ') goto yy424;
if (yych != ')') goto yy194;
}
- YYDEBUG(430, *YYCURSOR);
+ YYDEBUG(426, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(431, *YYCURSOR);
+ YYDEBUG(427, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1227 "Zend/zend_language_scanner.l"
+#line 1230 "Zend/zend_language_scanner.l"
{
return T_STRING_CAST;
}
-#line 4888 "Zend/zend_language_scanner.c"
-yy432:
- YYDEBUG(432, *YYCURSOR);
+#line 4867 "Zend/zend_language_scanner.c"
+yy428:
+ YYDEBUG(428, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy433;
+ if (yych == 'R') goto yy429;
if (yych != 'r') goto yy194;
-yy433:
- YYDEBUG(433, *YYCURSOR);
+yy429:
+ YYDEBUG(429, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy434;
+ if (yych == 'A') goto yy430;
if (yych != 'a') goto yy194;
-yy434:
- YYDEBUG(434, *YYCURSOR);
+yy430:
+ YYDEBUG(430, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy435;
+ if (yych == 'Y') goto yy431;
if (yych != 'y') goto yy194;
-yy435:
- YYDEBUG(435, *YYCURSOR);
+yy431:
+ YYDEBUG(431, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(436, *YYCURSOR);
+ YYDEBUG(432, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy435;
+ if (yych == '\t') goto yy431;
goto yy194;
} else {
- if (yych <= ' ') goto yy435;
+ if (yych <= ' ') goto yy431;
if (yych != ')') goto yy194;
}
- YYDEBUG(437, *YYCURSOR);
+ YYDEBUG(433, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(438, *YYCURSOR);
+ YYDEBUG(434, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1231 "Zend/zend_language_scanner.l"
+#line 1234 "Zend/zend_language_scanner.l"
{
return T_ARRAY_CAST;
}
-#line 4925 "Zend/zend_language_scanner.c"
-yy439:
- YYDEBUG(439, *YYCURSOR);
+#line 4904 "Zend/zend_language_scanner.c"
+yy435:
+ YYDEBUG(435, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'J') goto yy440;
+ if (yych == 'J') goto yy436;
if (yych != 'j') goto yy194;
-yy440:
- YYDEBUG(440, *YYCURSOR);
+yy436:
+ YYDEBUG(436, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy441;
+ if (yych == 'E') goto yy437;
if (yych != 'e') goto yy194;
-yy441:
- YYDEBUG(441, *YYCURSOR);
+yy437:
+ YYDEBUG(437, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy442;
+ if (yych == 'C') goto yy438;
if (yych != 'c') goto yy194;
-yy442:
- YYDEBUG(442, *YYCURSOR);
+yy438:
+ YYDEBUG(438, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy443;
+ if (yych == 'T') goto yy439;
if (yych != 't') goto yy194;
-yy443:
- YYDEBUG(443, *YYCURSOR);
+yy439:
+ YYDEBUG(439, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(444, *YYCURSOR);
+ YYDEBUG(440, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy443;
+ if (yych == '\t') goto yy439;
goto yy194;
} else {
- if (yych <= ' ') goto yy443;
+ if (yych <= ' ') goto yy439;
if (yych != ')') goto yy194;
}
- YYDEBUG(445, *YYCURSOR);
+ YYDEBUG(441, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(446, *YYCURSOR);
+ YYDEBUG(442, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1235 "Zend/zend_language_scanner.l"
+#line 1238 "Zend/zend_language_scanner.l"
{
return T_OBJECT_CAST;
}
-#line 4967 "Zend/zend_language_scanner.c"
-yy447:
- YYDEBUG(447, *YYCURSOR);
+#line 4946 "Zend/zend_language_scanner.c"
+yy443:
+ YYDEBUG(443, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy457;
- if (yych == 'n') goto yy457;
+ if (yych == 'N') goto yy453;
+ if (yych == 'n') goto yy453;
goto yy194;
-yy448:
- YYDEBUG(448, *YYCURSOR);
+yy444:
+ YYDEBUG(444, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy449;
+ if (yych == 'O') goto yy445;
if (yych != 'o') goto yy194;
-yy449:
- YYDEBUG(449, *YYCURSOR);
+yy445:
+ YYDEBUG(445, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy450;
+ if (yych == 'L') goto yy446;
if (yych != 'l') goto yy194;
-yy450:
- YYDEBUG(450, *YYCURSOR);
+yy446:
+ YYDEBUG(446, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy455;
- if (yych == 'e') goto yy455;
- goto yy452;
-yy451:
- YYDEBUG(451, *YYCURSOR);
+ if (yych == 'E') goto yy451;
+ if (yych == 'e') goto yy451;
+ goto yy448;
+yy447:
+ YYDEBUG(447, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy452:
- YYDEBUG(452, *YYCURSOR);
+yy448:
+ YYDEBUG(448, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy451;
+ if (yych == '\t') goto yy447;
goto yy194;
} else {
- if (yych <= ' ') goto yy451;
+ if (yych <= ' ') goto yy447;
if (yych != ')') goto yy194;
}
- YYDEBUG(453, *YYCURSOR);
+ YYDEBUG(449, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(454, *YYCURSOR);
+ YYDEBUG(450, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1239 "Zend/zend_language_scanner.l"
+#line 1242 "Zend/zend_language_scanner.l"
{
return T_BOOL_CAST;
}
-#line 5012 "Zend/zend_language_scanner.c"
-yy455:
- YYDEBUG(455, *YYCURSOR);
+#line 4991 "Zend/zend_language_scanner.c"
+yy451:
+ YYDEBUG(451, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy456;
+ if (yych == 'A') goto yy452;
if (yych != 'a') goto yy194;
-yy456:
- YYDEBUG(456, *YYCURSOR);
+yy452:
+ YYDEBUG(452, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy451;
- if (yych == 'n') goto yy451;
+ if (yych == 'N') goto yy447;
+ if (yych == 'n') goto yy447;
goto yy194;
-yy457:
- YYDEBUG(457, *YYCURSOR);
+yy453:
+ YYDEBUG(453, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy458;
+ if (yych == 'A') goto yy454;
if (yych != 'a') goto yy194;
-yy458:
- YYDEBUG(458, *YYCURSOR);
+yy454:
+ YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy459;
+ if (yych == 'R') goto yy455;
if (yych != 'r') goto yy194;
-yy459:
- YYDEBUG(459, *YYCURSOR);
+yy455:
+ YYDEBUG(455, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy428;
- if (yych == 'y') goto yy428;
+ if (yych == 'Y') goto yy424;
+ if (yych == 'y') goto yy424;
goto yy194;
-yy460:
- YYDEBUG(460, *YYCURSOR);
+yy456:
+ YYDEBUG(456, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy461;
+ if (yych == 'S') goto yy457;
if (yych != 's') goto yy194;
-yy461:
- YYDEBUG(461, *YYCURSOR);
+yy457:
+ YYDEBUG(457, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy462;
+ if (yych == 'E') goto yy458;
if (yych != 'e') goto yy194;
-yy462:
- YYDEBUG(462, *YYCURSOR);
+yy458:
+ YYDEBUG(458, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy463;
+ if (yych == 'T') goto yy459;
if (yych != 't') goto yy194;
-yy463:
- YYDEBUG(463, *YYCURSOR);
+yy459:
+ YYDEBUG(459, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(464, *YYCURSOR);
+ YYDEBUG(460, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy463;
+ if (yych == '\t') goto yy459;
goto yy194;
} else {
- if (yych <= ' ') goto yy463;
+ if (yych <= ' ') goto yy459;
if (yych != ')') goto yy194;
}
- YYDEBUG(465, *YYCURSOR);
+ YYDEBUG(461, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(466, *YYCURSOR);
+ YYDEBUG(462, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1243 "Zend/zend_language_scanner.l"
+#line 1246 "Zend/zend_language_scanner.l"
{
return T_UNSET_CAST;
}
-#line 5076 "Zend/zend_language_scanner.c"
-yy467:
- YYDEBUG(467, *YYCURSOR);
+#line 5055 "Zend/zend_language_scanner.c"
+yy463:
+ YYDEBUG(463, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy468;
+ if (yych == 'R') goto yy464;
if (yych != 'r') goto yy187;
-yy468:
- YYDEBUG(468, *YYCURSOR);
+yy464:
+ YYDEBUG(464, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(469, *YYCURSOR);
+ YYDEBUG(465, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1215 "Zend/zend_language_scanner.l"
+#line 1218 "Zend/zend_language_scanner.l"
{
return T_VAR;
}
-#line 5094 "Zend/zend_language_scanner.c"
-yy470:
- YYDEBUG(470, *YYCURSOR);
+#line 5073 "Zend/zend_language_scanner.c"
+yy466:
+ YYDEBUG(466, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy474;
- if (yych == 'm') goto yy474;
+ if (yych == 'M') goto yy470;
+ if (yych == 'm') goto yy470;
goto yy187;
-yy471:
- YYDEBUG(471, *YYCURSOR);
+yy467:
+ YYDEBUG(467, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'W') goto yy472;
+ if (yych == 'W') goto yy468;
if (yych != 'w') goto yy187;
-yy472:
- YYDEBUG(472, *YYCURSOR);
+yy468:
+ YYDEBUG(468, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(473, *YYCURSOR);
+ YYDEBUG(469, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1207 "Zend/zend_language_scanner.l"
+#line 1210 "Zend/zend_language_scanner.l"
{
return T_NEW;
}
-#line 5118 "Zend/zend_language_scanner.c"
-yy474:
- YYDEBUG(474, *YYCURSOR);
+#line 5097 "Zend/zend_language_scanner.c"
+yy470:
+ YYDEBUG(470, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy475;
+ if (yych == 'E') goto yy471;
if (yych != 'e') goto yy187;
-yy475:
- YYDEBUG(475, *YYCURSOR);
+yy471:
+ YYDEBUG(471, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy476;
+ if (yych == 'S') goto yy472;
if (yych != 's') goto yy187;
-yy476:
- YYDEBUG(476, *YYCURSOR);
+yy472:
+ YYDEBUG(472, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy477;
+ if (yych == 'P') goto yy473;
if (yych != 'p') goto yy187;
-yy477:
- YYDEBUG(477, *YYCURSOR);
+yy473:
+ YYDEBUG(473, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy478;
+ if (yych == 'A') goto yy474;
if (yych != 'a') goto yy187;
-yy478:
- YYDEBUG(478, *YYCURSOR);
+yy474:
+ YYDEBUG(474, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy479;
+ if (yych == 'C') goto yy475;
if (yych != 'c') goto yy187;
-yy479:
- YYDEBUG(479, *YYCURSOR);
+yy475:
+ YYDEBUG(475, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy480;
+ if (yych == 'E') goto yy476;
if (yych != 'e') goto yy187;
-yy480:
- YYDEBUG(480, *YYCURSOR);
+yy476:
+ YYDEBUG(476, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(481, *YYCURSOR);
+ YYDEBUG(477, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1267 "Zend/zend_language_scanner.l"
+#line 1270 "Zend/zend_language_scanner.l"
{
return T_NAMESPACE;
}
-#line 5161 "Zend/zend_language_scanner.c"
+#line 5140 "Zend/zend_language_scanner.c"
+yy478:
+ YYDEBUG(478, *YYCURSOR);
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(479, *YYCURSOR);
+ if (yych <= 'D') {
+ if (yych <= '/') goto yy190;
+ if (yych <= '9') goto yy478;
+ goto yy190;
+ } else {
+ if (yych <= 'E') goto yy193;
+ if (yych == 'e') goto yy193;
+ goto yy190;
+ }
+yy480:
+ YYDEBUG(480, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(481, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1390 "Zend/zend_language_scanner.l"
+ {
+ return T_CONCAT_EQUAL;
+}
+#line 5166 "Zend/zend_language_scanner.c"
yy482:
YYDEBUG(482, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych != '.') goto yy194;
YYDEBUG(483, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(484, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1199 "Zend/zend_language_scanner.l"
+#line 1206 "Zend/zend_language_scanner.l"
+ {
+ return T_ELLIPSIS;
+}
+#line 5179 "Zend/zend_language_scanner.c"
+yy485:
+ YYDEBUG(485, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(486, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1198 "Zend/zend_language_scanner.l"
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-#line 5171 "Zend/zend_language_scanner.c"
-yy484:
- YYDEBUG(484, *YYCURSOR);
+#line 5189 "Zend/zend_language_scanner.c"
+yy487:
+ YYDEBUG(487, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy485:
- YYDEBUG(485, *YYCURSOR);
+yy488:
+ YYDEBUG(488, *YYCURSOR);
if (yych <= '\f') {
if (yych <= 0x08) goto yy141;
- if (yych <= '\n') goto yy484;
+ if (yych <= '\n') goto yy487;
goto yy141;
} else {
- if (yych <= '\r') goto yy484;
- if (yych == ' ') goto yy484;
+ if (yych <= '\r') goto yy487;
+ if (yych == ' ') goto yy487;
goto yy141;
}
-yy486:
- YYDEBUG(486, *YYCURSOR);
+yy489:
+ YYDEBUG(489, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(487, *YYCURSOR);
+ YYDEBUG(490, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1375 "Zend/zend_language_scanner.l"
+#line 1378 "Zend/zend_language_scanner.l"
{
return T_MINUS_EQUAL;
}
-#line 5197 "Zend/zend_language_scanner.c"
-yy488:
- YYDEBUG(488, *YYCURSOR);
+#line 5215 "Zend/zend_language_scanner.c"
+yy491:
+ YYDEBUG(491, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(489, *YYCURSOR);
+ YYDEBUG(492, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1343 "Zend/zend_language_scanner.l"
+#line 1346 "Zend/zend_language_scanner.l"
{
return T_DEC;
}
-#line 5207 "Zend/zend_language_scanner.c"
-yy490:
- YYDEBUG(490, *YYCURSOR);
+#line 5225 "Zend/zend_language_scanner.c"
+yy493:
+ YYDEBUG(493, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(491, *YYCURSOR);
+ YYDEBUG(494, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1171 "Zend/zend_language_scanner.l"
+#line 1170 "Zend/zend_language_scanner.l"
{
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
return T_OBJECT_OPERATOR;
}
-#line 5218 "Zend/zend_language_scanner.c"
-yy492:
- YYDEBUG(492, *YYCURSOR);
+#line 5236 "Zend/zend_language_scanner.c"
+yy495:
+ YYDEBUG(495, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'O') {
- if (yych == 'I') goto yy499;
+ if (yych == 'I') goto yy502;
if (yych <= 'N') goto yy187;
- goto yy500;
+ goto yy503;
} else {
if (yych <= 'i') {
if (yych <= 'h') goto yy187;
- goto yy499;
+ goto yy502;
} else {
- if (yych == 'o') goto yy500;
+ if (yych == 'o') goto yy503;
goto yy187;
}
}
-yy493:
- YYDEBUG(493, *YYCURSOR);
+yy496:
+ YYDEBUG(496, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy494;
+ if (yych == 'B') goto yy497;
if (yych != 'b') goto yy187;
-yy494:
- YYDEBUG(494, *YYCURSOR);
+yy497:
+ YYDEBUG(497, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy495;
+ if (yych == 'L') goto yy498;
if (yych != 'l') goto yy187;
-yy495:
- YYDEBUG(495, *YYCURSOR);
+yy498:
+ YYDEBUG(498, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy496;
+ if (yych == 'I') goto yy499;
if (yych != 'i') goto yy187;
-yy496:
- YYDEBUG(496, *YYCURSOR);
+yy499:
+ YYDEBUG(499, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy497;
+ if (yych == 'C') goto yy500;
if (yych != 'c') goto yy187;
-yy497:
- YYDEBUG(497, *YYCURSOR);
+yy500:
+ YYDEBUG(500, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(498, *YYCURSOR);
+ YYDEBUG(501, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1315 "Zend/zend_language_scanner.l"
+#line 1318 "Zend/zend_language_scanner.l"
{
return T_PUBLIC;
}
-#line 5267 "Zend/zend_language_scanner.c"
-yy499:
- YYDEBUG(499, *YYCURSOR);
+#line 5285 "Zend/zend_language_scanner.c"
+yy502:
+ YYDEBUG(502, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'V') {
- if (yych == 'N') goto yy508;
+ if (yych == 'N') goto yy511;
if (yych <= 'U') goto yy187;
- goto yy509;
+ goto yy512;
} else {
if (yych <= 'n') {
if (yych <= 'm') goto yy187;
- goto yy508;
+ goto yy511;
} else {
- if (yych == 'v') goto yy509;
+ if (yych == 'v') goto yy512;
goto yy187;
}
}
-yy500:
- YYDEBUG(500, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy501;
- if (yych != 't') goto yy187;
-yy501:
- YYDEBUG(501, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy502;
- if (yych != 'e') goto yy187;
-yy502:
- YYDEBUG(502, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy503;
- if (yych != 'c') goto yy187;
yy503:
YYDEBUG(503, *YYCURSOR);
yych = *++YYCURSOR;
@@ -5308,1072 +5311,1069 @@ yy504:
yy505:
YYDEBUG(505, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy506;
- if (yych != 'd') goto yy187;
+ if (yych == 'C') goto yy506;
+ if (yych != 'c') goto yy187;
yy506:
YYDEBUG(506, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy507;
+ if (yych != 't') goto yy187;
+yy507:
+ YYDEBUG(507, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy508;
+ if (yych != 'e') goto yy187;
+yy508:
+ YYDEBUG(508, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy509;
+ if (yych != 'd') goto yy187;
+yy509:
+ YYDEBUG(509, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(507, *YYCURSOR);
+ YYDEBUG(510, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1311 "Zend/zend_language_scanner.l"
+#line 1314 "Zend/zend_language_scanner.l"
{
return T_PROTECTED;
}
-#line 5326 "Zend/zend_language_scanner.c"
-yy508:
- YYDEBUG(508, *YYCURSOR);
+#line 5344 "Zend/zend_language_scanner.c"
+yy511:
+ YYDEBUG(511, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy514;
- if (yych == 't') goto yy514;
+ if (yych == 'T') goto yy517;
+ if (yych == 't') goto yy517;
goto yy187;
-yy509:
- YYDEBUG(509, *YYCURSOR);
+yy512:
+ YYDEBUG(512, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy510;
+ if (yych == 'A') goto yy513;
if (yych != 'a') goto yy187;
-yy510:
- YYDEBUG(510, *YYCURSOR);
+yy513:
+ YYDEBUG(513, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy511;
+ if (yych == 'T') goto yy514;
if (yych != 't') goto yy187;
-yy511:
- YYDEBUG(511, *YYCURSOR);
+yy514:
+ YYDEBUG(514, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy512;
+ if (yych == 'E') goto yy515;
if (yych != 'e') goto yy187;
-yy512:
- YYDEBUG(512, *YYCURSOR);
+yy515:
+ YYDEBUG(515, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(513, *YYCURSOR);
+ YYDEBUG(516, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1307 "Zend/zend_language_scanner.l"
+#line 1310 "Zend/zend_language_scanner.l"
{
return T_PRIVATE;
}
-#line 5360 "Zend/zend_language_scanner.c"
-yy514:
- YYDEBUG(514, *YYCURSOR);
+#line 5378 "Zend/zend_language_scanner.c"
+yy517:
+ YYDEBUG(517, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(515, *YYCURSOR);
+ YYDEBUG(518, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1147 "Zend/zend_language_scanner.l"
+#line 1146 "Zend/zend_language_scanner.l"
{
return T_PRINT;
}
-#line 5373 "Zend/zend_language_scanner.c"
-yy516:
- YYDEBUG(516, *YYCURSOR);
+#line 5391 "Zend/zend_language_scanner.c"
+yy519:
+ YYDEBUG(519, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy521;
- if (yych == 'o') goto yy521;
+ if (yych == 'O') goto yy524;
+ if (yych == 'o') goto yy524;
goto yy187;
-yy517:
- YYDEBUG(517, *YYCURSOR);
+yy520:
+ YYDEBUG(520, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy518;
+ if (yych == 'T') goto yy521;
if (yych != 't') goto yy187;
-yy518:
- YYDEBUG(518, *YYCURSOR);
+yy521:
+ YYDEBUG(521, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy519;
+ if (yych == 'O') goto yy522;
if (yych != 'o') goto yy187;
-yy519:
- YYDEBUG(519, *YYCURSOR);
+yy522:
+ YYDEBUG(522, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(520, *YYCURSOR);
+ YYDEBUG(523, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1139 "Zend/zend_language_scanner.l"
+#line 1138 "Zend/zend_language_scanner.l"
{
return T_GOTO;
}
-#line 5402 "Zend/zend_language_scanner.c"
-yy521:
- YYDEBUG(521, *YYCURSOR);
+#line 5420 "Zend/zend_language_scanner.c"
+yy524:
+ YYDEBUG(524, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy522;
+ if (yych == 'B') goto yy525;
if (yych != 'b') goto yy187;
-yy522:
- YYDEBUG(522, *YYCURSOR);
+yy525:
+ YYDEBUG(525, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy523;
+ if (yych == 'A') goto yy526;
if (yych != 'a') goto yy187;
-yy523:
- YYDEBUG(523, *YYCURSOR);
+yy526:
+ YYDEBUG(526, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy524;
+ if (yych == 'L') goto yy527;
if (yych != 'l') goto yy187;
-yy524:
- YYDEBUG(524, *YYCURSOR);
+yy527:
+ YYDEBUG(527, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(525, *YYCURSOR);
+ YYDEBUG(528, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1279 "Zend/zend_language_scanner.l"
+#line 1282 "Zend/zend_language_scanner.l"
{
return T_GLOBAL;
}
-#line 5430 "Zend/zend_language_scanner.c"
-yy526:
- YYDEBUG(526, *YYCURSOR);
+#line 5448 "Zend/zend_language_scanner.c"
+yy529:
+ YYDEBUG(529, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy534;
+ if (yych == '<') goto yy537;
goto yy194;
-yy527:
- YYDEBUG(527, *YYCURSOR);
+yy530:
+ YYDEBUG(530, *YYCURSOR);
yych = *++YYCURSOR;
goto yy181;
-yy528:
- YYDEBUG(528, *YYCURSOR);
+yy531:
+ YYDEBUG(531, *YYCURSOR);
yych = *++YYCURSOR;
goto yy179;
-yy529:
- YYDEBUG(529, *YYCURSOR);
+yy532:
+ YYDEBUG(532, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy530;
+ if (yych == 'E') goto yy533;
if (yych != 'e') goto yy187;
-yy530:
- YYDEBUG(530, *YYCURSOR);
+yy533:
+ YYDEBUG(533, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy531;
+ if (yych == 'A') goto yy534;
if (yych != 'a') goto yy187;
-yy531:
- YYDEBUG(531, *YYCURSOR);
+yy534:
+ YYDEBUG(534, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'K') goto yy532;
+ if (yych == 'K') goto yy535;
if (yych != 'k') goto yy187;
-yy532:
- YYDEBUG(532, *YYCURSOR);
+yy535:
+ YYDEBUG(535, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(533, *YYCURSOR);
+ YYDEBUG(536, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1131 "Zend/zend_language_scanner.l"
+#line 1130 "Zend/zend_language_scanner.l"
{
return T_BREAK;
}
-#line 5471 "Zend/zend_language_scanner.c"
-yy534:
- YYDEBUG(534, *YYCURSOR);
+#line 5489 "Zend/zend_language_scanner.c"
+yy537:
+ YYDEBUG(537, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy270;
+ if (yych == '<') goto yy266;
goto yy194;
-yy535:
- YYDEBUG(535, *YYCURSOR);
+yy538:
+ YYDEBUG(538, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy542;
- if (yych == 'a') goto yy542;
+ if (yych == 'A') goto yy545;
+ if (yych == 'a') goto yy545;
goto yy187;
-yy536:
- YYDEBUG(536, *YYCURSOR);
+yy539:
+ YYDEBUG(539, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy537;
+ if (yych == 'I') goto yy540;
if (yych != 'i') goto yy187;
-yy537:
- YYDEBUG(537, *YYCURSOR);
+yy540:
+ YYDEBUG(540, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy538;
+ if (yych == 'T') goto yy541;
if (yych != 't') goto yy187;
-yy538:
- YYDEBUG(538, *YYCURSOR);
+yy541:
+ YYDEBUG(541, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy539;
+ if (yych == 'C') goto yy542;
if (yych != 'c') goto yy187;
-yy539:
- YYDEBUG(539, *YYCURSOR);
+yy542:
+ YYDEBUG(542, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy540;
+ if (yych == 'H') goto yy543;
if (yych != 'h') goto yy187;
-yy540:
- YYDEBUG(540, *YYCURSOR);
+yy543:
+ YYDEBUG(543, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(541, *YYCURSOR);
+ YYDEBUG(544, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1115 "Zend/zend_language_scanner.l"
+#line 1114 "Zend/zend_language_scanner.l"
{
return T_SWITCH;
}
-#line 5515 "Zend/zend_language_scanner.c"
-yy542:
- YYDEBUG(542, *YYCURSOR);
+#line 5533 "Zend/zend_language_scanner.c"
+yy545:
+ YYDEBUG(545, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy543;
+ if (yych == 'T') goto yy546;
if (yych != 't') goto yy187;
-yy543:
- YYDEBUG(543, *YYCURSOR);
+yy546:
+ YYDEBUG(546, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy544;
+ if (yych == 'I') goto yy547;
if (yych != 'i') goto yy187;
-yy544:
- YYDEBUG(544, *YYCURSOR);
+yy547:
+ YYDEBUG(547, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy545;
+ if (yych == 'C') goto yy548;
if (yych != 'c') goto yy187;
-yy545:
- YYDEBUG(545, *YYCURSOR);
+yy548:
+ YYDEBUG(548, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(546, *YYCURSOR);
+ YYDEBUG(549, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1295 "Zend/zend_language_scanner.l"
+#line 1298 "Zend/zend_language_scanner.l"
{
return T_STATIC;
}
-#line 5543 "Zend/zend_language_scanner.c"
-yy547:
- YYDEBUG(547, *YYCURSOR);
+#line 5561 "Zend/zend_language_scanner.c"
+yy550:
+ YYDEBUG(550, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy558;
- if (yych == 's') goto yy558;
+ if (yych == 'S') goto yy561;
+ if (yych == 's') goto yy561;
goto yy187;
-yy548:
- YYDEBUG(548, *YYCURSOR);
+yy551:
+ YYDEBUG(551, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy556;
- if (yych == 'd') goto yy556;
+ if (yych == 'D') goto yy559;
+ if (yych == 'd') goto yy559;
goto yy187;
-yy549:
- YYDEBUG(549, *YYCURSOR);
+yy552:
+ YYDEBUG(552, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy552;
- if (yych == 'r') goto yy552;
+ if (yych == 'R') goto yy555;
+ if (yych == 'r') goto yy555;
goto yy187;
-yy550:
- YYDEBUG(550, *YYCURSOR);
+yy553:
+ YYDEBUG(553, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(551, *YYCURSOR);
+ YYDEBUG(554, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1111 "Zend/zend_language_scanner.l"
+#line 1110 "Zend/zend_language_scanner.l"
{
return T_AS;
}
-#line 5574 "Zend/zend_language_scanner.c"
-yy552:
- YYDEBUG(552, *YYCURSOR);
+#line 5592 "Zend/zend_language_scanner.c"
+yy555:
+ YYDEBUG(555, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy553;
+ if (yych == 'A') goto yy556;
if (yych != 'a') goto yy187;
-yy553:
- YYDEBUG(553, *YYCURSOR);
+yy556:
+ YYDEBUG(556, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy554;
+ if (yych == 'Y') goto yy557;
if (yych != 'y') goto yy187;
-yy554:
- YYDEBUG(554, *YYCURSOR);
+yy557:
+ YYDEBUG(557, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(555, *YYCURSOR);
+ YYDEBUG(558, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1331 "Zend/zend_language_scanner.l"
+#line 1334 "Zend/zend_language_scanner.l"
{
return T_ARRAY;
}
-#line 5597 "Zend/zend_language_scanner.c"
-yy556:
- YYDEBUG(556, *YYCURSOR);
+#line 5615 "Zend/zend_language_scanner.c"
+yy559:
+ YYDEBUG(559, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(557, *YYCURSOR);
+ YYDEBUG(560, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1427 "Zend/zend_language_scanner.l"
+#line 1430 "Zend/zend_language_scanner.l"
{
return T_LOGICAL_AND;
}
-#line 5610 "Zend/zend_language_scanner.c"
-yy558:
- YYDEBUG(558, *YYCURSOR);
+#line 5628 "Zend/zend_language_scanner.c"
+yy561:
+ YYDEBUG(561, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy559;
+ if (yych == 'T') goto yy562;
if (yych != 't') goto yy187;
-yy559:
- YYDEBUG(559, *YYCURSOR);
+yy562:
+ YYDEBUG(562, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy560;
+ if (yych == 'R') goto yy563;
if (yych != 'r') goto yy187;
-yy560:
- YYDEBUG(560, *YYCURSOR);
+yy563:
+ YYDEBUG(563, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy561;
+ if (yych == 'A') goto yy564;
if (yych != 'a') goto yy187;
-yy561:
- YYDEBUG(561, *YYCURSOR);
+yy564:
+ YYDEBUG(564, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy562;
+ if (yych == 'C') goto yy565;
if (yych != 'c') goto yy187;
-yy562:
- YYDEBUG(562, *YYCURSOR);
+yy565:
+ YYDEBUG(565, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy563;
+ if (yych == 'T') goto yy566;
if (yych != 't') goto yy187;
-yy563:
- YYDEBUG(563, *YYCURSOR);
+yy566:
+ YYDEBUG(566, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(564, *YYCURSOR);
+ YYDEBUG(567, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1299 "Zend/zend_language_scanner.l"
+#line 1302 "Zend/zend_language_scanner.l"
{
return T_ABSTRACT;
}
-#line 5648 "Zend/zend_language_scanner.c"
-yy565:
- YYDEBUG(565, *YYCURSOR);
+#line 5666 "Zend/zend_language_scanner.c"
+yy568:
+ YYDEBUG(568, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy566;
+ if (yych == 'I') goto yy569;
if (yych != 'i') goto yy187;
-yy566:
- YYDEBUG(566, *YYCURSOR);
+yy569:
+ YYDEBUG(569, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy567;
+ if (yych == 'L') goto yy570;
if (yych != 'l') goto yy187;
-yy567:
- YYDEBUG(567, *YYCURSOR);
+yy570:
+ YYDEBUG(570, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy568;
+ if (yych == 'E') goto yy571;
if (yych != 'e') goto yy187;
-yy568:
- YYDEBUG(568, *YYCURSOR);
+yy571:
+ YYDEBUG(571, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(569, *YYCURSOR);
+ YYDEBUG(572, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1071 "Zend/zend_language_scanner.l"
+#line 1070 "Zend/zend_language_scanner.l"
{
return T_WHILE;
}
-#line 5676 "Zend/zend_language_scanner.c"
-yy570:
- YYDEBUG(570, *YYCURSOR);
+#line 5694 "Zend/zend_language_scanner.c"
+yy573:
+ YYDEBUG(573, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(571, *YYCURSOR);
+ YYDEBUG(574, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1055 "Zend/zend_language_scanner.l"
+#line 1054 "Zend/zend_language_scanner.l"
{
return T_IF;
}
-#line 5689 "Zend/zend_language_scanner.c"
-yy572:
- YYDEBUG(572, *YYCURSOR);
+#line 5707 "Zend/zend_language_scanner.c"
+yy575:
+ YYDEBUG(575, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy614;
- if (yych == 'p') goto yy614;
+ if (yych == 'P') goto yy617;
+ if (yych == 'p') goto yy617;
goto yy187;
-yy573:
- YYDEBUG(573, *YYCURSOR);
+yy576:
+ YYDEBUG(576, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'T') {
if (yych <= 'C') {
if (yych <= 'B') goto yy187;
- goto yy581;
+ goto yy584;
} else {
if (yych <= 'R') goto yy187;
- if (yych <= 'S') goto yy579;
- goto yy580;
+ if (yych <= 'S') goto yy582;
+ goto yy583;
}
} else {
if (yych <= 'r') {
- if (yych == 'c') goto yy581;
+ if (yych == 'c') goto yy584;
goto yy187;
} else {
- if (yych <= 's') goto yy579;
- if (yych <= 't') goto yy580;
+ if (yych <= 's') goto yy582;
+ if (yych <= 't') goto yy583;
goto yy187;
}
}
-yy574:
- YYDEBUG(574, *YYCURSOR);
+yy577:
+ YYDEBUG(577, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy575;
+ if (yych == 'S') goto yy578;
if (yych != 's') goto yy187;
-yy575:
- YYDEBUG(575, *YYCURSOR);
+yy578:
+ YYDEBUG(578, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy576;
+ if (yych == 'E') goto yy579;
if (yych != 'e') goto yy187;
-yy576:
- YYDEBUG(576, *YYCURSOR);
+yy579:
+ YYDEBUG(579, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy577;
+ if (yych == 'T') goto yy580;
if (yych != 't') goto yy187;
-yy577:
- YYDEBUG(577, *YYCURSOR);
+yy580:
+ YYDEBUG(580, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(578, *YYCURSOR);
+ YYDEBUG(581, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1283 "Zend/zend_language_scanner.l"
+#line 1286 "Zend/zend_language_scanner.l"
{
return T_ISSET;
}
-#line 5745 "Zend/zend_language_scanner.c"
-yy579:
- YYDEBUG(579, *YYCURSOR);
+#line 5763 "Zend/zend_language_scanner.c"
+yy582:
+ YYDEBUG(582, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy600;
- if (yych == 't') goto yy600;
+ if (yych == 'T') goto yy603;
+ if (yych == 't') goto yy603;
goto yy187;
-yy580:
- YYDEBUG(580, *YYCURSOR);
+yy583:
+ YYDEBUG(583, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy593;
- if (yych == 'e') goto yy593;
+ if (yych == 'E') goto yy596;
+ if (yych == 'e') goto yy596;
goto yy187;
-yy581:
- YYDEBUG(581, *YYCURSOR);
+yy584:
+ YYDEBUG(584, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy582;
+ if (yych == 'L') goto yy585;
if (yych != 'l') goto yy187;
-yy582:
- YYDEBUG(582, *YYCURSOR);
+yy585:
+ YYDEBUG(585, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy583;
+ if (yych == 'U') goto yy586;
if (yych != 'u') goto yy187;
-yy583:
- YYDEBUG(583, *YYCURSOR);
+yy586:
+ YYDEBUG(586, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy584;
+ if (yych == 'D') goto yy587;
if (yych != 'd') goto yy187;
-yy584:
- YYDEBUG(584, *YYCURSOR);
+yy587:
+ YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy585;
+ if (yych == 'E') goto yy588;
if (yych != 'e') goto yy187;
-yy585:
- YYDEBUG(585, *YYCURSOR);
+yy588:
+ YYDEBUG(588, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '9') {
if (yych >= '0') goto yy186;
} else {
- if (yych <= '@') goto yy586;
+ if (yych <= '@') goto yy589;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy587;
+ if (yych <= '_') goto yy590;
} else {
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy586:
- YYDEBUG(586, *YYCURSOR);
+yy589:
+ YYDEBUG(589, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1251 "Zend/zend_language_scanner.l"
+#line 1254 "Zend/zend_language_scanner.l"
{
return T_INCLUDE;
}
-#line 5803 "Zend/zend_language_scanner.c"
-yy587:
- YYDEBUG(587, *YYCURSOR);
+#line 5821 "Zend/zend_language_scanner.c"
+yy590:
+ YYDEBUG(590, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy588;
+ if (yych == 'O') goto yy591;
if (yych != 'o') goto yy187;
-yy588:
- YYDEBUG(588, *YYCURSOR);
+yy591:
+ YYDEBUG(591, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy589;
+ if (yych == 'N') goto yy592;
if (yych != 'n') goto yy187;
-yy589:
- YYDEBUG(589, *YYCURSOR);
+yy592:
+ YYDEBUG(592, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy590;
+ if (yych == 'C') goto yy593;
if (yych != 'c') goto yy187;
-yy590:
- YYDEBUG(590, *YYCURSOR);
+yy593:
+ YYDEBUG(593, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy591;
+ if (yych == 'E') goto yy594;
if (yych != 'e') goto yy187;
-yy591:
- YYDEBUG(591, *YYCURSOR);
+yy594:
+ YYDEBUG(594, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(592, *YYCURSOR);
+ YYDEBUG(595, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1255 "Zend/zend_language_scanner.l"
+#line 1258 "Zend/zend_language_scanner.l"
{
return T_INCLUDE_ONCE;
}
-#line 5836 "Zend/zend_language_scanner.c"
-yy593:
- YYDEBUG(593, *YYCURSOR);
+#line 5854 "Zend/zend_language_scanner.c"
+yy596:
+ YYDEBUG(596, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy594;
+ if (yych == 'R') goto yy597;
if (yych != 'r') goto yy187;
-yy594:
- YYDEBUG(594, *YYCURSOR);
+yy597:
+ YYDEBUG(597, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy595;
+ if (yych == 'F') goto yy598;
if (yych != 'f') goto yy187;
-yy595:
- YYDEBUG(595, *YYCURSOR);
+yy598:
+ YYDEBUG(598, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy596;
+ if (yych == 'A') goto yy599;
if (yych != 'a') goto yy187;
-yy596:
- YYDEBUG(596, *YYCURSOR);
+yy599:
+ YYDEBUG(599, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy597;
+ if (yych == 'C') goto yy600;
if (yych != 'c') goto yy187;
-yy597:
- YYDEBUG(597, *YYCURSOR);
+yy600:
+ YYDEBUG(600, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy598;
+ if (yych == 'E') goto yy601;
if (yych != 'e') goto yy187;
-yy598:
- YYDEBUG(598, *YYCURSOR);
+yy601:
+ YYDEBUG(601, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(599, *YYCURSOR);
+ YYDEBUG(602, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1155 "Zend/zend_language_scanner.l"
+#line 1154 "Zend/zend_language_scanner.l"
{
return T_INTERFACE;
}
-#line 5874 "Zend/zend_language_scanner.c"
-yy600:
- YYDEBUG(600, *YYCURSOR);
+#line 5892 "Zend/zend_language_scanner.c"
+yy603:
+ YYDEBUG(603, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'E') {
- if (yych == 'A') goto yy601;
+ if (yych == 'A') goto yy604;
if (yych <= 'D') goto yy187;
- goto yy602;
+ goto yy605;
} else {
if (yych <= 'a') {
if (yych <= '`') goto yy187;
} else {
- if (yych == 'e') goto yy602;
+ if (yych == 'e') goto yy605;
goto yy187;
}
}
-yy601:
- YYDEBUG(601, *YYCURSOR);
+yy604:
+ YYDEBUG(604, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy608;
- if (yych == 'n') goto yy608;
+ if (yych == 'N') goto yy611;
+ if (yych == 'n') goto yy611;
goto yy187;
-yy602:
- YYDEBUG(602, *YYCURSOR);
+yy605:
+ YYDEBUG(605, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy603;
+ if (yych == 'A') goto yy606;
if (yych != 'a') goto yy187;
-yy603:
- YYDEBUG(603, *YYCURSOR);
+yy606:
+ YYDEBUG(606, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy604;
+ if (yych == 'D') goto yy607;
if (yych != 'd') goto yy187;
-yy604:
- YYDEBUG(604, *YYCURSOR);
+yy607:
+ YYDEBUG(607, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy605;
+ if (yych == 'O') goto yy608;
if (yych != 'o') goto yy187;
-yy605:
- YYDEBUG(605, *YYCURSOR);
+yy608:
+ YYDEBUG(608, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy606;
+ if (yych == 'F') goto yy609;
if (yych != 'f') goto yy187;
-yy606:
- YYDEBUG(606, *YYCURSOR);
+yy609:
+ YYDEBUG(609, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(607, *YYCURSOR);
+ YYDEBUG(610, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1275 "Zend/zend_language_scanner.l"
+#line 1278 "Zend/zend_language_scanner.l"
{
return T_INSTEADOF;
}
-#line 5928 "Zend/zend_language_scanner.c"
-yy608:
- YYDEBUG(608, *YYCURSOR);
+#line 5946 "Zend/zend_language_scanner.c"
+yy611:
+ YYDEBUG(611, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy609;
+ if (yych == 'C') goto yy612;
if (yych != 'c') goto yy187;
-yy609:
- YYDEBUG(609, *YYCURSOR);
+yy612:
+ YYDEBUG(612, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy610;
+ if (yych == 'E') goto yy613;
if (yych != 'e') goto yy187;
-yy610:
- YYDEBUG(610, *YYCURSOR);
+yy613:
+ YYDEBUG(613, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy611;
+ if (yych == 'O') goto yy614;
if (yych != 'o') goto yy187;
-yy611:
- YYDEBUG(611, *YYCURSOR);
+yy614:
+ YYDEBUG(614, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy612;
+ if (yych == 'F') goto yy615;
if (yych != 'f') goto yy187;
-yy612:
- YYDEBUG(612, *YYCURSOR);
+yy615:
+ YYDEBUG(615, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(613, *YYCURSOR);
+ YYDEBUG(616, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1107 "Zend/zend_language_scanner.l"
+#line 1106 "Zend/zend_language_scanner.l"
{
return T_INSTANCEOF;
}
-#line 5961 "Zend/zend_language_scanner.c"
-yy614:
- YYDEBUG(614, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy615;
- if (yych != 'l') goto yy187;
-yy615:
- YYDEBUG(615, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy616;
- if (yych != 'e') goto yy187;
-yy616:
- YYDEBUG(616, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy617;
- if (yych != 'm') goto yy187;
+#line 5979 "Zend/zend_language_scanner.c"
yy617:
YYDEBUG(617, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy618;
- if (yych != 'e') goto yy187;
+ if (yych == 'L') goto yy618;
+ if (yych != 'l') goto yy187;
yy618:
YYDEBUG(618, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy619;
- if (yych != 'n') goto yy187;
+ if (yych == 'E') goto yy619;
+ if (yych != 'e') goto yy187;
yy619:
YYDEBUG(619, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy620;
- if (yych != 't') goto yy187;
+ if (yych == 'M') goto yy620;
+ if (yych != 'm') goto yy187;
yy620:
YYDEBUG(620, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy621;
- if (yych != 's') goto yy187;
+ if (yych == 'E') goto yy621;
+ if (yych != 'e') goto yy187;
yy621:
YYDEBUG(621, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy622;
+ if (yych != 'n') goto yy187;
+yy622:
+ YYDEBUG(622, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy623;
+ if (yych != 't') goto yy187;
+yy623:
+ YYDEBUG(623, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy624;
+ if (yych != 's') goto yy187;
+yy624:
+ YYDEBUG(624, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(622, *YYCURSOR);
+ YYDEBUG(625, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1167 "Zend/zend_language_scanner.l"
+#line 1166 "Zend/zend_language_scanner.l"
{
return T_IMPLEMENTS;
}
-#line 6009 "Zend/zend_language_scanner.c"
-yy623:
- YYDEBUG(623, *YYCURSOR);
+#line 6027 "Zend/zend_language_scanner.c"
+yy626:
+ YYDEBUG(626, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy631;
- if (yych == 'r') goto yy631;
+ if (yych == 'R') goto yy634;
+ if (yych == 'r') goto yy634;
goto yy187;
-yy624:
- YYDEBUG(624, *YYCURSOR);
+yy627:
+ YYDEBUG(627, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'Y') {
- if (yych == 'A') goto yy627;
+ if (yych == 'A') goto yy630;
if (yych <= 'X') goto yy187;
} else {
if (yych <= 'a') {
if (yych <= '`') goto yy187;
- goto yy627;
+ goto yy630;
} else {
if (yych != 'y') goto yy187;
}
}
- YYDEBUG(625, *YYCURSOR);
+ YYDEBUG(628, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(626, *YYCURSOR);
+ YYDEBUG(629, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1039 "Zend/zend_language_scanner.l"
+#line 1038 "Zend/zend_language_scanner.l"
{
return T_TRY;
}
-#line 6041 "Zend/zend_language_scanner.c"
-yy627:
- YYDEBUG(627, *YYCURSOR);
+#line 6059 "Zend/zend_language_scanner.c"
+yy630:
+ YYDEBUG(630, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy628;
+ if (yych == 'I') goto yy631;
if (yych != 'i') goto yy187;
-yy628:
- YYDEBUG(628, *YYCURSOR);
+yy631:
+ YYDEBUG(631, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy629;
+ if (yych == 'T') goto yy632;
if (yych != 't') goto yy187;
-yy629:
- YYDEBUG(629, *YYCURSOR);
+yy632:
+ YYDEBUG(632, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(630, *YYCURSOR);
+ YYDEBUG(633, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1159 "Zend/zend_language_scanner.l"
+#line 1158 "Zend/zend_language_scanner.l"
{
return T_TRAIT;
}
-#line 6064 "Zend/zend_language_scanner.c"
-yy631:
- YYDEBUG(631, *YYCURSOR);
+#line 6082 "Zend/zend_language_scanner.c"
+yy634:
+ YYDEBUG(634, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy632;
+ if (yych == 'O') goto yy635;
if (yych != 'o') goto yy187;
-yy632:
- YYDEBUG(632, *YYCURSOR);
+yy635:
+ YYDEBUG(635, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'W') goto yy633;
+ if (yych == 'W') goto yy636;
if (yych != 'w') goto yy187;
-yy633:
- YYDEBUG(633, *YYCURSOR);
+yy636:
+ YYDEBUG(636, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(634, *YYCURSOR);
+ YYDEBUG(637, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1051 "Zend/zend_language_scanner.l"
+#line 1050 "Zend/zend_language_scanner.l"
{
return T_THROW;
}
-#line 6087 "Zend/zend_language_scanner.c"
-yy635:
- YYDEBUG(635, *YYCURSOR);
+#line 6105 "Zend/zend_language_scanner.c"
+yy638:
+ YYDEBUG(638, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy636;
+ if (yych == 'E') goto yy639;
if (yych != 'e') goto yy187;
-yy636:
- YYDEBUG(636, *YYCURSOR);
+yy639:
+ YYDEBUG(639, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy637;
+ if (yych == 'L') goto yy640;
if (yych != 'l') goto yy187;
-yy637:
- YYDEBUG(637, *YYCURSOR);
+yy640:
+ YYDEBUG(640, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy638;
+ if (yych == 'D') goto yy641;
if (yych != 'd') goto yy187;
-yy638:
- YYDEBUG(638, *YYCURSOR);
+yy641:
+ YYDEBUG(641, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(639, *YYCURSOR);
+ YYDEBUG(642, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1035 "Zend/zend_language_scanner.l"
+#line 1034 "Zend/zend_language_scanner.l"
{
return T_YIELD;
}
-#line 6115 "Zend/zend_language_scanner.c"
-yy640:
- YYDEBUG(640, *YYCURSOR);
+#line 6133 "Zend/zend_language_scanner.c"
+yy643:
+ YYDEBUG(643, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'T') {
- if (yych == 'Q') goto yy642;
+ if (yych == 'Q') goto yy645;
if (yych <= 'S') goto yy187;
} else {
if (yych <= 'q') {
if (yych <= 'p') goto yy187;
- goto yy642;
+ goto yy645;
} else {
if (yych != 't') goto yy187;
}
}
- YYDEBUG(641, *YYCURSOR);
+ YYDEBUG(644, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy654;
- if (yych == 'u') goto yy654;
+ if (yych == 'U') goto yy657;
+ if (yych == 'u') goto yy657;
goto yy187;
-yy642:
- YYDEBUG(642, *YYCURSOR);
+yy645:
+ YYDEBUG(645, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy643;
+ if (yych == 'U') goto yy646;
if (yych != 'u') goto yy187;
-yy643:
- YYDEBUG(643, *YYCURSOR);
+yy646:
+ YYDEBUG(646, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy644;
+ if (yych == 'I') goto yy647;
if (yych != 'i') goto yy187;
-yy644:
- YYDEBUG(644, *YYCURSOR);
+yy647:
+ YYDEBUG(647, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy645;
+ if (yych == 'R') goto yy648;
if (yych != 'r') goto yy187;
-yy645:
- YYDEBUG(645, *YYCURSOR);
+yy648:
+ YYDEBUG(648, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy646;
+ if (yych == 'E') goto yy649;
if (yych != 'e') goto yy187;
-yy646:
- YYDEBUG(646, *YYCURSOR);
+yy649:
+ YYDEBUG(649, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '9') {
if (yych >= '0') goto yy186;
} else {
- if (yych <= '@') goto yy647;
+ if (yych <= '@') goto yy650;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy648;
+ if (yych <= '_') goto yy651;
} else {
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy647:
- YYDEBUG(647, *YYCURSOR);
+yy650:
+ YYDEBUG(650, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1259 "Zend/zend_language_scanner.l"
+#line 1262 "Zend/zend_language_scanner.l"
{
return T_REQUIRE;
}
-#line 6180 "Zend/zend_language_scanner.c"
-yy648:
- YYDEBUG(648, *YYCURSOR);
+#line 6198 "Zend/zend_language_scanner.c"
+yy651:
+ YYDEBUG(651, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy649;
+ if (yych == 'O') goto yy652;
if (yych != 'o') goto yy187;
-yy649:
- YYDEBUG(649, *YYCURSOR);
+yy652:
+ YYDEBUG(652, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy650;
+ if (yych == 'N') goto yy653;
if (yych != 'n') goto yy187;
-yy650:
- YYDEBUG(650, *YYCURSOR);
+yy653:
+ YYDEBUG(653, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy651;
+ if (yych == 'C') goto yy654;
if (yych != 'c') goto yy187;
-yy651:
- YYDEBUG(651, *YYCURSOR);
+yy654:
+ YYDEBUG(654, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy652;
+ if (yych == 'E') goto yy655;
if (yych != 'e') goto yy187;
-yy652:
- YYDEBUG(652, *YYCURSOR);
+yy655:
+ YYDEBUG(655, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(653, *YYCURSOR);
+ YYDEBUG(656, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1263 "Zend/zend_language_scanner.l"
+#line 1266 "Zend/zend_language_scanner.l"
{
return T_REQUIRE_ONCE;
}
-#line 6213 "Zend/zend_language_scanner.c"
-yy654:
- YYDEBUG(654, *YYCURSOR);
+#line 6231 "Zend/zend_language_scanner.c"
+yy657:
+ YYDEBUG(657, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy655;
+ if (yych == 'R') goto yy658;
if (yych != 'r') goto yy187;
-yy655:
- YYDEBUG(655, *YYCURSOR);
+yy658:
+ YYDEBUG(658, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy656;
+ if (yych == 'N') goto yy659;
if (yych != 'n') goto yy187;
-yy656:
- YYDEBUG(656, *YYCURSOR);
+yy659:
+ YYDEBUG(659, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(657, *YYCURSOR);
+ YYDEBUG(660, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1031 "Zend/zend_language_scanner.l"
+#line 1030 "Zend/zend_language_scanner.l"
{
return T_RETURN;
}
-#line 6236 "Zend/zend_language_scanner.c"
-yy658:
- YYDEBUG(658, *YYCURSOR);
+#line 6254 "Zend/zend_language_scanner.c"
+yy661:
+ YYDEBUG(661, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'T') {
if (yych <= 'L') {
if (yych <= 'K') goto yy187;
- goto yy681;
+ goto yy684;
} else {
if (yych <= 'R') goto yy187;
- if (yych <= 'S') goto yy680;
- goto yy679;
+ if (yych <= 'S') goto yy683;
+ goto yy682;
}
} else {
if (yych <= 'r') {
- if (yych == 'l') goto yy681;
+ if (yych == 'l') goto yy684;
goto yy187;
} else {
- if (yych <= 's') goto yy680;
- if (yych <= 't') goto yy679;
+ if (yych <= 's') goto yy683;
+ if (yych <= 't') goto yy682;
goto yy187;
}
}
-yy659:
- YYDEBUG(659, *YYCURSOR);
+yy662:
+ YYDEBUG(662, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'O') {
- if (yych == 'A') goto yy671;
+ if (yych == 'A') goto yy674;
if (yych <= 'N') goto yy187;
- goto yy672;
+ goto yy675;
} else {
if (yych <= 'a') {
if (yych <= '`') goto yy187;
- goto yy671;
+ goto yy674;
} else {
- if (yych == 'o') goto yy672;
+ if (yych == 'o') goto yy675;
goto yy187;
}
}
-yy660:
- YYDEBUG(660, *YYCURSOR);
+yy663:
+ YYDEBUG(663, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy661;
+ if (yych == 'N') goto yy664;
if (yych != 'n') goto yy187;
-yy661:
- YYDEBUG(661, *YYCURSOR);
+yy664:
+ YYDEBUG(664, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'T') {
if (yych <= 'R') goto yy187;
- if (yych >= 'T') goto yy663;
+ if (yych >= 'T') goto yy666;
} else {
if (yych <= 'r') goto yy187;
- if (yych <= 's') goto yy662;
- if (yych <= 't') goto yy663;
+ if (yych <= 's') goto yy665;
+ if (yych <= 't') goto yy666;
goto yy187;
}
-yy662:
- YYDEBUG(662, *YYCURSOR);
+yy665:
+ YYDEBUG(665, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy669;
- if (yych == 't') goto yy669;
+ if (yych == 'T') goto yy672;
+ if (yych == 't') goto yy672;
goto yy187;
-yy663:
- YYDEBUG(663, *YYCURSOR);
+yy666:
+ YYDEBUG(666, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy664;
+ if (yych == 'I') goto yy667;
if (yych != 'i') goto yy187;
-yy664:
- YYDEBUG(664, *YYCURSOR);
+yy667:
+ YYDEBUG(667, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy665;
+ if (yych == 'N') goto yy668;
if (yych != 'n') goto yy187;
-yy665:
- YYDEBUG(665, *YYCURSOR);
+yy668:
+ YYDEBUG(668, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy666;
+ if (yych == 'U') goto yy669;
if (yych != 'u') goto yy187;
-yy666:
- YYDEBUG(666, *YYCURSOR);
+yy669:
+ YYDEBUG(669, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy667;
+ if (yych == 'E') goto yy670;
if (yych != 'e') goto yy187;
-yy667:
- YYDEBUG(667, *YYCURSOR);
+yy670:
+ YYDEBUG(670, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(668, *YYCURSOR);
+ YYDEBUG(671, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1135 "Zend/zend_language_scanner.l"
+#line 1134 "Zend/zend_language_scanner.l"
{
return T_CONTINUE;
}
-#line 6330 "Zend/zend_language_scanner.c"
-yy669:
- YYDEBUG(669, *YYCURSOR);
+#line 6348 "Zend/zend_language_scanner.c"
+yy672:
+ YYDEBUG(672, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(670, *YYCURSOR);
+ YYDEBUG(673, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1027 "Zend/zend_language_scanner.l"
+#line 1026 "Zend/zend_language_scanner.l"
{
return T_CONST;
}
-#line 6343 "Zend/zend_language_scanner.c"
-yy671:
- YYDEBUG(671, *YYCURSOR);
+#line 6361 "Zend/zend_language_scanner.c"
+yy674:
+ YYDEBUG(674, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy676;
- if (yych == 's') goto yy676;
+ if (yych == 'S') goto yy679;
+ if (yych == 's') goto yy679;
goto yy187;
-yy672:
- YYDEBUG(672, *YYCURSOR);
+yy675:
+ YYDEBUG(675, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy673;
+ if (yych == 'N') goto yy676;
if (yych != 'n') goto yy187;
-yy673:
- YYDEBUG(673, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy674;
- if (yych != 'e') goto yy187;
-yy674:
- YYDEBUG(674, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy186;
- }
- YYDEBUG(675, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1211 "Zend/zend_language_scanner.l"
- {
- return T_CLONE;
-}
-#line 6372 "Zend/zend_language_scanner.c"
yy676:
YYDEBUG(676, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy677;
- if (yych != 's') goto yy187;
+ if (yych == 'E') goto yy677;
+ if (yych != 'e') goto yy187;
yy677:
YYDEBUG(677, *YYCURSOR);
++YYCURSOR;
@@ -6382,38 +6382,41 @@ yy677:
}
YYDEBUG(678, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1151 "Zend/zend_language_scanner.l"
+#line 1214 "Zend/zend_language_scanner.l"
{
- return T_CLASS;
+ return T_CLONE;
}
#line 6390 "Zend/zend_language_scanner.c"
yy679:
YYDEBUG(679, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy690;
- if (yych == 'c') goto yy690;
- goto yy187;
+ if (yych == 'S') goto yy680;
+ if (yych != 's') goto yy187;
yy680:
YYDEBUG(680, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy688;
- if (yych == 'e') goto yy688;
- goto yy187;
-yy681:
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
YYDEBUG(681, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy682;
- if (yych != 'l') goto yy187;
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1150 "Zend/zend_language_scanner.l"
+ {
+ return T_CLASS;
+}
+#line 6408 "Zend/zend_language_scanner.c"
yy682:
YYDEBUG(682, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy683;
- if (yych != 'a') goto yy187;
+ if (yych == 'C') goto yy693;
+ if (yych == 'c') goto yy693;
+ goto yy187;
yy683:
YYDEBUG(683, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy684;
- if (yych != 'b') goto yy187;
+ if (yych == 'E') goto yy691;
+ if (yych == 'e') goto yy691;
+ goto yy187;
yy684:
YYDEBUG(684, *YYCURSOR);
yych = *++YYCURSOR;
@@ -6422,39 +6425,36 @@ yy684:
yy685:
YYDEBUG(685, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy686;
- if (yych != 'e') goto yy187;
+ if (yych == 'A') goto yy686;
+ if (yych != 'a') goto yy187;
yy686:
YYDEBUG(686, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy186;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'B') goto yy687;
+ if (yych != 'b') goto yy187;
+yy687:
YYDEBUG(687, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1335 "Zend/zend_language_scanner.l"
- {
- return T_CALLABLE;
-}
-#line 6440 "Zend/zend_language_scanner.c"
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy688;
+ if (yych != 'l') goto yy187;
yy688:
YYDEBUG(688, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy689;
+ if (yych != 'e') goto yy187;
+yy689:
+ YYDEBUG(689, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(689, *YYCURSOR);
+ YYDEBUG(690, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1123 "Zend/zend_language_scanner.l"
+#line 1338 "Zend/zend_language_scanner.l"
{
- return T_CASE;
+ return T_CALLABLE;
}
-#line 6453 "Zend/zend_language_scanner.c"
-yy690:
- YYDEBUG(690, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy691;
- if (yych != 'h') goto yy187;
+#line 6458 "Zend/zend_language_scanner.c"
yy691:
YYDEBUG(691, *YYCURSOR);
++YYCURSOR;
@@ -6463,719 +6463,737 @@ yy691:
}
YYDEBUG(692, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1043 "Zend/zend_language_scanner.l"
+#line 1122 "Zend/zend_language_scanner.l"
{
- return T_CATCH;
+ return T_CASE;
}
#line 6471 "Zend/zend_language_scanner.c"
yy693:
YYDEBUG(693, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy710;
- if (yych == 'n') goto yy710;
- goto yy187;
+ if (yych == 'H') goto yy694;
+ if (yych != 'h') goto yy187;
yy694:
YYDEBUG(694, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy703;
- if (yych == 'r') goto yy703;
- goto yy187;
-yy695:
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
YYDEBUG(695, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy696;
- if (yych != 'n') goto yy187;
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1042 "Zend/zend_language_scanner.l"
+ {
+ return T_CATCH;
+}
+#line 6489 "Zend/zend_language_scanner.c"
yy696:
YYDEBUG(696, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy697;
- if (yych != 'c') goto yy187;
+ if (yych == 'N') goto yy713;
+ if (yych == 'n') goto yy713;
+ goto yy187;
yy697:
YYDEBUG(697, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy698;
- if (yych != 't') goto yy187;
+ if (yych == 'R') goto yy706;
+ if (yych == 'r') goto yy706;
+ goto yy187;
yy698:
YYDEBUG(698, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy699;
- if (yych != 'i') goto yy187;
+ if (yych == 'N') goto yy699;
+ if (yych != 'n') goto yy187;
yy699:
YYDEBUG(699, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy700;
- if (yych != 'o') goto yy187;
+ if (yych == 'C') goto yy700;
+ if (yych != 'c') goto yy187;
yy700:
YYDEBUG(700, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy701;
- if (yych != 'n') goto yy187;
+ if (yych == 'T') goto yy701;
+ if (yych != 't') goto yy187;
yy701:
YYDEBUG(701, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy702;
+ if (yych != 'i') goto yy187;
+yy702:
+ YYDEBUG(702, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy703;
+ if (yych != 'o') goto yy187;
+yy703:
+ YYDEBUG(703, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy704;
+ if (yych != 'n') goto yy187;
+yy704:
+ YYDEBUG(704, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(702, *YYCURSOR);
+ YYDEBUG(705, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1023 "Zend/zend_language_scanner.l"
+#line 1022 "Zend/zend_language_scanner.l"
{
return T_FUNCTION;
}
-#line 6526 "Zend/zend_language_scanner.c"
-yy703:
- YYDEBUG(703, *YYCURSOR);
+#line 6544 "Zend/zend_language_scanner.c"
+yy706:
+ YYDEBUG(706, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '@') {
- if (yych <= '/') goto yy704;
+ if (yych <= '/') goto yy707;
if (yych <= '9') goto yy186;
} else {
- if (yych == 'E') goto yy705;
+ if (yych == 'E') goto yy708;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= 'd') {
if (yych != '`') goto yy186;
} else {
- if (yych <= 'e') goto yy705;
+ if (yych <= 'e') goto yy708;
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy704:
- YYDEBUG(704, *YYCURSOR);
+yy707:
+ YYDEBUG(707, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1083 "Zend/zend_language_scanner.l"
+#line 1082 "Zend/zend_language_scanner.l"
{
return T_FOR;
}
-#line 6554 "Zend/zend_language_scanner.c"
-yy705:
- YYDEBUG(705, *YYCURSOR);
+#line 6572 "Zend/zend_language_scanner.c"
+yy708:
+ YYDEBUG(708, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy706;
+ if (yych == 'A') goto yy709;
if (yych != 'a') goto yy187;
-yy706:
- YYDEBUG(706, *YYCURSOR);
+yy709:
+ YYDEBUG(709, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy707;
+ if (yych == 'C') goto yy710;
if (yych != 'c') goto yy187;
-yy707:
- YYDEBUG(707, *YYCURSOR);
+yy710:
+ YYDEBUG(710, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy708;
+ if (yych == 'H') goto yy711;
if (yych != 'h') goto yy187;
-yy708:
- YYDEBUG(708, *YYCURSOR);
+yy711:
+ YYDEBUG(711, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(709, *YYCURSOR);
+ YYDEBUG(712, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1091 "Zend/zend_language_scanner.l"
+#line 1090 "Zend/zend_language_scanner.l"
{
return T_FOREACH;
}
-#line 6582 "Zend/zend_language_scanner.c"
-yy710:
- YYDEBUG(710, *YYCURSOR);
+#line 6600 "Zend/zend_language_scanner.c"
+yy713:
+ YYDEBUG(713, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy711;
+ if (yych == 'A') goto yy714;
if (yych != 'a') goto yy187;
-yy711:
- YYDEBUG(711, *YYCURSOR);
+yy714:
+ YYDEBUG(714, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy712;
+ if (yych == 'L') goto yy715;
if (yych != 'l') goto yy187;
-yy712:
- YYDEBUG(712, *YYCURSOR);
+yy715:
+ YYDEBUG(715, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '@') {
- if (yych <= '/') goto yy713;
+ if (yych <= '/') goto yy716;
if (yych <= '9') goto yy186;
} else {
- if (yych == 'L') goto yy714;
+ if (yych == 'L') goto yy717;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= 'k') {
if (yych != '`') goto yy186;
} else {
- if (yych <= 'l') goto yy714;
+ if (yych <= 'l') goto yy717;
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy713:
- YYDEBUG(713, *YYCURSOR);
+yy716:
+ YYDEBUG(716, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1303 "Zend/zend_language_scanner.l"
+#line 1306 "Zend/zend_language_scanner.l"
{
return T_FINAL;
}
-#line 6620 "Zend/zend_language_scanner.c"
-yy714:
- YYDEBUG(714, *YYCURSOR);
+#line 6638 "Zend/zend_language_scanner.c"
+yy717:
+ YYDEBUG(717, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy715;
+ if (yych == 'Y') goto yy718;
if (yych != 'y') goto yy187;
-yy715:
- YYDEBUG(715, *YYCURSOR);
+yy718:
+ YYDEBUG(718, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(716, *YYCURSOR);
+ YYDEBUG(719, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1047 "Zend/zend_language_scanner.l"
+#line 1046 "Zend/zend_language_scanner.l"
{
return T_FINALLY;
}
-#line 6638 "Zend/zend_language_scanner.c"
-yy717:
- YYDEBUG(717, *YYCURSOR);
+#line 6656 "Zend/zend_language_scanner.c"
+yy720:
+ YYDEBUG(720, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'F') {
- if (yych == 'C') goto yy723;
+ if (yych == 'C') goto yy726;
if (yych <= 'E') goto yy187;
- goto yy724;
+ goto yy727;
} else {
if (yych <= 'c') {
if (yych <= 'b') goto yy187;
- goto yy723;
+ goto yy726;
} else {
- if (yych == 'f') goto yy724;
+ if (yych == 'f') goto yy727;
goto yy187;
}
}
-yy718:
- YYDEBUG(718, *YYCURSOR);
+yy721:
+ YYDEBUG(721, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy721;
- if (yych == 'e') goto yy721;
+ if (yych == 'E') goto yy724;
+ if (yych == 'e') goto yy724;
goto yy187;
-yy719:
- YYDEBUG(719, *YYCURSOR);
+yy722:
+ YYDEBUG(722, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(720, *YYCURSOR);
+ YYDEBUG(723, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1079 "Zend/zend_language_scanner.l"
+#line 1078 "Zend/zend_language_scanner.l"
{
return T_DO;
}
-#line 6673 "Zend/zend_language_scanner.c"
-yy721:
- YYDEBUG(721, *YYCURSOR);
+#line 6691 "Zend/zend_language_scanner.c"
+yy724:
+ YYDEBUG(724, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(722, *YYCURSOR);
+ YYDEBUG(725, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1019 "Zend/zend_language_scanner.l"
+#line 1018 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6686 "Zend/zend_language_scanner.c"
-yy723:
- YYDEBUG(723, *YYCURSOR);
+#line 6704 "Zend/zend_language_scanner.c"
+yy726:
+ YYDEBUG(726, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy730;
- if (yych == 'l') goto yy730;
+ if (yych == 'L') goto yy733;
+ if (yych == 'l') goto yy733;
goto yy187;
-yy724:
- YYDEBUG(724, *YYCURSOR);
+yy727:
+ YYDEBUG(727, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy725;
+ if (yych == 'A') goto yy728;
if (yych != 'a') goto yy187;
-yy725:
- YYDEBUG(725, *YYCURSOR);
+yy728:
+ YYDEBUG(728, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy726;
+ if (yych == 'U') goto yy729;
if (yych != 'u') goto yy187;
-yy726:
- YYDEBUG(726, *YYCURSOR);
+yy729:
+ YYDEBUG(729, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy727;
+ if (yych == 'L') goto yy730;
if (yych != 'l') goto yy187;
-yy727:
- YYDEBUG(727, *YYCURSOR);
+yy730:
+ YYDEBUG(730, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy728;
+ if (yych == 'T') goto yy731;
if (yych != 't') goto yy187;
-yy728:
- YYDEBUG(728, *YYCURSOR);
+yy731:
+ YYDEBUG(731, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(729, *YYCURSOR);
+ YYDEBUG(732, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1127 "Zend/zend_language_scanner.l"
+#line 1126 "Zend/zend_language_scanner.l"
{
return T_DEFAULT;
}
-#line 6725 "Zend/zend_language_scanner.c"
-yy730:
- YYDEBUG(730, *YYCURSOR);
+#line 6743 "Zend/zend_language_scanner.c"
+yy733:
+ YYDEBUG(733, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy731;
+ if (yych == 'A') goto yy734;
if (yych != 'a') goto yy187;
-yy731:
- YYDEBUG(731, *YYCURSOR);
+yy734:
+ YYDEBUG(734, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy732;
+ if (yych == 'R') goto yy735;
if (yych != 'r') goto yy187;
-yy732:
- YYDEBUG(732, *YYCURSOR);
+yy735:
+ YYDEBUG(735, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy733;
+ if (yych == 'E') goto yy736;
if (yych != 'e') goto yy187;
-yy733:
- YYDEBUG(733, *YYCURSOR);
+yy736:
+ YYDEBUG(736, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(734, *YYCURSOR);
+ YYDEBUG(737, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1099 "Zend/zend_language_scanner.l"
+#line 1098 "Zend/zend_language_scanner.l"
{
return T_DECLARE;
}
-#line 6753 "Zend/zend_language_scanner.c"
-yy735:
- YYDEBUG(735, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy797;
- if (yych == 'h') goto yy797;
- goto yy187;
-yy736:
- YYDEBUG(736, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy791;
- if (yych == 's') goto yy791;
- goto yy187;
-yy737:
- YYDEBUG(737, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy787;
- if (yych == 'p') goto yy787;
- goto yy187;
+#line 6771 "Zend/zend_language_scanner.c"
yy738:
YYDEBUG(738, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy753;
- if (yych == 'd') goto yy753;
+ if (yych == 'H') goto yy800;
+ if (yych == 'h') goto yy800;
goto yy187;
yy739:
YYDEBUG(739, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy750;
- if (yych == 'a') goto yy750;
+ if (yych == 'S') goto yy794;
+ if (yych == 's') goto yy794;
goto yy187;
yy740:
YYDEBUG(740, *YYCURSOR);
yych = *++YYCURSOR;
+ if (yych == 'P') goto yy790;
+ if (yych == 'p') goto yy790;
+ goto yy187;
+yy741:
+ YYDEBUG(741, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy756;
+ if (yych == 'd') goto yy756;
+ goto yy187;
+yy742:
+ YYDEBUG(742, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy753;
+ if (yych == 'a') goto yy753;
+ goto yy187;
+yy743:
+ YYDEBUG(743, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yych <= 'T') {
- if (yych == 'I') goto yy741;
+ if (yych == 'I') goto yy744;
if (yych <= 'S') goto yy187;
- goto yy742;
+ goto yy745;
} else {
if (yych <= 'i') {
if (yych <= 'h') goto yy187;
} else {
- if (yych == 't') goto yy742;
+ if (yych == 't') goto yy745;
goto yy187;
}
}
-yy741:
- YYDEBUG(741, *YYCURSOR);
+yy744:
+ YYDEBUG(744, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy748;
- if (yych == 't') goto yy748;
+ if (yych == 'T') goto yy751;
+ if (yych == 't') goto yy751;
goto yy187;
-yy742:
- YYDEBUG(742, *YYCURSOR);
+yy745:
+ YYDEBUG(745, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy743;
+ if (yych == 'E') goto yy746;
if (yych != 'e') goto yy187;
-yy743:
- YYDEBUG(743, *YYCURSOR);
+yy746:
+ YYDEBUG(746, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy744;
+ if (yych == 'N') goto yy747;
if (yych != 'n') goto yy187;
-yy744:
- YYDEBUG(744, *YYCURSOR);
+yy747:
+ YYDEBUG(747, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy745;
+ if (yych == 'D') goto yy748;
if (yych != 'd') goto yy187;
-yy745:
- YYDEBUG(745, *YYCURSOR);
+yy748:
+ YYDEBUG(748, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy746;
+ if (yych == 'S') goto yy749;
if (yych != 's') goto yy187;
-yy746:
- YYDEBUG(746, *YYCURSOR);
+yy749:
+ YYDEBUG(749, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(747, *YYCURSOR);
+ YYDEBUG(750, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1163 "Zend/zend_language_scanner.l"
+#line 1162 "Zend/zend_language_scanner.l"
{
return T_EXTENDS;
}
-#line 6837 "Zend/zend_language_scanner.c"
-yy748:
- YYDEBUG(748, *YYCURSOR);
+#line 6855 "Zend/zend_language_scanner.c"
+yy751:
+ YYDEBUG(751, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(749, *YYCURSOR);
+ YYDEBUG(752, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1015 "Zend/zend_language_scanner.l"
+#line 1014 "Zend/zend_language_scanner.l"
{
return T_EXIT;
}
-#line 6850 "Zend/zend_language_scanner.c"
-yy750:
- YYDEBUG(750, *YYCURSOR);
+#line 6868 "Zend/zend_language_scanner.c"
+yy753:
+ YYDEBUG(753, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy751;
+ if (yych == 'L') goto yy754;
if (yych != 'l') goto yy187;
-yy751:
- YYDEBUG(751, *YYCURSOR);
+yy754:
+ YYDEBUG(754, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(752, *YYCURSOR);
+ YYDEBUG(755, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1247 "Zend/zend_language_scanner.l"
+#line 1250 "Zend/zend_language_scanner.l"
{
return T_EVAL;
}
-#line 6868 "Zend/zend_language_scanner.c"
-yy753:
- YYDEBUG(753, *YYCURSOR);
+#line 6886 "Zend/zend_language_scanner.c"
+yy756:
+ YYDEBUG(756, *YYCURSOR);
yych = *++YYCURSOR;
YYDEBUG(-1, yych);
switch (yych) {
case 'D':
- case 'd': goto yy754;
+ case 'd': goto yy757;
case 'F':
- case 'f': goto yy755;
+ case 'f': goto yy758;
case 'I':
- case 'i': goto yy756;
+ case 'i': goto yy759;
case 'S':
- case 's': goto yy757;
+ case 's': goto yy760;
case 'W':
- case 'w': goto yy758;
+ case 'w': goto yy761;
default: goto yy187;
}
-yy754:
- YYDEBUG(754, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy780;
- if (yych == 'e') goto yy780;
- goto yy187;
-yy755:
- YYDEBUG(755, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy772;
- if (yych == 'o') goto yy772;
- goto yy187;
-yy756:
- YYDEBUG(756, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy770;
- if (yych == 'f') goto yy770;
- goto yy187;
yy757:
YYDEBUG(757, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'W') goto yy764;
- if (yych == 'w') goto yy764;
+ if (yych == 'E') goto yy783;
+ if (yych == 'e') goto yy783;
goto yy187;
yy758:
YYDEBUG(758, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy759;
- if (yych != 'h') goto yy187;
+ if (yych == 'O') goto yy775;
+ if (yych == 'o') goto yy775;
+ goto yy187;
yy759:
YYDEBUG(759, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy760;
- if (yych != 'i') goto yy187;
+ if (yych == 'F') goto yy773;
+ if (yych == 'f') goto yy773;
+ goto yy187;
yy760:
YYDEBUG(760, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy761;
- if (yych != 'l') goto yy187;
+ if (yych == 'W') goto yy767;
+ if (yych == 'w') goto yy767;
+ goto yy187;
yy761:
YYDEBUG(761, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy762;
- if (yych != 'e') goto yy187;
+ if (yych == 'H') goto yy762;
+ if (yych != 'h') goto yy187;
yy762:
YYDEBUG(762, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy763;
+ if (yych != 'i') goto yy187;
+yy763:
+ YYDEBUG(763, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy764;
+ if (yych != 'l') goto yy187;
+yy764:
+ YYDEBUG(764, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy765;
+ if (yych != 'e') goto yy187;
+yy765:
+ YYDEBUG(765, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(763, *YYCURSOR);
+ YYDEBUG(766, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1075 "Zend/zend_language_scanner.l"
+#line 1074 "Zend/zend_language_scanner.l"
{
return T_ENDWHILE;
}
-#line 6942 "Zend/zend_language_scanner.c"
-yy764:
- YYDEBUG(764, *YYCURSOR);
+#line 6960 "Zend/zend_language_scanner.c"
+yy767:
+ YYDEBUG(767, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy765;
+ if (yych == 'I') goto yy768;
if (yych != 'i') goto yy187;
-yy765:
- YYDEBUG(765, *YYCURSOR);
+yy768:
+ YYDEBUG(768, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy766;
+ if (yych == 'T') goto yy769;
if (yych != 't') goto yy187;
-yy766:
- YYDEBUG(766, *YYCURSOR);
+yy769:
+ YYDEBUG(769, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy767;
+ if (yych == 'C') goto yy770;
if (yych != 'c') goto yy187;
-yy767:
- YYDEBUG(767, *YYCURSOR);
+yy770:
+ YYDEBUG(770, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy768;
+ if (yych == 'H') goto yy771;
if (yych != 'h') goto yy187;
-yy768:
- YYDEBUG(768, *YYCURSOR);
+yy771:
+ YYDEBUG(771, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(769, *YYCURSOR);
+ YYDEBUG(772, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1119 "Zend/zend_language_scanner.l"
+#line 1118 "Zend/zend_language_scanner.l"
{
return T_ENDSWITCH;
}
-#line 6975 "Zend/zend_language_scanner.c"
-yy770:
- YYDEBUG(770, *YYCURSOR);
+#line 6993 "Zend/zend_language_scanner.c"
+yy773:
+ YYDEBUG(773, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(771, *YYCURSOR);
+ YYDEBUG(774, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1063 "Zend/zend_language_scanner.l"
+#line 1062 "Zend/zend_language_scanner.l"
{
return T_ENDIF;
}
-#line 6988 "Zend/zend_language_scanner.c"
-yy772:
- YYDEBUG(772, *YYCURSOR);
+#line 7006 "Zend/zend_language_scanner.c"
+yy775:
+ YYDEBUG(775, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy773;
+ if (yych == 'R') goto yy776;
if (yych != 'r') goto yy187;
-yy773:
- YYDEBUG(773, *YYCURSOR);
+yy776:
+ YYDEBUG(776, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '@') {
- if (yych <= '/') goto yy774;
+ if (yych <= '/') goto yy777;
if (yych <= '9') goto yy186;
} else {
- if (yych == 'E') goto yy775;
+ if (yych == 'E') goto yy778;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= 'd') {
if (yych != '`') goto yy186;
} else {
- if (yych <= 'e') goto yy775;
+ if (yych <= 'e') goto yy778;
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy774:
- YYDEBUG(774, *YYCURSOR);
+yy777:
+ YYDEBUG(777, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1087 "Zend/zend_language_scanner.l"
+#line 1086 "Zend/zend_language_scanner.l"
{
return T_ENDFOR;
}
-#line 7021 "Zend/zend_language_scanner.c"
-yy775:
- YYDEBUG(775, *YYCURSOR);
+#line 7039 "Zend/zend_language_scanner.c"
+yy778:
+ YYDEBUG(778, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy776;
+ if (yych == 'A') goto yy779;
if (yych != 'a') goto yy187;
-yy776:
- YYDEBUG(776, *YYCURSOR);
+yy779:
+ YYDEBUG(779, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy777;
+ if (yych == 'C') goto yy780;
if (yych != 'c') goto yy187;
-yy777:
- YYDEBUG(777, *YYCURSOR);
+yy780:
+ YYDEBUG(780, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy778;
+ if (yych == 'H') goto yy781;
if (yych != 'h') goto yy187;
-yy778:
- YYDEBUG(778, *YYCURSOR);
+yy781:
+ YYDEBUG(781, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(779, *YYCURSOR);
+ YYDEBUG(782, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1095 "Zend/zend_language_scanner.l"
+#line 1094 "Zend/zend_language_scanner.l"
{
return T_ENDFOREACH;
}
-#line 7049 "Zend/zend_language_scanner.c"
-yy780:
- YYDEBUG(780, *YYCURSOR);
+#line 7067 "Zend/zend_language_scanner.c"
+yy783:
+ YYDEBUG(783, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy781;
+ if (yych == 'C') goto yy784;
if (yych != 'c') goto yy187;
-yy781:
- YYDEBUG(781, *YYCURSOR);
+yy784:
+ YYDEBUG(784, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy782;
+ if (yych == 'L') goto yy785;
if (yych != 'l') goto yy187;
-yy782:
- YYDEBUG(782, *YYCURSOR);
+yy785:
+ YYDEBUG(785, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy783;
+ if (yych == 'A') goto yy786;
if (yych != 'a') goto yy187;
-yy783:
- YYDEBUG(783, *YYCURSOR);
+yy786:
+ YYDEBUG(786, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy784;
+ if (yych == 'R') goto yy787;
if (yych != 'r') goto yy187;
-yy784:
- YYDEBUG(784, *YYCURSOR);
+yy787:
+ YYDEBUG(787, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy785;
+ if (yych == 'E') goto yy788;
if (yych != 'e') goto yy187;
-yy785:
- YYDEBUG(785, *YYCURSOR);
+yy788:
+ YYDEBUG(788, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(786, *YYCURSOR);
+ YYDEBUG(789, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1103 "Zend/zend_language_scanner.l"
+#line 1102 "Zend/zend_language_scanner.l"
{
return T_ENDDECLARE;
}
-#line 7087 "Zend/zend_language_scanner.c"
-yy787:
- YYDEBUG(787, *YYCURSOR);
+#line 7105 "Zend/zend_language_scanner.c"
+yy790:
+ YYDEBUG(790, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy788;
+ if (yych == 'T') goto yy791;
if (yych != 't') goto yy187;
-yy788:
- YYDEBUG(788, *YYCURSOR);
+yy791:
+ YYDEBUG(791, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy789;
+ if (yych == 'Y') goto yy792;
if (yych != 'y') goto yy187;
-yy789:
- YYDEBUG(789, *YYCURSOR);
+yy792:
+ YYDEBUG(792, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(790, *YYCURSOR);
+ YYDEBUG(793, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1287 "Zend/zend_language_scanner.l"
+#line 1290 "Zend/zend_language_scanner.l"
{
return T_EMPTY;
}
-#line 7110 "Zend/zend_language_scanner.c"
-yy791:
- YYDEBUG(791, *YYCURSOR);
+#line 7128 "Zend/zend_language_scanner.c"
+yy794:
+ YYDEBUG(794, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy792;
+ if (yych == 'E') goto yy795;
if (yych != 'e') goto yy187;
-yy792:
- YYDEBUG(792, *YYCURSOR);
+yy795:
+ YYDEBUG(795, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '^') {
if (yych <= '@') {
- if (yych <= '/') goto yy793;
+ if (yych <= '/') goto yy796;
if (yych <= '9') goto yy186;
} else {
- if (yych == 'I') goto yy794;
+ if (yych == 'I') goto yy797;
if (yych <= 'Z') goto yy186;
}
} else {
if (yych <= 'h') {
if (yych != '`') goto yy186;
} else {
- if (yych <= 'i') goto yy794;
+ if (yych <= 'i') goto yy797;
if (yych <= 'z') goto yy186;
if (yych >= 0x7F) goto yy186;
}
}
-yy793:
- YYDEBUG(793, *YYCURSOR);
+yy796:
+ YYDEBUG(796, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1067 "Zend/zend_language_scanner.l"
+#line 1066 "Zend/zend_language_scanner.l"
{
return T_ELSE;
}
-#line 7143 "Zend/zend_language_scanner.c"
-yy794:
- YYDEBUG(794, *YYCURSOR);
+#line 7161 "Zend/zend_language_scanner.c"
+yy797:
+ YYDEBUG(797, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy795;
+ if (yych == 'F') goto yy798;
if (yych != 'f') goto yy187;
-yy795:
- YYDEBUG(795, *YYCURSOR);
+yy798:
+ YYDEBUG(798, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(796, *YYCURSOR);
+ YYDEBUG(799, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1059 "Zend/zend_language_scanner.l"
+#line 1058 "Zend/zend_language_scanner.l"
{
return T_ELSEIF;
}
-#line 7161 "Zend/zend_language_scanner.c"
-yy797:
- YYDEBUG(797, *YYCURSOR);
+#line 7179 "Zend/zend_language_scanner.c"
+yy800:
+ YYDEBUG(800, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy798;
+ if (yych == 'O') goto yy801;
if (yych != 'o') goto yy187;
-yy798:
- YYDEBUG(798, *YYCURSOR);
+yy801:
+ YYDEBUG(801, *YYCURSOR);
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 4) {
goto yy186;
}
- YYDEBUG(799, *YYCURSOR);
+ YYDEBUG(802, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1143 "Zend/zend_language_scanner.l"
+#line 1142 "Zend/zend_language_scanner.l"
{
return T_ECHO;
}
-#line 7179 "Zend/zend_language_scanner.c"
+#line 7197 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7214,113 +7232,113 @@ yyc_ST_LOOKING_FOR_PROPERTY:
64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64,
};
- YYDEBUG(800, *YYCURSOR);
+ YYDEBUG(803, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '-') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy808;
- if (yych <= '\n') goto yy802;
- if (yych <= '\f') goto yy808;
+ if (yych <= 0x08) goto yy811;
+ if (yych <= '\n') goto yy805;
+ if (yych <= '\f') goto yy811;
} else {
- if (yych == ' ') goto yy802;
- if (yych <= ',') goto yy808;
- goto yy804;
+ if (yych == ' ') goto yy805;
+ if (yych <= ',') goto yy811;
+ goto yy807;
}
} else {
if (yych <= '_') {
- if (yych <= '@') goto yy808;
- if (yych <= 'Z') goto yy806;
- if (yych <= '^') goto yy808;
- goto yy806;
+ if (yych <= '@') goto yy811;
+ if (yych <= 'Z') goto yy809;
+ if (yych <= '^') goto yy811;
+ goto yy809;
} else {
- if (yych <= '`') goto yy808;
- if (yych <= 'z') goto yy806;
- if (yych <= '~') goto yy808;
- goto yy806;
+ if (yych <= '`') goto yy811;
+ if (yych <= 'z') goto yy809;
+ if (yych <= '~') goto yy811;
+ goto yy809;
}
}
-yy802:
- YYDEBUG(802, *YYCURSOR);
+yy805:
+ YYDEBUG(805, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy814;
-yy803:
- YYDEBUG(803, *YYCURSOR);
+ goto yy817;
+yy806:
+ YYDEBUG(806, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1176 "Zend/zend_language_scanner.l"
+#line 1175 "Zend/zend_language_scanner.l"
{
ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-#line 7258 "Zend/zend_language_scanner.c"
-yy804:
- YYDEBUG(804, *YYCURSOR);
+#line 7276 "Zend/zend_language_scanner.c"
+yy807:
+ YYDEBUG(807, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy811;
-yy805:
- YYDEBUG(805, *YYCURSOR);
+ if ((yych = *YYCURSOR) == '>') goto yy814;
+yy808:
+ YYDEBUG(808, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1193 "Zend/zend_language_scanner.l"
+#line 1192 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
goto restart;
}
-#line 7272 "Zend/zend_language_scanner.c"
-yy806:
- YYDEBUG(806, *YYCURSOR);
+#line 7290 "Zend/zend_language_scanner.c"
+yy809:
+ YYDEBUG(809, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy810;
-yy807:
- YYDEBUG(807, *YYCURSOR);
+ goto yy813;
+yy810:
+ YYDEBUG(810, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1186 "Zend/zend_language_scanner.l"
+#line 1185 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7288 "Zend/zend_language_scanner.c"
-yy808:
- YYDEBUG(808, *YYCURSOR);
+#line 7306 "Zend/zend_language_scanner.c"
+yy811:
+ YYDEBUG(811, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy805;
-yy809:
- YYDEBUG(809, *YYCURSOR);
+ goto yy808;
+yy812:
+ YYDEBUG(812, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy810:
- YYDEBUG(810, *YYCURSOR);
+yy813:
+ YYDEBUG(813, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy809;
+ goto yy812;
}
- goto yy807;
-yy811:
- YYDEBUG(811, *YYCURSOR);
+ goto yy810;
+yy814:
+ YYDEBUG(814, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(812, *YYCURSOR);
+ YYDEBUG(815, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1182 "Zend/zend_language_scanner.l"
+#line 1181 "Zend/zend_language_scanner.l"
{
return T_OBJECT_OPERATOR;
}
-#line 7313 "Zend/zend_language_scanner.c"
-yy813:
- YYDEBUG(813, *YYCURSOR);
+#line 7331 "Zend/zend_language_scanner.c"
+yy816:
+ YYDEBUG(816, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy814:
- YYDEBUG(814, *YYCURSOR);
+yy817:
+ YYDEBUG(817, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy813;
+ goto yy816;
}
- goto yy803;
+ goto yy806;
}
/* *********************************** */
yyc_ST_LOOKING_FOR_VARNAME:
@@ -7359,74 +7377,74 @@ yyc_ST_LOOKING_FOR_VARNAME:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(815, *YYCURSOR);
+ YYDEBUG(818, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy819;
- if (yych <= 'Z') goto yy817;
- if (yych <= '^') goto yy819;
+ if (yych <= '@') goto yy822;
+ if (yych <= 'Z') goto yy820;
+ if (yych <= '^') goto yy822;
} else {
- if (yych <= '`') goto yy819;
- if (yych <= 'z') goto yy817;
- if (yych <= '~') goto yy819;
+ if (yych <= '`') goto yy822;
+ if (yych <= 'z') goto yy820;
+ if (yych <= '~') goto yy822;
}
-yy817:
- YYDEBUG(817, *YYCURSOR);
+yy820:
+ YYDEBUG(820, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '_') {
if (yych <= '@') {
- if (yych <= '/') goto yy818;
- if (yych <= '9') goto yy821;
+ if (yych <= '/') goto yy821;
+ if (yych <= '9') goto yy824;
} else {
- if (yych <= '[') goto yy821;
- if (yych >= '_') goto yy821;
+ if (yych <= '[') goto yy824;
+ if (yych >= '_') goto yy824;
}
} else {
if (yych <= '|') {
- if (yych <= '`') goto yy818;
- if (yych <= 'z') goto yy821;
+ if (yych <= '`') goto yy821;
+ if (yych <= 'z') goto yy824;
} else {
- if (yych != '~') goto yy821;
+ if (yych != '~') goto yy824;
}
}
-yy818:
- YYDEBUG(818, *YYCURSOR);
+yy821:
+ YYDEBUG(821, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1479 "Zend/zend_language_scanner.l"
+#line 1482 "Zend/zend_language_scanner.l"
{
yyless(0);
yy_pop_state(TSRMLS_C);
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
goto restart;
}
-#line 7405 "Zend/zend_language_scanner.c"
-yy819:
- YYDEBUG(819, *YYCURSOR);
+#line 7423 "Zend/zend_language_scanner.c"
+yy822:
+ YYDEBUG(822, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy818;
-yy820:
- YYDEBUG(820, *YYCURSOR);
+ goto yy821;
+yy823:
+ YYDEBUG(823, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy821:
- YYDEBUG(821, *YYCURSOR);
+yy824:
+ YYDEBUG(824, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy820;
+ goto yy823;
}
- if (yych == '[') goto yy823;
- if (yych == '}') goto yy823;
- YYDEBUG(822, *YYCURSOR);
+ if (yych == '[') goto yy826;
+ if (yych == '}') goto yy826;
+ YYDEBUG(825, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy818;
-yy823:
- YYDEBUG(823, *YYCURSOR);
+ goto yy821;
+yy826:
+ YYDEBUG(826, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(824, *YYCURSOR);
+ YYDEBUG(827, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1469 "Zend/zend_language_scanner.l"
+#line 1472 "Zend/zend_language_scanner.l"
{
yyless(yyleng - 1);
zend_copy_value(zendlval, yytext, yyleng);
@@ -7435,18 +7453,18 @@ yy823:
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return T_STRING_VARNAME;
}
-#line 7439 "Zend/zend_language_scanner.c"
+#line 7457 "Zend/zend_language_scanner.c"
}
/* *********************************** */
yyc_ST_NOWDOC:
- YYDEBUG(825, *YYCURSOR);
+ YYDEBUG(828, *YYCURSOR);
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(827, *YYCURSOR);
+ YYDEBUG(830, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(828, *YYCURSOR);
+ YYDEBUG(831, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2299 "Zend/zend_language_scanner.l"
+#line 2302 "Zend/zend_language_scanner.l"
{
int newline = 0;
@@ -7503,7 +7521,7 @@ nowdoc_scan_done:
HANDLE_NEWLINES(yytext, yyleng - newline);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7507 "Zend/zend_language_scanner.c"
+#line 7525 "Zend/zend_language_scanner.c"
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7541,76 +7559,76 @@ yyc_ST_VAR_OFFSET:
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
};
- YYDEBUG(829, *YYCURSOR);
+ YYDEBUG(832, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
if (yych <= '/') {
if (yych <= ' ') {
if (yych <= '\f') {
- if (yych <= 0x08) goto yy843;
- if (yych <= '\n') goto yy839;
- goto yy843;
+ if (yych <= 0x08) goto yy846;
+ if (yych <= '\n') goto yy842;
+ goto yy846;
} else {
- if (yych <= '\r') goto yy839;
- if (yych <= 0x1F) goto yy843;
- goto yy839;
+ if (yych <= '\r') goto yy842;
+ if (yych <= 0x1F) goto yy846;
+ goto yy842;
}
} else {
if (yych <= '$') {
- if (yych <= '"') goto yy838;
- if (yych <= '#') goto yy839;
- goto yy834;
+ if (yych <= '"') goto yy841;
+ if (yych <= '#') goto yy842;
+ goto yy837;
} else {
- if (yych == '\'') goto yy839;
- goto yy838;
+ if (yych == '\'') goto yy842;
+ goto yy841;
}
}
} else {
if (yych <= '\\') {
if (yych <= '@') {
- if (yych <= '0') goto yy831;
- if (yych <= '9') goto yy833;
- goto yy838;
+ if (yych <= '0') goto yy834;
+ if (yych <= '9') goto yy836;
+ goto yy841;
} else {
- if (yych <= 'Z') goto yy841;
- if (yych <= '[') goto yy838;
- goto yy839;
+ if (yych <= 'Z') goto yy844;
+ if (yych <= '[') goto yy841;
+ goto yy842;
}
} else {
if (yych <= '_') {
- if (yych <= ']') goto yy836;
- if (yych <= '^') goto yy838;
- goto yy841;
+ if (yych <= ']') goto yy839;
+ if (yych <= '^') goto yy841;
+ goto yy844;
} else {
- if (yych <= '`') goto yy838;
- if (yych <= 'z') goto yy841;
- if (yych <= '~') goto yy838;
- goto yy841;
+ if (yych <= '`') goto yy841;
+ if (yych <= 'z') goto yy844;
+ if (yych <= '~') goto yy841;
+ goto yy844;
}
}
}
-yy831:
- YYDEBUG(831, *YYCURSOR);
+yy834:
+ YYDEBUG(834, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'W') {
if (yych <= '9') {
- if (yych >= '0') goto yy855;
+ if (yych >= '0') goto yy858;
} else {
- if (yych == 'B') goto yy852;
+ if (yych == 'B') goto yy855;
}
} else {
if (yych <= 'b') {
- if (yych <= 'X') goto yy854;
- if (yych >= 'b') goto yy852;
+ if (yych <= 'X') goto yy857;
+ if (yych >= 'b') goto yy855;
} else {
- if (yych == 'x') goto yy854;
+ if (yych == 'x') goto yy857;
}
}
-yy832:
- YYDEBUG(832, *YYCURSOR);
+yy835:
+ YYDEBUG(835, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1555 "Zend/zend_language_scanner.l"
+#line 1558 "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, strtol(yytext, NULL, 10));
@@ -7619,81 +7637,81 @@ yy832:
}
return T_NUM_STRING;
}
-#line 7623 "Zend/zend_language_scanner.c"
-yy833:
- YYDEBUG(833, *YYCURSOR);
+#line 7641 "Zend/zend_language_scanner.c"
+yy836:
+ YYDEBUG(836, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy851;
-yy834:
- YYDEBUG(834, *YYCURSOR);
+ goto yy854;
+yy837:
+ YYDEBUG(837, *YYCURSOR);
++YYCURSOR;
if ((yych = *YYCURSOR) <= '_') {
- if (yych <= '@') goto yy835;
- if (yych <= 'Z') goto yy847;
- if (yych >= '_') goto yy847;
+ if (yych <= '@') goto yy838;
+ if (yych <= 'Z') goto yy850;
+ if (yych >= '_') goto yy850;
} else {
- if (yych <= '`') goto yy835;
- if (yych <= 'z') goto yy847;
- if (yych >= 0x7F) goto yy847;
+ if (yych <= '`') goto yy838;
+ if (yych <= 'z') goto yy850;
+ if (yych >= 0x7F) goto yy850;
}
-yy835:
- YYDEBUG(835, *YYCURSOR);
+yy838:
+ YYDEBUG(838, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1831 "Zend/zend_language_scanner.l"
+#line 1834 "Zend/zend_language_scanner.l"
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-#line 7648 "Zend/zend_language_scanner.c"
-yy836:
- YYDEBUG(836, *YYCURSOR);
+#line 7666 "Zend/zend_language_scanner.c"
+yy839:
+ YYDEBUG(839, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(837, *YYCURSOR);
+ YYDEBUG(840, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1826 "Zend/zend_language_scanner.l"
+#line 1829 "Zend/zend_language_scanner.l"
{
yy_pop_state(TSRMLS_C);
return ']';
}
-#line 7659 "Zend/zend_language_scanner.c"
-yy838:
- YYDEBUG(838, *YYCURSOR);
+#line 7677 "Zend/zend_language_scanner.c"
+yy841:
+ YYDEBUG(841, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy835;
-yy839:
- YYDEBUG(839, *YYCURSOR);
+ goto yy838;
+yy842:
+ YYDEBUG(842, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(840, *YYCURSOR);
+ YYDEBUG(843, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1836 "Zend/zend_language_scanner.l"
+#line 1839 "Zend/zend_language_scanner.l"
{
/* Invalid rule to return a more explicit parse error with proper line number */
yyless(0);
yy_pop_state(TSRMLS_C);
return T_ENCAPSED_AND_WHITESPACE;
}
-#line 7676 "Zend/zend_language_scanner.c"
-yy841:
- YYDEBUG(841, *YYCURSOR);
+#line 7694 "Zend/zend_language_scanner.c"
+yy844:
+ YYDEBUG(844, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy846;
-yy842:
- YYDEBUG(842, *YYCURSOR);
+ goto yy849;
+yy845:
+ YYDEBUG(845, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1843 "Zend/zend_language_scanner.l"
+#line 1846 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-#line 7691 "Zend/zend_language_scanner.c"
-yy843:
- YYDEBUG(843, *YYCURSOR);
+#line 7709 "Zend/zend_language_scanner.c"
+yy846:
+ YYDEBUG(846, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(844, *YYCURSOR);
+ YYDEBUG(847, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 2357 "Zend/zend_language_scanner.l"
+#line 2360 "Zend/zend_language_scanner.l"
{
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -7702,116 +7720,116 @@ yy843:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-#line 7706 "Zend/zend_language_scanner.c"
-yy845:
- YYDEBUG(845, *YYCURSOR);
+#line 7724 "Zend/zend_language_scanner.c"
+yy848:
+ YYDEBUG(848, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy846:
- YYDEBUG(846, *YYCURSOR);
+yy849:
+ YYDEBUG(849, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy845;
+ goto yy848;
}
- goto yy842;
-yy847:
- YYDEBUG(847, *YYCURSOR);
+ goto yy845;
+yy850:
+ YYDEBUG(850, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(848, *YYCURSOR);
+ YYDEBUG(851, *YYCURSOR);
if (yych <= '^') {
if (yych <= '9') {
- if (yych >= '0') goto yy847;
+ if (yych >= '0') goto yy850;
} else {
- if (yych <= '@') goto yy849;
- if (yych <= 'Z') goto yy847;
+ if (yych <= '@') goto yy852;
+ if (yych <= 'Z') goto yy850;
}
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy847;
+ if (yych <= '_') goto yy850;
} else {
- if (yych <= 'z') goto yy847;
- if (yych >= 0x7F) goto yy847;
+ if (yych <= 'z') goto yy850;
+ if (yych >= 0x7F) goto yy850;
}
}
-yy849:
- YYDEBUG(849, *YYCURSOR);
+yy852:
+ YYDEBUG(852, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1820 "Zend/zend_language_scanner.l"
+#line 1823 "Zend/zend_language_scanner.l"
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-#line 7748 "Zend/zend_language_scanner.c"
-yy850:
- YYDEBUG(850, *YYCURSOR);
+#line 7766 "Zend/zend_language_scanner.c"
+yy853:
+ YYDEBUG(853, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy851:
- YYDEBUG(851, *YYCURSOR);
+yy854:
+ YYDEBUG(854, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy850;
+ goto yy853;
}
- goto yy832;
-yy852:
- YYDEBUG(852, *YYCURSOR);
+ goto yy835;
+yy855:
+ YYDEBUG(855, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy860;
+ goto yy863;
}
-yy853:
- YYDEBUG(853, *YYCURSOR);
+yy856:
+ YYDEBUG(856, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy832;
-yy854:
- YYDEBUG(854, *YYCURSOR);
+ goto yy835;
+yy857:
+ YYDEBUG(857, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy858;
+ goto yy861;
}
- goto yy853;
-yy855:
- YYDEBUG(855, *YYCURSOR);
+ goto yy856;
+yy858:
+ YYDEBUG(858, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(856, *YYCURSOR);
- if (yych <= '/') goto yy857;
- if (yych <= '9') goto yy855;
-yy857:
- YYDEBUG(857, *YYCURSOR);
+ YYDEBUG(859, *YYCURSOR);
+ if (yych <= '/') goto yy860;
+ if (yych <= '9') goto yy858;
+yy860:
+ YYDEBUG(860, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 1564 "Zend/zend_language_scanner.l"
+#line 1567 "Zend/zend_language_scanner.l"
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng, 1);
return T_NUM_STRING;
}
-#line 7793 "Zend/zend_language_scanner.c"
-yy858:
- YYDEBUG(858, *YYCURSOR);
+#line 7811 "Zend/zend_language_scanner.c"
+yy861:
+ YYDEBUG(861, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(859, *YYCURSOR);
+ YYDEBUG(862, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy858;
+ goto yy861;
}
- goto yy857;
-yy860:
- YYDEBUG(860, *YYCURSOR);
+ goto yy860;
+yy863:
+ YYDEBUG(863, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(861, *YYCURSOR);
+ YYDEBUG(864, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy860;
+ goto yy863;
}
- goto yy857;
+ goto yy860;
}
}
-#line 2366 "Zend/zend_language_scanner.l"
+#line 2369 "Zend/zend_language_scanner.l"
}
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index f9c421fe88..f620cb8b46 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1011,7 +1011,6 @@ NEWLINE ("\r"|"\n"|"\r\n")
/* compute yyleng before each rule */
<!*> := yyleng = YYCURSOR - SCNG(yy_text);
-
<ST_IN_SCRIPTING>"exit" {
return T_EXIT;
}
@@ -1204,6 +1203,10 @@ NEWLINE ("\r"|"\n"|"\r\n")
return T_NS_SEPARATOR;
}
+<ST_IN_SCRIPTING>"..." {
+ return T_ELLIPSIS;
+}
+
<ST_IN_SCRIPTING>"new" {
return T_NEW;
}
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 4621b47e0e..3a513215b2 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -3279,6 +3279,37 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST)
ZEND_VM_NEXT_OPCODE();
}
+ZEND_VM_HANDLER(164, ZEND_RECV_VARIADIC, ANY, ANY)
+{
+ USE_OPLINE
+ zend_uint arg_num = opline->op1.num;
+ zend_uint arg_count = zend_vm_stack_get_args_count(TSRMLS_C);
+ zval **var_ptr, *params;
+
+ SAVE_OPLINE();
+
+ var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, opline->result.var TSRMLS_CC);
+ Z_DELREF_PP(var_ptr);
+ MAKE_STD_ZVAL(params);
+ *var_ptr = params;
+
+ if (arg_num <= arg_count) {
+ array_init_size(params, arg_count - arg_num + 1);
+ } else {
+ array_init(params);
+ }
+
+ for (; arg_num <= arg_count; ++arg_num) {
+ zval **param = zend_vm_stack_get_arg(arg_num TSRMLS_CC);
+ zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, *param, opline->extended_value TSRMLS_CC);
+ zend_hash_next_index_insert(Z_ARRVAL_P(params), param, sizeof(zval *), NULL);
+ Z_ADDREF_PP(param);
+ }
+
+ CHECK_EXCEPTION();
+ ZEND_VM_NEXT_OPCODE();
+}
+
ZEND_VM_HANDLER(52, ZEND_BOOL, CONST|TMP|VAR|CV, ANY)
{
USE_OPLINE
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 677cabe2a9..7774e9654f 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -742,6 +742,37 @@ static int ZEND_FASTCALL ZEND_RECV_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
ZEND_VM_NEXT_OPCODE();
}
+static int ZEND_FASTCALL ZEND_RECV_VARIADIC_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+ zend_uint arg_num = opline->op1.num;
+ zend_uint arg_count = zend_vm_stack_get_args_count(TSRMLS_C);
+ zval **var_ptr, *params;
+
+ SAVE_OPLINE();
+
+ var_ptr = _get_zval_ptr_ptr_cv_BP_VAR_W(execute_data, opline->result.var TSRMLS_CC);
+ Z_DELREF_PP(var_ptr);
+ MAKE_STD_ZVAL(params);
+ *var_ptr = params;
+
+ if (arg_num <= arg_count) {
+ array_init_size(params, arg_count - arg_num + 1);
+ } else {
+ array_init(params);
+ }
+
+ for (; arg_num <= arg_count; ++arg_num) {
+ zval **param = zend_vm_stack_get_arg(arg_num TSRMLS_CC);
+ zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, *param, opline->extended_value TSRMLS_CC);
+ zend_hash_next_index_insert(Z_ARRVAL_P(params), param, sizeof(zval *), NULL);
+ Z_ADDREF_PP(param);
+ }
+
+ CHECK_EXCEPTION();
+ ZEND_VM_NEXT_OPCODE();
+}
+
static int ZEND_FASTCALL ZEND_NEW_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -44895,6 +44926,31 @@ void zend_init_opcodes_handlers(void)
ZEND_FAST_RET_SPEC_HANDLER,
ZEND_FAST_RET_SPEC_HANDLER,
ZEND_FAST_RET_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
+ ZEND_RECV_VARIADIC_SPEC_HANDLER,
ZEND_NULL_HANDLER
};
zend_opcode_handlers = (opcode_handler_t*)labels;
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h
index 859258a440..7624ec192d 100644
--- a/Zend/zend_vm_opcodes.h
+++ b/Zend/zend_vm_opcodes.h
@@ -164,3 +164,4 @@
#define ZEND_GENERATOR_RETURN 161
#define ZEND_FAST_CALL 162
#define ZEND_FAST_RET 163
+#define ZEND_RECV_VARIADIC 164
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 4e430b6ea2..168b133c64 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -402,10 +402,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_kana, 0, 0, 1)
ZEND_ARG_INFO(0, encoding)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_variables, 1, 0, 3)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_variables, 0, 0, 3)
ZEND_ARG_INFO(0, to)
ZEND_ARG_INFO(0, from)
- ZEND_ARG_INFO(1, ...)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encode_numericentity, 0, 0, 2)
diff --git a/ext/mysqli/mysqli_fe.c b/ext/mysqli/mysqli_fe.c
index 6f2e404087..eb94ff65bb 100644
--- a/ext/mysqli/mysqli_fe.c
+++ b/ext/mysqli/mysqli_fe.c
@@ -43,23 +43,28 @@
#define MYSQLI_ZEND_ARG_OBJ_INFO_STMT() ZEND_ARG_INFO(0, stmt)
#endif
-ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_result, 1)
+ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_result, 0)
MYSQLI_ZEND_ARG_OBJ_INFO_STMT()
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_param, 1)
+ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_param, 0)
MYSQLI_ZEND_ARG_OBJ_INFO_STMT()
ZEND_ARG_INFO(0, types)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_result, 1)
+ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_result, 0)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_param, 1)
+ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_param, 0)
ZEND_ARG_INFO(0, types)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(all_args_force_by_ref, 1)
+ZEND_BEGIN_ARG_INFO(all_args_force_by_ref, 0)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_poll, 0, 0, 4)
diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c
index 1c34cffbf7..a4e661e3f8 100644
--- a/ext/opcache/Optimizer/block_pass.c
+++ b/ext/opcache/Optimizer/block_pass.c
@@ -1899,7 +1899,7 @@ next_target_znz:
#endif
/* Find a set of variables which are used outside of the block where they are
- * defined. We won't apply some optimization patterns for sush variables. */
+ * defined. We won't apply some optimization patterns for such variables. */
static void zend_t_usage(zend_code_block *block, zend_op_array *op_array, char *used_ext)
{
zend_code_block *next_block = block->next;
@@ -1931,6 +1931,7 @@ static void zend_t_usage(zend_code_block *block, zend_op_array *op_array, char *
if (RESULT_USED(opline)) {
if (!defined_here[VAR_NUM(ZEND_RESULT(opline).var)] && !used_ext[VAR_NUM(ZEND_RESULT(opline).var)] &&
(opline->opcode == ZEND_RECV || opline->opcode == ZEND_RECV_INIT ||
+ opline->opcode == ZEND_RECV_VARIADIC ||
(opline->opcode == ZEND_OP_DATA && ZEND_RESULT_TYPE(opline) == IS_TMP_VAR) ||
opline->opcode == ZEND_ADD_ARRAY_ELEMENT)) {
/* these opcodes use the result as argument */
@@ -2015,6 +2016,7 @@ static void zend_t_usage(zend_code_block *block, zend_op_array *op_array, char *
if (opline->opcode == ZEND_RECV ||
opline->opcode == ZEND_RECV_INIT ||
+ opline->opcode == ZEND_RECV_VARIADIC ||
opline->opcode == ZEND_ADD_ARRAY_ELEMENT) {
if (ZEND_OP1_TYPE(opline) == IS_VAR || ZEND_OP1_TYPE(opline) == IS_TMP_VAR) {
usage[VAR_NUM(ZEND_RESULT(opline).var)] = 1;
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index aec388c03f..ee74e85928 100644
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
@@ -1328,16 +1328,12 @@ int pdo_hash_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)
} else {
ifunc->required_num_args = info->required_num_args;
}
- if (info->pass_rest_by_reference) {
- if (info->pass_rest_by_reference == ZEND_SEND_PREFER_REF) {
- ifunc->fn_flags |= ZEND_ACC_PASS_REST_PREFER_REF;
- } else {
- ifunc->fn_flags |= ZEND_ACC_PASS_REST_BY_REFERENCE;
- }
- }
if (info->return_reference) {
ifunc->fn_flags |= ZEND_ACC_RETURN_REFERENCE;
}
+ if (funcs->arg_info[funcs->num_args].is_variadic) {
+ ifunc->fn_flags |= ZEND_ACC_VARIADIC;
+ }
} else {
ifunc->arg_info = NULL;
ifunc->num_args = 0;
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index b1f7484f24..cc148b39c5 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -681,8 +681,8 @@ static zend_op* _get_recv_op(zend_op_array *op_array, zend_uint offset)
++offset;
while (op < end) {
- if ((op->opcode == ZEND_RECV || op->opcode == ZEND_RECV_INIT)
- && op->op1.num == (long)offset)
+ if ((op->opcode == ZEND_RECV || op->opcode == ZEND_RECV_INIT
+ || op->opcode == ZEND_RECV_VARIADIC) && op->op1.num == (long)offset)
{
return op;
}
@@ -715,6 +715,9 @@ static void _parameter_string(string *str, zend_function *fptr, struct _zend_arg
if (arg_info->pass_by_reference) {
string_write(str, "&", sizeof("&")-1);
}
+ if (arg_info->is_variadic) {
+ string_write(str, "...", sizeof("...")-1);
+ }
if (arg_info->name) {
string_printf(str, "$%s", arg_info->name);
} else {
@@ -2652,6 +2655,22 @@ ZEND_METHOD(reflection_parameter, getDefaultValueConstantName)
}
/* }}} */
+/* {{{ proto public bool ReflectionParameter::isVariadic()
+ Returns whether this parameter is a variadic parameter */
+ZEND_METHOD(reflection_parameter, isVariadic)
+{
+ reflection_object *intern;
+ parameter_reference *param;
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+ GET_REFLECTION_OBJECT_PTR(param);
+
+ RETVAL_BOOL(param->arg_info->is_variadic);
+}
+/* }}} */
+
/* {{{ proto public static mixed ReflectionMethod::export(mixed class, string name [, bool return]) throws ReflectionException
Exports a reflection object. Returns the output if TRUE is specified for return, printing it otherwise. */
ZEND_METHOD(reflection_method, export)
@@ -3095,6 +3114,14 @@ ZEND_METHOD(reflection_function, isGenerator)
}
/* }}} */
+/* {{{ proto public bool ReflectionFunction::isVariadic()
+ Returns whether this function is variadic */
+ZEND_METHOD(reflection_function, isVariadic)
+{
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_VARIADIC);
+}
+/* }}} */
+
/* {{{ proto public bool ReflectionFunction::inNamespace()
Returns whether this function is defined in namespace */
ZEND_METHOD(reflection_function, inNamespace)
@@ -5720,6 +5747,7 @@ static const zend_function_entry reflection_function_abstract_functions[] = {
ZEND_ME(reflection_function, isInternal, arginfo_reflection__void, 0)
ZEND_ME(reflection_function, isUserDefined, arginfo_reflection__void, 0)
ZEND_ME(reflection_function, isGenerator, arginfo_reflection__void, 0)
+ ZEND_ME(reflection_function, isVariadic, arginfo_reflection__void, 0)
ZEND_ME(reflection_function, getClosureThis, arginfo_reflection__void, 0)
ZEND_ME(reflection_function, getClosureScopeClass, arginfo_reflection__void, 0)
ZEND_ME(reflection_function, getDocComment, arginfo_reflection__void, 0)
@@ -6022,6 +6050,7 @@ static const zend_function_entry reflection_parameter_functions[] = {
ZEND_ME(reflection_parameter, getDefaultValue, arginfo_reflection__void, 0)
ZEND_ME(reflection_parameter, isDefaultValueConstant, arginfo_reflection__void, 0)
ZEND_ME(reflection_parameter, getDefaultValueConstantName, arginfo_reflection__void, 0)
+ ZEND_ME(reflection_parameter, isVariadic, arginfo_reflection__void, 0)
PHP_FE_END
};
diff --git a/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt b/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt
new file mode 100644
index 0000000000..50b6bb495e
--- /dev/null
+++ b/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt
@@ -0,0 +1,18 @@
+--TEST--
+ReflectionFunction::isVariadic()
+--FILE--
+<?php
+
+function test1($args) {}
+function test2(...$args) {}
+function test3($arg, ...$args) {}
+
+var_dump((new ReflectionFunction('test1'))->isVariadic());
+var_dump((new ReflectionFunction('test2'))->isVariadic());
+var_dump((new ReflectionFunction('test3'))->isVariadic());
+
+?>
+--EXPECT--
+bool(false)
+bool(true)
+bool(true)
diff --git a/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt b/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
index 82c6200122..4772f6548d 100644
--- a/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
+++ b/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
@@ -61,6 +61,10 @@ Name: SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING
Is passed by reference: yes
Can be passed by value: yes
+Name: more_array_and_sort_options
+Is passed by reference: yes
+Can be passed by value: yes
+
=> sort:
Name: arg
diff --git a/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt b/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt
new file mode 100644
index 0000000000..370edc388d
--- /dev/null
+++ b/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt
@@ -0,0 +1,24 @@
+--TEST--
+ReflectionParameter::isVariadic()
+--FILE--
+<?php
+
+function test1($args) {}
+function test2(...$args) {}
+function test3($arg, ...$args) {}
+
+$r1 = new ReflectionFunction('test1');
+$r2 = new ReflectionFunction('test2');
+$r3 = new ReflectionFunction('test3');
+
+var_dump($r1->getParameters()[0]->isVariadic());
+var_dump($r2->getParameters()[0]->isVariadic());
+var_dump($r3->getParameters()[0]->isVariadic());
+var_dump($r3->getParameters()[1]->isVariadic());
+
+?>
+--EXPECT--
+bool(false)
+bool(true)
+bool(false)
+bool(true)
diff --git a/ext/reflection/tests/ReflectionParameter_toString_basic.phpt b/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
index 268ced15ec..d1a23c758d 100644
--- a/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
+++ b/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
@@ -4,7 +4,7 @@ ReflectionParameter::__toString()
Stefan Koopmanschap <stefan@stefankoopmanschap.nl>
--FILE--
<?php
-function ReflectionParameterTest($test, $test2 = null) {
+function ReflectionParameterTest($test, $test2 = null, ...$test3) {
echo $test;
}
$reflect = new ReflectionFunction('ReflectionParameterTest');
@@ -17,4 +17,5 @@ foreach($params as $key => $value) {
--EXPECT--
Parameter #0 [ <required> $test ]
Parameter #1 [ <optional> $test2 = NULL ]
+Parameter #2 [ <optional> ...$test3 ]
==DONE==
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index 3dc7b7925c..f73e8ee9f0 100644
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -2938,8 +2938,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fgetss, 0, 0, 0)
ZEND_ARG_INFO(0, allowable_tags)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fscanf, 1, 0, 1)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fscanf, 0, 0, 1)
ZEND_ARG_INFO(0, format)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fwrite, 0, 0, 1)
diff --git a/ext/spl/tests/bug51532.phpt b/ext/spl/tests/bug51532.phpt
index 3a0722b2af..26eaa8f82f 100644
--- a/ext/spl/tests/bug51532.phpt
+++ b/ext/spl/tests/bug51532.phpt
@@ -4,7 +4,7 @@ SPL: Allow valid extension of SplFileObject::fscanf
<?php
class A extends SplFileObject {
- public function fscanf($format) {
+ public function fscanf($format, &...$vars) {
}
}
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index 2aef0414aa..19bf58deb8 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -1890,7 +1890,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_sqlite3stmt_bindvalue, 0, 0, 2)
ZEND_ARG_INFO(0, type)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_sqlite3stmt_construct, 1)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_sqlite3stmt_construct, 0, 0, 1)
ZEND_ARG_INFO(0, sqlite3)
ZEND_END_ARG_INFO()
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 3e5084e837..7db20d1a62 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -288,11 +288,11 @@ ZEND_BEGIN_ARG_INFO(arginfo_reset, 0)
ZEND_ARG_INFO(1, arg)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_current, ZEND_SEND_PREFER_REF)
+ZEND_BEGIN_ARG_INFO(arginfo_current, 0)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, arg)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_key, ZEND_SEND_PREFER_REF)
+ZEND_BEGIN_ARG_INFO(arginfo_key, 0)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, arg)
ZEND_END_ARG_INFO()
@@ -564,13 +564,14 @@ ZEND_BEGIN_ARG_INFO(arginfo_array_udiff_uassoc, 0)
ZEND_ARG_INFO(0, callback_key_comp_func)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_array_multisort, ZEND_SEND_PREFER_REF, 0, 1)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_array_multisort, 0, 0, 1)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, arr1) /* ARRAY_INFO(0, arg1, 0) */
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, SORT_ASC_or_SORT_DESC)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, arr2)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, SORT_ASC_or_SORT_DESC)
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING)
+ ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, more_array_and_sort_options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_rand, 0, 0, 1)
@@ -1139,10 +1140,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_fgetss, 0, 0, 1)
ZEND_ARG_INFO(0, allowable_tags)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fscanf, 1, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_fscanf, 0, 0, 2)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, format)
- ZEND_ARG_INFO(1, ...)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_fwrite, 0, 0, 2)
@@ -2450,10 +2451,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_str_pad, 0, 0, 2)
ZEND_ARG_INFO(0, pad_type)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_sscanf, 1, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_sscanf, 0, 0, 2)
ZEND_ARG_INFO(0, str)
ZEND_ARG_INFO(0, format)
- ZEND_ARG_INFO(1, ...)
+ ZEND_ARG_VARIADIC_INFO(1, vars)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_str_rot13, 0)
diff --git a/ext/tokenizer/tokenizer_data.c b/ext/tokenizer/tokenizer_data.c
index 57b29e1dd7..8c4786575e 100644
--- a/ext/tokenizer/tokenizer_data.c
+++ b/ext/tokenizer/tokenizer_data.c
@@ -38,6 +38,7 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
REGISTER_LONG_CONSTANT("T_LOGICAL_XOR", T_LOGICAL_XOR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_LOGICAL_AND", T_LOGICAL_AND, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_PRINT", T_PRINT, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("T_YIELD", T_YIELD, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_SR_EQUAL", T_SR_EQUAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_SL_EQUAL", T_SL_EQUAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_XOR_EQUAL", T_XOR_EQUAL, CONST_CS | CONST_PERSISTENT);
@@ -108,7 +109,6 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
REGISTER_LONG_CONSTANT("T_FUNCTION", T_FUNCTION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_CONST", T_CONST, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_RETURN", T_RETURN, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("T_YIELD", T_YIELD, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_TRY", T_TRY, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_CATCH", T_CATCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_FINALLY", T_FINALLY, CONST_CS | CONST_PERSISTENT);
@@ -158,6 +158,7 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
REGISTER_LONG_CONSTANT("T_NS_C", T_NS_C, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_DIR", T_DIR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_NS_SEPARATOR", T_NS_SEPARATOR, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("T_ELLIPSIS", T_ELLIPSIS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT);
}
@@ -174,6 +175,7 @@ char *get_token_type_name(int token_type)
case T_LOGICAL_XOR: return "T_LOGICAL_XOR";
case T_LOGICAL_AND: return "T_LOGICAL_AND";
case T_PRINT: return "T_PRINT";
+ case T_YIELD: return "T_YIELD";
case T_SR_EQUAL: return "T_SR_EQUAL";
case T_SL_EQUAL: return "T_SL_EQUAL";
case T_XOR_EQUAL: return "T_XOR_EQUAL";
@@ -244,7 +246,6 @@ char *get_token_type_name(int token_type)
case T_FUNCTION: return "T_FUNCTION";
case T_CONST: return "T_CONST";
case T_RETURN: return "T_RETURN";
- case T_YIELD: return "T_YIELD";
case T_TRY: return "T_TRY";
case T_CATCH: return "T_CATCH";
case T_FINALLY: return "T_FINALLY";
@@ -294,6 +295,7 @@ char *get_token_type_name(int token_type)
case T_NS_C: return "T_NS_C";
case T_DIR: return "T_DIR";
case T_NS_SEPARATOR: return "T_NS_SEPARATOR";
+ case T_ELLIPSIS: return "T_ELLIPSIS";
}
return "UNKNOWN";