home *** CD-ROM | disk | FTP | other *** search
- .nf
- :chapter 16 Table of Contents
- 1 Introduction
-
- 1.1` Scope of the Standard
- 1.1.1` Extent of the Standard
- 1.1.2` Conformity of an Implementation with the Standard
- 1.1.3` Method of Description
- 1.2` Structure of the Standard
- 1.3` Design Goals and Sources
- 1.4` Language Summary
- 1.5` Syntax Notation
- 1.6` Classification of Errors
-
- 2 Lexical Elements
-
- 2.1` Character Set
- 2.2` Lexical Elements, Separators and Delimiters
- 2.3` Identifiers
- 2.4` Numeric Literals
- 2.4.1` Decimal Literals
- 2.4.2` Based Literals
- 2.5` Character Literals
- 2.6` String Literals
- 2.7` Comments
- 2.8` Pragmas
- 2.9` Reserved Words
- 2.10` Allowed Replacements of Characters
-
- 3 Declarations and Types
-
- 3.1` Declarations
- 3.2` Objects and Named Numbers
- 3.2.1` Object Declarations
- 3.2.2` Number Declarations
- 3.3` Types and Subtypes
- 3.3.1` Type Declarations
- 3.3.2` Subtype Declarations
- 3.3.3` Classification of Operations
- 3.4` Derived Types
- 3.5` Scalar Types
- 3.5.1` Enumeration Types
- 3.5.2` Character Types
- 3.5.3` Boolean Types
- 3.5.4` Integer Types
- 3.5.5` Operations of Discrete Types
- 3.5.6` Real Types
- 3.5.7` Floating Point Types
- 3.5.8` Operations of Floating Point Types
- 3.5.9` Fixed Point Types
- 3.5.10` Operations of fixed point types
- 3.6` Array Types
- 3.6.1` Index Constraints and Discrete Ranges
- 3.6.2` Operations of Array Types
- 3.6.3` The Type String
- 3.7` Record Types
- 3.7.1` Discriminants
- 3.7.2` Discriminant Constraints
- 3.7.3` Variant Parts
- 3.7.4` Operations of Record Types
- 3.8` Access Types
- 3.8.1` Incomplete Type Declarations
- 3.8.2` Operations of Access Types
- 3.9` Declarative Parts
-
- 4 Names and Expressions
-
- 4.1` Names
- 4.1.1` Indexed Components
- 4.1.2` Slices
- 4.1.3` Selected Components
- 4.1.4` Attributes
- 4.2` Literals
- 4.3` Aggregates
- 4.3.1` Record Aggregates
- 4.3.2` Array Aggregates
- 4.4` Expressions
- 4.5` Operators and Expression Evaluation
- 4.5.1` Logical Operators and Short Circuit Control Forms
- 4.5.2` Relational Operators and Membership Tests
- 4.5.3` Adding Operators
- 4.5.4` Unary Operators
- 4.5.5` Multiplying Operators
- 4.5.6` Exponentiating Operator
- 4.5.7` Accuracy of Operations with Real Operands
- 4.6` Type Conversions
- 4.7` Qualified Expressions
- 4.8` Allocators
- 4.9` Static Expressions and Static Subtypes
- 4.10` Universal Expression
-
- 5 Statements
-
- 5.1` Simple and Compound Statements - Sequences of Statements
- 5.2` Assignment Statement
- 5.2.1` Array Assignments
- 5.3` If Statements
- 5.4` Case Statements
- 5.5` Loop Statements
- 5.6` Block Statements
- 5.7` Exit Statements
- 5.8` Return Statements
- 5.9` Goto Statements
-
- 6 Subprograms
-
- 6.1` Subprogram Declarations
- 6.2` Formal Parameter Modes
- 6.3` Subprogram Bodies
- 6.3.1` Conformance Rules
- 6.3.2` Inline Expansion of Subprograms
- 6.4` Subprogram Calls
- 6.4.1` Parameter Associations
- 6.4.2` Default Parameters
- 6.5` Function Subprograms
- 6.6` Parameter and Result Type Profile - Overloading of Subprograms
- 6.7` Overloading of Operators
-
- 7 Packages
-
- 7.1` Package Structure
- 7.2` Package Specifications and Declarations
- 7.3` Package Bodies
- 7.4` Private Type and Deferred Constant Declarations
- 7.4.1` Private Types
- 7.4.2` Operations of a Private Type
- 7.4.3` Deferred Constants
- 7.4.4` Limited Types
- 7.5` Example of a Table Management Package
- 7.6` Example of a Text Handling Package
-
- 8 Visibility Rules
-
- 8.1` Declarative Region
- 8.2` Scope of Declarations
- 8.3` Visibility
- 8.4` Use Clauses
- 8.5` Renaming Declarations
- 8.6` The Package Standard
- 8.7` The Context of Overload Resolution
-
- 9` Tasks
-
- 9.1` Task Specifications and Task Bodies
- 9.2` Task Types and Task Objects
- 9.3` Task Execution - Task Activation
- 9.4` Task Dependence - Termination of Tasks
- 9.5` Entries, Entry Calls and Accept Statements
- 9.6` Delay Statements, Duration and Time
- 9.7` Select Statements
- 9.7.1` Selective Waits
- 9.7.2` Conditional Entry Calls
- 9.7.3` Timed Entry Calls
- 9.8` Priorities
- 9.9` Task and Entry Attributes
- 9.10` Abort Statements
- 9.11` Shared Variables
- 9.12` Example of Tasking
-
- 10 Program Structure and Compilation Issues
-
- 10.1` Compilation Units - Library Units
- 10.1.1` Context Clauses - With Clauses
- 10.1.2` Examples of Compilation Units
- 10.2` Subunits of Compilation Units
- 10.2.1` Examples of Subunits
- 10.3` Order of Compilation
- 10.4` The Program Library
- 10.5` Elaboration of Library Units
- 10.6` Program Optimization
-
- 11 Exceptions
-
- 11.1` Exception Declarations
- 11.2` Exception Handlers
- 11.3` Raise Statements
- 11.4` Exception Handling
- 11.4.1` Exceptions Raised During the Execution of Statements
- 11.4.2` Exceptions Raised During the Elaboration of Declarations
- 11.5` Exceptions Raised During Task Communication
- 11.6` Exceptions and Optimization
- 11.7` Suppressing Checks
-
- 12 Generic Units
-
- 12.1` Generic Declarations
- 12.1.1` Generic Formal Objects
- 12.1.2` Generic Formal Types
- 12.1.3` Generic Formal Subprograms
- 12.2` Generic Bodies
- 12.3` Generic Instantiation
- 12.3.1` Matching Rules for Formal Objects
- 12.3.2` Matching Rules for Formal Private Types
- 12.3.3` Matching Rules for Formal Scalar Types
- 12.3.4` Matching Rules for Formal Array Types
- 12.3.5` Matching Rules for Formal Access Types
- 12.3.6` Matching Rules for Formal Subprograms
- 12.4` Example of a Generic Package
-
- 13 Representation Clauses and Implementation Dependent Features
-
- 13.1` Representation Clauses
- 13.2` Length Clause
- 13.3` Enumeration Representation Clauses
- 13.4` Record Representation Clauses
- 13.5` Address Clauses
- 13.5.1` Interrupts
- 13.6` Change of Representation
- 13.7` The Package System
- 13.7.1` System Dependent Named Numbers
- 13.7.2` Representation Attributes
- 13.7.3` Representation Attributes of Real Types
- 13.8` Machine Code Insertions
- 13.9` Interface to other Languages
- 13.10` Unchecked Programming
- 13.10.1` Unchecked Storage Deallocation
- 13.10.2` Unchecked Type Conversions
-
- 14 Input-Output
-
- 14.1` External Files and File Objects
- 14.2` Sequential and Direct Files
- 14.2.1` File Management
- 14.2.2` Sequential Input-Output
- 14.2.3` Specification of the Package Sequential_IO
- 14.2.4` Direct Input-Output
- 14.2.5` Specification of the Package Direct_IO
- 14.3` Text Input-Output
- 14.3.1` File Management
- 14.3.2` Default Input and Output Files
- 14.3.3` Specification of Line and Page Lengths
- 14.3.4` Operations on Columns, Lines and Pages
- 14.3.5` GET and PUT Procedures
- 14.3.6` Input-output of Characters and Strings
- 14.3.7` Input-Output for Integer Types
- 14.3.8` Input-Output for Real Types
- 14.3.9` Input-Output for Enumeration Types
- 14.3.10` Specification of the Package TEXT_IO
- 14.4` Exceptions in Input-Output
- 14.5` Specification of the Package IO_EXCEPTIONS
- 14.6` Low Level Input-Output
- 14.7` Example of Input-Output
-
- Annexes
-
- A Predefined Language Attributes
-
- B Predefined Language Pragmas
-
- C Predefined Language Environment
-
- Appendices
-
- D Glossary
-
- E Syntax Summary
-
- F Implementation Dependent Characteristics
-
- Index
-
- Postscript: Submission of Comments
-