Java Reference
In-Depth Information
1
Introduction
This chapter presents the history of compiler construction and an overview
of compiler organization. Compilers have tracked and even precipitated the
phenomenal gains in computing speed that have accrued in the relatively
short history of computer science. Section 1.1 presents a historical review
of the development and evolution of the programming languages, computer
architectures, and compilers that are in widespread use today.
The general area we study is language processing , which is concerned
with preparing a program to be run on a computer. Most programs are writ-
ten in a relatively high-level language. Language processors ensure that a
program conforms to its programming language's specification, and they of-
ten translate the program into a form that is easier to run on a computer. Some
language processors performmore translation than others. At one extreme, an
interpreter runs a program by examining its high-level constructs and simu-
lating their actions. At the other extreme, a compiler translates the high-level
constructs into low-level machine instructions that can be executed directly by
a computer. The di
ff
erences between compilers and interpreters are discussed
in Section 1.3.
From there, we explain in Section 1.2 what a compiler does and how var-
ious compilers can be distinguished from each other: by the kind of machine
code they generate and by the format of the target code they generate.
In Section 1.3, we discuss a kind of language processor called an inter-
preter and explain how an interpreter di
ers from a compiler. Section 1.4
discusses the syntax (structure) and semantics (meaning) of programs. Next,
ff
1
 
 
Search WWH ::




Custom Search