|
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. |

|
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. |
|
Ada: Panoramica del linguaggio Architettura dell'elaboratore elettronico |