Book sale: Save up to 25% on print and eBooks. No promo code needed.
Book sale: Save up to 25% on print and eBooks.
Programming Language Structures
1st Edition - January 1, 1978
Authors: Elliott I. Organick, Alexandra I. Forsythe, Robert P. Plummer
9 7 8 - 1 - 4 8 3 2 - 6 4 8 7 - 5
Programming Language Structures deals with the structures of programming languages and introduces the reader to five important programming languages: Algol, Fortran, Lisp, Snobol,… Read more
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
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.
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 ReadingPart 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 ReadingAppendixBibliographyAnswers to Selected ExercisesIndex