rlb@polari.UUCP (rlb) (05/23/88)
I apologize in advance if this question has already been answered. In my copy of the ANSI C draft (January 11, 1988), Section 2.1.1.2 specifies translation phases and phase 7 contains the sentence: "Preprocessing tokens are converted into tokens." My question is, where does the standard define the precise meaning of this sentence? In particular, what text in the standard eliminates the apparent ambiguity of: #define FOO -a -FOO That is, after "Preprocessing tokens are converted into tokens", does the second line consist of two tokens ({--}, {a}), or three ({-}, {-}, {a})? The sentence in section 3.8.3 of the Rationale that says "Preprocessing is specified in such a way that it can be implemented as a separate (text-to-text) pre-pass or as a (token-oriented) portion of the compiler itself" seems to either be false, or to endorse the above ambiguity as an implementation-dependent part of the language. -Ron Burk