next up previous contents
Next: Compiler limits Up: Free Pascal programmers guide Previous: Anatomy of a unit

List of compiler source files

  What follows is a list of all compiler files, with a short description of what they contain. If you're looking for something in the compiler, this list may give you a hint on where to find it.

The first list is a list of processor dependent files.

aasm.pas
This unit defines some abstract assembler objects and routines. It is used by the processor-specific assembly routines.
alpha.pas, i386.pas, m68k.pas
These units describe a processor, its registers, flags etc. The basis for every generated instruction. Currently the DEC alpha, Intel 386 or higher and Motorola 68000 processors are supported.
tgen68k.pas, tgeni386.pas
These units export help functions for the code generator, which are processor specific, they form a buffer between the code generator and the machine-specific stuff.
cg68k.pas, cgi386.pas, cgi3862.pas
These units contain the code generators for the different processor types. For the I386 there are 2 files.
cga68k.pas cgai386.pas
These units contain frequently-used helper functions for the processor-specific code generators.
aopt386.pas
These units contain the code optimizers for the different processor-types.
asmalpha.pas
This unit defines some DEC alpha assembly constructs.
attasmi3.pas, gasasm6.pas, intasmi3.pas
These units define processor-specific assembly output classes.
opts386.pas, opts68k.pas
These units process command-line options that are processor specific.
radi386.pas rai386.pas ratti386.pas
These units process inline assembly in different styles (AT&T style, Intel style, and direct style) for the Intel 386 processor.
rasm386.pas
This unit provides some helper routines for the assembly readers.

The second list is a list with processor-independent files.

catch.pas
This is a LINUX specific call. It intercepts a segmentation fault, and lets the compiler exit gracefully.
cobjects.pas
This unit provides some basic objects for the compiler: buffered files, linked lists, string containers, etc.
compiler.pas
This unit contains the actual compile function.
errors.pas
This unit takes care of error-handling: displaying of error messages, reading of error-definitions etc.
files.pas
This unit contains file management routines, such as finding of files etc. It is highly OS dependent.
gdb.pas
This unit implements the debugging information generation for the gnu GDB debugger.
globals.pas
This unit defines some help routines that are used throughout the entire compiler, and it does some initializations.
hcodegen.pas
This unit contains processor-independent helper routines for the code generator.
options.pas
This unit processes the processor-independent command-line options.
scanner.pas
This unit contains the scanner routines. Here the input file is read and split in tokens.
parser.pas, pass_1.pas
These units contain the actual Pascal parser.
pp.pas
This is the main program. It does some initializations and sets the ball rolling.
symtable.pas
This unit contains the code that keeps the symbol tables for the parser. It also contains the code to read a unit file.
systems.pas
This unit defines the different operating systems: names, specifications of file systems, places where to look for things etc.
sysutils.pas
This unit keeps routines for exception handling.
tree.pas
The main structure for the code generator is a tree of operators and operands, and this unit defines the tree structure.
types.pas
This unit contains some helper routines for handling of different Pascal types.
verbose.pas
This unit provides the verbosity support. All messages from the compiler are put on screen with this unit.


next up previous contents
Next: Compiler limits Up: Free Pascal programmers guide Previous: Anatomy of a unit

Michael Van Canneyt
Tue Mar 31 16:50:06 CEST 1998