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® 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 2-nd edition Автор Andrew W Appel. Редактор:Издательство: Cambridge University Press Твердый переплет, 512 стр ISBN 0-521-82060-X. |