Next: Compiler limits
Up: Free Pascal programmers guide
Previous: Anatomy of a unit
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: Compiler limits
Up: Free Pascal programmers guide
Previous: Anatomy of a unit
Michael Van Canneyt
Tue Mar 31 16:50:06 CEST 1998