Your textbook…

Modern Compiler Design

By David Galles

ISBN-10: 1-57676-105-3

ISBN-13: 978-1-57676-105-2What's this?

Published by Addison-Wesley

Pub. Date: Aug 15, 2004

Format: Paper

Table of Contents

1 Introduction
   Why Study Compilers?
   Basic Compiler Design
   Phases of Compilation

2 Lexical Analysis
   File Processing and Tokens
   Deterministic Finite Automata
   Regular Expressions
   JavaCC -- A Lexical Analyzer and Parser Generator
   Creating a Lexical Analyzer for simpleJav using JavaCC
   Lex - A Lexical Analyzer Generator
   Exercises 

3 Context-Free Grammars

   Context-Free Grammar Defintion
   Derivations
   CFG Shorthand
   Parse Trees
   Ambiguous Grammars
   Extended Bakus Naur Form
   Exercisees

4 Top-Down Parsing

   Recursive Descent Parsers
   Grammars That Are Not LL(1)
   LL(k) Parsers
   JavaCC -- A LL(k) Parser Generator
   Writing a Parser for simpleJava Using JavaCC
   Exercises

5 Bottom-up Parsing
   Rightmost Parsers
   Creating LR Parse Tables
   Yacc - Yet ANother Compiler Compiler
   Exercises

6 Abstract Syntax Trees

   Abstract Syntax Tree Definition
   Implementing Trees in Java
   JavaCC Actions
   Creating an Abstract Syntax Tree for simpleJava using JavaCC
   Working with Abstract Syntax Trees in C
   Exercises

7 Semantic Analysis
   Semantic Errors
   Environments
   Type Checking
   Semantic Analyzer Overview
   Implementing a Semantic Analyzer for simpleJava in Java
   Semantic Analyzer Project in Java
   Implementing a Semantic Analyzer for simpleJava in C
   Exercises

8 Creating Assembly Trees

   Implementing Variables
   Abstract Assembly
   Creating Abstract Assembly
   Creating Abstract Assembly Trees in Java
   Building Assembly Trees for simpleJava in Java
   Creating Abstract Assembly Trees in C
   Exercises

9 Code Genearation
   Target Assembly Code
   Simple Tiling
   More Sophisticated Tiling
   Extended Example
   Code Generation in Java
   Code Generation in C
   Code Generation For x86
   Exercises

10 Memory Management
      Static Storage
      Heap-Based Storage
      Programmer-Controlled Deallocation
      Automatic Deallocation -- Garbage Collection
     Creating a Programmer-Controlled Memory Manager For simpleJava
     Creating a Garbage Collector for simpleJava
     Exercises

11Object-Oriented Extensions

     Methods in Classes
     Inheritance
     Access Control
     Function and Method Overloading
     Recursive Classes
     Virtual Methods

Appedix A  simpleJava Reference Manual
   Tokens
   Comments
   Program Structure
   Expressions
   Statements
   Built-in Functions
   Sample simpleJava Programs

Appendix B How Lexical Analyzer Generators Work
   Non-Deterministic Finite Automata
   Converting a Regular Expression into a NFA
   Converting a NFA Into a DFA
   State Minimization of Deterministic Finte Automata
   Multiple Types of Final States
   Converting a DFA unto Code
   Extended Example
   Exercises

Textbook

List Price: $102.00

Add to Shopping Cart

Members pay only $91.80

Free FedEx Ground Shipping.