It does not work as well as simply omitting ** entirely.
On Tue, Aug 25, 2015 at 9:42 AM, Isiah Meadows <isiahmead...@gmail.com> wrote: > I like this. It works very well. > > On Tue, Aug 25, 2015, 12:38 Claude Pache <claude.pa...@gmail.com> wrote: > >> >> I think the following grammar could work. >> Replace the current (ES2015) PostfixExpression production with: >> >> ``` >> IncrementExpression: >> LeftHandSideExpression >> LeftHandSideExpression [no LineTerminator here] ++ >> LeftHandSideExpression [no LineTerminator here] -- >> ++ LeftHandSideExpression >> -- LeftHandSideExpression >> ``` >> >> And define UnaryExpression as: >> >> ``` >> UnaryExpression: >> IncrementExpression >> delete UnaryExpression >> void UnaryExpression >> typeof UnaryExpression >> ++ UnaryExpression >> + UnaryExpression >> -- UnaryExpression >> - UnaryExpression >> ~ UnaryExpression >> ! UnaryExpression >> IncrementExpression ** UnaryExpression >> ``` >> >> where the following production (which exists only to avoid to confusingly >> interpret, e.g., `++x++` as `+ +x++`): >> >> ``` >> UnaryExpression: >> ++ UnaryExpression >> -- UnaryExpression >> ``` >> >> yields a static SyntaxError (or a static ReferenceError if we want to be >> 100% compatible ES2015). >> >> >> That way, we have the following expected behaviour: >> * in/decrement operators bind most tightly; >> * unary and exponentiation operators are applied from right to left. >> >> >> —Claude >> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> > -- Cheers, --MarkM
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss