1.6 A More Detailed Look at Phases of a Compiler
We have already seen that a compiler has the following phases:
- Pre-processing
- Scanner – Lexical Analysis
- Parser – Syntax Analysis
- Mapper – Semantic Analysis
- Code Generation
- Assembler
- Optimization (spread over several phases)
- Error Checking (spread over several phases)
A compiler generates intermediate files between these phases, to communicate output of one phase as input to the next (see Fig. 1.14).
We now discuss each phase of a compiler in some details.
Fig. 1.14 Phases of a compiler and intermediate outputs
1.6.1 Lexical Analyzer - Scanner
Does lexical analysis, by doing the following: ...
Get Compilers: Principles and Practice now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.