L'etapa final de la 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, per dur a terme qualsevol tasca, cal donar ordres als ordinadors en un llenguatge que entenguin, proper al binari i que funcioni amb estructures de dades primitives (bit, byte o paraula). El procés de traducció de declaracions específiques de domini d'idiomes d' alt nivell a codi binari s'anomena traducció. Hi ha dos mètodes de traducció: compilació i interpretació.
Compilador: què és?
L'anàlisi de moltes interpretacions dels termes "compilador" i "compilació" ens permet destacar la següent definició. Un compilador és un programa dissenyat per traduir el text d'un algorisme font d'un llenguatge d' alt nivell a un conjunt equivalent d'instruccions en un llenguatge orientat a màquina. Aquest és l'anomenat codi objecte, per al posterior muntatge del codi objecte resultant en un mòdul de programa llest per utilitzar.
Compilador i intèrpret: semblances i diferències
Un intèrpret és una utilitat queaixí com un compilador, dissenyat per traduir el codi font a codi màquina. Tanmateix, a diferència del compilador, l'intèrpret s'executa cada vegada amb el programa i realitza la traducció línia per línia.
Podeu 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
Els compiladors es classifiquen principalment per característiques relacionades amb les seves àrees d'aplicació pràctica.
El compilador de vectorització és una utilitat que tradueix el codi font a codi objecte i està adaptat per a ordinadors equipats amb processadors vectorials.
Un 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 de compiladors.
El compilador incremental és un processador de llenguatge que torna a traduir fragments separats de codi font i addicions. Tanmateix, evita recompilar tota l'aplicació.
Un compilador interpretatiu (passos) és una utilitat que realitza de manera seqüencial la compilació independent de cada instrucció o comanda d'un codi font d' alt nivell.
Un compilador de compiladors és un traductor capaç d'acceptar una descripció formal per a un llenguatge de programació i de generar de manera independent un compilador per a qualsevol llenguatge.
El compilador de depuració us permet trobar i corregir alguns tipus d'errors de sintaxi que s'han produït en escriure el codi font
Un compilador resident ocupa un lloc permanent a la memòria RAM i, per tant, es pot reutilitzar per a una àmplia gamma de tasques.
El compilador autocompilat està escrit en el mateix idioma que 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 els carregadors bàsics, sintàctics i semàntics.
Dispositiu compilador
Un compilador i un enllaçador són el cor de qualsevol compilador. Sovint, quan es compila, s'utilitza un enllaç extern i el propi compilador només realitza la funció de traducció. També passa que el compilador s'implementa com una mena de programa gestor que s'associa amb el traductor (o traductors, si s'han utilitzat diferents llenguatges de programació a l'hora d'escriure el codi font) i l'enllaçador i inicia la seva execució quan cal.
Llenguatges de programació i mètodes de traducció
Malgrat que un programa escrit en qualsevol llenguatge de programació es pot compilar i interpretar, molts llenguatges d' alt nivell tenen predisposició a un o altre mètode de traducció. Per tant, el llenguatge C va ser dissenyat originalment per a la compilació, i Java - per a la interpretació del programa escrit. S'estan desenvolupantEls compiladors C són bastant fàcils, gràcies al seu nivell relativament baix i un nombre reduït d'elements estructurals.
Avantatges i desavantatges dels compiladors i intèrprets. Aplicacions
Tingueu en compte que les aplicacions compilades són més ràpides que les interpretades, però al mateix temps, el codi màquina obtingut com a resultat de la compilació depèn de la plataforma de maquinari. Per tant, un programa escrit i compilat per a Windows no funcionarà, per exemple, a Linux. Per tant, en el cas de les aplicacions d'Internet, quan és impossible dir per endavant en quin entorn treballaran, utilitzen interpretació o bytecode (en aquest cas, el programa font es converteix en una forma intermèdia que es pot executar en diversos maquinari). plataformes).