Preprocessing is defined to occur in several phases. The phases of
preprocessing are as follows.
- System dependent characters are replaced. End of line characters are replaced
as required. Trigraph substitutions are performed.
- Lines ending with a backslash followed by a new line sequence are merged with
the subsequent line.
- The source is parsed into preprocessing tokens and white space. Each comment
is replaced by a single space.
- Preprocessing directives are acted upon and macro substitutions made.
- Escape sequences in string literals and character constants are replaced.
- Adjacent string literals are concatenated.
The output of the preprocessing phase of compilation is passed to the C++