Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Building an Optimizing Compiler

Buy
Building an Optimizing Compiler, 9781555581794 (155558179X), Digital Press, 1998

This book describes one design for the optimization and code-generation phases of such a compiler. Many compiler books are available for describing the analysis of programming languages. They emphasize the processes of lexical analysis, parsing, and semantic analysis. Several books are also available for describing compilation processes for vector and parallel processors. This book describes the compilation of efficient programs for a single superscalar RISC processor, including the ordering and structure of algorithms and efficient data structures.

The book is presented as a high-level design document. There are two reasons for this. Initially, I attempted to write a book that presented all possible alternatives so that the reader could make his or her own choices of methods to use. This was too bulky, as the projected size of the volume was several thousand pages—much too large for practical purposes. There are a large number of different algorithms and structures in an optimizing compiler. The choices are interconnected, so an encyclopedic approach to optimizing compilers would not address some of the most difficult problems.

Second, I want to encourage this form of design for large software processes. The government uses a three-level documentation system for describing software projects: The A-level documents are overview documents that describe a project as a whole and list its individual pieces. B-level documents describe the operation of each component in sufficient detail that the reader can understand what each component does and how it does it, whereas the C-level documents are low-level descriptions of each detail.

As a developer I found this structure burdensome because it degenerated into a bureaucratic device involving large amounts of paper and little content. However, the basic idea is sound. This book will describe the optimization and code-generation components of a compiler in sufficient detail that the reader can implement these components if he or she sees fit. Since I will be describing one method for each of the components, the interaction between components can be examined in detail so that all of the design and implementation issues are clear.

Each chapter will include a section describing other possible implementation techniques. This section will include bibliographic information so that the interested reader can find these other techniques.

(HTML tags aren't allowed.)

Compiler Design (International Computer Science Series)
Compiler Design (International Computer Science Series)
Provides a comprehensive, modern approach to the design and construction of compilers. Includes in-depth coverage of compiler generation methods for lexical, syntax and semantic analysis.

About the Author

Reinhard Wilhelm is Professor of Computer Science at the University of the Saarland in
...
Introduction to Automata Theory, Languages and Computation (Addison-Wesley series in computer science)
Introduction to Automata Theory, Languages and Computation (Addison-Wesley series in computer science)

Ten years ago the authors undertook to produce a book covering the known material on formal languages, automata theory, and computational complexity. In retrospect, only a few significant results were overlooked in the 237 pages. In writing a new book on the subject, we find the field has expanded in so many new directions that a...

Encyclopedia of Algorithms
Encyclopedia of Algorithms
The Encyclopedia of Algorithms aims to provide the researchers, students, and practitioners of algorithmic research with a mechanism to efficiently and accurately find the names, definitions, key results, and further readings of important algorithmic problems.

The work covers a wide range of algorithmic areas, and each algorithmic area
...

Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)

In the time since the 1986 edition of this book, the world of compiler design has changed significantly. Programming languages have evolved to present new compilation problems. Computer architectures offer a variety of resources of which the compiler designer must take advantage. Perhaps most interestingly, the venerable technology of...

Algorithms in Java: Parts 1-4, Third Edition
Algorithms in Java: Parts 1-4, Third Edition

Sedgewick has a real gift for explaining concepts in a way that makes them easy to understand. The use of real programs in page-size (or less) chunks that can be easily understood is a real plus. The figures, programs, and tables are a significant contribution to the learning experience of the reader; they make this book...

Handbook of Software Quality Assurance
Handbook of Software Quality Assurance
The industry's top guide to software quality -- completely updated!

Practical techniques for mission-critical and commercial software.

Build a great software quality organization.

Prepare for ASQ Software Quality Engineer Certification.

Software quality assurance has never been more challenging -- nor more...

©2019 LearnIT (support@pdfchm.net) - Privacy Policy