(1) Software che converte un insieme di istruzioni di linguaggio di alto livello in una rappresentazione di livello inferiore. Ad esempio, un compilatore della guida converte un documento di testo incorporato con comandi appropriati in un sistema di guida in linea. Un compilatore dizionario converte termini e definizioni in un sistema di ricerca dizionario.
(2) Software che traduce un programma scritto in un linguaggio di programmazione di alto livello (C / C++, COBOL, ecc.) in linguaggio macchina. Un compilatore di solito genera prima il linguaggio assembly e poi traduce il linguaggio assembly in linguaggio macchina. Un’utilità nota come” linker ” combina quindi tutti i moduli del linguaggio macchina richiesti in un programma eseguibile che può essere eseguito nel computer. Vedere ottimizzazione del compilatore.
Il seguente è un esempio concettuale di codice sorgente convertito in linguaggio assembly e codice macchina dal compilatore:
Source Code IF COUNT=10 GOTO END-OF-JOB ELSE GOTO COMPUTE-AGAIN ENDIF Assembly Language Machine Language Compare A to B Compare 3477 2883 If equal go to C If = go to 23732 Go to D Go to 23119 Machine Code 10010101001010001010100 10101010010101001001010 10100101010001010010010