Skip to main content

Vad är en kompilator?

En kompilator är en speciell typ av datorprogram som översätter en mänsklig läsbar textfil till en form som datorn lättare kan förstå.På sin mest grundläggande nivå kan en dator bara förstå två saker, en 1 och en 0. På denna nivå kommer en människa att fungera mycket långsamt och hitta informationen i den långa strängen på 1s och 0s obegriplig.En kompilator är ett datorprogram som överbryggar detta gap.

I början var kompilatorer mycket enkla program som bara kunde översätta symboler till bitarna , 1s och 0s, datorn förstod.Program var också mycket enkla, sammansatta av en serie steg som ursprungligen översattes för hand till data som datorn kunde förstå.Detta var en mycket tidskrävande uppgift, så delar av denna uppgift automatiserades eller programmerades, och den första kompilatorn skrevs.Detta program samlades eller sammanställdes, stegen som krävs för att utföra steg för steg -programmet.

Dessa enkla kompilatorer användes för att skriva en mer sofistikerad kompilator.Med den nyare versionen kan fler regler läggas till i kompilatorprogrammet för att möjliggöra en mer naturlig språkstruktur för den mänskliga programmeraren att arbeta med.Detta underlättade att skriva program och gjorde det möjligt för fler att börja skriva program.När fler började skriva program erbjöds och användes fler idéer om att skriva program för att göra mer sofistikerade kompilatorer.På detta sätt fortsätter kompilatorprogrammen att utvecklas, förbättras och bli enklare att använda.

Compiler -program kan också specialiseras.Vissa språkstrukturer är bättre lämpade för en viss uppgift än andra, så specifika kompilatorer utvecklades för specifika uppgifter eller språk.Vissa kompilatorer är Multistage eller flera pass .Ett första pass kan ta ett mycket naturligt språk och göra det närmare ett dator förståeligt språk.En andra eller till och med ett tredje pass kan ta det till det sista steget, den körbara filen.

Mellanutgången i en multistage-kompilator kallas vanligtvis pseudokod , eftersom den inte kan användas av datorn.Pseudokod är mycket strukturerad, som ett datorprogram, inte fritt flödande och ord som ett mer naturligt språk.Den slutliga utgången kallas exekverbar fil , eftersom det är det som faktiskt körs eller körs av datorn.Att dela upp uppgiften som denna gjorde det lättare att skriva mer sofistikerade kompilatorer, eftersom varje underuppgift är annorlunda.Det gjorde det också enklare för datorn att påpeka var den hade problem med att förstå vad den uppmanades att göra.

Fel som begränsar kompilatorn för att förstå ett program kallas Syntaxfel .Fel i hur programmet fungerar kallas logikfel .Logikfel är mycket svårare att upptäcka och korrigera.Syntaxfel är som stavfel, medan logikfel är lite mer som grammatiska fel.

Cross Compiler -program har också utvecklats.En korskompilator tillåter en textfiluppsättning instruktioner som är skriven för en dator designad av en specifik tillverkare att sammanställas och köras för en annan dator av en annan tillverkare.Till exempel kan ett program som skrevs för att köras på en Intel -dator ibland korsas för att köra en på dator utvecklad av Motorola.Detta fungerar ofta inte särskilt bra.På nivån på vilken datorprogram fungerar kan datorhårdvaran se väldigt annorlunda ut, även om de kan se ut som dig.

Cross Compilation skiljer sig från att ha en dator emulera en annan dator.Om en dator emulerar en annan dator, låtsas det vara den andra datorn.Emulering är ofta långsammare än Cross -sammanställning, eftersom två program körs på en gång, programmet som låtsas vara den andra datorn och programmet som körs.Men för korskompilering till arbete behöver du båda originaletNaturlig språktext som beskriver programmet och en dator som är tillräckligt lik den ursprungliga datorn som programmet kan fungera på för att köras på en annan dator.Detta är inte alltid möjligt, så båda teknikerna används.