domenica 13 ottobre 2013

Traduttore, Interprete e Compilatore

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: Interpreti e Compilatori.

È possibile programmare il computer usando vari linguaggi di programmazione 
          •  Ogni linguaggio ha i suoi pro e contro 
ma.....
          •  Alla fine, l’unico linguaggio che il computer capisce è il linguaggio macchina 

          •  Per usare altri linguaggi, occorre usare qualcosa in grado di “far capire” al computer gli altri linguaggi

Quando si realizza un software, il programmatore detta le istruzioni al computer tramite la scrittura di un codice sorgente in un determinato linguaggio di programmazione. Il codice sorgente però non è direttamente eseguibile dalla CPU (Central Processing Unit), è necessario “tradurlo” in linguaggio macchina, ossia un file binario contenente microistruzioni gestibili dal processore. Inoltre diverse architetture di processori prevedono linguaggi macchina differenti.
Il linguaggio macchina è composta da una sequenza di 0 e 1, ma leggere “numeri” non è molto facile 
per noi umani, conviene quindi tradurre questi codici numerici in qualcosa di più leggibile, ovvero stringhe più leggibili: LINGUAGGIO ASSEMBLY 
un istruzione in linguaggio macchina come la seguente "0100110011110" tramite l'assemblatore verrà associata a una "somma", il rapporto è quindi un rapporto 1:1 cioè ogni istruzione da assemblatore corrisponde a un istruzione in linguaggio macchina.

Un INTERPRETE per un certo linguaggio è un programma che “interpreta” appunto il linguaggio e fa sì che questo venga correttamente eseguito dal computer:
ogni istruzione del programma “viene interpretata” ogni volta che viene eseguita  
•  Per eseguire un programma, ho sempre bisogno dell’interprete

Un COMPILATORE è un programma che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto). Questo processo di traduzione si chiama compilazione. Il compilatore poi trascrive la traduzione in un file eseguibile (.exe). 

Esempio: dir->chiama interprete->che traduce in linguaggio macchina->viene eseguita la traduzione->si avvia l'istruzione in linguaggio macchina.

!L'interprete non salva la traduzione da nessuna parte
! Senza interprete i comandi non funzionano
! Il browser è un interprete
!Il compilatore è un traduttore.


Nessun commento:

Posta un commento