A flow chart shows the stages of the compiler, including one new step in the semantic analysis stage.
1. The lexer turns program.c into a token list.
2. The parser turns the token list into an abstract syntax tree.
3. Semantic analysis turns the AST into a transformed AST. It has three steps:
a. Identifier resolution
b. Type checking (a new step)
c. Loop Labeling
4. TACKY Generation turns the transformed AST into TACKY.
5. Assembly generation turns TACKY into assembly. It has three steps:
a. Converting TACKY to Assembly
b. Replacing Pseudoregisters
c. Instruction Fix-Up
6. Code emission writes assembly to program.s.
Get Writing a C Compiler 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.