×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Programming in Ada 2005 with CD / Edition 1
     

Programming in Ada 2005 with CD / Edition 1

by John Barnes
 

ISBN-10: 0321340787

ISBN-13: 9780321340788

Pub. Date: 08/25/2006

Publisher: Pearson

The definitive text on the new version of Ada – Ada 2005 – written by one of the language’s creators. Barnes is to Ada what Kernighan & Ritchie are to C, or as Stroustrup is to C++. Previous editions have sold over 150,000 copies.

Overview

The definitive text on the new version of Ada – Ada 2005 – written by one of the language’s creators. Barnes is to Ada what Kernighan & Ritchie are to C, or as Stroustrup is to C++. Previous editions have sold over 150,000 copies.

Product Details

ISBN-13:
9780321340788
Publisher:
Pearson
Publication date:
08/25/2006
Series:
International Computer Science Series
Edition description:
BK&CD-ROM
Pages:
848
Product dimensions:
6.85(w) x 9.24(h) x 1.75(d)

Table of Contents

Foreword vii

Preface ix

Part 1 An Overview 1

1 Introduction3

1.1 Standard development 3

1.2 Software engineering 4

1.3 Evolution and abstraction 6

1.4 Structure and objectives of this book 8

1.5 References 10

2 Simple Concepts 11

2.1 Key goals 11

2.2 Overall structure 12

2.3 The scalar type model 17

2.4 Arrays and records 19

2.5 Access types 22

2.6 Errors and exceptions 23

2.7 Terminology 26

3 Abstraction 27

3.1 Packages and private types 27

3.2 Objects and inheritance 30

3.3 Classes and polymorphism 34

3.4 Genericity 39

3.5 Object oriented terminology 41

3.6 Tasking42

4 Programs and Libraries 45

4.1 The hierarchical library 45

4.2 Input–output 47

4.3 Numeric library50

4.4 Running a program 52

P1 Magic Moments 57

Part 2 Algorithmic Aspects 61

5 Lexical Style 63

5.1 Syntax notation 63

5.2 Lexical elements 64

5.3 Identifiers 65

5.4 Numbers 67

5.5 Comments 69

5.6 Pragmas

6 Scalar Types 71

6.1 Object declarations and assignments 71

6.2 Blocks and scopes 74

6.3 Types 76

6.4 Subtypes 77

6.5 Simple numeric types 80

6.6 Enumeration types 86

6.7 The type Boolean 88

6.8 Categories of types 92

6.9 Expression summary 94

7 Control Structures99

7.1 If statements 99

7.2 Case statements 103

7.3 Loop statements 107

7.4 Goto statements and labels 113

7.5 Statement classification 113

8 Arrays and Records 115

8.1 Arrays 115

8.2 Array types 120

8.3 Array aggregates 125

8.4 Characters and strings 131

8.5 Arrays of arrays and slices 134

8.6 One-dimensional array operations 137

8.7 Records 141

9 Subprograms 147

9.1 Functions 147

9.2 Operators 154

9.3 Procedures 156

9.4 Named and default parameters 162

9.5 Overloading 164

9.6 Declarations, scopes and visibility 165

10 Access Types 171

10.1 Flexibility versus integrity 171

10.2  p; Pool specific access types 172

10.3 Null exclusion and constraints 180

10.4 General access types 183

10.5 Anonymous access types

10.6 Accessibility 187

10.7 Access parameters 189

10.8 Access to subprograms 193

P2 Sylvan Sorter 199

Part 3 The Big Picture 203

11 Packages and Private Types 205

11.1 Packages 205

11.2 Private types 210

11.3 Primitive operations and derived types 216

11.4 Equality 222

11.5 Limited types 226

11.6 Resource management 230

12 Overall Structure 235

12.1 Library units 235

12.2 Subunits 239

12.3 Child library units 240

12.4 Private child units 245

12.5 Mutually dependent units

12.6 Scope, visibility and accessibility250

12.7 Renaming 253

12.8 Programs, partitions and elaboration 257

P3 Rational Reckoner261

13 Object Oriented Programming 265

13.1 Type extension 265

13.2 Polymorphism 271

13.3 Abstract types and interfaces 279

13.4 Primitive operations and tags 282

13.5 Views and redispatching 288

13.6 Private types and extensions 294

13.7 Controlled types 300

13.8 Multiple inheritance

13.9 Multiple implementations 305

14 Exceptions 311

14.1 Handling exceptions 311

14.2 Declaring and raising exceptions315

14.3 Checking and exceptions 320

14.4 Exception occurrences 322

14.5 Exception pragmas

14.6 Scope of exceptions 326

15 Numeric Types 331

15.1 Signed integer types 332

15.2 Modular types 338

15.3 Real types 340

15.4 Floating point types 341

15.5 Fixed point types 344

15.6 Decimal types 349

16 Parameterized Types 351

16.1 Discriminated record types 351

16.2 Default discriminants 356

16.3 Variant parts 361

16.4 Discriminants and derived types366

16.5 Access types and discriminants 369

16.6 Private types and discriminants 375

16.7 Access discriminants 376

17 Generics 381

17.1 Declarations and instantiations 381

17.2 Type parameters 386

17.3 Subprogram parameters395

17.4 Package parameters 401

17.5 Generic library units 406

18 Tasking 409

18.1 Parallelism 409

18.2 The rendezvous412

18.3 Timing and scheduling 416

18.4 Protected objects 420

18.5 Simple select statements 427

18.6 Timed and conditional calls 431

18.7 Concurrent types and activation 434

18.8 Termination, exceptions and ATC 440

18.9 Signalling and scheduling 446

18.10 Summary of structure 453

19 Object Oriented Techniques 463

19.1 Extension and composition 463

19.2 Examples of interfaces 466

19.3 Mixin inheritance

19.4 Containers 468

19.5 Iterators 472

19.6 Object factories479

19.7 Controlling abstraction 491

20 Tasking Techniques

20.1 Dynamic tasks

20.2 Multiprocessors

20.3 Synchronized interfaces

20.4 Discriminants

20.5 Task termination

20.6 Clocks and timers

20.7 The Ravenscar profile

P4 Super Sieve497

Part 4 Completing the Story 501

21 Predefined Library503

21.1 The package Standard 503

21.2 The package Ada 506

21.3 Characters and strings 508

21.4 Numerics 522

21.5 Input and output 526

21.6 Text input–output 531

21.7 Streams 541

21.8 Environment commands545

P5 Wild Words 547

22 Container Library

22.1 Organization of library

22.2 Doubly linked lists

22.3 Vectors

22.4 Maps

22.5 Sets

22.6 Indefinite containers

22.7 Sorting

22.8 Summary table

23 Interfacing 551

23.1 Representations551

23.2 Unchecked programming 556

23.3 The package System 558

23.4 Storage pools 560

23.5 Other languages 563

P6 Playing Pools 565

24 The Specialized Annexes 569

24.1 Systems Programming 569

24.2 Real-Time Systems 571

24.3 Distributed Systems 573

24.4 Information Systems 575

24.5 Numerics 575

24.6 High Integrity Systems 578

25 Finale579

25.1 Names and expressions579

25.2 Type equivalence 582

25.3 Overall program structure 585

25.4 Portability 594

25.5 Final thoughts 597

Appendices601

A1 Reserved Words, Attributes and Pragmas 601

A1.1 Reserved words 601

A1.2 Predefined attributes 602

A1.3 Predefined pragmas 608

A2 Glossary 611

A3 Syntax 615

A3.1 Syntax rules 615

A3.2 Syntax index 629

Answers to Exercises 637

Bibliography 685

Index 687

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews