Part I
The Pascal language


1 Pascal Tokens
 1.1 Symbols
 1.2 Comments
 1.3 Reserved words
 1.4 Identifiers
 1.5 Numbers
 1.6 Labels
 1.7 Character strings
2 Constants
 2.1 Ordinary constants
 2.2 Typed constants
 2.3 Resource strings
3 Types
 3.1 Base types
 3.2 Character types
 3.3 Structured Types
 3.4 Pointers
 3.5 Forward type declarations
 3.6 Procedural types
4 Objects
 4.1 Declaration
 4.2 Fields
 4.3 Constructors and destructors
 4.4 Methods
 4.5 Method invocation
 4.6 Visibility
5 Classes
 5.1 Class definitions
 5.2 Class instantiation
 5.3 Methods
 5.4 Properties
6 Expressions
 6.1 Expression syntax
 6.2 Function calls
 6.3 Set constructors
 6.4 Value typecasts
 6.5 The @ operator
 6.6 Operators
7 Statements
 7.1 Simple statements
 7.2 Structured statements
 7.3 Assembler statements
8 Using functions and procedures
 8.1 Procedure declaration
 8.2 Function declaration
 8.3 Parameter lists
 8.4 Function overloading
 8.5 Forward defined functions
 8.6 External functions
 8.7 Assembler functions
 8.8 Modifiers
 8.9 Unsupported Turbo Pascal modifiers
9 Operator overloading
 9.1 Introduction
 9.2 Operator declarations
 9.3 Assignment operators
 9.4 Arithmetic operators
 9.5 Comparision operator
10 Programs, units, blocks
 10.1 Programs
 10.2 Units
 10.3 Blocks
 10.4 Scope
 10.5 Libraries
11 Exceptions
 11.1 The raise statement
 11.2 The try...except statement
 11.3 The try...finally statement
 11.4 Exception handling nesting
 11.5 Exception classes
12 Using assembler
 12.1 Assembler statements
 12.2 Assembler procedures and functions