K&R talks about the C preprocessor, but Figure 3.21 on page 156 of COD doesn't mention it. What is the purpose of the C preprocessor? What language is its input ? What is its ouput? If it were a separate step in Figure 3.21, where would it be placed in the figure relative to the other 4 steps?