| Foreword |
|
ix | (2) |
| Preface |
|
xi | (6) |
| Acknowledgments |
|
xvii | |
| Part 1 The core language |
|
1 | (14) |
|
|
|
3 | (12) |
|
1.1 Ada95: a short history |
|
|
3 | (3) |
|
1.2 A brief tour of the language |
|
|
6 | (4) |
|
1.3 A case study: Point of Sale systems |
|
|
10 | (5) |
|
2 Language building blocks |
|
|
15 | (32) |
|
|
|
15 | (1) |
|
|
|
16 | (3) |
|
2.3 C++ statements to Ada |
|
|
19 | (15) |
|
|
|
34 | (8) |
|
|
|
42 | (1) |
|
|
|
43 | (4) |
|
3 Strong typing for solid programs |
|
|
47 | (62) |
|
|
|
49 | (3) |
|
|
|
52 | (1) |
|
|
|
53 | (12) |
|
|
|
65 | (15) |
|
3.5 Access types (pointers) |
|
|
80 | (15) |
|
|
|
95 | (4) |
|
3.7 System representation of types |
|
|
99 | (5) |
|
3.8 Representing C unions in Ada |
|
|
104 | (2) |
|
|
|
106 | (3) |
|
4 Package for structured programming |
|
|
109 | (34) |
|
4.1 C++ vs Ada compilation models |
|
|
109 | (6) |
|
|
|
115 | (1) |
|
|
|
116 | (4) |
|
|
|
120 | (7) |
|
|
|
127 | (7) |
|
|
|
134 | (5) |
|
|
|
139 | (4) |
|
5 Generics for reusable programming |
|
|
143 | (23) |
|
5.1 Generic programming in C and C++ |
|
|
143 | (5) |
|
5.2 Generic programming in Ada |
|
|
148 | (4) |
|
|
|
152 | (7) |
|
5.4 Specifying parameters for generics |
|
|
159 | (4) |
|
5.5 Unchecked programming |
|
|
163 | (1) |
|
|
|
164 | (2) |
|
6 Tagged types for object oriented programming |
|
|
166 | (38) |
|
|
|
166 | (2) |
|
|
|
168 | (5) |
|
6.3 Derived tagged types (derived classes) |
|
|
173 | (11) |
|
6.4 Unsupported C++ features |
|
|
184 | (13) |
|
|
|
197 | (7) |
|
7 Tasking for concurrent programming |
|
|
204 | (29) |
|
|
|
204 | (5) |
|
7.2 Traditional interprocess communication (IPC) |
|
|
209 | (3) |
|
7.3 Task synchronization (the Rendezvous) |
|
|
212 | (11) |
|
|
|
223 | (3) |
|
|
|
226 | (7) |
| Part 2 The Ada library and language annexes |
|
233 | (121) |
|
8 A standard library for portable programming |
|
|
237 | (55) |
|
|
|
237 | (26) |
|
|
|
263 | (22) |
|
|
|
285 | (6) |
|
|
|
291 | (1) |
|
|
|
292 | (62) |
|
9.1 Annex B: language interfaces annex |
|
|
292 | (33) |
|
9.2 Annex C: systems programming annex |
|
|
325 | (8) |
|
9.3 Annex D: real-time systems annex |
|
|
333 | (6) |
|
9.4 Annex E: distributed systems annex |
|
|
339 | (4) |
|
9.5 Annex F: information systems annex |
|
|
343 | (5) |
|
9.6 Annex G: numerics annex |
|
|
348 | (4) |
|
9.7 Annex H: safety and security annex |
|
|
352 | (1) |
|
|
|
353 | (1) |
| Bibliography |
|
354 | (4) |
| Ada books |
|
354 | (1) |
| C and C++ books |
|
355 | (1) |
| Other programming languages |
|
356 | (1) |
| Object oriented design |
|
356 | (1) |
| Resources and papers on Ada |
|
357 | (1) |
| Index |
|
358 | |