Index

Abstract, 73
Address, 147
Alias, 189
Ansistring, 31, 35
Array, 38, 180, 181
    Constructor, 42
    Dynamic, 40
    Of const, 181
    Static, 39
array, 54
Array constructor, 42
Asm, 173
Assembler, 173, 188, 222

block, 211
Boolean, 25

Case, 159
cdecl, 190
Char, 29
Class, 75, 83
Class helpers, 120
Classes, 75
CodePage, 31, 33
    Conversion, 33
COM, 54, 104
Comments, 12
Comp, 28
Const, 22
    String, 22
Constants, 20
    Ordinary, 20
    String, 18, 21, 35
    Typed, 21
Constructor, 69, 80, 144
CORBA, 54, 104
Currency, 28

Destructor, 69, 81
Directives
    Hint, 16
Dispatch, 88
DispatchStr, 88
Double, 28

else, 159, 160
except, 218, 220
Exception, 216
Exceptions, 216
    Catching, 216, 218
    Classes, 220
    Handling, 219, 220
    Raising, 216
export, 190
Expression, 170, 171
Expressions, 140
Extended, 28
Extended records, 115
External, 187
external, 59, 188

Fields, 44, 67
File, 47
finally, 219, 220
For, 162, 163
    downto, 162
    in, 163
    to, 162
Forward, 50, 186
Function, 175
Functions, 174
    Assembler, 188, 222
    External, 187
    Forward, 186
    Modifiers, 188
    Overloaded, 186

Generics, 106

Hint directives, 16

Identifiers, 15
If, 160
index, 92, 188
Inherited, 83
inherited, 72, 95
inline, 191
interface, 99
Interfaces, 54, 55, 99
    COM, 104
    CORBA, 104
    Implementations, 101
interrupt, 191
iocheck, 191

Labels, 18
Libraries, 214
library, 214
local, 191

Message, 88
message, 88
Methods, 70, 82
    Abstract, 73
    Class, 83
    Message, 87
    Static, 71, 86
    Virtual, 72, 73, 82
Modifiers, 14, 188, 195
    Alias, 189
    cdecl, 190
    export, 190
    inline, 191
    interrupt, 191
    iocheck, 191
    local, 191
    noreturn, 192
    nostackframe, 192
    overload, 192
    pascal, 193
    public, 193
    register, 194
    safecall, 194
    saveregisters, 195
    softfloat, 195
    stdcall, 195
    varargs, 195

name, 188
noreturn, 192
nostackframe, 192
Numbers, 17
    Binary, 17
    Decimal, 17
    Hexadecimal, 17
    Octal, 17
    Real, 17

object, 66
Objective-Pascal, 130
Objective-Pascal Classes, 130
Objects, 66
Operators, 20, 36, 49, 140, 147, 148
    Arithmetic, 148, 201
    Assignment, 197
    Binary, 201
    Boolean, 149
    Comparison, 202
    Logical, 148
    Relational, 151
    Set, 150
    String, 149
    Unary, 148
operators, 196
otherwise, 159
overload, 192
overloading
    operators, 196
Override, 83
override, 72

Packed, 44, 67, 81
Parameters, 176
    Constant, 176, 179
    Open Array, 180, 181
    Out, 178
    Untypes, 176
    Value, 176
    Var, 92, 176, 177
pascal, 193
PChar, 32, 35
Pointer, 48
Private, 74, 77, 91
    strict, 77
private, 67
Procedural, 51
Procedure, 51, 174
Procedures, 174
program, 205
Properties, 62, 90
    Array, 93
    Indexed, 92
Property, 84, 90
Protected, 74, 77
Public, 74, 77
public, 67, 193
Published, 77, 91
PUnicodeChar, 35

Raise, 216
Rawbytestring, 34
Read, 91
Real, 28
Record, 44
    Constant, 60
Record helpers, 120
register, 194
reintroduce, 83
Repeat, 170
Reserved words, 13
    Delphi, 14
    Free Pascal, 14
    Modifiers, 14
    Turbo Pascal, 13
Resourcestring, 22

safecall, 194
saveregisters, 195
Scope, 32, 41, 60, 66, 74, 76, 213
    block, 213
    Class, 213
    record, 213
    unit, 214
Self, 70, 84, 89
Set, 47
Shortstring, 30
Single, 28
softfloat, 195
Statements, 155
    Assembler, 173, 222
    Assignment, 155
    Case, 159
    Compound, 158
    Exception, 173
    For, 162, 163
    Goto, 157
    if, 160
    Loop, 162, 163, 170
    Procedure, 156
    Repeat, 170
    Simple, 155
    Structured, 158
    While, 170
    With, 171
Static class methods, 86
stdcall, 195
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, 47
then, 160
Thread Variables, 62
Threadvar, 62
Tokens, 11
    Comments, 12
    Identifiers, 15
    Numbers, 17
    Reserved words, 13
    Strings, 18
    Symbols, 11
try, 219, 220
Type, 23
    Helpers, 120
Typecast, 31, 32, 35, 145, 146
    Unaligned, 146
    Value, 145
    Variable, 145
Types, 23
    Ansistring, 31
    Array, 38–40
    Base, 23
    Boolean, 25
    Char, 29
    Class, 75
    Class helpers, 120
    Constructor, 42
    Enumeration, 26
    Extended record, 115
    File, 47
    Forward declaration, 50
    Integer, 24
    Object, 66
    Ordinal, 24
    PChar, 32, 36
    Pointer, 36, 48
    Procedural, 51
    Rawbytestring, 34
    Real, 28
    Record, 44
    Record helpers, 120
    Reference counted, 31, 33–35, 40, 41, 104, 183
    Set, 47
    ShortString, 30
    String, 29
    Structured, 37
    Subrange, 28
    Type helpers, 120
    UnicodeString, 34, 35
    UTF8String, 34
    Variant, 54
    Widestring, 35

Unicodestring, 35
unit, 206, 214
uses, 205
UTF8String, 34

Var, 58
varargs, 195
Variable, 58
Variables, 58
    Initialized, 21, 60, 61
Variant, 54
Virtual, 69, 72, 82, 88
Visibility, 66, 74, 99
    Private, 66, 77
    Protected, 77
    Public, 66, 77
    Published, 77
    Strict Private, 77
    Strict Protected, 77

While, 170
WideChar, 29
Widestring, 35
With, 171
Write, 91