On 2012-08-09 08:42, Nikita Popov wrote:
Without parenthesis their behavior in array definitions and nested
yields is ambigous:
array(yield $key => $value)
// can be either
array((yield $key) => $value)
// or
array((yield $key => $value))
yield yield $key => $value;
// can be either
yield (yield $key) => $value;
// or
yield (yield $key => $value);
Apart from that particular case there is the general operator
precedence inclarity, e.g.
yield $foo . $bar;
// could be
(yield $foo) . $bar;
// or
yield ($foo . $bar);
Is this complicating yield a bit too much? All these ambiguities would
go away if 'yield' had the same grammatical status as 'return' - in
other words, if it were treated as a control-flow keyword rather than as
an operator.
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php