Now Reading
Ada 95: Contents

Ada 95: Contents

2024-03-01 16:52:57


Ada 95: Contents









Next

by


(initially revealed by Prentice Corridor, 1997)

Copyright © John
English
2001. All rights reserved.



Permission is given to redistribute this work for non-profit academic
use solely, offered that every one the constituent information are distributed unchanged
and with out cost.



This e-book, initially revealed by Prentice Corridor in 1996, was taken out
of print in 2001 and the rights to the e-book had been subsequently returned to
me by Pearson (the successor firm to Prentice Corridor). I’ve determined to
make it accessible on-line in HTML format, and on the identical time I’ve corrected
a number of errata which had been current within the printed editions of the e-book.
It’s completely attainable that I may need missed some, and even
launched some brand-new ones, as a part of the method of remodeling
the textual content into HTML. When you spot any errors, please
let me know so I can right the
grasp copy, which will be discovered at
http://www.it.bton.ac.uk/staff/je/adacraft/.

Downloadable copies can be found as
http://www.it.bton.ac.uk/staff/je/adacraft/bookhtml.zip
(in zip format for Home windows programs) or as
http://www.it.bton.ac.uk/staff/je/adacraft/bookhtml.tar.gz
(a gzipped tarball for Unix programs).
Every distribution additionally consists of the whole set of examples from the
e-book, each for Home windows (adacraft.zip)
and for Unix (adacraft.tar.gz).


Contents

Preface

Part One: Fundamentals

1. Programming concepts
1.1 What’s a program?

1.2 Readability, maintainability, portability and reusability

1.3 Specs and implementations

1.4 Summary information varieties

1.5 Generics

1.6 Inheritance and polymorphism

2. Fundamentals of Ada
2.1 Howdy, world!

2.2 Names in Ada

2.3 Program structure

2.4 Context clauses

2.5 Strings

2.6 A easy calculator

2.7 Process specs

Exercises

3. Statements
3.1 If statements

3.2 Task statements

3.3 Compound situations

3.4 The case assertion

3.5 Vary checks

3.6 The null assertion

3.7 Loops

3.8 The calculator program revisited

3.9 Exception dealing with

Exercises

4. Procedures, functions and packages
4.1 Zeller’s Congruence

4.2 Declaring procedures

4.3 Declaring features

4.4 Scope and lifelong

4.5 Separate compilation

4.6 Subprograms as library models

4.7 Packages

4.8 Baby packages

Exercises

5. Defining new data types
5.1 Commonplace information varieties

5.2 Integers

5.3 Subtypes

5.4 Derived varieties

5.5 Modular integers

5.6 Actual varieties

5.7 Numeric literals

5.8 Constants

5.9 Enumerations

5.10 The sort Boolean

5.11 The sort Character

5.12 Renaming declarations

Exercises

6. Composite data types
6.1 File varieties

6.2 Strings

6.3 Declaring array varieties

6.4 Unconstrained varieties

6.5 For loops revisited

6.6 A easy sorting process

6.7 Multidimensional arrays

6.8 Discriminants

6.9 Restricted varieties

6.10 Utilizing packages with information varieties

Exercises

7. Exceptions
7.1 The significance of exception dealing with

7.2 Declaring exceptions

7.3 Re-raising exceptions

7.4 Getting details about exceptions

7.5 File enter/output

Exercises

8. Program design and debugging
8.1 Stepwise refinement

8.2 Preliminary design

8.3 Diary package deal design

8.4 Debugging the principle program

8.5 Displaying the appointments

8.6 Including new appointments

8.7 Deleting appointments

8.8 Loading and saving

8.9 Assessing this system

Exercises

Part Two: Abstract Data Types

9. Private types
9.1 The necessity for abstraction

9.2 Package deal design

9.3 Non-public varieties

9.4 Full and partial views

9.5 Deferred constants

9.6 The package deal physique

9.7 Overloaded operators

9.8 ‘Use sort’ clauses

9.9 A phrase of warning

9.10 The package deal Ada.Calendar

Exercises

10. Designing with abstract data types

10.1 The design course of revisited

10.2 Separating out the consumer interface

10.3 Designing the mannequin

10.4 Defining the view package deal

10.5 Implementing the ADT packages

10.6 Diary operations

10.7 Upkeep points

Exercises

11. Dynamic memory allocation
11.1 Entry varieties

