Da quello che ho capito, a grandissime linee, un compilatore compila il linguaggio di alto livello (es. C++) in codice oggetto, o linguaggio macchina, per il computer, che poi lo esegue. Non mi è molto chiaro cosa fa, o meglio, come fa, l'interprete...
Da Wikipedia:
Un interprete, in informatica e nella programmazione, è un programma in grado di eseguire altri programmi a partire direttamente dal relativo codice sorgente. Ha lo scopo di eseguire un programma in un linguaggio di alto livello, senza la previa compilazione dello stesso (codice oggetto) cioè di eseguire le istruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguaggio macchina.
Come può l'interprete eseguire direttamente un programma a partire dal codice sorgente?