Difference between revisions of "Fpc"

From havefunsoft wiki
Jump to: navigation, search
m (Units)
m (Units)
Line 7: Line 7:
 
::::symsym - Implementation for the symbols types of the symtable
 
::::symsym - Implementation for the symbols types of the symtable
 
::::symdef - Symbol table implementation for the definitions
 
::::symdef - Symbol table implementation for the definitions
 +
::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
 
::parser - This unit does the parsing process
:::scanner - This unit implements the scanner part and handling of the switches
 
 
:::pbase - Contains some helper routines for the parser
 
:::pbase - Contains some helper routines for the parser
 
:::pdecl - Does declaration (but not type) parsing for Free Pascal
 
:::pdecl - Does declaration (but not type) parsing for Free Pascal

Revision as of 07:59, 29 October 2015

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

Units

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
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
defcmp - Compare definitions and parameter lists
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
globals - This unit implements some support functions and global variables
fmodule - This unit implements the first loading and searching of the modules

See Also

[1] the official site