Esprima currently implements ES5 identifier grammar. It would be nice to update to ES6.
@mathiasbynens You might be interested in this as well https://bugs.ecmascript.org/show_bug.cgi?id=4097#c4
@ikarienator Thanks for the heads up! Is this observable? If so, how?
E.g. how should the following code behave:
Function('var var;'); // grammar error → throws?
Function('var v\\u0061r;'); // early error → throws (before execution)?
@mathiasbynens They should both throw. I can't think of any way someone would be able to distinguish an early error from a grammar error.
Since this is quite a big topic, I'll spawn few new tickets which will tackle the individual issues separately.
This is now covered by all the most recent commits.