Wiley Trustworthy Compilers 978-0-470-50095-8 Benutzerhandbuch
Produktcode
978-0-470-50095-8
Chapter
1
Introduction
Trustworthy Compilers, by Vladimir O. Safonov
Copyright © 2010 John Wiley & Sons, Inc.
Copyright © 2010 John Wiley & Sons, Inc.
This chapter is an introductory one. It introduces the basic concept of a trust-
worthy compiler used throughout the book. Also, it covers the basics of com-
pilers and compilation from a modern viewpoint — different kinds of compilers
and the phases of compilation — and summarizes compilers history and com-
piler development technologies.
worthy compiler used throughout the book. Also, it covers the basics of com-
pilers and compilation from a modern viewpoint — different kinds of compilers
and the phases of compilation — and summarizes compilers history and com-
piler development technologies.
In traditional meaning, a compiler is a program that translates the source
code written in some high - level language (Pascal, C, C++, Java, C#, etc.) to
object code — native machine code executable on some hardware platform
(e.g.,
object code — native machine code executable on some hardware platform
(e.g.,
×
86,
×
64, or Scalable Processor ARChitecture [SPARC ]). In this sense,
compilers seem to be an old and well - studied topic. However, right now, the
concept of a compiler is much wider. Also, there are many reasons stimulating
further growth of compilers and progress in compiling techniques, in
particular:
concept of a compiler is much wider. Also, there are many reasons stimulating
further growth of compilers and progress in compiling techniques, in
particular:
•
the development and wide spread of novel hardware architectures, like
multi - core , Very Long Instruction Word ( VLIW ), Explicit Parallelism
Instruction Computers ( EPIC
Instruction Computers ( EPIC
), and others, that require much more
“ intelligence ” from the compiler than before, in particular, require from
the compiler to perform static parallelizing of program execution and
scheduling parts of hardware working in parallel;
the compiler to perform static parallelizing of program execution and
scheduling parts of hardware working in parallel;
•
the progress and wide popularity of two novel software development
platforms, Java and .NET, whose computing and compilation model
1
COPYRIGHTED MATERIAL