Trustworthy Compilers
- 5h 51m
- Vladimir O. Safonov
- John Wiley & Sons (US)
- 2010
The Most Complete, Real-World Guide to Compiler
Development—and the Principles of Trustworthy Compilers
Drawing on the author's over thirty years of expertise in compiler development, research, and instruction, Trustworthy Compilers introduces and analyzes the concept of trustworthy compilers and the principles of trustworthy compiler development, and provides analytical overview of other promising research works in this area.
Vladimir Safonov shares the benefit of his long experience as a teacher and compiler development professional to explain that—even in such a well-studied area as compilers—there is still an opportunity for original results, efficient algorithms, and promising research and development. Beginning with a definition of the trustworthy compiler and a review of the history of compiler development, Trustworthy Compilers features:
- A complete overview of all essential compiler topics, including lexical analysis, parsing, semantic analysis, compiler optimization, code generation, and traditional and modern approaches to runtime
- Efficient, ready-to-apply algorithms for various phases of compilation, especially for semantic analysis, developed by the author and used in his real compilers
- High-yield coverage of graph compilers—a novel compiler development area—plus related concepts such as graph grammars and graph compilers, and editor development tools such as DiaGen
- Real projects—using examples of real compilers—that cover the key topics related to compiler development and compiling methods
- A survey of novel kinds of compilation, including just-in-time (JIT) and ahead-of-time (AOT) compilation, which are characteristic of modern software development platforms Java and .NET
- Sections on modern compiler tools—such as ANTLR, CoCo/R, and SableCC
Covering both classical techniques and innovative ones not covered by other books, Trustworthy Compilers helps both practicing professionals and students meet the challenge of making compilers more trustworthy.
About the Author
VLADIMIR O. SAFONOV is one of the leading specialists in computer science and software engineering in Russia. He is a Professor of Computer Science at St. Petersburg University and the head of the Java Technology Laboratory at the university. In 2000 and 2001, students of his department won the world championship for the ACM programming contest. Professor Safonov holds four U.S. software patents, four Russian software patents, and has published 120 papers and six books. He is the author of Using Aspect-Oriented Programming for Trustworthy Software Development (Wiley). He is the chair of the IEEE Region 8 Russia North-West Computer Society/Technology Management Council Joint Chapter. He was also a Microsoft Research 2005/2006 RFP winner for TWC and Secure Software Development.
In this Book
-
Introduction
-
Theoretical Foundations and Principles of Trustworthy Compilers
-
Lexical Analysis and its Trustworthiness Principles
-
Parsing and Trustworthy Methods of Syntax Error Recovery
-
Semantic Analysis and Typing—Efficient and Trustworthy Techniques
-
Trustworthy Optimizations
-
Code Generation and Runtime Data Representation
-
Runtime, JIT, and AOT Compilation
-
Graph Grammars and Graph Compilers
-
Microsoft Phoenix, Phoenix-Targeted Tools, and Our Phoenix Projects
-
Conclusions
-
References