Este documento resume as principais etapas da geração de código em compiladores: 1) geração de código intermediário, que produz um código mais próximo da linguagem da máquina antes da tradução final; 2) otimização desse código intermediário para produzir um código objeto mais eficiente; e 3) geração do código objeto final na linguagem da máquina alvo.