Programming Language Structures

Programming Language Structures

1st Edition - January 1, 1978

Write a review

  • Authors: Elliott I. Organick, Alexandra I. Forsythe, Robert P. Plummer
  • eBook ISBN: 9781483264875

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Programming Language Structures deals with the structures of programming languages and introduces the reader to five important programming languages: Algol, Fortran, Lisp, Snobol, and Pascal. The fundamental similarities and differences among these languages are discussed. A unifying framework is constructed that can be used to study the structure of other languages, such as Cobol, PL/I, and APL. Several of the tools and methodologies needed to construct large programs are also considered. Comprised of 10 chapters, this book begins with a summary of the relevant concepts and principles about algorithms, flowcharts, and computation that a student is expected to know from the first course. The discussion then turns to the semantics of procedure and function call as well as argument-parameter matching with various kinds of parameters; recursion and its relation to tree traversal; syntax formalism for context-free languages; and ALGOL 60 and block structuring. Case study programs are presented to reinforce the reader's understanding of ALGOL 60 and Fortran semantics. The remaining chapters deal with Lisp, Snobol, and Pascal. This monograph is intended for working programmers and students in computer science who have an interest in the subject of programming.

Table of Contents

  • Part One

    1 Basic Concepts

    1-1 Introduction

    1-2 Flowcharts for Structured Programming

    1-3 A Computer Model

    1-4 Procedures and Environments

    1-5 Global and Local Variables

    1-6 The State of the MC

    1-7 References and Suggestions for Further Reading

    2 Interfacing Procedures

    2-1 Introduction

    2-2 Reference Parameters

    2-3 Independence and Interchangeability of Procedures

    2-4 Automating Protection of Arguments

    2-5 Expressions as Arguments in a Procedure Call

    2-6 Function Procedures

    2-7 Name Parameters

    2-8 Parameters That Stand for Procedures or Functions

    2-9 References and Suggestions for Further Reading

    3 Recursion

    3-1 Introduction

    3-2 Additional Examples

    3-3 Tree Traversal and Recursion

    3-4 Binary Tree Traversal

    3-5 Symbolic Differentiation—An Application of Binary Tree Traversal

    3-6 The Searching of Arbitrary Tree Structures

    3-7 References and Suggestions for Future Reading

    4 Syntax Formalism

    4-1 Introduction

    4-2 The BNF Notation

    4-3 Syntax Charts

    4-4 References and Suggestions for Further Reading

    Part Two. Syntax and Semantics of Several Major Programming Languages

    5 Algol

    5-1 Introduction

    5-2 Syntactic Structure of Algol-Like Languages

    5-3 Syntactic Structure of Algol 60

    5-4 Syntax of Algol Declarations and Statements

    5-5 Semantics of Algol Blocks

    5-6 Semantics of Algol Procedures

    5-7 Case Studies—Two Elementary Examples

    5-8 Case Studies of Recursive Functions—Two Examples

    5-9 Name Parameters Matched to Expressions

    5-10 Parameters That Are Procedures

    5-11 Own Identifiers in Algol

    5-12 References and Suggestions for Further Reading

    6 Fortran

    6-1 Introduction

    6-2 Overview of Fortran Syntax and Semantics

    6-3 Global Variables in Fortran

    6-4 Syntax of Individual Fortran Statements and Program Units

    6-5 Case Study

    6-6 New Developments in Fortran

    6-7 Additional Case Studies

    6-8 Input/Output in Fortran

    6-9 A Brief Comparison of Algol and Fortran

    6-10 References and Suggestions for Further Reading

    7 Lisp

    7-1 Introduction

    7-2 Data Objects in Lisp

    7-3 Storage Structures for S-Expressions

    7-4 The Five Basic Lisp Functions

    7-5 Avoiding Evaluation of Arguments: The Use of the Quote

    7-6 The Lisp Interpreter

    7-7 Overview of Lisp Syntax and Semantics

    7-8 The Syntax of Lisp and RLisp

    7-9 Predefined Functions of Lisp

    7-10 Arithmetic Operations in Lisp

    7-11 Case Studies

    7-12 Function Arguments and Procedure Parameters

    7-13 Case Study 4: A Program for Symbolic Differentiation

    7-14 Achieving the Effect of Name Parameters in Lisp

    7-15 References and Suggestions for Further Reading

    8 Snobol

    8-1 Introduction

    8-2 A Flowchart Language for String Processing Operations

    8-3 Snobol Syntax

    8-4 Storage Structures for Variables

    8-5 Syntax and Semantics of Procedure Declarations and Calls

    8-6 Snobol Case Study: Symbolic Differentiation

    8-7 Simulating Reference Parameters in Snobol

    8-8 Conversion from One Data Type to Another

    8-9 Defining and Using New Data Types

    8-10 Defining the Primitive Functions of Lisp in Snobol

    8-11 Tables and Arrays in Snobol

    8-12 A Fortran Preprocessor in Snobol

    8-13 References and Suggestions for Further Reading

    9 Multisequence Algorithms

    9-1 Introduction

    9-2 Two Types of Multisequencing: Asynchronous Tasks and Coroutines

    9-3 Case Study for Asynchronous Tasking

    9-4 Case Studies for Coroutine Tasks

    9-5 References and Suggestions for Further Reading

    10 Pascal

    10-1 Introduction

    10-2 Primitive Data Types

    10-3 Structured Data Types

    10-4 Program Structure

    10-5 Constructs for Structured Programming

    10-6 Parameter Specification and Treatment

    10-7 Input/Output

    10-8 Case Study: The Four-Color Problem

    10-9 References and Suggestions for Further Reading



    Answers to Selected Exercises


Product details

  • No. of pages: 678
  • Language: English
  • Copyright: © Academic Press 1978
  • Published: January 1, 1978
  • Imprint: Academic Press
  • eBook ISBN: 9781483264875

About the Authors

Elliott I. Organick

Alexandra I. Forsythe

Robert P. Plummer

Ratings and Reviews

Write a review

There are currently no reviews for "Programming Language Structures"