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 the translation 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.
Is the information for this product incomplete, wrong or inappropriate?
Let us know about it.
Does this product have an incorrect or missing image?
Send us a new image.
Is this product missing categories?
Add more categories.
Review This Product
No reviews yet - be the first to create one!