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