Index

Abstract, 80
Address, 172
Alias, 220
Ansistring, 32, 37, 38
Array, 41, 208, 209
    Constructor, 46
    Dynamic, 42
    Of const, 209
    Static, 41
array, 60
Array constructor, 46
Asm, 200
Assembler, 200, 219, 257

block, 246
Boolean, 27

Case, 185
cdecl, 220
Char, 30
Class, 84, 94
Class helpers, 145
Classes, 84
CodePage, 32, 34
    Conversion, 34
COM, 59, 118
Comments, 12
Comp, 30
Const, 22
    String, 22
Constants, 20
    Ordinary, 20
    String, 18, 21, 38
    Typed, 21
Constructor, 76, 91, 169
CORBA, 59, 118
cppdecl, 221
Currency, 30

Delphi
    Compatibility, 126
    Syntax, 126
    Type overloads, 128
Destructor, 76, 91
Directives
    Hint, 15
Dispatch, 98
DispatchStr, 99
Double, 30

else, 185, 187
except, 253, 255
Exception, 251
Exceptions, 251
    Catching, 251, 253
    Classes, 255
    Handling, 254, 255
    Raising, 251
export, 221
Expression, 198
Expressions, 165
Extended, 30
Extended records, 139
External, 218
external, 65, 218

Fields, 48, 74
File, 52
finally, 254, 255
For, 188, 190
    downto, 188
    in, 190
    to, 188
Forward, 54, 217
Function, 203
Functions, 202
    Assembler, 219, 257
    External, 218
    Forward, 217
    Modifiers, 219
    Overloaded, 216

Generics, 120
    Overloads, 128
    Type Restrictions, 125

Hint directives, 15

Identifiers, 15
If, 187
index, 102, 218
Inherited, 93
inherited, 80, 106
inline, 221
interface, 111
Interfaces, 59, 61, 111
    COM, 118
    CORBA, 118
    Implementations, 113
interrupt, 222
iocheck, 222

Labels, 18
Libraries, 249
library, 249
local, 222

Message, 98
message, 98
Methods, 77, 92
    Abstract, 80
    Class, 94
    Message, 98
    Static, 78, 96
    Virtual, 79, 80, 93
Modifiers, 14, 219, 226
    Alias, 220
    cdecl, 220
    cppdecl, 221
    export, 221
    inline, 221
    interrupt, 222
    iocheck, 222
    local, 222
    noreturn, 222
    nostackframe, 223
    overload, 223
    pascal, 224
    public, 224
    register, 225
    safecall, 225
    saveregisters, 225
    softfloat, 225
    stdcall, 225
    varargs, 226
    winapi, 226

name, 218
noreturn, 222
nostackframe, 223
Numbers, 16
    Binary, 17
    Decimal, 17
    Hexadecimal, 17
    Octal, 17
    Real, 16

object, 73
Objective-Pascal, 155
Objective-Pascal Classes, 155
Objects, 73
Operators, 20, 39, 54, 165, 172, 173
    Arithmetic, 173, 233
    Assignment, 229
    Binary, 233
    Boolean, 174
    Comparison, 234
    Logical, 174
    Relational, 177
    Set, 175
    String, 175
    Unary, 173
operators, 227
otherwise, 185
overload, 223
overloading
    operators, 227
Override, 94
override, 80

Packed, 49, 74, 91
Parameters, 204
    Constant, 204, 207
    Open Array, 208, 209
    Out, 206
    Reference counted, 212
    Untyped, 211
    Untypes, 204
    Value, 204
    Var, 102, 204, 205
pascal, 224
PChar, 34, 37
Pointer, 52
Private, 82, 86, 102
    strict, 86
private, 74
Procedural, 55
Procedure, 55, 202
Procedures, 202
program, 240
Properties, 69, 100
    Array, 103
    Indexed, 102
Property, 95, 101
Protected, 82, 86
Public, 82, 86
public, 74, 224
Published, 86, 102
PUnicodeChar, 37

Raise, 251
Rawbytestring, 36
Read, 101
Real, 30
Record, 48
    Constant, 67
Record helpers, 145
register, 225
reintroduce, 94
Repeat, 197
Reserved words, 13
    Delphi, 14
    Modifiers, 14
    Turbo Pascal, 13
Resourcestring, 22

safecall, 225
saveregisters, 225
Scope, 33, 45, 66, 73, 82, 85, 248
    block, 248
    Class, 248
    record, 248
    unit, 249
Self, 77, 95
Set, 51
Shortstring, 32
Single, 30
softfloat, 225
Statements, 181
    Assembler, 200, 257
    Assignment, 181
    Case, 185
    Compound, 184
    Exception, 200
    For, 188, 190
    Goto, 183
    if, 187
    Loop, 188, 190, 197, 198
    Procedure, 182
    Repeat, 197
    Simple, 181
    Structured, 184
    While, 198
    With, 199
Static class methods, 96
stdcall, 225
String, 18
    Ansistring, 32
    CodePage, 32
    Codepage, 34
    Constant, 38
    Multi-byte, 37
    RawByteString, 36
    ShortString, 32
    Single-byte string, 31
    UnicodeString, 37
    UTF8String, 36
    WideString, 37
Symbols, 11
Syntax diagrams, 9

Text, 52
then, 187
Thread Variables, 69
Threadvar, 69
Tokens, 11
    Comments, 12
    Identifiers, 15
    Numbers, 16
    Reserved words, 13
    Strings, 18
    Symbols, 11
try, 254, 255
Type, 24
    Compatibility, 27, 46, 62, 129, 170, 172, 205
    Generics, 120
    Helpers, 145
    Restrictions, 125
    Type overloads, 128
Typecast, 33, 34, 37, 170, 171
    Unaligned, 171
    Value, 170
    Variable, 171
Types, 24
    Ansistring, 32
    Array, 41, 42
    Base, 24
    Boolean, 27
    Char, 30
    Class, 84
    Class helpers, 145
    Constructor, 46
    Enumeration, 28
    Extended record, 139
    File, 52
    Forward declaration, 54
    Integer, 25
    Object, 73
    Ordinal, 25
    PChar, 34, 38
    Pointer, 38, 52
    Procedural, 55
    Rawbytestring, 36
    Real, 30
    Record, 48
    Record helpers, 145
    Reference counted, 32, 34, 36, 37, 42, 45, 118
    Set, 51
    ShortString, 32
    String, 31
    Structured, 40
    Subrange, 29
    Type helpers, 145
    UnicodeString, 36, 37
    UTF8String, 36
    Variant, 59
    Widestring, 37

Unicodestring, 37
unit, 241, 249
uses, 240
UTF8String, 36

Var, 64
varargs, 226
Variable, 64
Variables, 64
    Initialized, 21, 66, 68
Variant, 59
Virtual, 76, 77, 79, 93, 98
Visibility, 73, 82, 111
    Private, 73, 86
    Protected, 86
    Public, 73, 86
    Published, 86
    Strict Private, 86
    Strict Protected, 86

While, 198
WideChar, 31
Widestring, 37
winapi, 226
With, 199
Write, 101