John Tamplin wrote:
So do you have to do it by treating the ?. operator as a standalone?
Not sure what you mean here -- "standalone ?" (with an English-langauge
? implied after in your sentence? ;-)?
Or something else that amounts to a concealed Reference or
Nil-value-proxy expression?
Just talking spec here: as Allen mentioned, ECMA-262 specifies semantics
by evaluating productions in a mostly-LR(1) grammar, so member and call
expressions (left-associative) have to result in some kind of
(spec-internal or language-external) value.
Thus foo?.bar.baz.quux is really (((foo?.bar).baz).quux).
Instead, could you do the "indefinte soak" part during parsing,
treating the rest of the expression differently after having seen a ?.
operator?
Indeed one can translate when parsing. CoffeeScript does this, with some
separate passes for its other purposes (implicitly declared variables,
indentation-based block structure, etc.).
The ES specs can't do this, though, not without a total rewrite.
/be
--
John A. Tamplin
Software Engineer (GWT), Google
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss