Difference between revisions of "Compiler Mode"
From Free Pascal wiki
Jump to navigationJump to search (external link to command line options) |
(mention ModeSwitch capability) |
||
Line 2: | Line 2: | ||
The Free Pascal compiler will compile in a specific ''mode''. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The ''compiler mode'' can be set in the source code with the {$mode } [http://freepascal.org/docs-html/current/prog/progch1.html#x5-40001 compiler directive], or on the command line with the -M [http://www.freepascal.org/docs-html/user/userap1.html command line option]. | The Free Pascal compiler will compile in a specific ''mode''. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The ''compiler mode'' can be set in the source code with the {$mode } [http://freepascal.org/docs-html/current/prog/progch1.html#x5-40001 compiler directive], or on the command line with the -M [http://www.freepascal.org/docs-html/user/userap1.html command line option]. | ||
+ | |||
+ | == Modes == | ||
*Free Pascal: {$mode '''FPC'''}<br/>This is the original Free Pascal compiler mode. As of version 3, It is the ''default mode'' of the compiler, so it is not necessary to explicitly add this directive. | *Free Pascal: {$mode '''FPC'''}<br/>This is the original Free Pascal compiler mode. As of version 3, It is the ''default mode'' of the compiler, so it is not necessary to explicitly add this directive. | ||
Line 12: | Line 14: | ||
*Mac Pascal: {$mode '''MacPAS'''}<br/>The [[Mac Pascal]] compatibility mode. | *Mac Pascal: {$mode '''MacPAS'''}<br/>The [[Mac Pascal]] compatibility mode. | ||
+ | |||
+ | == ModeSwitch == | ||
+ | As of version 2.3.1 of Free Pascal, the ${ModeSwitch} compiler directive has been added to allow ''features'' of a compiler mode to be selectively added to the current mode, effectively creating a ''custom mode''. | ||
+ | For example: | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | {$mode FPC} | ||
+ | {$ModeSwitch EXCEPTIONS} | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Will add exception handling to the FPC compiler mode. |
Revision as of 12:12, 13 July 2016
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
中文(中国大陆) (zh_CN) │
The Free Pascal compiler will compile in a specific mode. Each mode dictates what syntax the compiler accepts as valid, and what it considers as invalid. The compiler mode can be set in the source code with the {$mode } compiler directive, or on the command line with the -M command line option.
Modes
- Free Pascal: {$mode FPC}
This is the original Free Pascal compiler mode. As of version 3, It is the default mode of the compiler, so it is not necessary to explicitly add this directive.
- Extended Free Pascal: {$mode OBJFPC}
This mode adds extra functionality to the FPC mode, including classes, interfaces and exceptions.
- Turbo Pascal: {$mode TP}
This is the Turbo Pascal compatibility mode.
- Delphi: {$mode DELPHI}
This is the Delphi compatibility mode.
- Mac Pascal: {$mode MacPAS}
The Mac Pascal compatibility mode.
ModeSwitch
As of version 2.3.1 of Free Pascal, the ${ModeSwitch} compiler directive has been added to allow features of a compiler mode to be selectively added to the current mode, effectively creating a custom mode. For example:
{$mode FPC}
{$ModeSwitch EXCEPTIONS}
Will add exception handling to the FPC compiler mode.