block, 175
Boolean, 24
Case, 131
cdecl, 159
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, 131, 132
except, 181, 183
Exception, 180
Exceptions, 180
Catching, 180, 181
Classes, 183
Handling, 182, 183
Raising, 180
export, 160
Expression, 141, 142
Expressions, 114
Extended, 27
Extended records, 93
External, 157
external, 51, 157
Fields, 38, 58
File, 42
finally, 182, 183
For, 133, 134
downto, 133
in, 134
to, 133
Forward, 45, 156
Function, 147
Functions, 146
Assembler, 158, 184
External, 157
Forward, 156
Modifiers, 158
Overloaded, 155
Generics, 87
Hint directives, 14
Identifiers, 14
If, 132
index, 77, 157
Inherited, 71
inherited, 63, 80
inline, 160
interface, 82
Interfaces, 47, 48, 82
COM, 85
CORBA, 85
Implementations, 84
interrupt, 160
iocheck, 161
Labels, 17
Libraries, 178
library, 178
local, 161
Message, 73
message, 73
Methods, 61, 70
Abstract, 64
Class, 72
Message, 73
Static, 62
Virtual, 63, 64, 71
Modifiers, 13, 158, 164
Alias, 159
cdecl, 159
export, 160
inline, 160
nostackframe, 161
overload, 161
pascal, 162
public, 162
register, 163
safecall, 163
saveregisters, 164
softfloat, 164
stdcall, 164
varargs, 164
Mofidiers
interrupt, 160
iocheck, 161
local, 161
name, 157
nostackframe, 161
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, 168
Assignment, 166
Binary, 168
Boolean, 122
Comparison, 169
Logical, 122
Relational, 125
Set, 123
String, 123
Unary, 121
operators, 165
otherwise, 131
overload, 161
overloading
operators, 165
Override, 71
override, 63
Packed, 38, 39, 58, 70
Parameters, 148
Constant, 148, 151
Open Array, 152, 153
Out, 150
Untypes, 148
Value, 148
Var, 77, 148, 149
pascal, 162
PChar, 30, 31
Pointer, 43
Private, 65, 67, 76
strict, 68
private, 58
Procedural, 45
Procedure, 45, 146
Procedures, 146
program, 171
Properties, 53, 75
Array, 78
Indexed, 77
Property, 72, 75
Protected, 65, 68
Public, 65, 68
public, 58, 162
Published, 68, 76
PUnicodeChar, 31
Raise, 180
Read, 76
Real, 27
Record, 38
Constant, 52
Record helpers, 98
register, 163
reintroduce, 71
Repeat, 141
Reserved words, 12
Delphi, 13
Free Pascal, 13
Modifiers, 13
Turbo Pascal, 12
Resourcestring, 21
safecall, 163
saveregisters, 164
Scope, 29, 37, 52, 57, 65, 67, 176
block, 176
Class, 177
record, 177
unit, 177
Self, 61, 72, 74
Set, 42
Shortstring, 28
Single, 27
softfloat, 164
Statements, 127
Assembler, 144, 184
Assignment, 127
Case, 131
Compound, 130
Exception, 144
For, 133, 134
Goto, 129
if, 132
Loop, 133, 134, 141, 142
Procedure, 128
Repeat, 141
Simple, 127
Structured, 130
While, 142
With, 143
stdcall, 164
String, 17
Symbols, 10
Syntax diagrams, 8
Text, 42
then, 132
Thread Variables, 53
Threadvar, 53
Tokens, 10
Comments, 11
Identifiers, 14
Numbers, 15
Reserved words, 12
Strings, 17
Symbols, 10
try, 182, 183
Type, 22
Typecast, 29–31, 118, 119
Unaligned, 119
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, 172, 177
uses, 171
Var, 50
varargs, 164
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, 142
Widestring, 31
With, 143
Write, 76