Assembler verzus kompilátor
Všeobecne je kompilátor 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. Tradične bol zdrojovým jazykom jazyk na vysokej úrovni, ako napríklad C ++, a cieľovým jazykom bol jazyk na nízkej úrovni, napríklad jazyk Assembly. Existujú však kompilátory, ktoré môžu prevádzať zdrojový program napísaný v jazyku Assembly a prevádzať ho na strojový kód alebo kód objektu. Zostavovatelia sú také nástroje. Takže zostavovatelia aj kompilátory nakoniec vytvoria kód, ktorý sa dá priamo vykonať na počítači.
Čo je to kompilátor?
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ý jazyk je najčastejšie jazyk na vysokej úrovni a cieľový jazyk je jazyk na nízkej úrovni. Všeobecne možno prekladateľov chápať ako prekladateľov, ktorí prekladajú z jedného jazyka do druhého. Kompilátory navyše vykonávajú určité optimalizácie kódu. Typický kompilátor sa skladá z niekoľkých hlavných komponentov. Prvým komponentom je skener (známy aj ako lexikálny analyzátor). Skener číta program a prevádza ho do reťazca tokenov. Druhým komponentom je syntaktický analyzátor. Konvertuje reťazec tokenov na syntaktický strom (alebo abstraktný syntaxový strom), ktorý zachytáva syntaktickú štruktúru programu. Ďalším komponentom sú sémantické rutiny, ktoré interpretujú sémantiku syntaktickej štruktúry. Nasleduje optimalizácia kódu a generovanie konečného kódu.
Čo je to Assembler?
Assembler je softvér alebo nástroj, ktorý prekladá jazyk Assembly do strojového kódu. Zostavovateľ je teda typ kompilátora a zdrojový kód je napísaný v jazyku Assembly. Zostava je ľudsky čitateľný jazyk, ale zvyčajne má vzťah jeden ku každému s príslušným strojovým kódom. Preto sa hovorí, že zostavovateľ vykonáva izomorfný (jeden na jedného mapovania) preklad. Pokročilí zostavovatelia poskytujú ďalšie funkcie, ktoré podporujú vývoj a ladenie programov. Napríklad typ assemblerov nazývaných makro assembleri poskytuje makro funkciu.
Aký je rozdiel medzi Assembler a Compiler?
Kompilátor je počítačový program, ktorý číta program napísaný v jednom jazyku a prekladá ho do iného jazyka, zatiaľ čo zostavovateľ sa môže považovať za špeciálny typ kompilátora, ktorý prekladá iba strojový jazyk do strojového kódu. Kompilátory zvyčajne produkujú strojový vykonateľný kód priamo z jazyka na vysokej úrovni, ale zostavovatelia produkujú kód objektu, ktorý môže byť na prepojenie so strojom potrebné prepojiť pomocou linkerových programov. Pretože montážny jazyk má mapovanie jeden ku druhému so strojovým kódom, môže sa zostavovateľ použiť na výrobu kódu, ktorý beží veľmi efektívne pre prípady, v ktorých je výkon veľmi dôležitý (napríklad pre grafické stroje, vstavané systémy s obmedzenými hardvérovými prostriedkami v porovnaní s osobným počítačom). ako sú mikrovlnné rúry, práčky atď.).