Answer from cs61c-cf (Aspandiar Dahmubed 16812056) for Question 1 The C pre-processor, I believe, scans the entire program initially figuring out where the different function declarations, definitions etc are located and ensures that all references for functions and variables exist properly. Its input language would be C. It would be above the compiler in the hierarchy.