Da der vom Codegenerator (siehe 2.5.5.5) erzeugte Programmcode nur sehr selten den genauen Vorstellungen der Entwickler entsprechen dürfte, überarbeiten Programmierer den Code, bis das gewünschte Ergebnis vorliegt. Daraufhin generieren sie mit Hilfe eines Compilers den ausführbaren Maschinencode.