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.