Możliwe jest również tłumaczenie do postaci zrozumiałej dla człowieka.
Określenie kompilacja używane jest zazwyczaj w kontekście tłumaczenia z języka wysokiego poziomu na język niskiego poziomu, natomiast tłumaczenie w odwrotnym kierunku to dekompilacja.
Na proces kompilacji składają się następujące etapy: wykonanie poleceń preprocesora analiza leksykalna analiza składniowa (ang. parsing) analiza semantyczna optymalizacja kodu wynikowego generowanie kodu.
Trójetapowa struktura kompilatorów thumb|400px|Główne etapy struktury kompilatorów Niezależnie od rzeczywistej ilości faz w strukturze kompilatorów, fazy te mogę być podzielona na 3 etapy nazywane front-endem, middle-endem i back-endem. Front-end weryfikuje składnię i semantykę w zależności od danego języka programowania. Middle-end wykonuje optymalizacje kodu, które są niezależne od docelowej architektury procesora. Back-end wykonuje dalsze analizy, transformacje i optymalizacje, które są specyficzne dla docelowej architektury procesora.