| |
| |
| |
An Overview | |
| |
| |
| |
Introduction | |
| |
| |
History | |
| |
| |
Software Engineering | |
| |
| |
Evolution and Abstraction | |
| |
| |
From Ada 83 to Ada 95 | |
| |
| |
Structure and Objectives of This Book | |
| |
| |
References | |
| |
| |
| |
Simple Concepts | |
| |
| |
Key Goals | |
| |
| |
Overall Structure | |
| |
| |
Errors and Exceptions | |
| |
| |
The Scalar Type Model | |
| |
| |
Arrays and Records | |
| |
| |
Access Types | |
| |
| |
Terminology | |
| |
| |
| |
Abstraction | |
| |
| |
Packages and Private Types | |
| |
| |
Objects and Inheritance | |
| |
| |
Classes and Polymorphism | |
| |
| |
Genericity | |
| |
| |
Object-Oriented Terminology | |
| |
| |
Tasking | |
| |
| |
| |
Programs and Libraries | |
| |
| |
The Hierarchical Library | |
| |
| |
Input-Output | |
| |
| |
Numeric Library | |
| |
| |
Running a Program | |
| |
| |
| |
Algorithmic Aspects | |
| |
| |
| |
Lexical Style | |
| |
| |
Syntax Notation | |
| |
| |
Lexical Elements | |
| |
| |
Identifiers | |
| |
| |
Numbers | |
| |
| |
Comments | |
| |
| |
| |
Scalar Types | |
| |
| |
Object Declarations and Assignments | |
| |
| |
Blocks and Scopes | |
| |
| |
Types | |
| |
| |
Subtypes | |
| |
| |
Simple Numeric Types | |
| |
| |
Enumeration Types | |
| |
| |
The Boolean Type | |
| |
| |
Type Classification | |
| |
| |
Expression Summary | |
| |
| |
| |
Control Structures | |
| |
| |
If Statements | |
| |
| |
Case Statements | |
| |
| |
Loop Statements | |
| |
| |
Goto Statements and Labels | |
| |
| |
Statement Classification | |
| |
| |
| |
Arrays and Records | |
| |
| |
Arrays | |
| |
| |
Array Types | |
| |
| |
Array Aggregates | |
| |
| |
Characters and Strings | |
| |
| |
Arrays of Arrays and Slices | |
| |
| |
One-Dimensional Array Operations | |
| |
| |
Records | |
| |
| |
| |
Subprograms | |
| |
| |
Functions | |
| |
| |
Operators | |
| |
| |
Procedures | |
| |
| |
Named and Default Parameters | |
| |
| |
Overloading | |
| |
| |
Declarations, Scopes and Visibility | |
| |
| |
| |
Access Types | |
| |
| |
Flexibility Versus Integrity | |
| |
| |
Pool Specific Access Types | |
| |
| |
Access Types and Constraints | |
| |
| |
General Access Types | |
| |
| |
Accessibility | |
| |
| |
Access Parameters | |
| |
| |
Access to Subprograms | |
| |
| |
| |
The Big Pictures | |
| |
| |
| |
Packages and Private Types | |
| |
| |
Packages | |
| |
| |
Private Types | |
| |
| |
Primitive Operations and Derived Types | |
| |
| |
Equality | |
| |
| |
Limited Types | |
| |
| |
Resource Management | |
| |
| |
| |
Overall Structure | |
| |
| |
Library Units | |
| |
| |
Subunits | |
| |
| |
Child Library Units | |
| |
| |
Private Child Units | |
| |
| |
Scope, Visibility and Accessibility | |
| |
| |
Renaming | |
| |
| |
Programs, Partitions, and Elaboration | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
Type Extension | |
| |
| |
Polymorphism | |
| |
| |
Abstract Types and Subprograms | |
| |
| |
Operations and Dispatching | |
| |
| |
Views and Redispatching | |
| |
| |
Private Types and Extensions | |
| |
| |
Controlled Types | |
| |
| |
Multiple Implementations | |
| |
| |
| |
Exceptions | |
| |
| |
Handling Exceptions | |
| |
| |
Declaring and Raising Exceptions | |
| |
| |
Checking and Exceptions | |
| |
| |
Exception Occurrences | |
| |
| |
Scope of Exceptions | |
| |
| |
| |
Numeric Types | |
| |
| |
Signed Integer Types | |
| |
| |
Modular Types | |
| |
| |
Real Types | |
| |
| |
Floating Point Types | |
| |
| |
Fixed Point Types | |
| |
| |
Decimal Types | |
| |
| |
| |
Parameterized Types | |
| |
| |
Discriminated Record Types | |
| |
| |
Default Discriminants | |
| |
| |
Variant Parts | |
| |
| |
Discriminants and Derived Types | |
| |
| |
Access Types and Discriminants | |
| |
| |
Private Types and Discriminants | |
| |
| |
Access Discriminants | |
| |
| |
| |
Generics | |
| |
| |
Declarations and Instantiations | |
| |
| |
Type Parameters | |
| |
| |
Subprogram Parameters | |
| |
| |
Package Parameters | |
| |
| |
Generic Library Units | |
| |
| |
| |
Tasking | |
| |
| |
Parallelism | |
| |
| |
The Rendezvous | |
| |
| |
Timing and Scheduling | |
| |
| |
Protected Objects | |
| |
| |
Simple Select Statements | |
| |
| |
Timed and Conditional Calls | |
| |
| |
Concurrent Types and Activation | |
| |
| |
Termination, Exceptions and ATC | |
| |
| |
Signaling and Scheduling | |
| |
| |
Examples of Tasks | |
| |
| |
| |
Object-Oriented Techniques | |
| |
| |
Inheritance and Composition | |
| |
| |
Mixin Inheritance | |
| |
| |
Containers | |
| |
| |
Iterators | |
| |
| |
Numerical Applications | |
| |
| |
Multiple Views | |
| |
| |
Concurrency and Objects | |
| |
| |
Controlling Abstraction | |
| |
| |
| |
Completing the Story | |
| |
| |
| |
Predefined Library | |
| |
| |
The Package Standard | |
| |
| |
Character and String Handling | |
| |
| |
Numerics | |
| |
| |
Input and Output | |
| |
| |
Text Input-Output | |
| |
| |
Streams | |
| |
| |
Other Facilities | |
| |
| |
| |
Interfacing | |
| |
| |
Representations | |
| |
| |
Unchecked Programming | |
| |
| |
The Package System | |
| |
| |
Other Languages | |
| |
| |
| |
The Specialized Annexes | |
| |
| |
Systems Programming | |
| |
| |
Real-Time Systems | |
| |
| |
Distributed Systems | |
| |
| |
Information Systems | |
| |
| |
Numerics | |
| |
| |
Safety and Security | |
| |
| |
| |
Finale | |
| |
| |
Names and Expressions | |
| |
| |
Type Equivalence | |
| |
| |
Overall Program Structure | |
| |
| |
Visibility and Composition | |
| |
| |
Portability | |
| |
| |
Program Design | |
| |
| |
Appendices | |
| |
| |
Reserved Words, Attributes and Programs | |
| |
| |
Glossary | |
| |
| |
Syntax | |
| |
| |
Answers to Exercises | |
| |
| |
Bibliography | |
| |
| |
Index | |
| |
| |
Index to Examples. 0201877007T04062001 | |