=/ was my typo, it's not in the specification.

But see below:

>From: Brendan Eich [mailto:bren...@mozilla.com] 
>Sent: Monday, March 23, 2009 11:57 AM
...
>If you make the /= correction, there is no ambiguity. 7.1 last paragraph:
>
>Note that contexts exist in the syntactic grammar where both a division and a 
>RegularExpressionLiteral are permitted by the syntactic grammar; however, 
>since the lexical grammar uses the InputElementDiv goal symbol in such cases, 
>the opening slash is not recognised as starting a regular expression literal 
>in such a context. As a workaround, one may enclose the regular expression 
>literal in parentheses.

It's actually in 7 not 7.1.  However the problem is that 
RegularExpressionLiteral doesn't even occur in the syntactic grammar so 
strictly speaking there are no such specified contexts. 

>...
>>This isn't a new ES3.1 problem.  Nothing has changed from the ES3 
>>specification in this regard.  Am I missing something obvious?  Obviously 
>>this can't be unambiguously specified in the grammar but it sure seems like 
>>there should be some sort of comprehensible specification of exactly when 
>>RegularExpressionLiteral is allowed.

>I think that's 7.1.

I don't think so, although perhaps the fix is as easy as adding 
RegularExpressionLiteral as an alternative RHS for PrimaryExpression.

As it stands right now, I still content that the specification does actually 
say how a RegularExpressionLiteral can be used in an expression. I think this 
is only discoverable by examining existing implementations.

Allen
_______________________________________________
Es-discuss mailing list
Es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to