Node:
Top
, Next:
Foreword
Foreword
: Information about this standard
Introduction
: Introduction to the standard
1
: General
2
: Lexical Elements
3
: Declarations and Types
4
: Names and Expressions
5
: Statements
6
: Subprograms
7
: Packages
8
: Visibility Rules
9
: Tasks and Synchronization
10
: Program Structure and Compilation Issues
11
: Exceptions
12
: Generic Units
13
: Representation Issues
ANNEXES
A
: Predefined Language Environment
B
: Interface to Other Languages
C
: Systems Programming
D
: Real-Time Systems
E
: Distributed Systems
F
: Information Systems
G
: Numerics
H
: Safety and Security
J
: Obsolescent Features
K
: Language-Defined Attributes
L
: Language-Defined Pragmas
M
: Implementation-Defined Characteristics
N
: Glossary
P
: Syntax Summary
Index
:
--- The Detailed Node Listing ---
Foreword
:
Introduction
:
Design Goals
:
Language Summary
:
Program Units
:
Declarations and Statements
:
Data Types
:
Other Facilities
:
Language Changes
:
Instructions for Comment Submission
:
Acknowledgements
:
1
: General
1.1
: Scope
1.1.1
: Extent
1.1.2
: Structure
1.1.3
: Conformity of an Implementation with the Standard
1.1.4
: Method of Description and Syntax Notation
1.1.5
: Classification of Errors
1.2
: Normative References
1.3
: Definitions
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
3
: Declarations and Types
3.1
: Declarations
3.2
: Types and Subtypes
3.2.1
: Type Declarations
3.2.2
: Subtype Declarations
3.2.3
: Classification of Operations
3.3
: Objects and Named Numbers
3.3.1
: Object Declarations
3.3.2
: Number Declarations
3.4
: Derived Types and Classes
3.4.1
: Derivation Classes
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
: String Types
3.7
: Discriminants
3.7.1
: Discriminant Constraints
3.7.2
: Operations of Discriminated Types
3.8
: Record Types
3.8.1
: Variant Parts and Discrete Choices
3.9
: Tagged Types and Type Extensions
3.9.1
: Type Extensions
3.9.2
: Dispatching Operations of Tagged Types
3.9.3
: Abstract Types and Subprograms
3.10
: Access Types
3.10.1
: Incomplete Type Declarations
3.10.2
: Operations of Access Types
3.11
: Declarative Parts
3.11.1
: Completions of Declarations
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
: Extension Aggregates
4.3.3
: 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
: Binary Adding Operators
4.5.4
: Unary Adding Operators
4.5.5
: Multiplying Operators
4.5.6
: Highest Precedence Operators
4.6
: Type Conversions
4.7
: Qualified Expressions
4.8
: Allocators
4.9
: Static Expressions and Static Subtypes
4.9.1
: Statically Matching Constraints and Subtypes
5
: Statements
5.1
: Simple and Compound Statements - Sequences of Statements
5.2
: Assignment Statements
5.3
: If Statements
5.4
: Case Statements
5.5
: Loop Statements
5.6
: Block Statements
5.7
: Exit Statements
5.8
: 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.5
: Return Statements
6.6
: Overloading of Operators
7
: Packages
7.1
: Package Specifications and Declarations
7.2
: Package Bodies
7.3
: Private Types and Private Extensions
7.3.1
: Private Operations
7.4
: Deferred Constants
7.5
: Limited Types
7.6
: User-Defined Assignment and Finalization
7.6.1
: Completion and Finalization
8
: Visibility Rules
8.1
: Declarative Region
8.2
: Scope of Declarations
8.3
: Visibility
8.4
: Use Clauses
8.5
: Renaming Declarations
8.5.1
: Object Renaming Declarations
8.5.2
: Exception Renaming Declarations
8.5.3
: Package Renaming Declarations
8.5.4
: Subprogram Renaming Declarations
8.5.5
: Generic Renaming Declarations
8.6
: The Context of Overload Resolution
9
: Tasks and Synchronization
9.1
: Task Units and Task Objects
9.2
: Task Execution - Task Activation
9.3
: Task Dependence - Termination of Tasks
9.4
: Protected Units and Protected Objects
9.5
: Intertask Communication
9.5.1
: Protected Subprograms and Protected Actions
9.5.2
: Entries and Accept Statements
9.5.3
: Entry Calls
9.5.4
: Requeue Statements
9.6
: Delay Statements, Duration, and Time
9.7
: Select Statements
9.7.1
: Selective Accept
9.7.2
: Timed Entry Calls
9.7.3
: Conditional Entry Calls
9.7.4
: Asynchronous Transfer of Control
9.8
: Abort of a Task - Abort of a Sequence of Statements
9.9
: Task and Entry Attributes
9.10
: Shared Variables
9.11
: Example of Tasking and Synchronization
10
: Program Structure and Compilation Issues
10.1
: Separate Compilation
10.1.1
: Compilation Units - Library Units
10.1.2
: Context Clauses - With Clauses
10.1.3
: Subunits of Compilation Units
10.1.4
: The Compilation Process
10.1.5
: Pragmas and Program Units
10.1.6
: Environment-Level Visibility Rules
10.2
: Program Execution
10.2.1
: Elaboration Control
11
: Exceptions
11.1
: Exception Declarations
11.2
: Exception Handlers
11.3
: Raise Statements
11.4
: Exception Handling
11.4.1
: The Package Exceptions
11.4.2
: Example of Exception Handling
11.5
: Suppressing Checks
11.6
: Exceptions and Optimization
12
: Generic Units
12.1
: Generic Declarations
12.2
: Generic Bodies
12.3
: Generic Instantiation
12.4
: Formal Objects
12.5
: Formal Types
12.5.1
: Formal Private and Derived Types
12.5.2
: Formal Scalar Types
12.5.3
: Formal Array Types
12.5.4
: Formal Access Types
12.6
: Formal Subprograms
12.7
: Formal Packages
12.8
: Example of a Generic Package
13
: Representation Issues
13.1
: Representation Items
13.2
: Pragma Pack
13.3
: Representation Attributes
13.4
: Enumeration Representation Clauses
13.5
: Record Layout
13.5.1
: Record Representation Clauses
13.5.2
: Storage Place Attributes
13.5.3
: Bit Ordering
13.6
: Change of Representation
13.7
: The Package System
13.7.1
: The Package System.Storage_Elements
13.7.2
: The Package System.Address_To_Access_Conversions
13.8
: Machine Code Insertions
13.9
: Unchecked Type Conversions
13.9.1
: Data Validity
13.9.2
: The Valid Attribute
13.10
: Unchecked Access Value Creation
13.11
: Storage Management
13.11.1
: The Max_Size_In_Storage_Elements Attribute
13.11.2
: Unchecked Storage Deallocation
13.11.3
: Pragma Controlled
13.12
: Pragma Restrictions
13.13
: Streams
13.13.1
: The Package Streams
13.13.2
: Stream-Oriented Attributes
13.14
: Freezing Rules
ANNEXES
A
: Predefined Language Environment
A.1
: The Package Standard
A.2
: The Package Ada
A.3
: Character Handling
A.3.1
: The Package Characters
A.3.2
: The Package Characters.Handling
A.3.3
: The Package Characters.Latin_1
A.4
: String Handling
A.4.1
: The Package Strings
A.4.2
: The Package Strings.Maps
A.4.3
: Fixed-Length String Handling
A.4.4
: Bounded-Length String Handling
A.4.5
: Unbounded-Length String Handling
A.4.6
: String-Handling Sets and Mappings
A.4.7
: Wide_String Handling
A.5
: The Numerics Packages
A.5.1
: Elementary Functions
A.5.2
: Random Number Generation
A.5.3
: Attributes of Floating Point Types
A.5.4
: Attributes of Fixed Point Types
A.6
: Input-Output
A.7
: External Files and File Objects
A.8
: Sequential and Direct Files
A.8.1
: The Generic Package Sequential_IO
A.8.2
: File Management
A.8.3
: Sequential Input-Output Operations
A.8.4
: The Generic Package Direct_IO
A.8.5
: Direct Input-Output Operations
A.9
: The Generic Package Storage_IO
A.10
: Text Input-Output
A.10.1
: The Package Text_IO
A.10.2
: Text File Management
A.10.3
: Default Input, Output, and Error Files
A.10.4
: Specification of Line and Page Lengths
A.10.5
: Operations on Columns, Lines, and Pages
A.10.6
: Get and Put Procedures
A.10.7
: Input-Output of Characters and Strings
A.10.8
: Input-Output for Integer Types
A.10.9
: Input-Output for Real Types
A.10.10
: Input-Output for Enumeration Types
A.11
: Wide Text Input-Output
A.12
: Stream Input-Output
A.12.1
: The Package Streams.Stream_IO
A.12.2
: The Package Text_IO.Text_Streams
A.12.3
: The Package Wide_Text_IO.Text_Streams
A.13
: Exceptions in Input-Output
A.14
: File Sharing
A.15
: The Package Command_Line
B
: Interface to Other Languages
B.1
: Interfacing Pragmas
B.2
: The Package Interfaces
B.3
: Interfacing with C
B.3.1
: The Package Interfaces.C.Strings
B.3.2
: The Generic Package Interfaces.C.Pointers
B.4
: Interfacing with COBOL
B.5
: Interfacing with Fortran
C
: Systems Programming
C.1
: Access to Machine Operations
C.2
: Required Representation Support
C.3
: Interrupt Support
C.3.1
: Protected Procedure Handlers
C.3.2
: The Package Interrupts
C.4
: Preelaboration Requirements
C.5
: Pragma Discard_Names
C.6
: Shared Variable Control
C.7
: Task Identification and Attributes
C.7.1
: The Package Task_Identification
C.7.2
: The Package Task_Attributes
D
: Real-Time Systems
D.1
: Task Priorities
D.2
: Priority Scheduling
D.2.1
: The Task Dispatching Model
D.2.2
: The Standard Task Dispatching Policy
D.3
: Priority Ceiling Locking
D.4
: Entry Queuing Policies
D.5
: Dynamic Priorities
D.6
: Preemptive Abort
D.7
: Tasking Restrictions
D.8
: Monotonic Time
D.9
: Delay Accuracy
D.10
: Synchronous Task Control
D.11
: Asynchronous Task Control
D.12
: Other Optimizations and Determinism Rules
E
: Distributed Systems
E.1
: Partitions
E.2
: Categorization of Library Units
E.2.1
: Shared Passive Library Units
E.2.2
: Remote Types Library Units
E.2.3
: Remote Call Int