dick@tjalk.UUCP (Dick Grune) (03/21/84)
Since here in Europe the net news often arrives a bit late, I generally do not bother to answer, because anything I may have to contribute usually appears repeated N times in the next few rounds of news. Nevertheless, in the protracted discussion about the acceptability of a == b ? c = d : e = f I have not to date seen the essential remark that the reference manual answers the question, so here I go. I quote (RM 7, first paragraph): "The precedence of ... operators is the same as the order of the major subsections... . Thus, for example, the expressions referred to as the operands of + ($7.4) are those defined in $$7.1-7.3." This effectively says how to expand the grammar in the manual to obtain a more complete one. For $7.13 this expansion results in: conditional_expression: expression7_13 ? expression7_13 : expression7_13 expression7_13: logical_or_expression /* 7.12 */ logical_and_expression /* 7.11 */ ... unary_expression /* 7.2 */ primary_expression /* 7.1 */ This grammar does not produce a == b ? c = d : e = f and you may draw your conclusions from that. If this has been on the net, the news just hasn't come to me, and I apologize for wasting time and bandwidth. Dick Grune Vrije Universiteit Amsterdam And my name isn't Richard!