Compiler Design Virtual Machines /

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 a...

Full description

Bibliographic Details
Main Authors: Wilhelm, Reinhard. (Author), Seidl, Helmut. (Author)
Corporate Author: SpringerLink (Online service)
Format: Electronic
Language:English
Published: Berlin, Heidelberg : Springer Berlin Heidelberg, 2010.
Subjects:
Online Access:https://ezaccess.library.uitm.edu.my/login?url=http://dx.doi.org/10.1007/978-3-642-14909-2
LEADER 03636nam a22004335i 4500
001 11065
003 DE-He213
005 20130725202759.0
007 cr nn 008mamaa
008 101111s2010 gw | s |||| 0|eng d
020 # # |a 9783642149092  |9 978-3-642-14909-2 
024 7 # |a 10.1007/978-3-642-14909-2  |2 doi 
050 # 4 |a QA76.7-76.73 
050 # 4 |a QA76.76.C65 
072 # 7 |a UMX  |2 bicssc 
072 # 7 |a UMC  |2 bicssc 
072 # 7 |a COM051010  |2 bisacsh 
072 # 7 |a COM010000  |2 bisacsh 
082 0 4 |a 005.13  |2 23 
100 1 # |a Wilhelm, Reinhard.  |e author. 
245 1 0 |a Compiler Design  |b Virtual Machines /  |c by Reinhard Wilhelm, Helmut Seidl.  |h [electronic resource] : 
264 # 1 |a Berlin, Heidelberg :  |b Springer Berlin Heidelberg,  |c 2010. 
300 # # |a XIII, 187p. 86 illus. in color.  |b online resource. 
336 # # |a text  |b txt  |2 rdacontent 
337 # # |a computer  |b c  |2 rdamedia 
338 # # |a online resource  |b cr  |2 rdacarrier 
347 # # |a text file  |b PDF  |2 rda 
520 # # |a 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. 
650 # 0 |a Computer science. 
650 1 4 |a Computer Science. 
650 2 4 |a Programming Languages, Compilers, Interpreters. 
650 2 4 |a Programming Techniques. 
700 1 # |a Seidl, Helmut.  |e author. 
710 2 # |a SpringerLink (Online service) 
773 0 # |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9783642149085 
856 4 0 |u https://ezaccess.library.uitm.edu.my/login?url=http://dx.doi.org/10.1007/978-3-642-14909-2 
912 # # |a ZDB-2-SCS 
950 # # |a Computer Science (Springer-11645)