Fpc
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
- symtype - This unit handles the symbol tables
- 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
- 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.
- globals - This unit implements some support functions and global variables
- fmodule - This unit implements the first loading and searching of the modules
- comphook - This unit handles the compilerhooks for output to external programs
See Also
[1] the official site