Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers National Center for Women & Information Technology View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 1576761053
ISBN-13: 9781576761052
Publisher: Addison-Wesley
Copyright: 2005
Format: Paper
Published: 08/15/2004
Suggested retail price: $95.00
Buy from myPearsonStore
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.
Student support files for Galles can be found here: http://www.aw-bc.com/cssupport/Galles.html.
A list of Errata and more project suggestions can be found here: http://www.cs.usfca.edu/galles/compilerdesign/.
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
- CS Support-Student Support Material
Addison-Wesley
© 2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855
URL: http://www.aw.com/cssupport
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

