Linguaggio di programmazione ad alto livello: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riformulo tutto. L'interprete non è un programma che *traduce* il linguaggio ad alto livello, è un programma che lo *esegue*. |
|||
Riga 25:
==Modelli di esecuzione==
Un linguaggio ad alto livello, per definizione, non è ''direttamente'' "eseguibile" da parte del calcolatore. L'esecuzione dei linguaggi ad alto livello si può basare su
===Compilazione===
Riga 34:
===Transcompilazione===
In questo modello viene usato un programma detto [[transcompilatore]], la cui funzione è quella di tradurre
===Approcci ibridi===
Molti linguaggi moderni (per esempio [[Java (linguaggio di programmazione)|Java]]) adottano un approccio ibrido fra compilazione e interpretazione, in cui il codice sorgente viene "compilato" in un linguaggio intermedio, molto vicino al linguaggio macchina, che viene poi interpretato da un programma che ha un funzionamento molto simile a quello di un [[CPU|processore]] fisico. Questo approccio si distingue dalla transcompilazione perché il linguaggio di arrivo, pur non essendo linguaggio macchina in senso stretto, non è un linguaggio ad alto livello (e in genere è un linguaggio progettato appositamente e non destinato all'uso diretto da parte di un programmatore).
== Livelli di astrazione ==
|