Skip to main content

Hva er en kompilator?

En kompilator er en spesiell type dataprogram som oversetter en menneskelig lesbar tekstfil til et skjema som datamaskinen lettere kan forstå.På det mest grunnleggende nivået kan en datamaskin bare forstå to ting, en 1 og en 0. På dette nivået vil et menneske fungere veldig sakte og finne informasjonen i den lange strengen på 1s og 0s uforståelig.En kompilator er et dataprogram som bygger bro mellom dette gapet. I begynnelsen var kompilatorene veldig enkle programmer som bare kunne oversette symboler til

bits

, 1s og 0s, forsto datamaskinen.Programmer var også veldig enkle, sammensatt av en serie trinn som opprinnelig ble oversatt for hånd til data datamaskinen kunne forstå.Dette var en veldig tidkrevende oppgave, så deler av denne oppgaven ble automatisert eller programmert, og den første kompilatoren ble skrevet.Dette programmet samlet, eller kompilert, trinnene som kreves for å utføre trinnvis program. Disse enkle kompilatorene ble brukt til å skrive en mer sofistikert kompilator.Med den nyere versjonen kan flere regler legges til kompilatorprogrammet for å tillate en mer naturlig språkstruktur for den menneskelige programmereren å operere med.Dette gjorde skriveprogrammer enklere og lot flere begynne å skrive programmer.Etter hvert som flere begynte å skrive programmer, ble flere ideer om skriveprogrammer tilbudt og brukt til å lage mer sofistikerte kompilatorer.På denne måten fortsetter kompilatorprogrammer å utvikle seg, forbedre og bli lettere å bruke.

Compiler -programmer kan også være spesialiserte.Enkelte språkstrukturer er bedre egnet for en bestemt oppgave enn andre, så spesifikke kompilatorer ble utviklet for spesifikke oppgaver eller språk.Noen kompilatorer er

Multistage

eller Flere passeringer .Et første pass kan ta et veldig naturlig språk og gjøre det nærmere en datamaskin forståelig språk.Et sekund eller til og med et tredje pass kan ta det til sluttfasen, den kjørbare filen. Mellomutgangen i en flerstegs kompilator kalles vanligvis

pseudokode

, siden den ikke er brukbar av datamaskinen.Pseudokode er veldig strukturert, som et dataprogram, ikke fritt flytende og ordentlig som et mer naturlig språk.Den endelige utgangen kalles kjørbare fil , siden det er det som faktisk utføres eller kjøres av datamaskinen.Å dele opp oppgaven slik gjorde det lettere å skrive mer sofistikerte kompilatorer, ettersom hver underoppgave er forskjellig.Det gjorde det også lettere for datamaskinen å påpeke hvor den hadde problemer med å forstå hva den ble bedt om å gjøre. Feil som begrenser kompilatoren i å forstå et program kalles

Syntaksfeil

.Feil i måten programmet fungerer kalles logiske feil .Logiske feil er mye vanskeligere å oppdage og rette.Syntaksfeil er som stavefeil, mens logiske feil er litt mer som grammatiske feil. Cross Compiler -programmer er også utviklet.En Cross Compiler lar et tekstfilsett med instruksjoner som er skrevet for en datamaskin designet av en spesifikk produsent, kompileres og kjøres for en annen datamaskin av en annen produsent.For eksempel kan et program som ble skrevet for å kjøre på en Intel -datamaskin noen ganger bli tverrskammet for å kjøre en på datamaskin utviklet av Motorola.Dette fungerer ofte ikke veldig bra.På det nivået som dataprogrammer fungerer, kan datamaskinvaren se veldig annerledes ut, selv om de kan se ut som deg.

Kryss -kompilering er forskjellig fra å ha en datamaskin til å emulere en annen datamaskin.Hvis en datamaskin etterligner en annen datamaskin, later det til å være den andre datamaskinen.Emulering er ofte tregere enn Cross Compilation, siden to programmer kjører på en gang, programmet som later som om det er den andre datamaskinen og programmet som kjører.Imidlertid trenger du både originalen for krysssamling for å fungereNaturlig språktekst som beskriver programmet og en datamaskin som ligner tilstrekkelig den originale datamaskinen som programmet kan fungere på for å kjøre på en annen datamaskin.Dette er ikke alltid mulig, så begge teknikkene er i bruk.