Answer from cs61c-be (Tony Yiu 15099596) for Question 1 The C preprocessor is used to insert a step before compilation where files are included(#include), macros define(#define), etc. It is part of C and along with the C program produces an assembly language program output also. If it were part of the picture it would be right before the compiler step because the inputs it takes are part of the C program.