Skip to main content

1986 | Buch

Data Structures of Pascal, Algol 68, PL/1 and Ada

verfasst von: Johan Lewi, Jan Paredaens

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

This book is intended as a text for a course in programming languages. The pre­ requisites for such a course are insight in structured programming and knowledge as well as practical experience of at least one (e.g., Pascal) of the programming languages treated in the book. The emphasis is on language concepts rather than on syntactic details. The book covers a number of important language concepts that are related to data struc­ tures. The comparison of the programming languages Pascal, Algol 68, PL/1 and Ada consists in investigating how these concepts are supported by each of these languages. Interesting evaluation criteria are generality, simplicity, safety, readability and portability. The study of programming languages is based on a simple model called SMALL. This model serves as a didactic vehicle for describing, comparing and evaluating data structures in various programming languages. Each chapter centers around a specific language concept. It consists of a general discussion followed by a number of language sections, one for each of the languages Pascal, Algol 68, PL/1 and Ada. Each of these sections contains a number of illustrating program fragments written in the programming language concerned. For each program fragment in one language, there is an analogous fragment in the others. The book can be read "vertically" so that the programming languages Pascal, Algol 68, PL/1 and Ada are encountered in that order several times. A "horizontal" reading of the book would consist in selecting only those sections which only concern one language.

Inhaltsverzeichnis

Frontmatter
Chapter 0. Introduction
Abstract
Programming is a discipline that has various engineering and mathematical aspects. Although most of these aspects are interrelated, each of them covers a number of characteristics and goals which are very specific. The progress being made in teaching programming is reflected by the fact that most computer science curricula contain a broad spectrum of programming courses, each emphasizing a different aspect of programming.
Johan Lewi, Jan Paredaens
Chapter 1. Values
Abstract
One of the three basic sets of objects covered by SMALL is the set of values, denoted by V. Values are internal objects, also called abstract objects, and are processed by the actions specified in a program. The properties of values uniquely determine the kinds of actions that can be performed on them.
Johan Lewi, Jan Paredaens
Chapter 2. Atomic Data
Abstract
The atomic data are values on which neither the selection function SEL, nor the contents function CONT, nor the result function RES is defined. The difference between atomic data and transitions will be clarified in Chapter 6.
Johan Lewi, Jan Paredaens
Chapter 3. Atomic Locations
Abstract
The atomic locations are those values on which only the contents function CONT is defined. Hence neither the selection function SEL, nor the result function RES is defined on atomic locations.
Johan Lewi, Jan Paredaens
Chapter 4. Composite Data
Abstract
Composite data are those values on which only the selection function SEL is defined. Hence neither the contents function CONT, nor the result function RES is defined here.
Johan Lewi, Jan Paredaens
Chapter 5. Composite Locations
Abstract
Composite locations are those values on which only the selection function SEL and the contents function CONT are defined. Hence the result function RES is not defined here. A composite location represents a part of the memory that is devided into several sublocations. Each sublocation is either atomic or in turn composite.
Johan Lewi, Jan Paredaens
Chapter 6. Routine Values
Abstract
Routine values are those values on which only the result function RES is defined. Hence neither the contents function CONT, nor the selection function SEL is defined here. The set of routine values is called R.
Johan Lewi, Jan Paredaens
Chapter 7. Contents Function
Abstract
The contents function is only defined on locations (L). It specifies for each location the value it contains. In SMALL, the contents of an atomic location can be any value except a composite datum, whereas the contents of a composite location can only be a composite datum. The motivation for these restrictions is explained in the present chapter.
Johan Lewi, Jan Paredaens
Chapter 8. Expressions
Abstract
Values are internal (abstract) objects for which we need notations called expressions. The set of expressions (E) is the set of all syntactically correct program constructions which may denote values. E is partitioned into two classes: the set of names (N) and the set of compound expressions (CE) (see Figure 8.1).
Johan Lewi, Jan Paredaens
Chapter 9. Types
Abstract
In strongly typed languages (such as Pascal, Algol 68, PL/1 and Ada) each expression is given a number of properties, defining a set of values and the operations applicable to them. The collection of properties that define such a set of values is called a type.
Johan Lewi, Jan Paredaens
Chapter 10. Type Checking
Abstract
The role of type checking is to verify that every expression and subexpression is used in a consistent way within the program. In SMALL, compound expressions are built up from subexpressions in the way explained in Chapters 8 and 9, using the operators M RES , M CONT ,M SEL , M DEUNION and M CONSTR . The subexpressions which are the arguments of such an operator cannot have arbitrary types, but have to obey a number of laws. These type laws are verified by the type checker. Furthermore, the type checker derives the type of the compound expression from the types of its subexpressions.
Johan Lewi, Jan Paredaens
Backmatter
Metadaten
Titel
Data Structures of Pascal, Algol 68, PL/1 and Ada
verfasst von
Johan Lewi
Jan Paredaens
Copyright-Jahr
1986
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-70239-6
Print ISBN
978-3-642-70241-9
DOI
https://doi.org/10.1007/978-3-642-70239-6