DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Complying with standard C

Old C translation phases

Older (pre-ANSI C compilers, such as previous versions of rcc, did not follow such a simple sequence of phases, nor were there any guarantees for when these steps were applied. A separate preprocessor recognized tokens and white space at essentially the same time as it replaced macros and handled directive lines. The output was then completely retokenized by the compiler proper, which then parsed the language and generated code.

Because the tokenization process within the preprocessor was a moment-by-moment thing and macro replacement was done as a character-based operation (and not token-based), the tokens and white space could have a great deal of variation during preprocessing.

There are several differences that arise from these two approaches. The rest of this section will discuss how code behavior may change due to line splicing, macro replacement, ``stringizing,'' and token ``pasting,'' which occur during macro replacement.


Next topic: Logical source lines
Previous topic: ANSI C translation phases

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003