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