Answer from cs61c-av (Kenneth Wong 16192104) for Question 1 The preprocessor would be for three purposes: File inclusion, Macro substitution, and conditional compilation. All these functions basically replace text or inserts contents from another file or arranges the source code before the C compiler gets to it. It's input is something similar to C, and then outputs real C. It would be placed at the top of the figure before the Compiler.