5. Compilatori ed Interpreti
Versione 1.1 – Marzo 2009
5. COMPILATORI ED INTERPRETI
Sono entrambi programmi in grado di tradurre le istruzioni di un programma scritto in un
linguaggio di programmazione ad alto livello detto programma sorgente, in istruzioni
comprensibili al computer ossia in istruzioni di un programma scritto in linguaggio macchina detto
programma oggetto (sequenze di ‘0’ ed ‘1’ comprensibili per l’elaboratore).
Sono in pratica dei programmi traduttori ma sono profondamente diversi nel funzionamento
perché:
I compilatori sono programmi che accettano in input un intero programma scritto in
linguaggio ad alto livello (programma sorgente) e lo traducono interamente in un
programma scritto in linguaggio macchina (programma oggetto);
Gli interpreti sono programmi che accettano in input le singole istruzioni di un programma
scritto in linguaggio ad alto livello e le traducono una alla volta in singole istruzioni in
linguaggio macchina.
Schema delle fasi di compilazione di un programma sorgente
Input di fase 1
Algoritmo in pseudocodice
e/o flow-chart
Fase 1 di
editing
correzione errori
sintattici
Output di fase1: Programma sorgente
Fase 2 di
compilazione
correzione errori di link
correzione di errori di run-time e logici
correzione errori logici
Programma compilatore o “compiler” è il
programma che traduce il programma
sorgente compiendo l’analisi lessicale,
sintattica e semantica
Programma di link o ‘linker’ è il
programma che collega il programma
oggetto con altri moduli oggetto già
compilati del sistema operativo o built-in d el
linguaggio stesso (per chiamate a funz ioni
e/o utilizzo di variabili e costanti di sistema
o del linguaggio di programmazione stesso)
Output di fase 2: Programma oggetto o .OBJ
Fase 3 di
linking
Output di fase 3: Programma eseguibile o .EXE
Fase 4 di
esecuzione
Output di fase 4: Programma eseguibile
Fase 5 di test
Output di fase 5: Programma definitivo corretto
Programma eseguibile o .EXE è il
programma oggetto completo dei moduli di
sistema o built-in invocati
Autore: Rio Chierego (email: [email protected] - sito web: www.riochierego.it)
Pag. 1