This is the programmer’s manual for Free Pascal.
It describes some of the peculiarities of the Free Pascal compiler, and provides a glimpse of how the compiler generates its code, and how you can change the generated code. It will not, however, provide a detailed account of the inner workings of the compiler, nor will it describe how to use the compiler (described in the User’s Guide). It also will not describe the inner workings of the Run-Time Library (RTL). The best way to learn about the way the RTL is implemented is from the sources themselves.
The things described here are useful when things need to be done that require greater flexibility than the standard Pascal language constructs (described in the Reference Guide).
Since the compiler is continuously under development, this document may get out of date. Wherever possible, the information in this manual will be updated. If you find something which isn’t correct, or you think something is missing, feel free to contact me1.