Difference between revisions of "Fpc"

From havefunsoft wiki
Jump to: navigation, search
m (Units)
m (Units)
 
Line 10: Line 10:
 
:::defcmp - Compare definitions and parameter lists
 
:::defcmp - Compare definitions and parameter lists
 
:::defutils - This unit provides some help routines for type handling
 
:::defutils - This unit provides some help routines for type handling
 +
:::htypechk - This unit exports some help routines for the type checking
 
::scanner - This unit implements the scanner part and handling of the switches
 
::scanner - This unit implements the scanner part and handling of the switches
 
:::scandir - This unit implements directive parsing for the scanner
 
:::scandir - This unit implements directive parsing for the scanner
Line 69: Line 70:
 
:::cg6432 - This unit implements the code generation for 64 bit int arithmethics on 32 bit processors
 
:::cg6432 - This unit implements the code generation for 64 bit int arithmethics on 32 bit processors
 
::comprsrc - Handles the resource files handling
 
::comprsrc - Handles the resource files handling
 +
::export - This unit implements an uniform export object
 +
:::expunix - This unit implements common support for import,export,link routines for unix target
 +
::gendef - Generation of a .def file for needed for Os2/Win32
 
:globtyp - Global types
 
:globtyp - Global types
 
::globals - This unit implements some support functions and global variables
 
::globals - This unit implements some support functions and global variables
 
:fmodule - This unit implements the first loading and searching of the modules
 
:fmodule - This unit implements the first loading and searching of the modules
 +
::fppu - This unit implements the first loading and searching of the modules
 
::
 
::
 
:::comphook - This unit handles the compilerhooks for output to external programs
 
:::comphook - This unit handles the compilerhooks for output to external programs
Line 81: Line 86:
 
:::crefs - Common reference types
 
:::crefs - Common reference types
 
:::cresstr - Handles resourcestrings
 
:::cresstr - Handles resourcestrings
 +
:::finput - This unit implements an extended file management
 +
:::fpccrc - Routines to compute CRC values
  
 
==See Also==
 
==See Also==
 
[http://freepascal.org] the official site
 
[http://freepascal.org] the official site

Latest revision as of 08:24, 29 October 2015

Free Pascal Compiler The page contains parts of the Free Pascal compiler source code.

Units

compiler - This unit is the interface of the compiler which can be used by external programs to link in the compiler
symconst - Symbol table constants
symbase - This unit handles the symbol tables
symtype - This unit handles the symbol tables
symsym - Implementation for the symbols types of the symtable
symdef - Symbol table implementation for the definitions
defcmp - Compare definitions and parameter lists
defutils - This unit provides some help routines for type handling
htypechk - This unit exports some help routines for the type checking
scanner - This unit implements the scanner part and handling of the switches
scandir - This unit implements directive parsing for the scanner
parser - This unit does the parsing process
pbase - Contains some helper routines for the parser
pdecl - Does declaration (but not type) parsing for Free Pascal
pdecobj - Does object types for Free Pascal
pdecsub - Does the parsing of the procedures/functions
pdecvar - Parses variable declarations. Used for var statement and record definitions
pexports - This unit handles the exports parsing
pexpr - Does parsing of expression for Free Pascal
pinline - Generates nodes for routines that need compiler support
pmodules - Handles the parsing and loading of the modules (ppufiles)
pstatmnt - Does the parsing of the statements
psub - Does the parsing and codegeneration at subroutine level
ptconst - Reads typed constants
ptype - Does parsing types for Free Pascal
constexp - This unit implements a Tconstexprint type. This type simulates an integer type that can handle numbers from low(int64) to high(qword) calculations.
node - Basic node handling
nadd - Type checking and simplification for add nodes
nbas - This unit implements some basic nodes
ncal - This file implements the node for sub procedure calling
nutils - Type checking and register allocation for inline nodes
ncon - Type checking and register allocation for constants
ncnv - Type checking and register allocation for type converting nodes
nmat - Type checking and register allocation for math nodes
nstate - This unit contains support routines for the state tracker
nset - Type checking and register allocation for set/case nodes
nmem - Type checking and register allocation for memory related nodes
nopt - This unit implements optimized nodes
nobj - Routines for the code generation of data structures like VMT, Messages, VTables, Interfaces descs
nobjc - This unit implements Objective-C nodes
nld - Type checking and register allocation for load/assignment nodes
ninl - Type checking and register allocation for inline nodes
nflw - Type checking and register allocation for nodes that influence the flow
ncgadd - Code generation for add nodes (generic version)
ncgbas - This unit implements some basic nodes
ncgcal - Generate assembler for call nodes
ncgcnv - Generate assembler for nodes that handle type conversions which are the same for all (most) processors
ncgcon - Generate assembler for constant nodes which are the same for all (most) processors
ncgflw - Generate assembler for nodes that influence the flow which are the same for all (most?) processors
ncginl - Generate generic inline nodes
ncgld - Generate assembler for nodes that handle loads and assignments which are the same for all (most) processors
ncgmat - Generate generic mathematical nodes
ncgmem - Generate assembler for memory related nodes which are the same for all (most?) processors
ncgobjc - This unit implements code generator support for Objective-C nodes
ncgopt - This unit implements the generic implementation of optimized nodes
ncgrtti - Routines for the code generation of RTTI data structures
ncgset - Generate generic assembler for in set/case labels
ncgutil - Helper routines for all code generators
rabase - Basic stuff for assembler readers
rasm - Basic stuff for assembler readers
rautils - This unit implements some support routines for assembler parsing independent of the processor
raatt - Does the parsing for the GAS styled inline assembler.
cgbase - Some basic types and constants for the code generation
cgobj - This unit implements the basic code generator object
cgutils - Some basic types and constants for the code generation
cg6432 - This unit implements the code generation for 64 bit int arithmethics on 32 bit processors
comprsrc - Handles the resource files handling
export - This unit implements an uniform export object
expunix - This unit implements common support for import,export,link routines for unix target
gendef - Generation of a .def file for needed for Os2/Win32
globtyp - Global types
globals - This unit implements some support functions and global variables
fmodule - This unit implements the first loading and searching of the modules
fppu - This unit implements the first loading and searching of the modules
comphook - This unit handles the compilerhooks for output to external programs
cutils - This unit implements some support functions
cclasses - This module provides some basic classes
cfileutl - This module provides some basic file/dir handling utils and classes
cstreams - This module provides stream classes
cmsgs - This unit implements the message object
crefs - Common reference types
cresstr - Handles resourcestrings
finput - This unit implements an extended file management
fpccrc - Routines to compute CRC values

See Also

[1] the official site