This book is not intended to be a cookbook for compilers, instead the authors' presentation reflects the special characteristics of compiler design, especially the existence of precise specifications of the subtasks. They invest effort to understand these precisely and to provide adequate concepts for their systematic treatment. This is the first book in a multivolume set, and here the authors describe what a compiler does, i.e., what correspondence it establishes between a source and a target program. To achieve this the authors specify a suitable virtual machine (abstract machine) and exactly describe the compilation of programs of each source language into the language of the associated virtual machine for an imperative, functional, logic and object-oriented programming language.
This book is intended for students of computer science. Knowledge of at least one imperative programming language is assumed, while for the chapters on thetranslation of functional and logic programming languages it would be helpful to know a modern functional language and Prolog. The book is supported throughout with examples, exercises and program fragments.
Dieser Download kann aus rechtlichen Gründen nur mit Rechnungsadresse in A, B, BG, CY, CZ, D, DK, EW, E, FIN, F, GR, HR, H, IRL, I, LT, L, LR, M, NL, PL, P, R, S, SLO, SK ausgeliefert werden.
"The color diagrams provide additional descriptions of each machine instruction operation on the runtime stack; these are clear and helpful. The book provides many clear code generation examples, each with the right level of detail to explain the salient points of a translation. Each chapter ends with an extensive set of exercises designed to help the reader work through additional translation schemes that add more power to the C language subset. ... (The book is) short, written in a spare and clear style, and thoughtfully sequenced for motivated readers. ... (F)or anyone interested in compilers and code generation for modern programming language implementations, this book is a must-read." Michael Zastre, ACM Computing Reviews, December 2011
"This is the second book in a series of textbooks on compilers, intended for students of computer science. ... The level of detail and the large number of exercises make the book suitable for self-study." (Johan Georg Granström, zbMATH, Vol. 1273, 2013)