Answer from cs61c-ex (Aneirin Nunn 15254032) for Question 1 The C preprocessor is used in #include/#define, ## and other statements such as #if, etc to perform macro substitution, file inclusion, conditional inclusion, and other transformations; replaces comments with whitespace and concatenates source files too. It would be placed prior to the Compiler section in fig 3.21 as it's used before everything is compiled.