Rozdiel Medzi Zostavovateľom A Prekladačom

Rozdiel Medzi Zostavovateľom A Prekladačom
Rozdiel Medzi Zostavovateľom A Prekladačom

Video: Rozdiel Medzi Zostavovateľom A Prekladačom

Video: Rozdiel Medzi Zostavovateľom A Prekladačom
Video: Venuša planéty ▶ Pohľad na ďalekohľad. Marec 2020. Titulky zapnuté 2024, November
Anonim

Assembler vs Compiler

Kompilátor je vo všeobecnosti počítačový program, ktorý číta program napísaný v jednom jazyku, ktorý sa nazýva zdrojový jazyk, a prekladá ho do iného jazyka, ktorý sa nazýva cieľový jazyk. Pôvodným zdrojovým jazykom bol tradične jazyk na vysokej úrovni, napríklad C ++, a cieľovým jazykom, ktorý bol na nízkej úrovni, napríklad jazyk assembleri. Existujú však kompilátory, ktoré dokážu previesť zdrojový program napísaný v jazyku Assembly a previesť ho na strojový kód alebo objektový kód. Montážnici sú také nástroje. Takže kompilátory aj kompilátory nakoniec produkujú kód, ktorý je možné priamo spustiť na stroji.

Čo je to prekladač?

Kompilátor je počítačový program, ktorý číta program napísaný v jednom jazyku, ktorý sa nazýva zdrojový jazyk, a prekladá ho do iného jazyka, ktorý sa nazýva cieľový jazyk. Zdrojovým jazykom je najčastejšie jazyk na vysokej úrovni a cieľovým jazykom na nízkej úrovni. Všeobecne sa teda na prekladateľov dá pozerať ako na prekladateľov, ktorí prekladajú z jedného jazyka do druhého. Okrem toho kompilátory vykonávajú niektoré optimalizácie kódu. Typický kompilátor je zložený z niekoľkých hlavných komponentov. Prvou zložkou je skener (tiež známy ako lexikálny analyzátor). Skener načíta program a prevedie ho na reťazec žetónov. Druhou zložkou je syntaktický analyzátor. Konvertuje reťazec tokenov do syntaktického stromu (alebo abstraktného stromu syntaxe), ktorý zachytáva syntaktickú štruktúru programu. Ďalšou súčasťou sú sémantické rutiny, ktoré interpretujú sémantiku syntaktickej štruktúry. Nasledujú optimalizácie kódu a konečné generovanie kódu.

Čo je Assembler?

Assembler je softvér alebo nástroj, ktorý prevádza montážny jazyk do strojového kódu. Assembler je teda typom prekladača a zdrojový kód je napísaný v jazyku Assembly. Zostavenie je človekom čitateľný jazyk, ale zvyčajne má vzťah jeden na jedného so zodpovedajúcim strojovým kódom. Preto sa o asembleri hovorí, že vykonáva izomorfný preklad (mapovanie jeden na jedného). Pokročilé montážne programy poskytujú ďalšie funkcie, ktoré podporujú procesy vývoja a ladenia programu. Napríklad typ asemblerov, ktorý sa nazýva makro asembleri, poskytuje makropríslušenstvo.

Aký je rozdiel medzi zostavovateľom a prekladačom?

Kompilátor je počítačový program, ktorý číta program napísaný v jednom jazyku a prekladá ho do iného jazyka, zatiaľ čo assembler možno považovať za špeciálny typ kompilátora, ktorý prekladá iba strojový kód do strojového kódu. Kompilátory zvyčajne produkujú spustiteľný kód stroja priamo z jazyka vysokej úrovne, ale zostavovatelia produkujú objektový kód, ktorý bude možno potrebné prepojiť pomocou linkerových programov, aby sa dal spustiť na stroji. Pretože jazyk Assembly má mapovanie 1: 1 so strojovým kódom, môže sa na vytvorenie kódu, ktorý beží veľmi efektívne pri príležitostiach, pri ktorých je veľmi dôležitý výkon, použiť assembler (napríklad pre grafické motory, vstavané systémy s obmedzenými hardvérovými prostriedkami v porovnaní s osobným počítačom). mikrovlnné rúry, práčky atď.).

Odporúčaná: