Writing Compilers and Interpreters: A Modern Software Engineering Approach Using Java, Third Edition
- 8h 33m
- Ronald Mak
- John Wiley & Sons (US)
- 2009
Master the skills you need to build your own compilers and interpreters
Compilers and interpreters are very difficult programs to write, but modern software engineering tackles the complexity. Design patterns and other object-oriented programming techniques guide you to develop well-structured code in incremental, understandable steps. Apply what you learn in this book to succeed with any complex software project.
You'll learn to:
- Use Java to develop scanners and parsers for programming languages
- Employ UML to model software components
- Manage symbol tables with the Java Collections Framework
- Use XML to represent the generated intermediate code
- Develop an interpreter to execute programs, including a powerful interactive source-level debugger
- Implement an integrated development environment (IDE) that animates the execution of programs
- Use the IDE's graphical user interface to set breakpoints and single-step programs statement by statement with mouse clicks
- Develop a code generator that emits object code for the Java Virtual Machine (JVM®), and run the compiled code on multiple platforms
About the Author
Ronald Mak wrote the earlier editions of this very successful book as well as The Martian Principles for Successful Enterprise Systems: 20 Lessons Learned from NASA's Mars Exploration Rover Mission (also published by Wiley). He is also the author of Java Number Cruncher: The Java Programmer's Guide to Numerical Computing. He develops advanced software systems for organizations from startups to NASA. Currently a research staff member at the IBM Almaden Research Center, he also teaches compiler writing and software engineering at San José State University.
In this Book
-
Introduction
-
Introduction
-
Framework I—Compiler and Interpreter
-
Scanning
-
The Symbol Table
-
Parsing Expressions and Assignment Statements
-
Interpreting Expressions and Assignment Statements
-
Parsing Control Statements
-
Interpreting Control Statements
-
Parsing Declarations
-
Type Checking
-
Parsing Programs, Procedures, and Functions
-
Interpreting Pascal Programs
-
An Interactive Source-Level Debugger
-
Framework II—An Integrated Development Environment (IDE)
-
Jasmin Assembly Language and Code Generation for the Java Virtual Machine
-
Compiling Programs, Assignment Statements, and Expressions
-
Compiling Procedure and Function Calls and String Operations
-
Compiling Control Statements, Arrays, and Records
-
Additional Topics