Normal view MARC view ISBD view

Compiling with continuations / Andrew W. Appel.

By: Appel, Andrew W, 1960-.
Publisher: Cambridge : Cambridge University Press, 1992Description: x, 262 p. ; 26 cm.ISBN: 0521416957.Subject(s): Standard ML of New Jersey | Compilers (Computer programs)DDC classification: 005.453
Contents:
Acknowledgments. - 1. Overview. - 2. Continuation-passing style. - 3. Semantics of the CPS. - 4. ML-specific optimizations. - 5. Conversion into CPS. - 6. Optimization of the CPS. - 7. Beta expansion. - 8. Hoisting. - 9. Common subexpressions. - 10. Closure conversion. - 11. Register spilling. - 12. Space complexity. - 13. The abstract machine. - 14. Machine-code generation. - 15. Performance evaluation. - 16. The runtime system. - 17. Parallel programming. - 18. Future directions. - A. introduction to ML. B. Semantics of the CPS. - C. obtaining Standard ML of New Jersey. - D. Readings. - Bibliography. - Index.
Summary: "The control and data flow of a program can be represented using continuations, a concept from denotational semantics that has practical application in real compilers. This book shows how continuation-passing style is used as an intermediate representation on which to perform optimizations and program transformations. Continuations can be used to compile most programming languages. The method is illustrated in a compiler for the programming language standard ML. However prior knowledge of Ml is not necessary, as the author carefully explains each concept as it arises. This is the first book to show concepts from the theory of programming languages can be applied to the production of practical optimizing compilers for modern languages such as ML. All the nitty-gritty details of compiling to really good machine code are covered, including the interface to a runtime system and garbage collector. This book will be essential reading for compiler writers in both industry and academe, as well as for students and researchers in programming-language theory." - Back cover.
Item type Current location Call number Copy number Status Notes Date due Barcode Remark
Main Collection TU External Storage-LCS
005.453 APP (Browse shelf) 1 Available SOCIT, SOCIT, 560590 1000104279 Please fill up online form at https://taylorslibrary.taylors.edu.my/services/external_storage1

Acknowledgments. - 1. Overview. - 2. Continuation-passing style. - 3. Semantics of the CPS. - 4. ML-specific optimizations. - 5. Conversion into CPS. - 6. Optimization of the CPS. - 7. Beta expansion. - 8. Hoisting. - 9. Common subexpressions. - 10. Closure conversion. - 11. Register spilling. - 12. Space complexity. - 13. The abstract machine. - 14. Machine-code generation. - 15. Performance evaluation. - 16. The runtime system. - 17. Parallel programming. - 18. Future directions. - A. introduction to ML. B. Semantics of the CPS. - C. obtaining Standard ML of New Jersey. - D. Readings. - Bibliography. - Index.

"The control and data flow of a program can be represented using continuations, a concept from denotational semantics that has practical application in real compilers. This book shows how continuation-passing style is used as an intermediate representation on which to perform optimizations and program transformations. Continuations can be used to compile most programming languages. The method is illustrated in a compiler for the programming language standard ML. However prior knowledge of Ml is not necessary, as the author carefully explains each concept as it arises. This is the first book to show concepts from the theory of programming languages can be applied to the production of practical optimizing compilers for modern languages such as ML. All the nitty-gritty details of compiling to really good machine code are covered, including the interface to a runtime system and garbage collector. This book will be essential reading for compiler writers in both industry and academe, as well as for students and researchers in programming-language theory." - Back cover.