Elements of Compiler Design

Elements of Compiler Design

Published:
Content:
Author(s):
Free Standard Shipping

Purchasing Options

Hardback
ISBN 9781420063233
Cat# AU6323

$115.95

$92.76

SAVE 20%


eBook (VitalSource)
ISBN 9781420063257
Cat# AUE6323

$115.95

$81.17

SAVE 30%


eBook Rentals

Features

  • Presents the essentials of compiler writing in an easy-to-follow way so students can grasp compiler construction quickly and clearly
  • Includes intuitive explanations, theoretical concepts, definitions, algorithms, and compilation techniques
  • Examines the mathematical foundations of compiler design and related topics, such as formal languages, automata, and transducers
  • Demonstrates how theory and practice work together in a real-world context through the implementation of algorithms, examples, case studies, and software tools, such as lex and yacc
  • Contains the C++ implementation of a real compiler as well as a variety of challenging exercises
  • Provides lecture notes, teaching tips, homework assignments, errata, exams, solutions, and implementation of compilers on a complementary website
  • Summary

    Maintaining a balance between a theoretical and practical approach to this important subject, Elements of Compiler Design serves as an introduction to compiler writing for undergraduate students. From a theoretical viewpoint, it introduces rudimental models, such as automata and grammars, that underlie compilation and its essential phases. Based on these models, the author details the concepts, methods, and techniques employed in compiler design in a clear and easy-to-follow way.

    From a practical point of view, the book describes how compilation techniques are implemented. In fact, throughout the text, a case study illustrates the design of a new programming language and the construction of its compiler. While discussing various compilation techniques, the author demonstrates their implementation through this case study. In addition, the book presents many detailed examples and computer programs to emphasize the applications of the compiler algorithms.

    After studying this self-contained textbook, students should understand the compilation process, be able to write a simple real compiler, and easily follow advanced books on the subject.

    Table of Contents

    PREFACE

    INTRODUCTION
    Mathematical Preliminaries
    Compilation
    Rewriting Systems

    LEXICAL ANALYSIS
    Models
    Methods
    Theory

    SYNTAX ANALYSIS
    Models
    Methods
    Theory

    DETERMINISTIC TOP-DOWN PARSING
    Predictive Sets and LL Grammars
    Predictive Parsing

    DETERMINISTIC BOTTOM-UP PARSING
    Precedence Parsing
    LR Parsing

    SYNTAX-DIRECTED TRANSLATION AND INTERMEDIATE CODE GENERATION
    Bottom-Up Syntax-Directed Translation and Intermediate Code Generation
    Top-Down Syntax-Directed Translation
    Symbol Table
    Semantic Analysis
    Software Tools for Syntax-Directed Translation

    OPTIMIZATION AND TARGET CODE GENERATION
    Tracking the Use of Variables
    Optimization of Intermediate Code
    Optimization and Generation of Target Code

    CONCLUSION
    APPENDIX: IMPLEMENTATION
    BIBLIOGRAPHY
    INDICES

    Exercises appear at the end of each chapter.

    Editorial Reviews

    "The book makes a good compromise between the underlying formal theory and the practical implementation . . . the book is self-contained and the discourse is clean and concise . . . has the right amount of mathematical and formal language support, including the proofs of the lemmas and theorems . . . can be used by computer science students and professionals interested in a concise introduction into compiler writing."

    – Corneliu Bârsan, in Zentralblatt Math, 2009