On 2014/10/07 20:24:10, mathias wrote:
On 2014/10/07 17:50:42, Yang wrote:
> On 2014/10/07 16:26:59, mathias wrote:
> > I’m slightly confused by this patch. Its description is “update to Unicode > > v7.0.0” but the intent also seems to be to update to the ES6 definition of > > `Identifier`. However, the current patch only does that partially, as it
> doesn’t
> > support supplementary Unicode symbols. E.g. `eval('var 𐐼')` shouldn’t
throw
an
> > error (`𐐼` is U+1043C DESERET SMALL LETTER DEE).
>
> I'm not particular familiar witb the spec changes in this area. I merely
reran
> the script to generate V8's Unicode tables with the data files for Unicode > 7.0.0. Thereby I used the same rules to generate the predicates, except that
I
> added a predicate Pattern for the properties PATTERN_* to correctly
implement
> ID_Start and ID_Continue. I'm not sure how your example is related and where
it
> is described in either ES6 or Unicode. Can you give me a tip?

ES6 allows supplementary characters (i.e. characters with code point > 0xFFFF)
in identifiers, while ES5 doesn’t. See
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-names-and-keywords,
and note how `IdentifierStart` refers to `UnicodeIDStart` which is defined as
‘any Unicode code point with the Unicode property “ID_Start” or
“Other_ID_Start”’ — this doesn’t exclude supplementary code points. But ES5
did:
https://bugs.ecmascript.org/show_bug.cgi?id=469#c0 The same thing goes for
`IdentifierPart` and `UnicodeIDContinue`.

To illustrate the difference in code: compare

https://gist.github.com/mathiasbynens/6334847#file-javascript-identifier-regex-js-L34-L40
(ES5) with

https://gist.github.com/mathiasbynens/6334847#file-javascript-identifier-regex-js-L65-L81
(ES6).

I see. This seems like a somewhat separate issue than the one here. In this CL I set out to solve issue 2892, by creating a new predicate generated from Unicode
data, and while I was at it, I also updated that data to 7.0.0.

I'll file a bug for the supplementary characters issue and leave that to later.

I'll update this CL later according to the comments above.

https://codereview.chromium.org/638643002/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to