3. Compilatori ed interpreti.

Definiamo compilatore un programma software che trasforma un codice sorgente simbolico (cioè ad alto livello) in codice oggetto (cioè eseguibile direttamente dall'elaboratore); la compilazione avviene in due fasi: 1) analisi: il compilatore determina se il programma da tradurre è formalmente corretto; se sono presenti errori all'interno del sorgente, il compilatore invia un messaggio al programmatore; 2) sintesi: il compilatore genera il programma in linguaggio macchina.

Un interprete è invece un programma che traduce, istruzione per istruzione, un sorgente simbolico in un codice intermedio, prima dell'ulteriore traduzione in codice oggetto.

La sequenza di operazioni compiute da un interprete è la seguente:

i. analisi lessicale, con la quale si identificano i simboli delle variabili e degli operatori;

ii. analisi sintattica, con cui si verifica la correttezza sintattica del programma;

iii. trasformazione, in cui le variabili e gli operatori sono usati per formare un albero con cui può essere costruito un linguaggio intermedio;

iv. produzione di un linguaggio intermedio;

v. produzione del linguaggio macchina.

I vantaggi degli interpreti rispetto ai compilatori sono: a) è più semplice comunicare i messaggi di errore all'utente; b) la versione del programma in linguaggio intermedio è spesso più compatta del codice macchina prodotto dal compilatore; c) una modifica ad una parte del programma non comporta la ricompilazione dell'intero programma.

Lo svantaggio principale di un interprete è rappresentato dalla lentezza nell'esecuzione dei programmi, dovuta al fatto che il codice intermedio viene tradotto ogni volta che il programma viene eseguito.


4. Riferimenti.

[1] AA. VV., Enciclopedia generale di Informatica, Gruppo Editoriale Jackson, Milano, 1989.


Pagina precedente

Questo sito è stato ottimizzato per la visualizzazione con Internet Explorer 6 alla risoluzione di 800x600 pixel. Le immagini ed i marchi citati sono copyright dei rispettivi titolari.

[ Yahoo! ] opzioni

Ada: Panoramica del linguaggio

Informatica ed EDP

Programmazione

Programmazione strutturata

L'elaboratore elettronico

Architettura dell'elaboratore elettronico

MAME: Multiple Arcade Machine Emulator

DVDx 2.0

BlindWrite Suite 4

Home page

Cinema, musica, letteratura e TV

Scienza e tecnologia

Informatica e software

Relax

1