<p>Am 09.10.2015 08:36 schrieb "Michael Van Canneyt" <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>>:</p>
<p>>> There also another reason why I prefer the variant with the if: ease to<br>
>> implement in the compiler.<br>
>><br>
>> For the if one merely needs to add a corresponding case in factor() while<br>
>> for the ?: one needs to fiddle with the compiler's operator precedence<br>
>> rules that are applied in sub_expr() which can lead to desaster either<br>
>> during implementation or later on when bugs are discovered...<br>
><br>
><br>
> I don't see how the use of "if" differs from "?" in rules of precedence, they are at the exact same level.<br>
> They're both just tokens to the compiler. At least "?" has the advantage of being new and not yet used, so is unambiguously.</p>
<p>The tokens themselves are merely tokens to the compiler, but you need to ensure that expressions like "a + b ? c : d + e" are handled correctly by the compiler (and right now I don't even care what the rules would be exactly, only /that/ they need to be).<br>
Though thinking about it one could maybe add the check for the ?-token to the end of factor(), that should hopefully cover all cases... :/ (this does however not mean that I support the syntax ;) )</p>
<p>Regards,<br>
Sven</p>