Este documento describe los códigos intermedios utilizados en la generación de código en los compiladores. Explica que los compiladores generan código en dos fases: primero producen una representación intermedia independiente de la máquina, y luego generan el código de objetivo. Las representaciones intermedias facilitan la reutilización de partes del compilador y la optimización independiente de la máquina. Se mencionan algunos tipos comunes de representaciones intermedias como la notación posfija y las árboles sintácticos abstractos.