I principali tipi di compilatori di computer sono compilatori a passata singola, compilatori a più passaggi, compilatori incrociati e compilatori di ottimizzazione. Un compilatore accetta una lingua di computer, chiamata codice sorgente e la converte nella lingua di destinazione . Consente a un computer di essere in grado di leggere diversi codici sorgente. Un compilatore rende il software più veloce e utilizza meno memoria.
I compilatori sono considerati tipi specifici di traduttori di computer. Traducono i codici sorgente da un linguaggio di alto livello in un linguaggio di livello inferiore, come codici macchina e codice assembly.
Un cross-compilatore è uno che può essere eseguito sul sistema operativo di un computer che è diverso dal sistema operativo che il programma normalmente utilizza. Abbatte i codici binari, li comprende e consente ai programmatori di accedere ai codici.
Un compilatore è un programma per computer scritto in linguaggio di implementazione. Il primo compilatore in grado di compilare il proprio codice sorgente è stato sviluppato nel 1962. Negli anni '90, i compilatori gratuiti e gli strumenti di sviluppo del compilatore sono stati sviluppati in maniera massiccia. I compilatori moderni sono di alta qualità e sono scritti in molti tipi di lingue. Un programma di compilazione che traduce un programma di basso livello in uno di livello superiore viene definito un decompilatore.