~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


Preprocessor - Wikipedia

<<Up     Contents

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.

wikipedia.org dumped 2003-03-17 with terodump




 
 
158 carats gray AGATE gem Polished slab rectangle block Cabbing cab cabochon rough gemstone 31 grams
 158 carats gray AGATE Polished slab rectangle block Cabbing cab cabochon 31 grams 
 
30 gram picture MOONSTONE feldspar orthoclase gem Cab cabochon raw rough jewelry gemstone 154 carat
 30 gram picture MOONSTONE feldspar orthoclase Cab cabochon raw jewelry 154 carat 
 
15 carats yellow Oregon SUNSTONE gem stones Semi Facet cabbing rough gemstones lot Faceting jewels
 15 carats yellow Oregon SUNSTONE Semi cabbing lot ing jewels 
 
Red green AMMOLITE gem stone Freeform cabochon cabbing jewelry rough Ammonite opal 10 carats 2 grams
 Red green AMMOLITE Freeform cabochon cabbing jewelry Ammonite opal 10 carats 2 grams 
 
22 carat green new jade Serpentine rough gemstone tumble polished nugget drilled necklace bead Nice
 22 carat green new jade Serpentine tumble polished nugget drilled necklace bead Nice