Chapter 7: Intermediate representation and symbol table