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