Difference between revisions of "Fpc"
m (→Units) |
m (→Units) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
::::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 | ||
+ | :::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 | ::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 24: | Line 27: | ||
:::ptconst - Reads typed constants | :::ptconst - Reads typed constants | ||
:::ptype - Does parsing types for Free Pascal | :::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 | ::node - Basic node handling | ||
:::nadd - Type checking and simplification for add nodes | :::nadd - Type checking and simplification for add nodes | ||
Line 62: | Line 65: | ||
:::rautils - This unit implements some support routines for assembler parsing independent of the processor | :::rautils - This unit implements some support routines for assembler parsing independent of the processor | ||
:::raatt - Does the parsing for the GAS styled inline assembler. | :::raatt - Does the parsing for the GAS styled inline assembler. | ||
− | ::globtyp - Global types | + | ::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 | :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 72: | Line 84: | ||
:::cstreams - This module provides stream classes | :::cstreams - This module provides stream classes | ||
:::cmsgs - This unit implements the message object | :::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== | ==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
- 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
- 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