Programming languages : design and implementation / Terence W. Pratt and Marvin Zelkowitz.
By: Pratt, Terence W.
Contributor(s): Zelkowitz, Marvin.
Material type:
BookPublisher: Englewood Cliffs, NJ : Prentice Hall, 1995Edition: 3rd ed.Description: xvi, 768 p. ; 24 cm. + pbk.ISBN: 0136785336.Subject(s): Programming languages (Electronic computers)| Item type | Current library | Call number | Copy number | Status | Barcode | |
|---|---|---|---|---|---|---|
| General lending | MTU Bishopstown Library Lending | 005.13 (Browse shelf(Opens below)) | 1 | Available | 00010002 |
Enhanced descriptions from Syndetics:
This text is designed to provide students with a broad and deep understanding of the major issues in both design and implementation of modern programming languages and a basic introduction to the underlying theoretical models on which these languages are based. The emphasis throughout is on fundamental concepts - students learn important ideas, not minor language differences. New to this edition are discussions of the major programming paradigms: imperative/procedural, object-based, object-oriented, functional, relational/logic, and parallel/distributed, as well as new languages - SmallTalk, C, C++, Scheme, Modula-2, Prolog, Occam, and Linda. There is continued coverage of Ada, Lisp, Pascal and Fortran.
Includes bibliographical references (pages 632-640) and index.
Part I: Concepts -- The Study of Programming Languages -- Language Design Issues -- Language Translation Issues -- Data Types -- Abstraction I: Encapsulation -- Sequence Control -- Subprogram Control -- Abstraction II: Inheritance -- Advances in Language Design -- Part II: Paradigms and Languages -- Simple Procedural Languages -- Block-Structured Procedural Languages -- Object-Based Languages -- Functional Languages -- Logic Programming Languages.
Table of contents provided by Syndetics
- 1 Language Design Issues
- Why Study Programming Languages? A Short History of Programming Languages
- Role of Programming Languages
- Programming Environments
- C Overview
- 2 Impact of Machine Architectures
- The Operation of a Computer
- Virtual Computers and Binding Times
- 3 Language Translation Issues
- Programming Language Syntax
- Stages in Translation
- Formal Translation Models
- Recursive Descent Parsing
- Pascal Overview
- 4 Modeling Language Properties
- Formal Properties of Languages
- Language Semantics
- 5 Elementary Data Types
- Properties of Types and Objects
- Scalar Data Types
- Composite Data Types
- FORTRAN Overview
- 6 Encapsulation
- Structured Data Types
- Abstract Data Types
- Encapsulation by Subprograms
- Type Definitions
- C++ Overview
- 7 Inheritance
- Abstract Data Types Revisited
- Inheritance
- Polymorphism
- 8 Sequence Control
- Implicit and Explicit Sequence Control
- Sequencing with Arithmetic Expressions
- Sequence Control between Statements
- Sequencing with Nonarithmetic Expressions
- 9 Subprogram Control
- Subprogram Sequence Control
- Attributes of Data Control
- Parameter Transmission
- Explicit Common Environments
- 10 Storage Management
- Elements Requiring Storage
- Programmer- and System-Controlled Storage
- Static Storage Management
- Heap Storage Management
- 11 Distributed Processing
- Variations on Subprogram Control
- Parallel Programming
- Hardware Developments
- Software Architecture
- 12 Network Programming
- Desktop Publishing
- The World Wide Web
- Appendix: Language Summaries
- Ada
- C
- C++
- FORTRAN
- Java
- LISP
- ML
- Pascal
- Perl
- Postscript
- Prolog
- Smalltalk
- References
- Index