block, 222
Boolean, 25
Case, 169
cdecl, 200
Char, 29
Class, 78, 86
Class helpers, 130
Classes, 78
CodePage, 31, 33
Conversion, 33
COM, 55, 107
Comments, 12
Comp, 28
Const, 22
String, 22
Constants, 20
Ordinary, 20
String, 18, 21, 35
Typed, 21
Constructor, 70, 83, 154
CORBA, 55, 107
Currency, 28
Delphi
Compatibility, 115
Syntax, 115
Type overloads, 116
Destructor, 70, 84
Directives
Hint, 16
Dispatch, 91
DispatchStr, 91
Double, 28
else, 169, 170
except, 229, 231
Exception, 227
Exceptions, 227
Catching, 227, 229
Classes, 231
Handling, 230, 231
Raising, 227
export, 200
Expression, 180, 181
Expressions, 150
Extended, 28
Extended records, 125
External, 197
external, 60, 198
Fields, 45, 68
File, 48
finally, 230, 231
For, 172, 173
downto, 172
in, 173
to, 172
Forward, 51, 196
Function, 185
Functions, 184
Assembler, 198, 233
External, 197
Forward, 196
Modifiers, 198
Overloaded, 196
Generics, 109
Overloads, 116
Type Restrictions, 113
Hint directives, 16
Identifiers, 15
If, 170
index, 95, 198
Inherited, 86
inherited, 74, 98
inline, 201
interface, 102
Interfaces, 55, 56, 102
COM, 107
CORBA, 107
Implementations, 104
interrupt, 201
iocheck, 201
Labels, 18
Libraries, 225
library, 225
local, 201
Message, 91
message, 91
Methods, 71, 85
Abstract, 74
Class, 86
Message, 90
Static, 72, 89
Virtual, 73, 74, 85
Modifiers, 14, 198, 205
Alias, 199
cdecl, 200
export, 200
inline, 201
interrupt, 201
iocheck, 201
local, 201
noreturn, 202
nostackframe, 202
overload, 202
pascal, 203
public, 203
register, 204
safecall, 204
saveregisters, 205
softfloat, 205
stdcall, 205
varargs, 205
name, 198
noreturn, 202
nostackframe, 202
Numbers, 17
Binary, 17
Decimal, 17
Hexadecimal, 17
Octal, 17
Real, 17
object, 67
Objective-Pascal, 140
Objective-Pascal Classes, 140
Objects, 67
Operators, 20, 36, 50, 150, 157, 158
Arithmetic, 158, 211
Assignment, 207
Binary, 211
Boolean, 159
Comparison, 212
Logical, 158
Relational, 161
Set, 160
String, 159
Unary, 158
operators, 206
otherwise, 169
overload, 202
overloading
operators, 206
Override, 86
override, 74
Packed, 45, 68, 84
Parameters, 186
Constant, 186, 189
Open Array, 190, 191
Out, 188
Untypes, 186
Value, 186
Var, 95, 186, 187
pascal, 203
PChar, 32, 35
Pointer, 49
Private, 76, 80, 94
strict, 80
private, 68
Procedural, 51
Procedure, 51, 184
Procedures, 184
program, 216
Properties, 63, 93
Array, 96
Indexed, 95
Property, 87, 93
Protected, 76, 80
Public, 76, 80
public, 68, 203
Published, 80, 94
PUnicodeChar, 35
Raise, 227
Rawbytestring, 34
Read, 94
Real, 28
Record, 45
Constant, 61
Record helpers, 130
register, 204
reintroduce, 86
Repeat, 180
Reserved words, 13
Delphi, 14
Free Pascal, 14
Modifiers, 14
Turbo Pascal, 13
Resourcestring, 22
safecall, 204
saveregisters, 205
Scope, 32, 41, 61, 67, 76, 79, 224
block, 224
Class, 224
record, 224
unit, 225
Self, 71, 87, 92
Set, 48
Shortstring, 30
Single, 28
softfloat, 205
Statements, 165
Assembler, 183, 233
Assignment, 165
Case, 169
Compound, 168
Exception, 183
For, 172, 173
Goto, 167
if, 170
Loop, 172, 173, 180
Procedure, 166
Repeat, 180
Simple, 165
Structured, 168
While, 180
With, 181
Static class methods, 89
stdcall, 205
String, 18
Ansistring, 31
CodePage, 31
Codepage, 33
Constant, 35
Multi-byte, 34
RawByteString, 34
ShortString, 30
Single-byte string, 29
UnicodeString, 35
UTF8String, 34
WideString, 35
Symbols, 11
Syntax diagrams, 9
Text, 48
then, 170
Thread Variables, 63
Threadvar, 63
Tokens, 11
Comments, 12
Identifiers, 15
Numbers, 17
Reserved words, 13
Strings, 18
Symbols, 11
try, 230, 231
Type, 23
Compatibility, 25, 42, 58, 117, 155, 157, 187
Generics, 109
Helpers, 130
Restrictions, 113
Type overloads, 116
Typecast, 31, 32, 35, 155, 156
Unaligned, 156
Value, 155
Variable, 155
Types, 23
Ansistring, 31
Array, 39, 40
Base, 23
Boolean, 25
Char, 29
Class, 78
Class helpers, 130
Constructor, 43
Enumeration, 26
Extended record, 125
File, 48
Forward declaration, 51
Integer, 24
Object, 67
Ordinal, 24
PChar, 32, 36
Pointer, 36, 49
Procedural, 51
Rawbytestring, 34
Real, 28
Record, 45
Record helpers, 130
Reference counted, 31, 33–35, 40, 41, 107, 193
Set, 48
ShortString, 30
String, 29
Structured, 37
Subrange, 28
Type helpers, 130
UnicodeString, 34, 35
UTF8String, 34
Variant, 55
Widestring, 35
Unicodestring, 35
unit, 217, 225
uses, 216
UTF8String, 34
Var, 59
varargs, 205
Variable, 59
Variables, 59
Initialized, 21, 61, 62
Variant, 55
Virtual, 70, 71, 73, 85, 91
Visibility, 67, 76, 102
Private, 67, 80
Protected, 80
Public, 67, 80
Published, 80
Strict Private, 80
Strict Protected, 80
While, 180
WideChar, 29
Widestring, 35
With, 181
Write, 94