- Page 1: Reproduction prohibited without per
- Page 5 and 6: Contents v 3.7.1 for...............
- Page 7 and 8: Contents vii 7 DATA STRUCTURES ....
- Page 9 and 10: Contents ix 14 GENERICS ...........
- Page 11 and 12: Contents xi 20.5.1 Barrier conditio
- Page 13 and 14: Contents xiii B.2.3 Scalar objects
- Page 15 and 16: xv Preface The example programs sho
- Page 17 and 18: Preface xvii Class attribute A data
- Page 19 and 20: Preface xix Instance attribute A da
- Page 21: To my wife Corinna Lord, daughter M
- Page 24 and 25: 2 Introduction to programming 1.3 R
- Page 26 and 27: 4 Introduction to programming 1.5.1
- Page 28 and 29: 6 Introduction to programming An an
- Page 30 and 31: 8 Introduction to programming 1.9 S
- Page 32 and 33: 10 Introduction to programming The
- Page 34 and 35: 12 Introduction to programming 1.13
- Page 36 and 37: 14 Introduction to programming whic
- Page 38 and 39: 16 Introduction to programming whic
- Page 40 and 41: 2 Software design This chapter look
- Page 42 and 43: 20 Software design 2.3.1 The car as
- Page 44 and 45: 22 Software design In this analysis
- Page 46 and 47: 24 Software design • What classes
- Page 48 and 49: 26 Ada introduction: Part 1 Figure
- Page 50 and 51: 28 Ada introduction: Part 1 3.5 Rep
- Page 52 and 53:
30 Ada introduction: Part 1 Note: T
- Page 54 and 55:
32 Ada introduction: Part 1 A chara
- Page 56 and 57:
34 Ada introduction: Part 1 If the
- Page 58 and 59:
36 Ada introduction: Part 1 These t
- Page 60 and 61:
Ada introduction: Part 1 4 Ada intr
- Page 62 and 63:
40 Ada introduction: Part 2 Distanc
- Page 64 and 65:
42 Ada introduction: Part 2 4.6.1 O
- Page 66 and 67:
44 Ada introduction: Part 2 4.9 Typ
- Page 68 and 69:
46 Ada introduction: Part 2 is effe
- Page 70 and 71:
48 Ada introduction: Part 2 4.11.5
- Page 72 and 73:
50 Ada introduction: Part 2 4.12.1
- Page 74 and 75:
52 Ada introduction: Part 2 4.14 Th
- Page 76 and 77:
54 Ada introduction: Part 2 the sig
- Page 78 and 79:
56 Ada introduction: Part 2 Height_
- Page 80 and 81:
58 Ada introduction: Part 2 K : con
- Page 82 and 83:
60 Procedures and functions 5 Proce
- Page 84 and 85:
62 Procedures and functions package
- Page 86 and 87:
64 Procedures and functions 5.4 For
- Page 88 and 89:
66 Procedures and functions 5.5.3 S
- Page 90 and 91:
68 Procedures and functions with Ad
- Page 92 and 93:
70 Procedures and functions functio
- Page 94 and 95:
72 Procedures and functions • Wri
- Page 96 and 97:
74 Packages as classes Likewise in
- Page 98 and 99:
76 Packages as classes 6.3.2 The pr
- Page 100 and 101:
78 Packages as classes 6.3.6 A clas
- Page 102 and 103:
80 Packages as classes 6.6 The clas
- Page 104 and 105:
82 Packages as classes package Clas
- Page 106 and 107:
84 Packages as classes The more tra
- Page 108 and 109:
86 Packages as classes 6.10.4 Restr
- Page 110 and 111:
88 Packages as classes In construct
- Page 112 and 113:
90 Packages as classes with Ada.Tex
- Page 114 and 115:
92 Packages as classes 6.14 Exercis
- Page 116 and 117:
7 Data structures This chapter expl
- Page 118 and 119:
96 Data structures 7.3 Nested recor
- Page 120 and 121:
98 Data structures 7.5.1 Constraine
- Page 122 and 123:
100 Data structures 7.7 Limited rec
- Page 124 and 125:
8 Arrays This chapter introduces ar
- Page 126 and 127:
104 Arrays A compile-time error mes
- Page 128 and 129:
106 Arrays procedure Add_To(The:in
- Page 130 and 131:
108 Arrays 8.4 The game of noughts
- Page 132 and 133:
110 Arrays Note: That the case stat
- Page 134 and 135:
112 Arrays The functions valid retu
- Page 136 and 137:
114 Arrays Using the new representa
- Page 138 and 139:
116 Arrays 8.6.1 Multidimensional i
- Page 140 and 141:
118 Arrays 8.7.2 Putting it all tog
- Page 142 and 143:
120 Arrays When run, this would del
- Page 144 and 145:
122 Arrays The function Spaces deli
- Page 146 and 147:
124 Arrays Note: The procedure Stat
- Page 148 and 149:
126 Arrays 8.13 Exercises Construct
- Page 150 and 151:
128 Case study: Design of a game Bl
- Page 152 and 153:
130 Case study: Design of a game Ce
- Page 154 and 155:
132 Case study: Design of a game 9.
- Page 156 and 157:
134 Case study: Design of a game --
- Page 158 and 159:
136 Case study: Design of a game pa
- Page 160 and 161:
138 Case study: Design of a game pr
- Page 162 and 163:
140 Case study: Design of a game Th
- Page 164 and 165:
142 Case study: Design of a game Th
- Page 166 and 167:
144 Case study: Design of a game Th
- Page 168 and 169:
146 Case study: Design of a game Th
- Page 170 and 171:
148 Inheritance 10.2 Tagged types A
- Page 172 and 173:
150 Inheritance The implementation
- Page 174 and 175:
152 Inheritance 10.3.1 Terminology
- Page 176 and 177:
154 Inheritance The abstract class
- Page 178 and 179:
156 Inheritance 10.6.2 Visibility o
- Page 180 and 181:
158 Inheritance with Ada.Text_Io, A
- Page 182 and 183:
160 Inheritance The responsibilitie
- Page 184 and 185:
162 Inheritance 10.8.2 Putting it a
- Page 186 and 187:
164 Inheritance 10.9.1 Visibility r
- Page 188 and 189:
11 Child libraries This chapter int
- Page 190 and 191:
168 Child libraries 11.2 Visibility
- Page 192 and 193:
170 Child libraries 11.5 Self-asses
- Page 194 and 195:
172 Child libraries 12.2 A rational
- Page 196 and 197:
174 Child libraries The internal fu
- Page 198 and 199:
176 Child libraries The function Im
- Page 200 and 201:
178 Child libraries Note: The discr
- Page 202 and 203:
180 Child libraries The implementat
- Page 204 and 205:
182 Child libraries • A very larg
- Page 206 and 207:
184 Child libraries A user may inte
- Page 208 and 209:
186 Child libraries 13.4 The cat pr
- Page 210 and 211:
188 Child libraries with Ada.Text_I
- Page 212 and 213:
190 Child libraries 13.7 Exercises
- Page 214 and 215:
192 Child libraries Another generic
- Page 216 and 217:
194 Child libraries 14.2 Specificat
- Page 218 and 219:
196 Child libraries The procedure p
- Page 220 and 221:
198 Child libraries 1.1.2 Implement
- Page 222 and 223:
200 Child libraries 14.4.1 Example
- Page 224 and 225:
202 Child libraries 14.6 A generic
- Page 226 and 227:
204 Child libraries Then the declar
- Page 228 and 229:
206 Child libraries 14.7.1 Putting
- Page 230 and 231:
208 Child libraries 14.9 Self-asses
- Page 232 and 233:
210 Polymorphism The storage for P_
- Page 234 and 235:
212 Polymorphism 15.2 Dynamic alloc
- Page 236 and 237:
214 Polymorphism An iterative proce
- Page 238 and 239:
216 Polymorphism 15.3.1 Summary: ac
- Page 240 and 241:
218 Polymorphism procedure Push( Th
- Page 242 and 243:
220 Polymorphism this program will
- Page 244 and 245:
222 Polymorphism 15.5.1 Putting it
- Page 246 and 247:
224 Polymorphism 15.6.1 Putting it
- Page 248 and 249:
226 Polymorphism 15.8 Self-assessme
- Page 250 and 251:
228 Polymorphism 16.1.1 Dynamic bin
- Page 252 and 253:
230 Polymorphism The specification
- Page 254 and 255:
232 Polymorphism When run, this pro
- Page 256 and 257:
234 Polymorphism A child package is
- Page 258 and 259:
236 Polymorphism The function about
- Page 260 and 261:
238 Polymorphism Whilst the impleme
- Page 262 and 263:
240 Polymorphism with Ada.Tags; use
- Page 264 and 265:
242 Polymorphism The Ada specificat
- Page 266 and 267:
244 Polymorphism The method Update
- Page 268 and 269:
246 Polymorphism 16.10.2 An observe
- Page 270 and 271:
248 Polymorphism • How does the u
- Page 272 and 273:
250 Containers with Class_List; pra
- Page 274 and 275:
252 Containers The strategy used fo
- Page 276 and 277:
254 Containers The implementation o
- Page 278 and 279:
256 Containers When comparing two l
- Page 280 and 281:
258 Containers The code for Insert
- Page 282 and 283:
260 Containers The procedure Next a
- Page 284 and 285:
262 Containers Ada's assignment sta
- Page 286 and 287:
264 Containers 17.6 Implementation
- Page 288 and 289:
266 Containers 17.6.2 Ada implement
- Page 290 and 291:
268 Containers 17.6.3 Putting it al
- Page 292 and 293:
270 Containers A simple merging pro
- Page 294 and 295:
272 Containers • What are the sem
- Page 296 and 297:
274 Input and output 18.1.1 Putting
- Page 298 and 299:
276 Input and output The following
- Page 300 and 301:
278 Input and output Which when run
- Page 302 and 303:
19 Persistence This chapter shows h
- Page 304 and 305:
282 Persistence 19.1.1 Putting it a
- Page 306 and 307:
284 Persistence For example, after
- Page 308 and 309:
286 Persistence Canada, Belgium, US
- Page 310 and 311:
288 Persistence The procedure Find
- Page 312 and 313:
290 Tasks The task will start execu
- Page 314 and 315:
292 Tasks rendezvous Thread_1.Start
- Page 316 and 317:
294 Tasks 20.2.1 Putting it all tog
- Page 318 and 319:
296 Tasks A package Pack_types is d
- Page 320 and 321:
298 Tasks The implementation of the
- Page 322 and 323:
300 Tasks 20.5.2 Putting it all tog
- Page 324 and 325:
302 Tasks The entry Poll is called
- Page 326 and 327:
304 Tasks 20.8.2 As part of a progr
- Page 328 and 329:
21 System programming This chapter
- Page 330 and 331:
308 System programming A program to
- Page 332 and 333:
310 System programming which when r
- Page 334 and 335:
312 A Text user interface 22.2 API
- Page 336 and 337:
314 A Text user interface A dialog
- Page 338 and 339:
316 A Text user interface procedure
- Page 340 and 341:
318 A Text user interface For examp
- Page 342 and 343:
320 A Text user interface 22.5 Noug
- Page 344 and 345:
322 A Text user interface function
- Page 346 and 347:
324 A Text user interface Position(
- Page 348 and 349:
326 A Text user interface function
- Page 350 and 351:
23 TUI: the implementation This cha
- Page 352 and 353:
330 TUI the implementation 23.2.1 C
- Page 354 and 355:
332 TUI the implementation The impl
- Page 356 and 357:
334 TUI the implementation procedur
- Page 358 and 359:
336 TUI the implementation Top Make
- Page 360 and 361:
338 TUI the implementation with Cla
- Page 362 and 363:
340 TUI the implementation A window
- Page 364 and 365:
342 TUI the implementation procedur
- Page 366 and 367:
344 TUI the implementation procedur
- Page 368 and 369:
346 TUI the implementation procedur
- Page 370 and 371:
348 TUI the implementation procedur
- Page 372 and 373:
350 TUI the implementation #-------
- Page 374 and 375:
352 TUI the implementation 23.8.1 I
- Page 376 and 377:
354 TUI the implementation 23.9 The
- Page 378 and 379:
356 TUI the implementation This wil
- Page 380 and 381:
358 Scope of declared items procedu
- Page 382 and 383:
360 Scope of declared items There i
- Page 384 and 385:
362 Mixed language programming func
- Page 386 and 387:
364 Mixed language programming pack
- Page 388 and 389:
Appendix A: The main language featu
- Page 390 and 391:
368 Appendix A The following code w
- Page 392 and 393:
370 Appendix A select accept option
- Page 394 and 395:
372 Appendix B O'First(n) 1 Deliver
- Page 396 and 397:
374 Appendix B + - (monadic) numeri
- Page 398 and 399:
376 Appendix B Tasking_Error Raised
- Page 400 and 401:
Appendix C: Library functions and p
- Page 402 and 403:
380 Appendix C type Float is digits
- Page 404 and 405:
382 Appendix C -- function "&" (Lef
- Page 406 and 407:
384 Appendix C with Ada.IO_Exceptio
- Page 408 and 409:
386 Appendix C procedure Look_Ahead
- Page 410 and 411:
388 Appendix C Width : in Field :=
- Page 412 and 413:
390 Appendix C with Ada.IO_Exceptio
- Page 414 and 415:
392 Appendix C Parameter name drop
- Page 416 and 417:
394 Appendix C function Slice (Sour
- Page 418 and 419:
396 Appendix C function Overwrite (
- Page 420 and 421:
398 Appendix C --Floating Point typ
- Page 422 and 423:
400 Appendix C function Arccot (X :
- Page 424 and 425:
402 Appendix C function "+" (Left :
- Page 426 and 427:
Appendix D: Answers to selected exe
- Page 428 and 429:
406 Appendix D with Ada.Text_Io, Ad
- Page 430 and 431:
408 Appendix D while not End_Of_Fil
- Page 432 and 433:
410 Appendix D with Ada.Text_Io, Ad
- Page 434 and 435:
412 Appendix D package body Class_E
- Page 436 and 437:
414 Appendix D generic type Store_I
- Page 438 and 439:
416 Appendix D with Unchecked_Deall
- Page 440 and 441:
418 Appendix D package body Pack_Fa
- Page 442 and 443:
Index -, 54 & operator, 119 *, 53 *
- Page 444 and 445:
422 Appendix D for, 29 formal param
- Page 446:
424 Appendix D record aggregate, 95