<div dir="ltr"><div><br></div><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 3, 2016 at 2:41 PM, Claude Pache <span dir="ltr"><<a href="mailto:claude.pache@gmail.com" target="_blank">claude.pache@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
> Le 3 févr. 2016 à 20:56, John Lenz <<a href="mailto:concavelenz@gmail.com">concavelenz@gmail.com</a>> a écrit :<br>
><br>
> Can you reference something as to why the more obvious operators are problematic?<br>
><br>
> ?.<br>
<br>
</span>That one (that I've used) must work, with the simple lookahead I've put in the lexical grammar, in order to continue to parse `x?.3:0` as today.<br>
<br>
> ?[]<br>
> ?()<br>
<br>
For those it is difficult for the parser to easily (i.e. quickly, without trying and backtracking code of arbitrary length) distinguish from the conditional operator, as in: `x ?(y - 2) + 3 : 0` Also, the difference of precedence level between the two operators makes the use of a cover grammar (I think) impossible.<br></blockquote><div><br></div><div>Waldemar's example makes the problem obvious but I think we could do use, which I think is preferable to the proposed:<br><br>.?<br>(?)</div><div>[?]</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
> ?:<br>
<br>
I'm not sure what that one should be used for. (If you mean the Elvis operator, it's out of the scope of the proposal.<br></blockquote><div> </div><div>yes, I meant the equivalent to:<br><br>x ?: value<br>x == null ? x : value<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><font color="#888888">
—Claude<br>
</font></span></blockquote></div><br></div></div>