Vai al contenuto

Traduttore (informatica)

Da Wikipedia, l'enciclopedia libera.
Diagramma che illustra il processo di traduzione

Genericamente, i traduttori sono programmi responsabili della traduzione fra due diversi linguaggi di programmazione. Essi generano normalmente programmi scritti in linguaggio macchina a partire da un linguaggio ad alto livello e si distinguono in:

I compilatori

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Compilatore.

I compilatori traducono i programmi in moduli software scritto in codice macchina, specifico per una determinata architettura hardware, che deve essere linkato e, una volta caricato in memoria da un loader, può essere fruito direttamente da un processore. Non è però scontato che il linguaggio destinazione sia il linguaggio macchina della macchina host, in quanto esistono anche i cross-compilatori, il cui scopo è generare codice esecutivo per altre macchine, le cui risorse (processore, memoria, dischi) potrebbero essere troppo limitate per far girare l'ambiente di sviluppo nel quale viene scritto il programma. Quindi i programmi vengono eseguiti in un emulatore (in sostanza una macchina virtuale) e poi l'eseguibile creato viene portato sulla macchina destinazione.

Gli interpreti

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Interprete (informatica).

Gli Interpreti traducono di volta in volta l'istruzione in esecuzione in linguaggio macchina quindi devono essere sempre attivi durante l'esecuzione del programma principale. Anzi per essere più precisi si può affermare che l'unico programma in esecuzione è l'interprete, mentre il programma "principale" costituisce i dati.

Il vantaggio del programma compilato rispetto a quello interpretato risiede nella maggior velocità di esecuzione e compattezza rispetto alle risorse macchina impiegate. Viceversa, il programma interpretato è più pesante e lento, ma portabile a condizione che sulla macchina destinataria esista un interprete identico (sotto il profilo del linguaggio) a quello della macchina di sviluppo e così si capirà di più.

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàThesaurus BNCF 5505
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica