statements that could be expressions?

Brendan Eich brendan at mozilla.com
Thu Jun 2 20:15:08 PDT 2011


On Jun 2, 2011, at 8:12 PM, Brendan Eich wrote:

>> - Conflict between blocks and statements:
>> 
>> a = {x: while (x) { ... break x;}}
>> 
>> is either an object initializer or a block containing a labeled while statement.
> 
> http://wiki.ecmascript.org/doku.php?id=strawman:arrow_function_syntax based on feedback from Jorge here on the list mentions a block that cannot start with a label. Two-token lookahead restriction, why not?

Care is required looking after Identifier to check for : making a label -- lexer must tokenize / as division operator and leave it to be consumed if instead of "{ Identifier :"  (which would make an object literal in this strawman) we have "{ Identifier /".

/be
> 



More information about the es-discuss mailing list