Subject Area: Programming Languages and Paradigms
in CIDEC Library.
Dieter MAURER, Dipl.-Math.
HighTec EDV Systeme GmbH, Saabrücken.
translated by Stephen S. Wilson
Series: International Computer Science Series. Ed. A.D. McGettrick.
Publisher : Addison-Wesley Publishing Co. - Wokingham, England : Reading, MA
Bibliographic :
This book is a comprehensive, up to date account of the concepts and techniques involved in compiler construction. A unique feature is the coverage given to compilation techniques for object-oriented, functional and logic languages in addition to traditional imperative languages. Providing enough material for a two-semester course, it covers the theoretical background in depth, while remaining focused on techniques which are of practical use to software developers.
Author's ftp site for this book has moved to the address http://www.cs.uni-sb.de/users/martin/COMP.
CONTENTS :
Introduction * High Level Programming Languages * Implementation of Programming Languages * Interpreters * Compilers * Real and Abstract Machines
Compilation Of Imperative Programming Languages * Language Concepts and Their Compilation * The Architecture of the P Machine * Value Assignments and Expressions * Conditional and Iterative Statements, Statement Sequences * Memory Occupancy for Variables of Simple Type * Memory Occupancy for Arrays * Memory Occupancy for Records * Pointers and Dynamic Memory Occupancy * Procedures * Main Program
Compilation Of Functional Programming Languages * Language Type and Introductory Example * LaMa. A Simple Functional Programming Language * Introduction to the Compilation of LaMa * Environments and Relationships * The Architecture of the MAMa * Stack Management and Addressing * Instruction Set and Compilation * Implementation of Lists
Compilation Of Logic Programming Languages * Logic Programming Languages * Foundations of Predicate Logic * Unification * Execution of Logic Programs * Prolog * prolog: Abstract Machine and Compilation * Compilation of Prolog * Improvements to Efficiency
Compilation Of Object- Oriented Languages * Concepts of Object-Oriented Languages * The Compilation of Methods * Scheme for Compiling Inheritance * Genericity
Compiler Structure * Compiler Dubtasks * Lexical Analysis * The Filter * Syntax Analysis * Semantic Analysis * Machine-Independent optimization * Address Assignment * Machine-Independent Code Improvement * Real Compiler Structure * Formal Specification and Generation of Compiler Structure * Formal Specification and Generation of Compiler Modules * Literature
Lexical Analysis * The Task of Lexical Analysis * Theoretical Foundations * Languages to Specify Lexical Analysis * The Generation of a Scanner * The Filter * Flex, a Scanner Generator Under UNIX
Syntax Analysis * The Task of Syntax Analysis * Theoretical Foundations * Top-Down Syntax Analysis * Bottom-Up Syntax Analysis * Bison, an LALR (1) Parser Generator
Semantic Analysis * The Task of Semantic Analysis * Attribute Grammars * Some Attribute Grammars * The Generation of Attribute Analyzers
Abstract Interpretation * Introduction * Abstract Interpretation (Denotational Semantics) * Abstract Interpretation (Operational Semantics) * Literature
Trees: Pattern Recognition And Analysis * Software Transformations * Code Selection * The Pattern-Recognition * The Tree-analysis * Finite Tree Automata * Generation of Pattern Recognizes * Generation of Tree Analyzers * Tree Automata with Costs * Implementation
Code Generation * Abstract and Real Machines * Classification of Architectures * Software Representations * Code Generation, Integrated Procedure * Register Allocation by Graph Coloring * Instruction Assignment
Includes bibliographical references (p. 591-598) and index.
Changed 24/01/1997. Comments: monika@cs.ioc.ee