1.3.4 Modifiers

The following is a list of all modifiers. They are not exactly reserved words in the sense that they can be used as identifiers, but in specific places, they have a special meaning for the compiler, i.e., the compiler considers them as part of the Pascal language.

absolute  
abstract  
alias  
assembler  
cdecl  
cppdecl  
default  
export  
external  
far  
far16  
forward  
index  
local  
name  
near  
nostackframe  
oldfpccall  
override  
pascal  
private  
protected  
public  
published  
read  
register  
reintroduce  
safecall  
softfloat  
stdcall  
virtual  
write

Remark: Predefined types such as Byte, Boolean and constants such as maxint are not reserved words. They are identifiers, declared in the system unit. This means that these types can be redefined in other units. The programmer is however not encouraged to do this, as it will cause a lot of confusion.

Remark: As of version 2.5.1 it is possible to use reserved words as identifiers by escaping them with a & sign. This means that the following is possible

var  
  &var : integer;  
 
begin  
  &var:=1;  
  Writeln(&var);  
end.

however, it is not recommended to use this feature in new code, as it makes code less readable. It is mainly intended to fix old code when the list of reserved words changes and encompasses a word that was not yet reserved (See also section 1.4, page 45).