Scanning

Parsing

Semantic Analysis

Optimization

Code Generation

Tradeoffs

Other System Software

Portability

Benchmarks

Validations

12.2.7 Other System Software

The compiler does not execute in isolation. As well as the operating system, the compiler needs to be aware of the assembler, linker, debugger, runtime systems and libraries, and perhaps also a profiler, a graphical tool and a simulator.