The Free On-line Dictionary of Computing (30 December 2018):
preprocessor
macro preprocessor
A program that transforms input data in some way
before it is read by the main program. In the case of a
compiler, the input is source code. The main advantage of
using a preprocessor is that it is possible to change the
specification of the input data without changing the main
program. The separation can also help to make the system's
overall behaviour easier to understand. The disadvantage is
that performance may be reduced by the extra input and output
performed between the two programs.
For example, the C preprocessor, cpp, handles textual
macro substitution (it acts as a "macro preprocessor"),
conditional compilation and inclusion of other files.
A preprocessor may be used to transform a program into a
simpler language, e.g. to transform C++ into C.
(2007-04-05)