Este documento describe la generación de código intermedio y su optimización como parte del proceso de compilación. Explica que el código intermedio es una representación independiente de la máquina que se asemeja al código objeto. Luego detalla dos formas comunes de representación intermedia: el código de tres direcciones y su implementación mediante cuádruplos o tripletes. Finalmente, ilustra un ejemplo de código fuente y su correspondiente código de tres direcciones para el cálculo del factorial.