Ada 95 Quality and Style Guide Appendix A
5. Statements 2.1.2, 2.1.6, 2.1.8, 3.3.6, 5.6
6. Subprograms 2.1.1, 3.2.5, 4.1.3, 4.1.4, 4.1.7, 4.3.1,
5.9.6
6.4 Subprogram Calls 2.1.1, 4.1.4, 5.2.2, 5.6.6, 7.1.9
6.5 Return Statements 5.6.8
7. Packages 2.1.2, 4.1.5, 4.1.7, 4.2.1, 4.3, 7.1.5
7.4 Deferred Constants
8.6 The Context of Overload Resolution 5.7.3, 5.7.4, 5.7.5, 8.2.5, 9.3.4
9. Tasks and Synchronization 4.1.9, 4.2.4, 6, 6.1, 7.4
9.6 Delay Statements, Duration, and Time 6.1.7, 6.2.5, 7.1.2, 7.4.2, 7.4.3
9.8 Abort of a Task-Abort of a Sequence of Statements 5.9.10,
6.3.3, 7.4.6
10. Program Structure and Compilation Issues 4.1.1, 8.4.1
10.2 Program Execution 7.1.4
11.5 Suppressing Checks 5.9.5
12. Generic Units
12.6 Formal Subprograms
13. Representation Issues 4.1.5, 7.6
13.6 Change of Representation 7.6.1
13.8 Machine Code Insertions 7.1.5, 7.6.3
13.10 Unchecked Access Value Creation 5.9.3, 7.6.7
13.12 Pragma Restrictions
13.14 Freezing Rules
Annexes
A. Predefined Language Environment 3.4.1, 5.7.1, 6.1.7, 7.1.2, 7.1.6, 7.2.1, 7.5.1, 7.6.3
B. Interface to Other Languages 7.1.5, 7.6.4, 7.6.8
C. Systems Programming 7.1.7, 7.6.3
D. Real-Time Systems 7.1.7, 10.6.7
G. Numerics 7.1.7, 7.2.2, 7.2.3
K. Language-Defined Attributes 3.2.6, 3.4.2, 5.3.3, 5.5.1, 5.5.2, 6.2.3, 8.2.4
L. Language-Defined Pragmas 4.1.5, 5.9.5, 6.1.6, 6.2.4, 7.4.5, 7.4.7, 7.6.4, 10.7.1, 10.7.2, 10.7.3, 10.7.4, 10.7.5, 10.7.6, 10.7.7
M. Implementation-Defined Characteristics 4.1.5, 5.4.2, 7.1.2, 7.1.3, 7.1.5, 7.1.6, 7.2.1, 7.2.4, 7.4.3, 7.6.2, 7.6.3, 7.6.5, 7.6.9
N. Glossary
O. Syntax Summary
5.1 Simple and Compound Statements-Sequences of Statements 2.1.2,
2.1.8, 5.6.1
5.2 Assignment Statements 2.1.3, 5.6.2, 10.5.6
5.3 If Statements 2.1.2, 2.1.5, 3.3.7, 5.6.1, 5.6.3, 5.6.5, 10.5.2,
10.5.3, 10.5.6, 10.5.8
5.4 Case Statements 2.1.2, 3.3.7, 5.6.1, 5.6.3, 10.5.3
5.5 Loop Statements 2.1.2, 5.1.1, 5.5.1, 5.6.1, 5.6.2, 5.6.4,
5.6.6, 7.4.2
5.6 Block Statements 3.3.7, 5.1.2, 5.6.1, 5.6.9, 5.8.4, 10.3.1
5.7 Exit Statements 5.1.1, 5.1.3, 5.6.4, 5.6.5
5.8 Goto Statements 5.6.7, 5.8.1
6.1 Subprogram Declarations 2.1.2, 3.2.5, 3.3.3, 4.1.1, 4.1.5,
4.1.7, 4.2.1, 4.3.1,
5.2.1, 5.2.3, 5.3.2, 5.6.6, 7.1.3, 7.1.4
6.2 Formal Parameter Modes 2.1.5, 5.2.4, 7.1.8
6.3 Subprogram Bodies 2.1.2, 2.1.7, 3.3.4, 3.3.7, 5.1.4, 10.7.1
6.3.2 Inline Expansion of Subprograms 10.7.1
6.6 Overloading of Operators 4.2.1, 5.7.3, 5.7.5, 8.2.5
7.1 Package Specifications and Declarations 2.1.7, 3.2.5, 3.3.3,
4.1.1, 4.1.8, 4.2.1, 4.2.2, 4.2.3,
4.2.4, 4.3.1,5.1.4, 6.1.1, 7.1.3, 7.1.5, 8.1, 8.2.6, 8.3.1
7.2 Package Bodies 2.1.7, 3.3.4, 4.1.1, 4.2.1, 4.2.3, 4.3.1, 5.1.4, 5.9.1, 6.1.1
7.3 Private Types and Private Extensions 5.3.3
7.5 Limited Types 5.3.3, 5.7.5, 8.3.5
7.6 User-Defined Assignment and Finalization 5.3.3, 5.4.5, 8.3.1, 9.2.3
8.1 Declarative Region 4.2.3
8.2 Scope of Declarations 4.1.8, 4.2.3, 7.6.6
8.3 Visibility 4.1.4, 4.1.5, 4.2.1, 4.2.3, 5.7.1, 5.7.3, 5.7.4, 5.7.5
8.4 Use Clauses 5.6.9, 5.7.1, 5.7.2
8.5 Renaming Declarations 3.4.1
8.5.2 Exception Renaming Declarations 5.7.2
8.5.3 Package Renaming Declarations 5.7.1
8.5.4 Subprogram Renaming Declarations 5.7.2
8.5.5 Generic Renaming Declarations
9.1 Task Units and Task Objects 2.1.7, 3.2.5, 3.3.7, 5.1.4, 6.1.2, 6.1.4, 6.1.5, 6.1.6, 6.2.1, 6.3.4, 7.1.3, 8.4.3
9.2 Task Execution-Task Activation 6.1.2, 6.1.5, 6.1.6, 6.1.7, 6.3.2, 7.4.1, 7.4.2, 7.4.5, 8.2.6
9.3 Task Dependence-Termination of Tasks 6.1.2, 6.2.3, 6.3
9.4 Protected Units and Protected Objects 4.1.10, 5.9.9, 6.1.1, 6.1.2, 6.1.4, 6.1.5, 6.1.6, 6.1.8, 6.2.1, 10.6.2
9.5 Intertask Communication 4.1.10, 6.1.1, 6.1.2, 6.2
9.5.2 Entries and Accept Statements 3.2.5, 4.3.1, 5.1.4, 5.2.1, 5.2.4, 5.6.1, 5.9.4, 6.1.2, 6.1.3, 6.1.6, 6.2, 6.2.1, 6.3.1, 6.3.2, 6.3.4, 7.4.5, 7.4.7
9.5.3 Entry Calls 3.2.5, 4.3.1, 5.1.4, 5.2.1, 5.2.4, 5.6.1, 5.9.4,
6.1.1, 6.1.2, 6.1.6, 6.2, 6.3.1, 6.3.2, 6.3.5, 7.4.5, 7.4.7
9.5.4 Requeue Statements
9.7 Select Statements 2.1.2, 5.6.1, 6.2.1, 6.2.6, 6.3.4
9.7.2 Timed Entry Calls 4.2.4, 6.1.7, 6.2.5
9.7.3 Conditional Entry Calls 4.2.4, 6.2.5
9.7.4 Asynchronous Transfer of Control
9.9 Task and Entry Attributes 6.2.3
9.10 Shared Variables 6.1.1, 6.2.4, 7.4.7
9.11 Example of Tasking and Synchronization 4.1.10, 6.1.1, 6.1.2
10.1 Separate Compilation
10.1.2 Context Clauses-With Clauses 2.1.2, 4.2.1, 4.2.3, 8.2.6,
8.4.2, 8.4.3
10.1.3 Subunits of Compilation Units 4.1.1, 4.2.3
10.1.4 The Compilation Process
10.1.5 Pragmas and Program Units 4.1.2
10.1.6 Environment-Level Visibility Rules
11.1 Exception Declarations 3.3.5, 4.3.1, 5.4.5, 7.5.2
11.2 Exception Handlers 2.1.2, 4.3.1, 5.6.9, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 6.2.2, 6.3.1, 6.3.4, 7.5.2, 8.2.7, 10.5.4
11.3 Raise Statements 4.3.1, 7.5.2, 8.2.3, 8.2.7
11.4 Exception Handling 4.3.1, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 6.2.2, 6.3.4, 7.5, 8.2.7
11.4.2 Example of Exception Handling 4.3.1
11.6 Exceptions and Optimization
12.1 Generic Declarations 2.1.2, 3.2.5, 4.2.2, 8.1.1, 8.1.2, 8.1.3, 8.3.1, 8.3.2, 8.3.4, 8.3.5, 8.3.6, 8.4.2, 8.4.4
12.2 Generic Bodies 8.2.7
12.3 Generic Instantiation 2.1.2, 3.2.5, 5.2.2, 8.1.1, 8.2.4, 8.2.5, 8.3.2, 8.3.7, 8.4.2, 8.4.3, 8.4.5, 9.5
12.4 Formal Objects 8.2.4, 8.2.6
12.5 Formal Types 8.2.2, 8.3.4, 8.3.5
12.5.2 Formal Scalar Types
12.5.3 Formal Array Types 8.2.2
12.5.4 Formal Access Types
12.7 Formal Packages 8.4.2
12.8 Example of a Generic Package
13.1 Representation Items 5.4.5, 5.9.4, 7.6.1
13.2 Pragma Pack 10.5.7
13.3 Representation Attributes 5.9.4, 7.2.3, 7.3.1
13.4 Enumeration Representation Clauses 3.4.2, 7.6.1
13.5 Record Layout
13.5.2 Storage Place Attributes
13.5.3 Bit Ordering
13.7 The Package System 5.9.4, 7.4.3, 7.6.2
13.7.2 The Package System.Address_To_Access_Conversions
13.9 Unchecked Type Conversions 5.9.1, 7.6.8
13.9.2 The Valid Attribute
13.11 Storage Management
13.11.2 Unchecked Storage Deallocation 5.4.5, 5.9.2, 7.3.3, 7.6.6
13.11.3 Pragma Controlled
13.13 Streams
13.13.2 Stream-Oriented Attributes
A.1 The Package Standard 3.2.2, 3.4.1, 7.2.1, 7.4.3
A.2 The Package Ada
A.3 Character Handling
A.4 String Handling 8.4.7, 10.6.4, 10.6.5
A.5 The Numerics Packages
A.6 Input-Output 7.7
A.7 External Files and File Objects 7.7.1, 7.7.2
A.8 Sequential and Direct Files 5.9.7, 7.7.1, 7.7.3
A.9 The Generic Package Storage_IO
A.10 Text Input-Output 3.2.2, 4.2.2
A.11 Wide Text Input-Output
A.12 Stream Input-Output 7.7.4
A.13 Exceptions in Input-Output
A.14 File Sharing
A.15 The Package Command_Line 7.1.4, 7.6.9
B.1 Interfacing Pragmas
B.2 The Package Interfaces
B.3 Interfacing With C
B.4 Interfacing With COBOL
B.5 Interfacing With FORTRAN
C.1 Access to Machine Operations
C.2 Required Representation Support
C.3 Interrupt Support 4.1.9, 5.9.4, 6.1.1, 6.1.3
C.4 Preelaboration Requirements
C.5 Pragma Discard_Names
C.6 Shared Variable Control
C.7 Task Identification and Attributes
D.1 Task Priorities 6.1.6, 7.4.5, 8.4.3
D.2 Priority Scheduling 4.1.2, 6.1.6
D.3 Priority Ceiling Locking 4.1.2, 6.1.6
D.4 Entry Queuing Policies 4.1.2
D.5 Dynamic Priorities 6.1.6
D.6 Preemptive Abort
D.7 Tasking Restrictions
D.8 Monotonic Time 6.1.7
D.9 Delay Accuracy 6.1.8
D.10 Synchronous Task Control 6.1.2
D.11 Asynchronous Task Control 6.1.2
D.12 Other Optimizations and Determinism Rules
E.1 Partitions
E.2 Categorization of Library Units
E.3 Consistency of a Distributed System
E.4 Remote Subprogram Calls
E.5 Partition Communication Subsystem
F.1 Machine_Radix Attribute Definition Clause
F.2 The Package Decimal 7.2.8
F.3 Edited Output for Decimal Types 8.3.7
G.1 Complex Arithmetic
G.2 Numeric Performance Requirements
H.1 Pragma Normalize_Scalars 4.1.2
H.2 Documentation of Implementation Decisions
H.3 Reviewable Object Code
H.4 Safety and Security Restrictions
J.1 Renamings of Ada 83 Library Units
J.2 Allowed Replacements of Characters
J.3 Reduced Accuracy Subtypes
J.4 The Constrained Attribute
J.5 ASCII
J.6 Numeric_Error
J.7 At Clauses 5.9.4
J.8 Mod Clauses
J.9 The Storage_Size Attribute