Čo je to kompilátor alebo ako dosiahnuť, aby počítač pochopil, čo od neho chcete?

Obsah:

Čo je to kompilátor alebo ako dosiahnuť, aby počítač pochopil, čo od neho chcete?
Čo je to kompilátor alebo ako dosiahnuť, aby počítač pochopil, čo od neho chcete?

Video: Čo je to kompilátor alebo ako dosiahnuť, aby počítač pochopil, čo od neho chcete?

Video: Čo je to kompilátor alebo ako dosiahnuť, aby počítač pochopil, čo od neho chcete?
Video: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, November
Anonim

Poslednou fázou vytvárania programu je preložiť algoritmus napísaný v jednom z programovacích jazykov (C/C++, Pascal atď.) do strojového jazyka nízkej úrovne. Je to spôsobené tým, že na vykonanie akejkoľvek úlohy je potrebné, aby počítače dostali príkazy v jazyku, ktorému rozumejú, blízkom binárnemu a pracujúcemu s primitívnymi dátovými štruktúrami (bit, byte alebo slovo). Proces prekladu doménovo špecifických príkazov jazykov na vysokej úrovni do binárneho kódu sa nazýva preklad. Existujú dve metódy prekladu – kompilácia a interpretácia.

kompilátor je
kompilátor je

Kompilátor – čo to je?

Analýza mnohých interpretácií pojmov „prekladač“a „kompilácia“nám umožňuje zdôrazniť nasledujúcu definíciu. Kompilátor je program určený na preklad textu zdrojového algoritmu z jazyka na vysokej úrovni do ekvivalentnej sady inštrukcií v strojovo orientovanom jazyku. Toto je takzvaný objektový kód na následné zostavenie výsledného objektového kódu do programového modulu pripraveného na použitie.

Kompilátor a interpret – podobnosti a rozdiely

Tlmočník je nástroj, ktorýako aj kompilátor, určený na preklad zdrojového kódu do strojového kódu. Na rozdiel od kompilátora však tlmočník beží zakaždým s programom a vykonáva preklad riadok po riadku.

Môžete povedať, že kompilátor a interpret sú jazykové procesory, ktoré umožňujú počítaču rozpoznať a vykonať príkazy zadané programátorom.

Klasifikácia kompilátora

kompilátor je program
kompilátor je program

Kompilátory sú klasifikované hlavne podľa funkcií súvisiacich s oblasťami ich praktického použitia.

Vektorizačný kompilátor je nástroj, ktorý prekladá zdrojový kód do objektového kódu a je prispôsobený pre počítače vybavené vektorovými procesormi.

Flexibilný kompilátor je naprogramovaný v jazyku vysokej úrovne modulárnym spôsobom. Jeho riadenie sa vykonáva pomocou tabuliek. Je tiež možné ho spustiť pomocou kompilátora kompilátorov.

Inkrementálny kompilátor je jazykový procesor, ktorý opätovne prekladá samostatné fragmenty zdrojového kódu a jeho dodatky. Vyhne sa však rekompilácii celej aplikácie.

Interpretačný (krokový) kompilátor je nástroj, ktorý postupne vykonáva nezávislú kompiláciu každého príkazu alebo príkazu zdrojového kódu vysokej úrovne.

Kompilátor kompilátorov je prekladateľ schopný prijať formálny popis programovacieho jazyka a nezávisle generovať kompilátor pre akýkoľvek jazyk.

kompilátor a tlmočník
kompilátor a tlmočník

Prekladač ladenia vám umožňuje nájsť a opraviť niektoré druhy syntaktických chýb, ktoré sa vyskytli pri písaní zdrojového kódu

Rezidentný kompilátor zaberá trvalé miesto v pamäti RAM, a preto je znovu použiteľný pre širokú škálu úloh.

Samokompilovaný kompilátor je napísaný v rovnakom jazyku ako preklad.

Univerzálny kompilátor je založený na formálnom popise sémantických a syntaktických parametrov vstupného jazyka. Hlavnými komponentmi takejto pomôcky sú jadro, syntaktické a sémantické zavádzače.

Zariadenie kompilátora

Srdcom každého kompilátora je kompilátor a linker. Často sa pri kompilácii používa externý linker a samotný kompilátor vykonáva iba funkciu prekladu. Stáva sa tiež, že kompilátor je implementovaný ako druh manažérskeho programu, ktorý je spojený s prekladačom (alebo prekladateľmi, ak sa pri písaní zdrojového kódu použili rôzne programovacie jazyky) a linkerom a v prípade potreby spustí ich vykonávanie.

Programovacie jazyky a metódy prekladu

kompilátor jazyka
kompilátor jazyka

Napriek tomu, že program napísaný v akomkoľvek programovacom jazyku môže byť kompilovaný aj interpretovaný, mnohé jazyky na vysokej úrovni majú predispozíciu k tej či onej metóde prekladu. Jazyk C bol teda pôvodne navrhnutý na kompiláciu a Java - na interpretáciu napísaného programu. Vyvíjajú saKompilátory jazyka C sú pomerne jednoduché vďaka relatívne nízkej úrovni a malému počtu štrukturálnych prvkov.

Výhody a nevýhody kompilátorov a interpretov. Aplikácie

Všimnite si, že skompilované aplikácie sú rýchlejšie ako interpretované, ale zároveň strojový kód získaný kompiláciou závisí od hardvérovej platformy. Takže program napísaný a skompilovaný pre Windows nebude fungovať napríklad v Linuxe. Preto v prípade internetových aplikácií, keď nie je možné vopred povedať, v akom prostredí budú fungovať, používajú interpretáciu alebo bajtkód (v tomto prípade je zdrojový program konvertovaný do intermediárnej formy, ktorú je možné spustiť na rôznom hardvéri platformy).

Odporúča: