Answer from cs61c-eq (Nicholas Hwang 16732453) for Question 1 The C preprocessor is only to make programming easier and more concise by using defines and/or macros. The input language is C and the output language is C, so it doesn't really hold a separate place apart from the compiler, assembler, etc. It would be placed right between C program and compiler.