On 5/17/2019 3:13 PM, John Rose wrote:
On May 17, 2019, at 2:56 PM, Alex Buckley <alex.buck...@oracle.com>
wrote:

So, recognizing a hyphenated contextual keyword `yield-value` would
still require careful reasoning about context, about as much as
we're doing to recognize a unitary contextual keyword `yield`.

Much less so than the rules either Brian or I sketched. It’s a
statement, not an expression. And no expression statement begins with
ID - ID right? It’s not as ambiguous as ID (.

A single-expression lambda body has the flavor of a statement form, though yes, it has no `;` of its own and is not parsed as ExpressionStatement.

  `map(    y -> yield-value +y    );`

So, I agree that parsing `yield-value (1);` as a YieldStatement in a SwitchLabeledBlock does not have the ambiguity of parsing `yield (1);` as a YieldStatement|ExpressionStatement in a SwitchLabeledBlock ... but the decision still has to be taken about whether "in a SwitchLabeledBlock" or "in <something else>" is the proper context to recognize something new.

Alex

Reply via email to