php/php-langspec

yield and array initializer precedence not specified correctly

nikic opened this issue · 0 comments

nikic commented

Split off from #208:

Currently array-element-initializer specifies that the key and value are both ordinary expressions. As specified, this is ambiguous with yield-expression.

PHP resolves this as follows:

[yield "foo" => "bar"]
// is
[(yield "foo" => "bar")]
// rather than
[(yield "foo") => "bar"]

However, I'm not sure how this can be specified in grammar form.