Vad är en kompilator?

A Compiler ä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 A 0. På denna nivå fungerar en människa mycket långsamt och hitta informationen i den långa strängen på 1 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, förstås datorn. 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 aMer 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.

kompilatorprogram 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 en tredje pass kunde tAke det till det sista steget, den körbara filen.

Mellanutgången i en multistage-kompilator kallas vanligtvis pseudokod , eftersom den inte 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 drivs 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 programmets funktioner 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 Cross -kompilator 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 har skrivits för att köra på en Intel -dator ibland korsa sammanställda för att köra en 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 att emulera en annan dator. Om en dator emulerar en annan dator, låtsas den 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ådaDen ursprungliga naturliga språktexten 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.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?