[OT] Haxe "if" context-sensitive? (Q for Grammar Experts)
    Nick Sabalausky 
    a at a.a
       
    Mon Aug 31 18:38:25 PDT 2009
    
    
  
"Tim M" <tim.matthews7 at gmail.com> wrote in message 
news:h7hrf2$vj5$1 at digitalmars.com...
>
> Although I don't really understand your problem or how it relates to the D 
> lang.
It doesn't really relate to D. Hence "[OT]" off-topic ;) But there seem to 
be a number of people here that are good with language theory (or at least 
better than me), so I thought I'd try here (in addition to other more 
directly relevant communities).
> D and other C like languages do have if expressions too but they're just 
> not called if expressions. They're called ternary expressions due to the 
> way they have 3 blocks around single characters rather than the word 'if' 
> but the concept is pretty much the same.
>
> condition ? trueCode : falseCode
Yea. And I've been starting to see why they do it that way. There's a number 
of things about it that make it much easier to implement. Ex. easy for the 
parser to distinguish from a statement, no dangling-else issue since the 
"else" part is never optional (And in my limited experience, the 
dangling-else ambiguity seems to be a *lot* easier to fix (at least without 
requiring extra syntax) when the if is restricted to being a 
statement-only), etc. One of the approaches I tried (and the one that seems 
to be giving me the most luck) is to treat the if-expression as much as 
possible like a ?: ternary operator. 
    
    
More information about the Digitalmars-d
mailing list