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