block, 219
Boolean, 25
Case, 167
cdecl, 198
Char, 29
Class, 76, 84
Class helpers, 128
Classes, 76
CodePage, 31, 33
Conversion, 33
COM, 55, 105
Comments, 12
Comp, 28
Const, 22
String, 22
Constants, 20
Ordinary, 20
String, 18, 21, 35
Typed, 21
Constructor, 70, 81, 152
CORBA, 55, 105
Currency, 28
Delphi
Compatibility, 113
Syntax, 113
Type overloads, 114
Destructor, 70, 82
Directives
Hint, 16
Dispatch, 89
DispatchStr, 89
Double, 28
else, 167, 168
except, 226, 228
Exception, 224
Exceptions, 224
Catching, 224, 226
Classes, 228
Handling, 227, 228
Raising, 224
export, 198
Expression, 178, 179
Expressions, 148
Extended, 28
Extended records, 123
External, 195
external, 60, 196
Fields, 45, 68
File, 48
finally, 227, 228
For, 170, 171
downto, 170
in, 171
to, 170
Forward, 51, 194
Function, 183
Functions, 182
Assembler, 196, 230
External, 195
Forward, 194
Modifiers, 196
Overloaded, 194
Generics, 107
Overloads, 114
Type Restrictions, 111
Hint directives, 16
Identifiers, 15
If, 168
index, 93, 196
Inherited, 84
inherited, 73, 96
inline, 199
interface, 100
Interfaces, 55, 56, 100
COM, 105
CORBA, 105
Implementations, 102
interrupt, 199
iocheck, 199
Labels, 18
Libraries, 222
library, 222
local, 199
Message, 89
message, 89
Methods, 71, 83
Abstract, 74
Class, 84
Message, 88
Static, 72, 87
Virtual, 73, 74, 83
Modifiers, 14, 196, 203
Alias, 197
cdecl, 198
export, 198
inline, 199
interrupt, 199
iocheck, 199
local, 199
noreturn, 200
nostackframe, 200
overload, 200
pascal, 201
public, 201
register, 202
safecall, 202
saveregisters, 203
softfloat, 203
stdcall, 203
varargs, 203
name, 196
noreturn, 200
nostackframe, 200
Numbers, 17
Binary, 17
Decimal, 17
Hexadecimal, 17
Octal, 17
Real, 17
object, 67
Objective-Pascal, 138
Objective-Pascal Classes, 138
Objects, 67
Operators, 20, 36, 50, 148, 155, 156
Arithmetic, 156, 209
Assignment, 205
Binary, 209
Boolean, 157
Comparison, 210
Logical, 156
Relational, 159
Set, 158
String, 157
Unary, 156
operators, 204
otherwise, 167
overload, 200
overloading
operators, 204
Override, 84
override, 73
Packed, 45, 68, 82
Parameters, 184
Constant, 184, 187
Open Array, 188, 189
Out, 186
Untypes, 184
Value, 184
Var, 93, 184, 185
pascal, 201
PChar, 32, 35
Pointer, 49
Private, 75, 78, 92
strict, 78
private, 68
Procedural, 51
Procedure, 51, 182
Procedures, 182
program, 213
Properties, 63, 91
Array, 94
Indexed, 93
Property, 85, 91
Protected, 75, 78
Public, 75, 78
public, 68, 201
Published, 78, 92
PUnicodeChar, 35
Raise, 224
Rawbytestring, 34
Read, 92
Real, 28
Record, 45
Constant, 61
Record helpers, 128
register, 202
reintroduce, 84
Repeat, 178
Reserved words, 13
Delphi, 14
Free Pascal, 14
Modifiers, 14
Turbo Pascal, 13
Resourcestring, 22
safecall, 202
saveregisters, 203
Scope, 32, 41, 61, 67, 75, 77, 221
block, 221
Class, 221
record, 221
unit, 222
Self, 71, 85, 90
Set, 47
Shortstring, 30
Single, 28
softfloat, 203
Statements, 163
Assembler, 181, 230
Assignment, 163
Case, 167
Compound, 166
Exception, 181
For, 170, 171
Goto, 165
if, 168
Loop, 170, 171, 178
Procedure, 164
Repeat, 178
Simple, 163
Structured, 166
While, 178
With, 179
Static class methods, 87
stdcall, 203
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, 168
Thread Variables, 63
Threadvar, 63
Tokens, 11
Comments, 12
Identifiers, 15
Numbers, 17
Reserved words, 13
Strings, 18
Symbols, 11
try, 227, 228
Type, 23
Compatibility, 25, 42, 58, 115, 153, 155, 185
Generics, 107
Helpers, 128
Restrictions, 111
Type overloads, 114
Typecast, 31, 32, 35, 153, 154
Unaligned, 154
Value, 153
Variable, 153
Types, 23
Ansistring, 31
Array, 38–40
Base, 23
Boolean, 25
Char, 29
Class, 76
Class helpers, 128
Constructor, 43
Enumeration, 26
Extended record, 123
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, 128
Reference counted, 31, 33–35, 40, 41, 105, 191
Set, 47
ShortString, 30
String, 29
Structured, 37
Subrange, 28
Type helpers, 128
UnicodeString, 34, 35
UTF8String, 34
Variant, 54
Widestring, 35
Unicodestring, 35
unit, 214, 222
uses, 213
UTF8String, 34
Var, 59
varargs, 203
Variable, 59
Variables, 59
Initialized, 21, 61, 62
Variant, 54
Virtual, 70, 73, 83, 89
Visibility, 67, 75, 100
Private, 67, 78
Protected, 78
Public, 67, 78
Published, 78
Strict Private, 78
Strict Protected, 78
While, 178
WideChar, 29
Widestring, 35
With, 179
Write, 92