Preface |
Preface
|
Preface
|
Chapter 1 |
1
|
An Introduction to DEC Ada
|
1.1
|
DEC Ada Components
|
1.2
|
Environments
|
1.3
|
DEC Ada Features
|
Chapter 2 |
2
|
Types and Objects
|
2.1
|
Integer Types
|
2.2
|
Floating-Point Types
|
2.2.1
|
Pragma FLOAT_REPRESENTATION
|
2.2.2
|
Pragma LONG_FLOAT (OpenVMS Systems Only)
|
2.2.3
|
Representation Attributes for Floating-Point Types
|
2.2.4
|
Model Numbers for Floating-Point Types
|
2.2.5
|
Safe Numbers for Floating-Point Types
|
2.2.6
|
Floating-Point Computations
|
2.3
|
Fixed-Point Types
|
2.4
|
Array Types
|
2.5
|
Record Types
|
2.6
|
Access Types
|
2.7
|
Address Types
|
2.8
|
STARLET Bindings Restriction
|
2.9
|
Task Types
|
2.10
|
Component Alignment
|
2.11
|
Representation Clauses
|
2.11.1
|
Length Clauses
|
2.11.2
|
Address Clauses
|
2.11.3
|
Storage Representation Pragmas
|
2.12
|
Storage Allocation and Deallocation
|
Chapter 3 |
3
|
Pragmas
|
3.1
|
Language-Defined Pragmas
|
3.2
|
Implementation-Defined Pragmas
|
3.3
|
Pragmas Supplied on Other Ada Implementations
|
Chapter 4 |
4
|
Tasking and Task-Related Features
|
4.1
|
Threads and DECthreads
|
4.1.1
|
Assigning Task IDs
|
4.1.2
|
Terminating Tasks
|
4.2
|
Task Storage Allocation
|
4.2.1
|
Task Control Block
|
4.2.2
|
Task Stack
|
4.2.3
|
Stack Overflow
|
4.2.4
|
Task-Related Storage Pragmas
|
4.3
|
Task Scheduling
|
4.3.1
|
Scheduling Strategies
|
4.3.2
|
Controlling Task Scheduling
|
4.3.3
|
Controlling Task Priorities
|
4.4
|
External Interrupts (OpenVMS Systems)
|
4.5
|
External Interrupts (DIGITAL UNIX and ULTRIX Systems)
|
4.6
|
Special Tasking Considerations
|
4.6.1
|
Passive Tasks
|
4.6.2
|
Delay Statements and Related Issues
|
4.6.3
|
Shared Variables
|
4.6.4
|
Abort Statements
|
Chapter 5 |
5
|
Input-Output Facilities
|
5.1
|
File Elements
|
5.2
|
The FORM Parameter in DEC Ada
|
5.2.1
|
The FORM Parameter on OpenVMS Systems
|
5.2.2
|
The FORM Parameter on DIGITAL UNIX Systems
|
5.2.3
|
The FORM Parameter on ULTRIX Systems
|
5.3
|
Relative and Indexed Files (OpenVMS Only)
|
5.4
|
Mixed-Type Input-Output
|
5.5
|
Text Input-Output
|
5.6
|
Input-Output in Tasking Programs
|
5.7
|
Exceptions in Input-Output
|
Chapter 6 |
6
|
Library of Predefined Units
|
6.1
|
Standard Units
|
6.2
|
Implementation-Defined DEC Ada Packages
|
6.2.1
|
Implementation-Defined DEC Ada Packages Common to All Platforms
|
6.2.1.1
|
DEC Ada Packages That Aid Migration to the Ada 95 Standard
|
6.2.2
|
Packages Available on OpenVMS Systems Only
|
6.2.3
|
Packages Available on DIGITAL UNIX Systems Only
|
6.3
|
DEC Ada Predefined Instantiations
|
6.4
|
Bindings
|
Chapter 7 |
7
|
Compiler and Program Management
|
7.1
|
Program Library Management
|
7.1.1
|
Program Library Units
|
7.1.2
|
Compilation Management
|
7.1.3
|
Working with Multiple Program Libraries
|
7.2
|
Program Library Management Commands
|
7.3
|
Compilation Options
|
7.4
|
Exceptions
|
7.5
|
Compiler Messages
|
Chapter 8 |
8
|
DEC Ada to GNAT Report Mapper
|
8.1
|
Report Mapper Description
|
8.2
|
ADAMAP Operation
|
8.3
|
Qualifiers
|
8.4
|
ADAMAP Output
|
8.5
|
Sample Command Input
|
8.5.1
|
Sample ADAMAP Output
|
8.6
|
DEC Ada to GNAT Mapper on the Web
|
Chapter 9 |
9
|
Debugging Facilities
|
9.1
|
Debugging on OpenVMS Systems
|
9.2
|
Debugging on DIGITAL UNIX and ULTRIX Systems
|
Chapter 10 |
10
|
Other Compiler Features and Issues
|
10.1
|
Lexical Elements
|
10.2
|
Run-Time System Issues
|
10.2.1
|
Inclusion of the Run-Time Library with the Product Kit
|
10.2.2
|
Storage Management
|
10.2.3
|
Subprogam Call Parameter Handling
|
10.3
|
Mixed-Language Programming
|
10.4
|
User Interface
|
10.5
|
Compiler Performance
|
10.5.1
|
Compiler Optimizations
|
10.5.2
|
Improving Performance with Pragma INLINE
|
10.5.3
|
Improving Performance of Programs Using Generics
|
10.5.4
|
Other Performance Considerations
|
10.6
|
Implementation-Dependent Characteristics
|
Chapter 11 |
11
|
Comparison Summaries
|
11.1
|
Determining DEC Ada Program Portability
|
11.2
|
Factors Affecting Portability
|
11.3
|
Features Listed in the Portability Summary
|
11.4
|
Porting Between Specific Platforms: Comparison Tables
|
11.4.1
|
Porting from DEC Ada for OpenVMS VAX Systems to OpenVMS Alpha Systems
|
11.4.2
|
Porting from DEC Ada for OpenVMS VAX Systems to DIGITAL UNIX Systems
|
11.4.3
|
Porting from DEC Ada for ULTRIX Systems to DIGITAL UNIX Systems
|
Appendix A |
Appendix A
|
For More Information
|
Appendix B |
Appendix B
|
Extended Float Package for OpenVMS Alpha Systems
|
Appendix C |
Appendix C
|
A Comparison of Rational's VADS for DIGITAL UNIX with DEC Ada for DIGITAL UNIX Systems
|
C.1
|
Language-Related Features
|
C.1.1
|
Integer Types
|
C.1.2
|
Floating-Point Numbers and Representations
|
C.1.3
|
Record Representation Clause Maximum Alignment
|
C.1.4
|
Record and Array Component Alignment
|
C.1.5
|
Type DURATION
|
C.1.6
|
Other VADS-Specific Type Information
|
C.2
|
Representation Clauses
|
C.2.1
|
ADDRESS Attribute---VADS Implementations
|
C.2.2
|
Restrictions on Unchecked Type Conversions
|
C.2.3
|
Additional Representation Clause Information---VADS Implementations
|
C.2.4
|
Restrictions on Representation Clauses---DEC Ada Implementations
|
C.3
|
Dope Vectors
|
C.4
|
Parameter Passing
|
C.5
|
Package STANDARD
|
C.6
|
Package SYSTEM
|
C.7
|
Tasking and Task-Related Features
|
C.7.1
|
Implementation of Tasks in DEC Ada for DIGITAL UNIX Systems
|
C.7.2
|
Task-Related Pragmas
|
C.7.3
|
Scheduling and Task Priority
|
C.7.4
|
External Interrupts
|
C.8
|
Pragmas and Pragma-Related Features
|
C.8.1
|
Pragma-Related Restrictions
|
C.9
|
Library of Predefined Units
|
C.9.1
|
Implementation-Defined Packages
|
C.10
|
Bindings
|
C.10.1
|
Interfaces to C
|
C.10.2
|
Other Features and Restrictions
|
C.11
|
Implementation-Defined Attributes
|
C.12
|
Compiler and Run-Time Interfacing
|
C.13
|
User Interface
|
C.14
|
Input-Output
|
C.15
|
Implementation Limits
|