Compiler Technology
Springer-Verlag New York Inc.
978-1-4613-7784-9 (ISBN)
The focus of Compiler Technology: Tools, Translators and Language Implementation is to enable quick development of analysis tools. Both lexical scanner and parser generator tools are provided as supplements to this book, since a hands-on approach to experimentation with a toy implementation aids in understanding abstract topics such as parse-trees and parse conflicts. Furthermore, it is through hands-on exercises that one discovers the particular intricacies of language implementation.
Compiler Technology: Tools, Translators and Language Implementation is suitable as a textbook for an undergraduate or graduate level course on compiler technology, and as a reference for researchers and practitioners interested in compilers and language implementation.
1. Introduction to Language Implementation.- 1.1 Translator Strategies.- 1.2 Translator Components.- 1.3 Implementation of Translator Phases.- 1.4 Summary.- 1.5 Questions.- 2. Language Definition.- 2.1 BNF Notations.- 2.2 Construction of Recursive Descent Parsers.- 2.3 Grammar Restrictions.- 2.4 Summary.- 2.5 Questions.- 3. Lexical Scanners.- 3.1 Scanner Framework.- 3.2 Formalisms.- 3.3 Constructing Scanners from Specifications.- 3.4 Constructing a Finite State Machine from a Regular Grammar.- 3.5 Constructing a Finite State Machine from a Regular Expression.- 3.6 Deterministic State Transition.- 3.7 Optimizing a Finite State Machine.- 3.8 Implementation of a Finite State Machine.- 3.9 Considerations for Scanner Implementation.- 3.10 Summary.- 3.11 Questions.- 4. Syntactic Analysis.- 4.1 Recursive Descent Parsing and Top-down Analysis.- 4.2 Bottom-up Analysis.- 4.3 Tree Construction.- 4.4 Generating Parse Configurations.- 4.5 Generating LR(0) Parse Tables.- 4.6 Parsing Conflicts.- 4.7 Extending LR(0) Tables for LR(1) Parsing.- 4.8 Parse Table Optimization: SLR(1) and LALR(1) Methods.- 4.9 Parsing With non-LL(1) or non-LR(1) Grammars.- 4.10 Summary.- 4.11 Questions.- 5. Incorporating Semantic Analysis.- 5.1 Syntax-Directed Analysis.- 5.2 Semantic Analysis in a Recursive Descent Parser.- 5.3 Specifying Action Routines in Generated Parsers.- 5.4 Attribute Propagation within Parser Drivers.- 5.5 yacc Example.- 5.6 Inherited and Synthesized Attribute Propagation.- 5.7 Summary.- 5.8 Questions.- 6. Semantic Processing.- 6.1 General Structure of Programming Languages.- 6.2 Symbol Tables.- 6.3 Type Definitions.- 6.4 Processing Summary.- 6.5 Formal Specifications via Attribute Grammars.- 6.6 Example Specification of a Block Structured Language.- 6.7 Attribute Evaluation Strategies.- 6.8 Summary.- 6.9 Questions.- 7. The Program Run-Time Environment.- 7.1 Program Representations.- 7.2 Storage Allocations.- 7.3 Dynamic Variables.- 7.4 Summary.- 7.5 Questions.- 8. Intermediate Code and Interpreters.- 8.1 Intermediate Representation.- 8.2 Syntax-Directed Translation.- 8.3 Representing a Nested Block-Structured Language.- 8.4 Interpreter Implementation.- 8.5 Efficiency Improvements.- 8.6 Summary.- 8.7 Questions.- 9. Code Generation.- 9.1 Macro Expansion.- 9.2 Register Allocation.- 9.3 Instruction Sequencing.- 9.4 Instruction and Addressing Mode Selection.- 9.5 Summary.- 9.6 Questions.
Reihe/Serie | The Springer International Series in Engineering and Computer Science ; 422 |
---|---|
Zusatzinfo | XVIII, 210 p. |
Verlagsort | New York, NY |
Sprache | englisch |
Maße | 155 x 235 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Informatik ► Theorie / Studium ► Compilerbau | |
ISBN-10 | 1-4613-7784-6 / 1461377846 |
ISBN-13 | 978-1-4613-7784-9 / 9781461377849 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich