Compiler Design: Virtual Machines
Autor Reinhard Wilhelm, Helmut Seidlen Limba Engleză Hardback – 3 dec 2010
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.
Toate formatele și edițiile | Preț | Express |
---|---|---|
Paperback (1) | 308.60 lei 38-45 zile | |
Springer Berlin, Heidelberg – 23 aug 2016 | 308.60 lei 38-45 zile | |
Hardback (1) | 479.35 lei 6-8 săpt. | |
Springer Berlin, Heidelberg – 3 dec 2010 | 479.35 lei 6-8 săpt. |
Preț: 479.35 lei
Preț vechi: 599.18 lei
-20% Nou
Puncte Express: 719
Preț estimativ în valută:
91.73€ • 95.65$ • 76.24£
91.73€ • 95.65$ • 76.24£
Carte tipărită la comandă
Livrare economică 21 martie-04 aprilie
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9783642149085
ISBN-10: 3642149081
Pagini: 196
Ilustrații: XIII, 187 p.
Dimensiuni: 155 x 235 x 18 mm
Greutate: 0.55 kg
Ediția:2011
Editura: Springer Berlin, Heidelberg
Colecția Springer
Locul publicării:Berlin, Heidelberg, Germany
ISBN-10: 3642149081
Pagini: 196
Ilustrații: XIII, 187 p.
Dimensiuni: 155 x 235 x 18 mm
Greutate: 0.55 kg
Ediția:2011
Editura: Springer Berlin, Heidelberg
Colecția Springer
Locul publicării:Berlin, Heidelberg, Germany
Public țintă
ResearchCuprins
IntroductionImperative Programming LanguagesFunctional Programming LanguagesLogic Programming LanguagesObject-Oriented Programming LanguagesReferencesIndex
Recenzii
“This book is markedly different from other books on compiler design. … this one looks at the environments that are needed to support the execution of the programs being compiled. The book treats each of these execution environments as a type of machine that follows the semantics of particular styles of programming languages. … The book’s concepts are illustrated in color, with many examples and visual aids. … Summing Up: Recommended. All academic, professional, and general readers.” F. H. Wild III, Choice, Vol. 48 (11), July 2011
"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
"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
Textul de pe ultima copertă
While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined – ideally there exist complete precise descriptions of the source and target languages, while additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. The implementation of application systems directly in machine language is both difficult and error-prone, leading to programs that become obsolete as quickly as the computers for which they were developed. With the development of higher-level machine-independent programming languages came the need to offer compilers that were able to translate programs into machine language. Given this basic challenge, the different subtasks of compilation have been the subject of intensive research since the 1950s.
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.
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.
Caracteristici
Written by established experts Illustrated with many examples, exercises and program fragments First book in a multivolume set, a new edition of an established textbook Includes supplementary material: sn.pub/extras