Linguaggio di programmazione ad alto livello: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
Riga 35:
 
In questo modello, il listato non viene tradotto una sola volta, bensì tutte le volte che viene eseguito. Un programma apposito, l'[[Interprete (informatica)|interprete]], durante l'esecuzione del programma traduce ogni istruzione di alto livello in istruzione macchina. In questo caso si ha una miglior [[portabilità]], ma peggiori prestazioni.
 
Esiste anche un modello di compilazione intermedio che consiste nel tradurre il codice sorgente non direttamente in un codice macchina (direttamente eseguibile dall'hardware) ma in un codice intermedio (che cerca di avvicinarsi il più possibile al codice macchina). In questo caso è necessaria la presenza di un interprete che sia in grado di rendere possibile l'esecuzione del codice intermedio generato.
 
Uno dei primi esempi di compilatore che ha usato questo approccio è stato l' UCSD-PASCAL che generava un codice intermedio denominato [[P-CODE]].
 
== Livelli di astrazione ==