Index

Abstract, 74
Address, 157
Alias, 199
Ansistring, 31, 35
Array, 39, 190, 191
    Constructor, 43
    Dynamic, 40
    Of const, 191
    Static, 39
array, 55
Array constructor, 43
Asm, 183
Assembler, 183, 198, 232

block, 221
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, 228, 230
Exception, 226
Exceptions, 226
    Catching, 226, 228
    Classes, 230
    Handling, 229, 230
    Raising, 226
export, 200
Expression, 180, 181
Expressions, 150
Extended, 28
Extended records, 125
External, 197
external, 60, 198

Fields, 45, 68
File, 48
finally, 229, 230
For, 172, 173
    downto, 172
    in, 173
    to, 172
Forward, 51, 196
Function, 185
Functions, 184
    Assembler, 198, 232
    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, 224
library, 224
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, 215
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, 226
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, 223
    block, 223
    Class, 223
    record, 223
    unit, 224
Self, 71, 87, 92
Set, 48
Shortstring, 30
Single, 28
softfloat, 205
Statements, 165
    Assembler, 183, 232
    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, 229, 230
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, 216, 224
uses, 215
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