Table of Contents
Contents
Foreword
1.
Introduction
Scope of the Standard
Extent of the Standard
Conformity of an Implementation with the Standard
Method of Description
Structure of the Standard
Design Goals and Sources
Language Summary
Syntax Notation
Classification of Errors
2.
Lexical Elements
Character Set
Lexical Elements, Separators and Delimiters
Identifiers
Numeric Literals
Decimal Literals
Based Literals
Character Literals
String Literals
Comments
Pragmas
Reserved Words
Allowed Replacements of Characters
3.
Declarations and Types
Declarations
Objects and Named Numbers
Object Declarations
Number Declarations
Types and Subtypes
Type Declarations
Subtype Declarations
Classification of Operations
Derived Types
Scalar Types
Enumeration Types
Character Types
Boolean Types
Integer Types
Operations of Discrete Types
Real Types
Floating Point Types
Operations of Floating Point Types
Fixed Point Types
Operations of fixed point types
Array Types
Index Constraints and Discrete Ranges
Operations of Array Types
The Type String
Record Types
Discriminants
Discriminant Constraints
Variant Parts
Operations of Record Types
Access Types
Incomplete Type Declarations
Operations of Access Types
Declarative Parts
4.
Names and Expressions
Names
Indexed Components
Slices
Selected Components
Attributes
Literals
Aggregates
Record Aggregates
Array Aggregates
Expressions
Operators and Expression Evaluation
Logical Operators and Short Circuit Control Forms
Relational Operators and Membership Tests
Adding Operators
Unary Operators
Multiplying Operators
Exponentiating Operator
Accuracy of Operations with Real Operands
Type Conversions
Qualified Expressions
Allocators
Static Expressions and Static Subtypes
Universal Expression
5.
Statements
Simple and Compound Statements - Sequences of Statements
Assignment Statement
Array Assignments
If Statements
Case Statements
Loop Statements
Block Statements
Exit Statements
Return Statements
Goto Statements
6.
Subprograms
Subprogram Declarations
Formal Parameter Modes
Subprogram Bodies
Conformance Rules
Inline Expansion of Subprograms
Subprogram Calls
Parameter Associations
Default Parameters
Function Subprograms
Parameter and Result Type Profile - Overloading of Subprograms
Overloading of Operators
7.
Packages
Package Structure
Package Specifications and Declarations
Package Bodies
Private Type and Deferred Constant Declarations
Private Types
Operations of a Private Type
Deferred Constants
Limited Types
Example of a Table Management Package
Example of a Text Handling Package
8.
Visibility Rules
Declarative Region
Scope of Declarations
Visibility
Use Clauses
Renaming Declarations
The Package Standard
The Context of Overload Resolution
9.
Tasks
Task Specifications and Task Bodies
Task Types and Task Objects
Task Execution - Task Activation
Task Dependence - Termination of Tasks
Entries, Entry Calls and Accept Statements
Delay Statements, Duration and Time
Select Statements
Selective Waits
Conditional Entry Calls
Timed Entry Calls
Priorities
Task and Entry Attributes
Abort Statements
Shared Variables
Example of Tasking
10.
Program Structure and Compilation Issues
Compilation Units - Library Units
Context Clauses - With Clauses
Examples of Compilation Units
Subunits of Compilation Units
Examples of Subunits
Order of Compilation
The Program Library
Elaboration of Library Units
Program Optimization
11.
Exceptions
Exception Declarations
Exception Handlers
Raise Statements
Exception Handling
Exceptions Raised During the Execution of Statements
Exceptions Raised During the Elaboration of Declarations
Exceptions Raised During Task Communication
Exceptions and Optimization
Suppressing Checks
12.
Generic Units
Generic Declarations
Generic Formal Objects
Generic Formal Types
Generic Formal Subprograms
Generic Bodies
Generic Instantiation
Matching Rules for Formal Objects
Matching Rules for Formal Private Types
Matching Rules for Formal Scalar Types
Matching Rules for Formal Array Types
Matching Rules for Formal Access Types
Matching Rules for Formal Subprograms
Example of a Generic Package
13.
Representation Clauses and Implementation Dependent Features
Representation Clauses
Length Clause
Enumeration Representation Clauses
Record Representation Clauses
Address Clauses
Interrupts
Change of Representation
The Package System
System Dependent Named Numbers
Representation Attributes
Representation Attributes of Real Types
Machine Code Insertions
Interface to other Languages
Unchecked Programming
Unchecked Storage Deallocation
Unchecked Type Conversions
14.
Input-Output
External Files and File Objects
Sequential and Direct Files
File Management
Sequential Input-Output
Specification of the Package Sequential_IO
Direct Input-Output
Specification of the Package Direct_IO
Text Input-Output
File Management
Default Input and Output Files
Specification of Line and Page Lengths
Operations on Columns, Lines and Pages
GET and PUT Procedures
Input-output of Characters and Strings
Input-Output for Integer Types
Input-Output for Real Types
Input-Output for Enumeration Types
Specification of the Package TEXT_IO
Exceptions in Input-Output
Specification of the Package IO_EXCEPTIONS
Low Level Input-Output
Example of Input-Output
Annexes
Predefined Language Attributes
Predefined Language Pragmas
Predefined Language Environment
Appendices
Glossary
Syntax Summary
Implementation Dependent Characteristics
Index
Postscript: Submission of Comments