11.2 Linked lists

11.3 Doubly linked lists

11.4 Iterators

11.5 Deallocating reminiscence

11.6 Designing a linked listing diary

11.7 Implementing a linked listing diary

11.8 Normal entry varieties

11.9 Entry parameters and discriminants

Exercises

12. Generics
12.1 Generic packages

12.2 Generic parameters

12.3 Revising the diary package deal

12.4 A generic sorting process

12.5 Generics and normal entry varieties

Exercises

13. Building a calculator
13.1 Dealing with operator priority

13.2 A stack package deal

13.3 An improved calculator

13.4 Implementing the stack package deal

13.5 Opaque varieties

13.6 Formalising the syntax of expressions

13.7 A recursive descent parser

Exercises

Part Three: Designing extensible software

14. Tagged types
14.1 Extending present software program

14.2 Variant data

14.3 Tagged varieties

14.4 Inheriting primitive operations

14.5 A package deal for representing conferences

14.6 The hazards of inheritance

14.7 Inheritance or containment?

Exercises

15. Polymorphism and dispatching
15.1 Class-wide varieties

15.2 Dispatching

15.3 Summary varieties

15.4 An object-oriented diary

15.5 Stream enter/output

15.6 Different diary operations

15.7 Extending the diary

Exercises

See Also

16. Controlled types
16.1 Reminiscence leaks

16.2 Consumer-defined finalisation

16.3 Good pointers

16.4 Consumer-defined task

16.5 Testing managed varieties

Exercises

17. An object-oriented calculator
17.1 Expression-handling objects

17.2 Tokens

17.3 Token extraction

17.4 Expression analysis

17.5 Was it price it?

Exercises

18. Designing a spreadsheet
18.1 Spreadsheets

18.2 Defining this system

18.3 The spreadsheet class

18.4 Cell implementation

18.5 Formulation cells

18.6 Deriving a brand new expression sort

Exercises

19. Multitasking
19.1 Energetic objects

19.2 Process varieties

19.3 Speaking with duties

19.4 Extra about choose statements

19.5 Transferring information throughout a rendezvous

19.6 Sharing information between duties

19.7 An energetic spreadsheet

Exercises

20. Loose ends
20.1 Different options of Ada

20.2 Different sources of knowledge

Appendices

A. Language summary
A.1 Compilation models

A.2 Statements

A.3 Declarations

A.4 Sort declarations

A.5 Exceptions

A.6 Expressions

A.7 Generics

A.8 Multitasking options

A.9 The Ada sort hierarchy

B. Selected standard packages
B.1 The hierarchy of the usual packages

B.2 The package deal Commonplace

B.3 The package deal Ada.Text_IO

B.4 The package deal Ada.Sequential_IO

B.5 The package deal Ada.Streams.Stream_IO

B.6 The package deal Ada.Characters.Dealing with

B.7 The package deal Ada.Characters.Latin_1

C. Language-defined attributes

D. Package Listings
D.1 JE

D.2 JE.Appointments

D.3 JE.Appointments.Conferences

D.4 JE.Appointments.Deadlines

D.5 JE.Diaries

D.6 JE.Expressions

D.7 JE.Expressions.Spreadsheet

D.8 JE.Lists

D.9 JE.Menus

D.10 JE.Pointers

D.11 JE.Spreadsheets

D.12 JE.Spreadsheets.Energetic

D.13 JE.Stacks

D.14 JE.Occasions

Glossary


Revision historical past


    $Log: contents.htm,v $
    Revision 1.2  2002/02/22 01:47:19  WouldBeRoot
    Up to date textbooks.

    Revision 1.3  2002/02/21 13:00:00  JE
    Minor corrections to chapters 2, 3, 13, 17 and 18, and to the examples
    for chapters 3, 13, 18 and 19: the British utilization of "full cease" as a substitute
    of "interval" has confused some American readers, so "semicolon" has been
    substituted all through to maintain issues language-independent.

    Revision 1.2  2001/11/17 12:00:00  JE
    An astonishing variety of errors in each the textual content and the formatting
    have now been mounted. I'm significantly indebted to Tad Ashlock and
    Jeffrey Cherry for sending me extraordinarily detailed lists of issues
    and corrections.

    Revision 1.1  2001/09/12 11:00:00  JE
    Preliminary revision




Next

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top