Intermediate code generation
Compiler Design · Engineering
Study notes
Translate 'a = b*c + d': t1 = b * c; t2 = t1 + d; a = t2. Each instruction has at most one operator: three-address code. Quadruples record (*, b, c, t1). Basic blocks group straight-line code; the whole function becomes a control-flow graph of blocks that optimizers rewrite and code generators lower to assembly.