Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Modern Compiler Design - David Galles

Modern Compiler Design

(Autor)

Buch | Softcover
376 Seiten
2005
Addison-Wesley Educational Publishers Inc (Verlag)
978-1-57676-105-2 (ISBN)
CHF 209,95 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Presents an overview of the important theoretical topics mixed with examples. This book includes an integrated Java project that leads to an understanding of the issues involved in compiler design.
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.

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

Erscheint lt. Verlag 25.5.2005
Verlagsort New Jersey
Sprache englisch
Maße 216 x 276 mm
Themenwelt Informatik Theorie / Studium Compilerbau
ISBN-10 1-57676-105-3 / 1576761053
ISBN-13 978-1-57676-105-2 / 9781576761052
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
CHF 41,85
a beginner's guide to learning llvm compiler tools and core …

von Kai Nacke

Buch | Softcover (2024)
Packt Publishing Limited (Verlag)
CHF 69,80