Programming Languages 2nd Ed.

Design and Implementation

Terrence W. Pratt

Publisher: Prentice Hall, 1984, 604 pages

ISBN: 0-13-729328-3

Keywords: Programming

Last modified: July 19, 2021, 3:11 p.m.

Not available

  • Part 1: Concepts
    1. The Study of Programming Languages
      1. Why study programming languages?
      2. A brief history
      3. What makes a good language?
      4. References and suggestions for further reading
      5. Problems
    2. Programming Language Processors
      1. The structure and operations of a computer
      2. Hardware and firmware computers
      3. Translators and software-simulated computers
      4. Syntax, semantics, and virtual computers
      5. Hierarchies of computers
      6. Binding and binding time
      7. References and suggestions for further reading
      8. Problems
    3. Elementary Data Types
      1. Data objects, variables, and constants
      2. Data types
      3. Specification of elementary data types
      4. Implementation of elementary data types
      5. Declarations
      6. Type checking and type conversion
      7. Assignment and initialization
      8. Numeric data types
      9. Enumerations
      10. Booleans
      11. Characters
      12. References and suggestions for further reading
      13. Problems
    4. Structured Data Types
      1. Structured data objects and data types
      2. Specification of data structure types
      3. Implementation of data structure types
      4. Declarations and type checking for data structures
      5. Vectors and arrays
      6. Records
      7. Character strings
      8. Variable-size data structures
      9. Pointers and programmer-constructed data objects
      10. Sets
      11. Files and input-output
      12. References and suggestions for further reading
      13. Problems
    5. Subprograms and Programmer-Defined Data Types
      1. Evolution of the data type concept
      2. Abstraction, encapsulation, and information hiding
      3. Subprograms
      4. Type definitions
      5. Abstract data types
      6. References and suggestions for further reading
      7. Problems
    6. Sequence Control
      1. Implicit and explicit sequence control
      2. Sequence control within statements
      3. Sequence control between statements
      4. Subprogram sequence control: Simple CALL-RETURN
      5. Recursive subprograms
      6. Exceptions and exception handlers
      7. Coroutines
      8. Scheduled subprograms
      9. Tasks and concurrent execution
      10. Data structures and sequence control
      11. References and suggestions for further reading
      12. Problems
    7. Data Control
      1. Names and referencing environments
      2. Static and dynamic scope
      3. Block structure
      4. Local data and local referencing environments
      5. Shared data: Explicit common environments
      6. Shared data: Dynamic scope
      7. Shared data: Static scope and block structure
      8. Shared data: Parameters and parameter transmission
      9. Tasks and shared data
      10. References and suggestions for further reading
      11. Problems
    8. Storage Management
      1. Major run-time elements requiring storage
      2. Programmer- and system-controlled storage management
      3. Storage management phases
      4. Static storage management
      5. Stack-based storage management
      6. Heap storage management: Fixed-size elements
      7. Head storage management: Variable-size elements
      8. References and suggestions for further reading
      9. Problems
    9. Syntax and Translation
      1. General syntactic criteria
      2. Syntactic elements of a language
      3. Stages in translation
      4. Formal definition of syntax
      5. References and suggestions for further reading
      6. Problems
    10. Operating and Programming Environments
      1. Batch-processing environments
      2. Interactive environments
      3. Embedded system environments
      4. Programming environments
      5. References and suggestions for further reading
    11. Theoretical Models
      1. Problems in syntax and translation
      2. Problems in semantics
      3. Conclusion
      4. References and suggestions for further reading
  • Part 2: Languages
    1. FORTRAN 77
      1. Brief overview of the language
      2. An annotated example: Summation of a vector
      3. Data types
      4. Subprograms
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a FORTRAN virtual computer
      10. References and suggestions for further reading
      11. Problems
    2. COBOL
      1. Brief overview of the language
      2. An annotated example: Summing a list of prices
      3. Data types
      4. Subprograms
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a COBOL virtual computer
      10. References and suggestions for further reading
      11. Problems
    3. PL/1
      1. Brief overview of the language
      2. An annotated example: Summation of a vector
      3. Data types
      4. Subprograms and programmer-defined data types
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a PL/1 virtual computer
      10. References and suggestions for further reading
      11. Problems
    4. Pascal
      1. Brief overview of the language
      2. An annotated example: Summation of a vector
      3. Data types
      4. Subprograms and type definitions
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a Pascal virtual computer
      10. References and suggestions for further reading
      11. Problems
    5. Ada
      1. Brief overview of the language
      2. An annotated example: A package for vector processing
      3. Data types
      4. Subprograms, type definitions, and packages
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of an Ada virtual computer
      10. References and suggestions for further reading
      11. Problems
    6. LISP
      1. Brief overview of the language
      2. An annotated example: Building a list of atoms
      3. Data types
      4. Subprograms
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a LISP virtual computer
      10. References and suggestions for further reading
      11. Problems
    7. SNOBOL4
      1. Brief overview of the language
      2. An annotated example:Reversing a sting of elements
      3. Data types
      4. Subprograms and programmer-defined data types
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of a SNOBOL4 virtual computer
      10. References and suggestions for further reading
      11. Problems
    8. APL
      1. Brief overview of the language
      2. An annotated example terminal session;: A program to compute the first N primes
      3. Data types
      4. Subprograms
      5. Sequence control
      6. Data control
      7. Operating and programming environment
      8. Syntax and translation
      9. Structure of an APL virtual computer
      10. References and suggestions for further reading
      11. Problems

Reviews

Programming Languages

Reviewed by Roland Buresund

Very Good ******** (8 out of 10)

Last modified: May 21, 2007, 3:20 a.m.

A very good and classical text. This one should be mandatory reading for any CS student.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required