Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> Computer Programming Languages >> .

Cos'è il traduttore nel calcolo?

Nel calcolo, un traduttore è un programma che converte un programma scritto in un linguaggio di programmazione (il linguaggio di origine) in un altro linguaggio di programmazione (il linguaggio target). Questo processo si chiama traduzione. Esistono diversi tipi di traduttori, ognuno con un approccio diverso:

* Compilatore: Un compilatore traduce l'intero codice di origine in codice macchina (o una rappresentazione intermedia come bytecode) * prima di * il programma viene eseguito. Il codice macchina risultante può quindi essere eseguito direttamente dal processore del computer. I compilatori in genere producono codice ottimizzato per prestazioni migliori, ma il processo di compilazione stesso può richiedere tempo. Esempi includono GCC (raccolta del compilatore GNU) e Clang.

* Interprete: Un interprete traduce ed esegue la riga di codice sorgente per riga, senza creare un file eseguibile indipendente. Ciò consente un feedback più rapido durante lo sviluppo perché gli errori vengono identificati non appena si incontrano. Tuttavia, il codice interpretato è generalmente più lento del codice compilato. Esempi includono i motori di interprete e Javascript di Python nei browser Web.

* Assemblatore: Un assemblatore è un tipo specifico di traduttore che converte il linguaggio dell'assembly (un linguaggio di programmazione di basso livello) nel codice macchina. Il linguaggio di assemblaggio utilizza mnemonics (brevi abbreviazioni) che rappresentano le istruzioni della macchina, rendendolo leggermente più leggibile dall'uomo del codice macchina puro.

* transiler (o compilatore da origine a source): Un transpilatore traduce il codice sorgente da un linguaggio di programmazione di alto livello in un altro linguaggio di programmazione di alto livello. Non genera direttamente il codice macchina. Ciò è utile per il codice di porting tra lingue diverse o per modernizzare il codice legacy. Gli esempi includono Babel (transito JavaScript ES6+ a ES5) e compilatori dattiloscritti (Transpiling TypeScript in JavaScript).

La differenza chiave tra questi tipi si trova in * quando * e * come * la traduzione avviene. I compilatori traducono tutto in anticipo, gli interpreti traducono ed eseguono la linea per linea e gli transpilatori si traducono tra linguaggi di alto livello. Gli assemblatori sono una forma specializzata di compilatore incentrato su un linguaggio di livello molto basso.

 

Programmazione © www.354353.com