26 Chapter 1 Preliminaries
Source
programLexical
analyzerSyntax
analyzerIntermediate
code generator
and semantic
analyzerOptimization
(optional)Symbol
tableCode
generatorComputerResultsInput dataMachine
languageIntermediate
codeParse treesLexical unitsFigure 1.3
The compilation process
The intermediate code generator produces a program in a different lan-
guage, at an intermediate level between the source program and the final out-
put of the compiler: the machine language program.^4 Intermediate languages
sometimes look very much like assembly languages, and in fact, sometimes are
actual assembly languages. In other cases, the intermediate code is at a level- Note that the words program and code are often used interchangeably.