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 two steps:
a. Variable resolution
b. Loop Labeling (a new step)
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.