Encyclopedia > C preprocessor

  Article Content

Preprocessor

Redirected from C preprocessor

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

#include<stdio.h>

int
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
French resistance

... in cooperation with SOE. In June 1943 SOE sent Edward Yeo-Thomas for the first time to liaise between Gaullist BCRA and SOE activities in Paris. In February 1944 he was ...

 
 
 
This page was created in 36.6 ms