Skip to content

Modern Compiler Design

Spend $50 to get a free DVD!

ISBN-10: 1576761053

ISBN-13: 9781576761052

Edition: 2005

Authors: David Galles

List price: $164.40
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!


A practical overview of all important theoretical topics mixed with many examples. This book includes an integrated Java project that leads to a rich understanding of the issues involved in compiler design.
Customers also bought

Book details

List price: $164.40
Copyright year: 2005
Publisher: Addison Wesley
Publication date: 8/15/2004
Binding: Paperback
Pages: 376
Size: 8.25" wide x 10.75" long x 0.60" tall
Weight: 1.936
Language: English

Why Study Compilers?
Basic Compiler Design
Phases of Compilation
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
Context-Free Grammars
Context-Free Grammar Defintion
CFG Shorthand
Parse Trees
Ambiguous Grammars
Extended Bakus Naur Form
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
Bottom-up Parsing
Rightmost Parsers
Creating LR Parse Tables
Yacc - Yet ANother Compiler Compiler
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
Semantic Analysis
Semantic Errors
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
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
Code Genearation
Target Assembly Code
Simple Tiling
More Sophisticated Tiling
Extended Example
Code Generation in Java
Code Generation in C
Code Generation For x86
Memory Management
a aStatic Storage
Heap-Based Storage
Programmer-Controlled Deallocation a aa aAutomatic Deallocation -- Garbage Collection
Creating a Programmer-Controlled Memory Manager For simpleJava a
Creating a Garbage Collector for simpleJava
Object-Oriented Extensions
Methods in Classes
Access Control
Function and Method Overloading
Recursive Classes
Virtual Methods
asimpleJava Reference Manual
Tokens aa Comments
Program Structure
Built-in Functions aa Sample simpleJava Programs
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