/ / La compilazione è un processo che facilita la comunicazione tra un programmatore e un computer

La compilazione è un processo che facilita la comunicazione tra un programmatore e un computer

Nella fase finale, creando un certoprogramma, qualsiasi programmatore deve utilizzare i servizi di un compilatore. Nella documentazione tecnica, questo programma è definito piuttosto modestamente come un'utilità che esegue la compilazione. La compilazione è il processo di trasformazione di un programma scritto in un linguaggio leggibile dall'uomo (linguaggio di alto livello) in istruzioni leggibili dalla macchina (linguaggio di basso livello). Di conseguenza, otteniamo un programma che è vicino al codice macchina. Potrebbe sembrare un modulo oggetto, codice assoluto. A volte un programma del genere sembra un linguaggio assembly.

Quindi la compilazione è quando l'inputle informazioni (codice sorgente) che rappresentano la descrizione di un algoritmo o un programma scritto in un linguaggio orientato ai problemi vengono riscritte in un elenco equivalente di comandi rappresentati nel codice oggetto (linguaggio orientato alla macchina).

Per semplificare ulteriormente la definizione, la compilazione consiste nel tradurre un programma macchina da un linguaggio orientato ai problemi in un linguaggio orientato alla macchina.

Nonostante la trasparenza e la semplicità della definizione,la compilazione è un processo piuttosto sfaccettato. Ce ne sono diversi tipi. La compilazione batch viene eseguita su più moduli di origine in un elemento di lavoro. La compilazione riga per riga è la stessa dell'interpretazione (compilazione indipendente passo dopo passo di ogni affermazione successiva). C'è anche la compilazione condizionale. In questo caso, il testo tradotto dipende dalle condizioni specificate nel programma sorgente dalle direttive del compilatore.

Modificando il valore di una certa costante, è possibile regolare l'attivazione o la disattivazione della traduzione di una parte del testo del programma.

Per comodità dei programmatori, per la risoluzione di vari problemi vengono utilizzati i compilatori più convenienti e adattati. Se li classifichiamo, possiamo distinguere diversi tipi di tali utilità.

Il compilatore vettorializzare traduce il codice sorgente in codice computer macchina, adattandosi ai processori vettoriali.

Il compilatore flessibile è stato sviluppato sulla base diprincipio modulare. È gestito da tabelle. È programmato in un linguaggio di alto livello. Può anche essere implementato utilizzando un compilatore compilatore.

Il compilatore incrementale ritraduce frammenti di programma e aggiunte ad esso, mentre la ricompilazione dell'intero programma è esclusa.

Un compilatore interpretativo o passo passo utilizza il principio dell'esecuzione sequenziale della compilazione indipendente per ogni singola istruzione o comando dal programma sorgente.

Un compilatore compilatore è un traduttore che accetta una descrizione formale per un linguaggio di programmazione. È in grado di generare in modo indipendente un compilatore per una lingua specifica.

Il compilatore di debug può correggere autonomamente alcuni tipi di errori di sintassi.

Il compilatore residente ha un posto permanente nella memoria ed è disponibile per il riutilizzo da un'ampia varietà di attività.

Esistono compilatori che si auto compilano. Sono scritti nella stessa lingua dalla quale avviene la trasmissione.

Un compilatore universale si basa su una descrizione formale della semantica e della sintassi del linguaggio di input. Consiste in un core, caricatori sintattici e semantici.

I compiti più comuni, dovei compilatori trovano la loro strada per compilare il kernel per la piattaforma Linux. Questa operazione consente di risolvere un'ampia gamma di problemi associati al coordinamento delle apparecchiature e all'impostazione della versione più accettabile della piattaforma.

La compilazione Java viene implementata utilizzandocompilatori in esecuzione su un'ampia varietà di piattaforme. Ciò consente di ricompilare il codice sorgente per le esigenze dei sistemi operativi di diversi produttori.