Skip to main content

Hvad er en kompilator?

En kompilator er en speciel type computerprogram, der oversætter en menneskelig læsbar tekstfil til en formular, som computeren lettere kan forstå.På det mest basale niveau kan en computer kun forstå to ting, en 1 og et 0. På dette niveau fungerer et menneske meget langsomt og finder oplysningerne i den lange streng på 1s og 0s uforståelige.En kompilator er et computerprogram, der broer dette hul.

I begyndelsen var kompilatorer meget enkle programmer, der kun kunne oversætte symboler til bit , 1'erne og 0'erne, forstod computeren.Programmer var også meget enkle, sammensat af en række trin, der oprindeligt blev oversat med hånden til data, som computeren kunne forstå.Dette var en meget tidskrævende opgave, så dele af denne opgave blev automatiseret eller programmeret, og den første kompilator blev skrevet.Dette program samlet eller samlet de trin, der kræves for at udføre trin for trin -program.

Disse enkle compilere blev brugt til at skrive en mere sofistikeret kompilator.Med den nyere version kunne flere regler føjes til kompilatorprogrammet for at give en mere naturlig sprogstruktur for den menneskelige programmør at operere med.Dette gjorde det lettere at skrive programmer og gjorde det muligt for flere mennesker at begynde at skrive programmer.Efterhånden som flere mennesker begyndte at skrive programmer, blev der tilbudt flere ideer om at skrive programmer og bruges til at fremstille mere sofistikerede compilere.På denne måde fortsætter kompilatorprogrammer med at udvikle sig, forbedre og blive lettere at bruge.

Compiler -programmer kan også specialiseres.Visse sprogstrukturer er bedre egnet til en bestemt opgave end andre, så specifikke kompilatorer blev udviklet til specifikke opgaver eller sprog.Nogle kompilatorer er Multistage eller flere pass .Et første pas kunne tage et meget naturligt sprog og gøre det tættere på et computerforståeligt sprog.Et andet eller endda en tredje pas kunne tage det til den sidste fase, den eksekverbare fil.

Det mellemliggende output i en multistages kompilator kaldes normalt pseudokode , da den ikke kan bruges af computeren.Pseudo-kode er meget struktureret, som et computerprogram, ikke fritflydende og ordret som et mere naturligt sprog.Den endelige output kaldes den eksekverbare fil , da det er, hvad der faktisk udføres eller køres af computeren.Opdeling af opgaven som denne gjorde det lettere at skrive mere sofistikerede kompilatorer, da hver underopgave er anderledes.Det gjorde det også lettere for computeren at påpege, hvor det havde problemer med at forstå, hvad det blev bedt om at gøre.

Fejl, der begrænser kompilatoren til forståelse af et program kaldes Syntaksfejl .Fejl på den måde, programmet fungerer, kaldes logiske fejl .Logiske fejl er meget sværere at se og rette.Syntaksfejl er som stavefejl, mens logiske fejl er lidt mere som grammatiske fejl.

Cross Compiler -programmer er også blevet udviklet.En krydskompilator tillader et tekstfilsæt med instruktioner, der er skrevet til en computer designet af en bestemt producent, der skal samles og køre efter en anden computer af en anden producent.For eksempel kan et program, der blev skrevet til at køre på en Intel -computer, undertiden krydses udarbejdet for at køre en på computeren udviklet af Motorola.Dette fungerer ofte ikke særlig godt.På det niveau, på hvilket computerprogrammer fungerer, kan computerhardware se meget anderledes ud, selvom de kan ligne dig.

Cross -kompilering er forskellig fra at have en computer emulere en anden computer.Hvis en computer emulerer en anden computer, foregiver det at være den anden computer.Emulering er ofte langsommere end krydskompilering, da to programmer kører på én gang, det program, der foregiver at være den anden computer og det program, der kører.For at krydskompilering skal fungere, har du imidlertid brug for både originalenNaturlig sprogtekst, der beskriver programmet og en computer, der ligner tilstrækkeligt den originale computer, som programmet kan fungere på at køre på en anden computer.Dette er ikke altid muligt, så begge teknikker er i brug.