home *** CD-ROM | disk | FTP | other *** search
- 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
-
-
-
-
-
-
-