Sommario:
- Compiler - che cos'è?
- Compilatore e interprete: somiglianze e differenze
- Classificazione del compilatore
- Dispositivo compilatore
- Lingue di programmazione e metodi di traduzione
- Vantaggi e svantaggi di compilatori e interpreti. Applicazioni
Video: Cos'è un compilatore, o come far capire a un computer cosa vuoi da esso?
2024 Autore: Henry Conors | [email protected]. Ultima modifica: 2024-02-12 09:05
La fase finale della creazione di un programma consiste nel tradurre un algoritmo scritto in uno dei linguaggi di programmazione (C/C++, Pascal, ecc.) in un linguaggio macchina di basso livello. Ciò è dovuto al fatto che per eseguire qualsiasi compito, i computer devono ricevere comandi in un linguaggio che comprendono, simile al binario e funzionante con strutture dati primitive (bit, byte o word). Il processo di traduzione di istruzioni specifiche del dominio di linguaggi di alto livello in codice binario è chiamato traduzione. Esistono due metodi di traduzione: compilazione e interpretazione.
Compiler - che cos'è?
L'analisi di molte interpretazioni dei termini "compilatore" e "compilazione" permette di evidenziare la seguente definizione. Un compilatore è un programma progettato per tradurre il testo di un algoritmo sorgente da un linguaggio di alto livello in un insieme equivalente di istruzioni in un linguaggio orientato alla macchina. Questo è il cosiddetto codice oggetto, per il successivo assemblaggio del codice oggetto risultante in un modulo di programma pronto per l'uso.
Compilatore e interprete: somiglianze e differenze
Un interprete è un'utilità checosì come un compilatore, progettato per tradurre il codice sorgente in codice macchina. Tuttavia, a differenza del compilatore, l'interprete esegue ogni volta il programma ed esegue la traduzione riga per riga.
Puoi dire che il compilatore e l'interprete sono processori di linguaggio che consentono al computer di riconoscere ed eseguire comandi dati dal programmatore.
Classificazione del compilatore
I compilatori sono classificati principalmente in base alle caratteristiche relative alle loro aree di applicazione pratica.
Vectorizing compiler è un'utilità che traduce il codice sorgente in codice oggetto ed è adattata per computer dotati di processori vettoriali.
Un compilatore flessibile è programmato in un linguaggio di alto livello in modo modulare. La sua gestione avviene tramite tabelle. È anche possibile eseguirlo utilizzando il compilatore dei compilatori.
Il compilatore incrementale è un processore di linguaggio che ritraduce frammenti separati di codice sorgente e aggiunte ad esso. Tuttavia, evita di ricompilare l'intera applicazione.
Un compilatore interpretativo (a step) è un'utilità che esegue in sequenza la compilazione indipendente di ogni istruzione o comando di un codice sorgente di alto livello.
Un compilatore di compilatori è un traduttore in grado di accettare una descrizione formale per un linguaggio di programmazione e di generare autonomamente un compilatore per qualsiasi linguaggio.
Il compilatore di debug ti consente di trovare e correggere alcuni tipi di errori di sintassi commessi durante la scrittura del codice sorgente
Un compilatore residente occupa una posizione permanente nella RAM ed è quindi riutilizzabile per un'ampia gamma di attività.
Il compilatore autocompilato è scritto nella stessa lingua della traduzione.
Il compilatore universale si basa su una descrizione formale dei parametri semantici e sintattici del linguaggio di input. I componenti principali di tale utilità sono i caricatori principali, sintattici e semantici.
Dispositivo compilatore
Un compilatore e un linker sono al centro di ogni compilatore. Spesso, durante la compilazione, viene utilizzato un linker esterno e il compilatore stesso esegue solo la funzione di traduzione. Succede anche che il compilatore venga implementato come una sorta di programma manager che viene associato al traduttore (o ai traduttori, se sono stati utilizzati linguaggi di programmazione diversi durante la scrittura del codice sorgente) e al linker e ne avvia l'esecuzione quando necessario.
Lingue di programmazione e metodi di traduzione
Nonostante il fatto che un programma scritto in qualsiasi linguaggio di programmazione possa essere sia compilato che interpretato, molti linguaggi di alto livello hanno una predisposizione all'uno o all' altro metodo di traduzione. Quindi, il linguaggio C è stato originariamente progettato per la compilazione e Java per l'interpretazione del programma scritto. Sono in fase di sviluppoI compilatori C sono abbastanza semplici, grazie al suo livello relativamente basso e al numero ridotto di elementi strutturali.
Vantaggi e svantaggi di compilatori e interpreti. Applicazioni
Si noti che le applicazioni compilate sono più veloci di quelle interpretate, ma allo stesso tempo il codice macchina ottenuto come risultato della compilazione dipende dalla piattaforma hardware. Quindi, un programma scritto e compilato per Windows non funzionerà, ad esempio, in Linux. Pertanto, nel caso di applicazioni Internet, quando è impossibile dire in anticipo in quale ambiente lavoreranno, utilizzano l'interpretazione o il bytecode (in questo caso il programma sorgente viene convertito in una forma intermedia eseguibile su vari hardware piattaforme).
Consigliato:
Cos'è il flusso d'aria e quali sono i concetti di base ad esso associati
Quando si considera l'aria come una combinazione di un gran numero di molecole, può essere definita un mezzo continuo. In esso, singole particelle possono entrare in contatto tra loro. Questa rappresentazione consente di semplificare notevolmente i metodi di studio dell'aria. In aerodinamica esiste un concetto come la reversibilità del moto, ampiamente utilizzato nel campo degli esperimenti per le gallerie del vento e negli studi teorici che utilizzano il concetto di flusso d'aria
Capire: cosa sono i mix?
L'articolo spiega il significato della parola "mix" e ne descrive i diversi tipi. Nel bene e nel male, ma il linguaggio russo moderno è costantemente riempito di parole straniere, il cui significato non è ancora chiaro a tutti. Da qui il desiderio del tutto giustificato di capire cosa significano questi nuovi concetti. Bene, per esempio, cosa sono i mix?
Sto cercando di capire cosa sia il tradimento
La cosa più difficile da capire per una persona è la moralità e la moralità. La moralità è le regole che le persone e la società nel suo insieme stabiliscono. Secondo l'attuazione di queste norme, la società valuta una persona. La moralità è i principi interni che una persona stabilisce per se stessa. Questi due tipi di regole spesso non coincidono
Come capire che un uomo ti ama davvero? Come capire se un uomo sposato ti ama?
Come capire che un uomo ti ama davvero, come capire quanto è solidale e come amano i segni dello zodiaco - leggi tutto questo in questo articolo
Come entrare a far parte dei cosacchi? Condizioni per entrare a far parte della società cosacca. Legge federale del 5 dicembre 2005 n. 154-FZ "Sul servizio pubblico dei cosacchi russi"
I cosacchi in Russia sono associazioni di persone formate sulla base di una complessa cultura etnica e sociale alla periferia dello stato russo. I cosacchi vivevano (o furono rianimati) nella periferia meridionale della Russia a causa delle specificità della regione. Prima di tutto, questi sono i loro rappresentanti che sono apparsi sul Don, negli Urali e nella regione del Basso Volga. Ciò include anche i cosacchi di Kuban