Preprocessor:

A part of the compiler that manipulates the program text before any further compiling is done. Three important tasks of the preprocessor are

(1) to replace each #include directive with the contents of the designated file,

(2) to replace each escape sequence with the designated character, and

(3) to process macro definitions and expand macro calls.