Section notes: Week 14

CS 164, Fall 2005

General

The big picture

Compilers are usually divided into modules. The different modules pass different intermediate representations to each other: from the raw program text to a sequence of lexemes to an abstract syntax tree to assembly language to binary machine code. The usual division is lexical analysis, parsing, static analysis, code generation, and optimization; but the boundaries between these modules are not set in stone.

Questions