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.

 

Phases of a compiler and intermediate outputs

 

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.