O objetivo desta aula é apresentar o conceito de representações intermediárias de código, com foco particular em código de três endereços. O objetivo desta aula é introduzir o conceito de representações intermediárias (IRs) no processo de compilação, discutindo seu papel como forma abstrata de comunicação entre as fases de análise e síntese do compilador. A aula apresenta o fato de que há diferentes tipos de IRs (gráficas, lineares e híbridas), destacando a importância da modularidade e portabilidade que elas proporcionam. Em seguida, é detalhado o código de três endereços (three-address code) como forma comum de IR linear, com ênfase em sua estrutura (quadruples). Por fim, são discutidas regras semânticas para geração de código intermediário, tanto para expressões aritméticas quanto para expressões booleanas e comandos de controle de fluxo.