## List of Tables

- . Predefined ordinal types
- . Predefined integer types
- . `Integer` type mapping for 32-bit processors
- . `Integer` type mapping for 64-bit processors
- . Boolean types
- . Supported Real types
- . `PChar` pointer arithmetic
- . Set Manipulation operators
- . Precedence of operators
- . Binary arithmetic operators
- . Unary arithmetic operators
- . Logical operators
- . Boolean operators
- . Set operators
- . Relational operators
- . Allowed C constructs in Free Pascal
- . Unsupported modifiers

# About this guide

This document describes all constants, types, variables, functions and procedures as they are declared in the system unit. Furthermore, it describes all pascal constructs supported by Free Pascal, and lists all supported data types. It does not, however, give a detailed explanation of the pascal language. The aim is to list which Pascal constructs are supported, and to show where the Free Pascal implementation differs from the Turbo Pascal implementation.

## Notations

Throughout this document, we will refer to functions, types and variables with `typewriter` font. Functions and procedures have their own subsections, and for each function or procedure we have the following topics:

Declaration
  The exact declaration of the function.
Description
  What does the procedure exactly do ?
Errors
  What errors can occur.
See Also
  Cross references to other related functions/commands.

The cross-references come in two flavours:

- References to other functions in this manual. In the printed copy, a number will appear after this reference. It refers to the page where this function is explained. In the on-line help pages, this is a hyperlink, which can be clicked to jump to the declaration.
- References to Unix manual pages. (For linux and unix related things only) they are printed in `typewriter` font, and the number after it is the Unix manual section.

## Syntax diagrams

All elements of the pascal language are explained in syntax diagrams. Syntax diagrams are like flow charts. Reading a syntax diagram means getting from the left side to the right side, following the arrows. When the right side of a syntax diagram is reached, and it ends with a single arrow, this means the syntax diagram is continued on the next line. If the line ends on 2 arrows pointing to each other, then the diagram is ended.

Syntactical elements are written like this
Keywords which must be typed exactly as in the diagram:
When something can be repeated, there is an arrow around it:
When there are different possibilities, they are listed in columns:
Note, that one of the possibilities can be empty:
This means that both the first or second possibility are optional. Of course, all these elements can be combined and nested.

Subsections

- - About this guide