medi ambient

Què és un compilador o Com fer que un ordinador entengui el que voleu?

Taula de continguts:

Què és un compilador o Com fer que un ordinador entengui el que voleu?
Què és un compilador o Com fer que un ordinador entengui el que voleu?

Vídeo: De l'Enigma a l'ordinador 2024, Juny

Vídeo: De l'Enigma a l'ordinador 2024, Juny
Anonim

L’última etapa de creació d’un programa és traduir un algorisme escrit en un dels llenguatges de programació (C / C ++, Pascal, etc.) a un llenguatge de màquina de baix nivell. Això es deu al fet que els ordinadors han de realitzar ordres en un llenguatge que entenen que és proper al binari i que funcionen amb estructures de dades primitives (bit, byte o word) per realitzar una tasca. El procés de traducció d’operadors d’alt nivell de llenguatges d’alt nivell a codi binari s’anomena traducció. Hi ha dos mètodes de traducció: la compilació i la interpretació.

Image

Compilador: què és?

L'anàlisi de les moltes interpretacions dels termes "compilador" i "recopilació" ens permet resoldre la definició següent. Un compilador és un programa dissenyat per traduir el text d’un algorisme original d’un llenguatge d’alt nivell a un conjunt d’instruccions equivalent en un llenguatge orientat a la màquina. Es tracta de l’anomenat codi d’objecte, per a l’assemblea posterior del codi d’objecte resultant en un mòdul de programa llest per a l’ús.

Compilador i intèrpret: semblances i diferències

L’intèrpret és una utilitat, a més d’un compilador, dissenyada per traduir el codi font al codi de la màquina. Tot i això, a diferència del compilador, l'intèrpret es llança cada vegada juntament amb el programa i realitza la línia de traducció per línia.

Podem dir que el compilador i l’intèrpret són processadors de llenguatge que permeten a l’ordinador reconèixer i executar ordres donades pel programador.

Classificació del compilador

Image

Els compiladors es classifiquen principalment per funcions relacionades amb els seus camps d'aplicació pràctica.

Un compilador vectoritzador és una utilitat que tradueix el codi font al codi objecte i s’adapta per a equips equipats amb processadors vectorials.

El compilador flexible està programat en un llenguatge d'alt nivell de manera modular. La seva gestió es realitza mitjançant taules. També és possible executar-lo mitjançant el compilador.

Un compilador incremental és un processador de llenguatge que torna a traduir fragments individuals del codi font i els afegeix. Tot i això, elimina la recompilació de tota l’aplicació.

Un compilador d’intèrprets (pas a pas) és una utilitat que compila de forma seqüencial independent cada declaració o comanda del codi d’alt nivell d’origen.

Un compilador és un compilador capaç de percebre una descripció formal d'un llenguatge de programació i generar independentment un compilador per a qualsevol llenguatge.

Image

El compilador de depuració permet cercar i arreglar alguns tipus d’errors de sintaxi que s’han produït en escriure codi font

El compilador resident ocupa un lloc permanent a la memòria RAM i, per tant, està disponible per a la seva reutilització mitjançant un ampli ventall de tasques.

El compilador autocompilador està escrit en el mateix idioma des del qual es realitza la traducció.

El compilador universal es basa en una descripció formal dels paràmetres semàntics i sintàctics del llenguatge d’entrada. Els components principals d'aquesta utilitat són el nucli, els carregadors sintàctics i semàntics.

Dispositiu compilador

Al cor de qualsevol compilador hi ha el traductor i l'enllaç. Sovint, quan es recopila, s’utilitza un enllaçador extern i el propi compilador només fa la funció de traducció. També passa que el compilador s’implementa com una mena de programa de gestor associat al traductor (o traductors, si s’utilitzaven diferents llenguatges de programació a l’hora d’escriure el codi font) i l’enllaçador i el llançament si és necessari.

Idiomes de programació i Mètodes de traducció

Image

Tot i que un programa escrit en qualsevol llenguatge de programació es pot compilar o interpretar, molts llenguatges d’alt nivell estan predisposats a un o altre mètode de traducció. Així doncs, el llenguatge C es va dissenyar originalment per a la compilació, i Java - per a la interpretació d'un programa escrit. Els compiladors C es desenvolupen bastant fàcilment, a causa del seu nivell relativament baix i un nombre reduït d’elements estructurals.