block, 183
Boolean, 24
Case, 138
cdecl, 166
Char, 27
Class, 69, 75
Class helpers, 103
Classes, 69
COM, 50, 90
Comments, 11
Comp, 27
Const, 21
String, 21
Constants, 19
Ordinary, 19
String, 17, 19, 32
Typed, 20
Constructor, 63, 73, 123
CORBA, 50, 90
Currency, 27
Destructor, 63
Directives
Hint, 14
Dispatch, 76
DispatchStr, 76
Double, 27
else, 138, 139
except, 190, 191
Exception, 188
Exceptions, 188
Catching, 188, 190
Classes, 192
Handling, 191
Raising, 188
export, 167
Expression, 148, 149
Expressions, 119
Extended, 27
Extended records, 98
External, 164
external, 54, 164
Fields, 39, 61
File, 43
finally, 191
For, 140, 141
downto, 140
in, 141
to, 140
Forward, 46, 163
Function, 154
Functions, 153
Assembler, 165, 193
External, 164
Forward, 163
Modifiers, 165
Overloaded, 162
Generics, 92
Hint directives, 14
Identifiers, 14
If, 139
index, 80, 164
Inherited, 74
inherited, 66, 83
inline, 167
interface, 85
Interfaces, 50, 51, 85
COM, 90
CORBA, 90
Implementations, 87
interrupt, 167
iocheck, 168
Labels, 17
Libraries, 186
library, 186
local, 168
Message, 76
message, 76
Methods, 64, 73
Abstract, 67
Class, 75
Message, 76
Static, 65
Virtual, 66, 67, 74
Modifiers, 13, 165, 171
Alias, 166
cdecl, 166
export, 167
inline, 167
nostackframe, 168
overload, 168
pascal, 169
public, 169
register, 170
safecall, 170
saveregisters, 171
softfloat, 171
stdcall, 171
varargs, 171
Mofidiers
interrupt, 167
iocheck, 168
local, 168
name, 164
nostackframe, 168
Numbers, 15
Binary, 16
Decimal, 16
Hexadecimal, 16
Octal, 16
Real, 15
object, 60
Objective-Pascal, 109
Objective-Pascal Classes, 109
Objects, 60
Operators, 19, 33, 45, 119, 125, 126
Arithmetic, 126, 175
Assignment, 173
Binary, 175
Boolean, 128
Comparison, 176
Logical, 127
Relational, 130
Set, 128
String, 128
Unary, 127
operators, 172
otherwise, 138
overload, 168
overloading
operators, 172
Override, 74
override, 66
Packed, 39, 40, 61, 73
Parameters, 155
Constant, 155, 158
Open Array, 159, 160
Out, 157
Untypes, 155
Value, 155
Var, 80, 155, 156
pascal, 169
PChar, 31
Pointer, 44
Private, 68, 70, 79
strict, 71
private, 61
Procedural, 46
Procedure, 46, 153
Procedures, 153
program, 179
Properties, 56, 78
Array, 81
Indexed, 80
Property, 75, 78
Protected, 68, 71
Public, 68, 71
public, 61, 169
Published, 71, 79
PUnicodeChar, 31
Raise, 188
Read, 79
Real, 27
Record, 39
Constant, 55
Record helpers, 103
register, 170
reintroduce, 74
Repeat, 148
Reserved words, 12
Delphi, 13
Free Pascal, 13
Modifiers, 13
Turbo Pascal, 12
Resourcestring, 21
safecall, 170
saveregisters, 171
Scope, 30, 38, 55, 60, 68, 70, 184
block, 184
Class, 185
record, 185
unit, 185
Self, 64, 75, 77
Set, 43
Shortstring, 28
Single, 27
softfloat, 171
Statements, 134
Assembler, 151, 193
Assignment, 134
Case, 138
Compound, 137
Exception, 151
For, 140, 141
Goto, 136
if, 139
Loop, 140, 141, 148, 149
Procedure, 135
Repeat, 148
Simple, 134
Structured, 137
While, 149
With, 150
stdcall, 171
String, 17
Symbols, 10
Syntax diagrams, 8
Text, 43
then, 139
Thread Variables, 56
Threadvar, 56
Tokens, 10
Comments, 11
Identifiers, 14
Numbers, 15
Reserved words, 12
Strings, 17
Symbols, 10
try, 191
Type, 22
Typecast, 29, 31, 123–125
Unaligned, 125
Value, 123
Variable, 124
Types, 22
Ansistring, 29
Array, 35, 36
Base, 22
Boolean, 24
Char, 27
Class, 69
Class helpers, 103
Enumeration, 25
Extended record, 98
File, 43
Forward declaration, 46
Integer, 23
Object, 60
Ordinal, 23
PChar, 31, 32
Pointer, 32, 44
Procedural, 46
Real, 27
Record, 39
Record helpers, 103
Reference counted, 29, 31, 36, 38, 90
Set, 43
String, 28
Structured, 33
Subrange, 26
Unicodestring, 31
Variant, 49
Widestring, 31
Unicodestring, 31
unit, 180, 185
uses, 179
Var, 53
varargs, 171
Variable, 53
Variables, 53
Initialized, 20, 55
Variant, 49
Virtual, 63, 66, 74, 76
Visibility, 60, 68, 85
Private, 60, 70
Protected, 71
Public, 60, 71
Published, 71
Strict Private, 71
While, 149
WideChar, 28
Widestring, 31
With, 150
Write, 79