3

Figure 3-1 shows the sequence of events when you invoke pc.

Source and

include files

Compiler

preprocessor cpp or cppas

Compiler frontend pc0

Compiler

pc

Code

generator

cg

Symbol con- flict checking pc3

Link

editor

ld

Executable

a.out

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Optimize with

 

Optimizer

 

-O[level]option

 

 

 

 

 

iropt

 

 

 

 

 

 

 

 

 

 

 

 

 

Libraries

Figure 3-1Organization of Pascal Compilation

Language Preprocessor

The cpp(1) program is the C language preprocessor. The compiler driver pc normally calls cpp(1) during the first pass of a Pascal compilation. If you use the –xlswitch, pc calls the alternate preprocessor cppas. Then cpp(1) and cppas operate on files that contain the extension .p or .pas.

You can give directives to cpp(1) or cppas to define constants, conditionally compile parts of your program, include external files, and take other actions. For example, the following program shows the use of an include directive, which asks cpp(1) to copy the named file into the program before compilation.

The Pascal Compiler

19

Page 43
Image 43
HP SunSoft Pascal 4.0 manual Language Preprocessor, Source, Compiler Preprocessor cpp or cppas, Optimizer, Libraries