- Used Books
- Staff Picks
- Gifts & Gift Cards
- Sell Books
- Stores & Events
- Let's Talk Books
Special Offers see all
More at Powell's
Recently Viewed clear list
Ships in 1 to 3 days
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
More copies of this ISBN
Modern Compiler Implementation Java 2ND Editionby Andrew W Appel
Synopses & ReviewsPlease note that used books may not include additional media (study guides, CDs, DVDs, solutions manuals, etc.) as described in the publisher comments.
Last year you may have seen the Modern Compiler Implementation in C: Basic Techniques (1997) which was the preliminary edition of our new 1998 textbook, Modern Compiler Implementation in C. The new, expanded version of this textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies. A unique feature of the book is a well designed compiler implementation project in Java, including front-end and 'high-tech' back-end phases, so that students can build a complete working compiler in one semester. Accompanying support software is available.
Book News Annotation:
This textbook is presented as being appropriate for a two-semester course covering a single-semester introduction to compiler design and a second-semester treatment of more advanced topics. Appel (computer science, Princeton U.) and Palsberg (computer science, Purdue U.) first present chapters on lexical analysis, parsing, abstract syntax, semantic analysis, activation records, translation to intermediate code, basic blocks and traces, instruction selection, liveness analysis, and register allocation. Among the more advanced topics discussed are garbage collection, polymorphic types, dataflow analysis, loop optimizations, static single-assignment form, pipelining and scheduling, and the memory hierarchy.
Annotation c. Book News, Inc., Portland, OR (booknews.com)
Describing all phases of a compiler, this textbook includes good coverage of current techniques in code generation and register allocation, and covers the compilation of functional and object-oriented languages. Advanced chapters cover SSA form, loop scheduling and optimization for cache-memory hierarchies. The most accepted and successful techniques are described and illustrated with actual Java classes. Including discussion of Java and object-oriented programming concepts such as visitor patterns, a unique feature is the newly redesigned compiler project in Java. The project includes both front-end and back-end phases, allowing students to build a complete working compiler in one semester.
Describes all phases of a modern compiler, including current techniques in code generation and register allocation, for imperative, functional, and object oriented languages.
Includes bibliographical references (p. 487-494) and index.
What Our Readers Are Saying
Other books you might like
Computers and Internet » Computer Languages » Java