Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title Page
Copyright
Dedication
About the Author
Credits
Acknowledgments
Introduction
What You’ll Learn in this Book
A Software Engineering Approach
How the Book Is Organized
Where to Get the Program Code
Chapter 1: Introduction
Goals and Approach
What Are Compilers and Interpreters?
Comparing Compilers and Interpreters
Why Study Compiler Writing?
Conceptual Design
Syntax and Semantics
Lexical, Syntax, and Semantic Analyses
Chapter 2: Framework I: Compiler and Interpreter
Goals and Approach
Language-Independent Framework Components
Parser
Pascal-Specific Front End Components
Initial Back End Implementations
Program 2: Program Listings
Chapter 3: Scanning
Goals and Approach
Program 3: Pascal Tokenizer
Syntax Error Handling
How to Scan for Tokens
A Pascal Scanner
Pascal Tokens
Chapter 4: The Symbol Table
Goals and Approach
Symbol Table Conceptual Design
Symbol Table Interfaces
A Symbol Table Factory
Symbol Table Implementation
Program 4: Pascal Cross-Referencer I
Chapter 5: Parsing Expressions and Assignment Statements
Goals and Approach
Syntax Diagrams
Intermediate Code Conceptual Design
Intermediate Code Interfaces
An Intermediate Code Factory
Intermediate Code Implementation
Parsing Pascal Statements and Expressions
Program 5: Pascal Syntax Checker I
Chapter 6: Interpreting Expressions and Assignment Statements
Goals and Approach
Runtime Error Handling
Executing Assignment Statements and Expressions
Program 6: Simple Interpreter I
Chapter 7: Parsing Control Statements
Goals and Approach
Syntax Diagrams
Error Recovery
Program 7: Syntax Checker II
Control Statement Parsers
Parsing Pascal Control Statements
Chapter 8: Interpreting Control Statements
Goals and Approach
Program 8: Simple Interpreter II
Interpreting Control Statements
Chapter 9: Parsing Declarations
Goals and Approach
Pascal Declarations
Types and the Symbol Table
Scope and the Symbol Table Stack
Parsing Pascal Declarations
Program 9: Pascal Cross-Referencer II
Chapter 10: Type Checking
Goals and Approach
Type Checking
Program 10: Pascal Syntax Checker III
Chapter 11: Parsing Programs, Procedures, and Functions
Goals and Approach
Program, Procedure, and Function Declarations
Parsing a Program Declaration
Parsing Procedure and Function Declarations
Program 11: Pascal Syntax Checker IV
Chapter 12: Interpreting Pascal Programs
Goals and Approach
Runtime Memory Management
Executing Statements and Expressions
Executing Procedure and Function Calls
Program 12-1: Pascal Interpreter
Chapter 13: An Interactive Source-Level Debugger
Goals and Approach
Machine-Level vs. Source-Level Debugging
Debugger Architecture
A Simple Command Language
Program 13-1: Command-Line Source-Level Debugger
Chapter 14: Framework II: An Integrated Development Environment (IDE)
Goals and Approach
The Pascal IDE
Program 14: Pascal IDE
The IDE Process and the Debugger Process
Chapter 15: Jasmin Assembly Language and Code Generation for the Java Virtual Machine
Goals and Approach
Organization of the Java Virtual Machine
The Jasmin Assembly Language
Chapter 16: Compiling Programs, Assignment Statements, and Expressions
Goals and Approach
Compiling Programs
Code Generator Subclasses
Compiling Procedures and Functions
Compiling Assignment Statements and Expressions
The Pascal Runtime Library
Program 16-1: Pascal Compiler I
Chapter 17: Compiling Procedure and Function Calls and String Operations
Goals and Approach
Compiling Procedure and Function Calls
The Pascal Runtime Library
Compiling Strings and String Assignments
Program 17-1: Pascal Compiler II
Chapter 18: Compiling Control Statements, Arrays, and Records
Goals and Approach
Compiling Control Statements
Compiling Arrays and Subscripted Variables
Compiling Records and Record Fields
Program 18-1: Pascal Compiler III
Chapter 19: Additional Topics
Scanning
Syntax Notation
Parsing
Code Generation
Runtime Memory Management
Compiling Object-Oriented Languages
Compiler-Compilers
Index
← Prev
Back
Next →
← Prev
Back
Next →