Encyclopedia > Preprocessor

  Article Content


A preprocessor is a program that takes text and does lexical conversions to it. The type of lexical conversions may include substitution of macros, conditional inclusion, and inclusion of other files.

The C programming language has a preprocessor that performs the following transformations:

  1. Replaces trigraphs with equivalents.
  2. Concatenates source lines.
  3. Replaces comments with white space.
  4. Reacts to lines starting with an octothorp (#), performing macro substituion, file inclusion, conditional inclusion, and other transformations.

Overuse of the C preprocessor is considered bad style, especially in C++. Stroustrup introduced features such as templates into C++ in an attempt to make the C preprocessor irrelevant; however, his file inclusion alternative was never seriously considered as it was a poor imitation of the C preprocessor's file inclusion mechanism.

Other famous preprocessors include m4 and Oracle Pro*C. The m4 preprocessor is general-purpose; Oracle Pro*C converts embedded PL/SQL into C.

Preprocessing can be quite a cumbersome in incremental parsing[?] or incremental lexial analysis[?] because changes on definition of rules of preprocessing can affect the entire text to be preprocessed.

Example Typical example seen in hello program[?] in C is


main ()
  printf ("hello mundo\n");
In this case, #include is treated by preprocessor to include a file called stdio.h lexically.

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article
Fibre optic gyroscope

... optic gyroscope wikipedia.org dumped 2003-03-17 with ...

This page was created in 23.7 ms