Compiler design: virtual machines

Choice Reviews Online · 2011

Compilers for high-level programming languages are software systems which are both large and complex.Nonetheless, they have particular characteristics that differentiate them from the majority of other software systems.Their functionality is (almost) completely well-defined.Ideally, there exist completely formal, or at least rather precise, specifications of the source and target languages.Often additional specifications of the interfaces to the operating system, to programming environments, and to other compilers and libraries are available.The compilation task can be naturally divided into subtasks.This subdivision results in a modular structure, which, by the way, also leads to a canonical structure of the common compiler design books.Already in the Fifties it was recognized that 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 they were developed for.With the development of higher level machine independent programming languages came the need to offer compilers that are able to translate programs of such programming languages into machine language.

Read the paper · More papers on PaperTik