Co je to kompilátor aneb Jak přimět počítač, aby pochopil, co od něj chcete?

Obsah:

Co je to kompilátor aneb Jak přimět počítač, aby pochopil, co od něj chcete?
Co je to kompilátor aneb Jak přimět počítač, aby pochopil, co od něj chcete?

Video: Co je to kompilátor aneb Jak přimět počítač, aby pochopil, co od něj chcete?

Video: Co je to kompilátor aneb Jak přimět počítač, aby pochopil, co od něj chcete?
Video: Kompletní kurz React JS pro začátečníky – Naučte se React za 2 hodiny! +časové kódy 2024, Listopad
Anonim

Poslední fází vytváření programu je překlad algoritmu napsaného v jednom z programovacích jazyků (C/C++, Pascal atd.) do nízkoúrovňového strojového jazyka. To je způsobeno skutečností, že k provedení jakéhokoli úkolu je třeba, aby počítače dostaly příkazy v jazyce, kterému rozumí, blízkém binárnímu a pracujícímu s primitivními datovými strukturami (bit, byte nebo slovo). Proces překladu doménově specifických příkazů jazyků vysoké úrovně do binárního kódu se nazývá překlad. Existují dvě metody překladu – kompilace a interpretace.

kompilátor je
kompilátor je

Kompilátor – co to je?

Analýza mnoha výkladů pojmů „kompilátor“a „kompilace“nám umožňuje zdůraznit následující definici. Kompilátor je program určený k překladu textu zdrojového algoritmu z vysokoúrovňového jazyka do ekvivalentní sady instrukcí ve strojově orientovaném jazyce. Jedná se o tzv. objektový kód pro následné sestavení výsledného objektového kódu do programového modulu připraveného k použití.

Kompilátor a interpret – podobnosti a rozdíly

Interpret je nástroj, kterýstejně jako kompilátor, určený k překladu zdrojového kódu do strojového kódu. Na rozdíl od kompilátoru však tlumočník běží pokaždé s programem a provádí překlad řádek po řádku.

Můžete říci, že kompilátor a interpret jsou jazykové procesory, které umožňují počítači rozpoznat a provádět příkazy zadané programátorem.

Klasifikace kompilátoru

kompilátor je program
kompilátor je program

Kompilátory jsou klasifikovány hlavně podle funkcí souvisejících s oblastmi jejich praktického použití.

Vektorizační kompilátor je nástroj, který převádí zdrojový kód do objektového kódu a je přizpůsobený pro počítače vybavené vektorovými procesory.

Flexibilní kompilátor je naprogramován v jazyce vysoké úrovně modulárním způsobem. Jeho správa se provádí pomocí tabulek. Je také možné jej spustit pomocí kompilátoru kompilátorů.

Inkrementální kompilátor je jazykový procesor, který znovu překládá samostatné fragmenty zdrojového kódu a jeho dodatky. Vyhne se však rekompilaci celé aplikace.

Interpretační (krokovací) kompilátor je nástroj, který postupně provádí nezávislou kompilaci každého příkazu nebo příkazu vysokoúrovňového zdrojového kódu.

Kompilátor kompilátorů je překladač schopný přijmout formální popis programovacího jazyka a nezávisle generovat kompilátor pro jakýkoli jazyk.

kompilátor a interpret
kompilátor a interpret

Debug kompilátor vám umožňuje najít a opravit některé druhy syntaktických chyb vzniklých při psaní zdrojového kódu

Rezidentní kompilátor zaujímá trvalé místo v paměti RAM, a proto je opakovaně použitelný pro širokou škálu úkolů.

Samokompilovaný kompilátor je napsán ve stejném jazyce jako překlad.

Univerzální kompilátor je založen na formálním popisu sémantických a syntaktických parametrů vstupního jazyka. Hlavními součástmi takového nástroje jsou jádro, syntaktické a sémantické zavaděče.

Zařízení kompilátoru

Srdcem každého kompilátoru je kompilátor a linker. Často se při kompilaci používá externí linker a samotný kompilátor provádí pouze funkci překladu. Stává se také, že kompilátor je implementován jako druh manažerského programu, který je spojen s překladačem (nebo překladateli, pokud byly při psaní zdrojového kódu použity různé programovací jazyky) a linkerem a v případě potřeby spustí jejich provádění.

Programovací jazyky a metody překladu

jazykový kompilátor
jazykový kompilátor

Navzdory skutečnosti, že program napsaný v jakémkoli programovacím jazyce lze zkompilovat i interpretovat, mnoho jazyků na vysoké úrovni má sklony k té či oné metodě překladu. Jazyk C byl tedy původně navržen pro kompilaci a Java - pro interpretaci napsaného programu. jsou vyvíjenyKompilátory C jsou poměrně snadné díky relativně nízké úrovni a malému počtu strukturálních prvků.

Výhody a nevýhody kompilátorů a interpretů. Aplikace

Všimněte si, že kompilované aplikace jsou rychlejší než ty interpretované, ale zároveň strojový kód získaný kompilací závisí na hardwarové platformě. Takže program napsaný a zkompilovaný pro Windows nebude fungovat například v Linuxu. Proto v případě internetových aplikací, kdy nelze předem říci, v jakém prostředí budou pracovat, používají interpretaci nebo bytecode (v tomto případě je zdrojový program převeden do přechodné formy, kterou lze spustit na různém hardwaru platformy).

Doporučuje: