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. The book's companion Web page (www.vladimirsafonov.org/trustworthycompilers) provides an overview of the book and related resources for compiler teachers and students.