Modern Compiler Implementation in Java Revised Edition Contributor(s): Appel, Andrew W. (Author), Palsberg, Jens (With) |
|
ISBN: 052182060X ISBN-13: 9780521820608 Publisher: Cambridge University Press OUR PRICE: $98.80 Product Type: Hardcover - Other Formats Published: October 2002 Annotation: This textbook describes all phases of a compiler and includes thorough coverage of current techniques in code generation and register allocation, plus the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated. |
Additional Information |
BISAC Categories: - Computers | Compilers - Computers | Programming Languages - General - Computers | Software Development & Engineering - General |
Dewey: 005.453 |
LCCN: 2002073453 |
Physical Information: 1.3" H x 8.2" W x 10.1" (2.80 lbs) 512 pages |
Descriptions, Reviews, Etc. |
Publisher Description: This textbook describes all phases of a 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 thorough coverage of current techniques in code generation and register allocation, and the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated with actual Java TM(R) classes. The first part is suitable for a one-semester first course in compiler design. The second part; which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies; can be used for a second-semester or graduate course. This new edition includes more discussion of Java and object-oriented programming concepts such as visitor patterns plus a new Mini-Java programming project. A unique feature is the newly redesigned compiler project in Java for a subset of Java itself. The project includes both front-end and back-end phases. |