Assembler vs Tlmočník
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. Zdrojovým jazykom je tradične jazyk na vysokej úrovni, napríklad C ++, a cieľovým jazykom, ktorý je 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. Na druhej strane, tlmočníci sú nástroje, ktoré vykonávajú pokyny napísané v niektorom programovacom jazyku. Tlmočník môže buď priamo vykonať zdrojový kód na vysokej úrovni, alebo ich preložiť do medzikódu a potom ho interpretovať alebo vykonať predkompilovaný kód.
Čo je Assembler?
Assembler je softvér alebo nástroj, ktorý prekladá z assembleru 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.
Čo je tlmočník?
Tlmočník je počítačový program alebo nástroj, ktorý vykonáva programovacie pokyny. Tlmočník môže buď vykonať zdrojový kód priamo, alebo prevedie zdroj na prechodný kód a vykonať ho priamo, alebo vykonať predkompilovaný kód vyprodukovaný kompilátorom (niektoré tlmočnícke systémy obsahujú pre túto úlohu kompilátor). Jazyky ako Perl, Python, MATLAB a Ruby sú príkladmi programovacích jazykov, ktoré používajú prechodný kód. UCSD Pascal interpretuje predkompilovaný kód. Jazyky ako Java, BASIC a Samlltalk najskôr skompilujú zdroj na prechodný kód s názvom bytecode a potom ho interpretujú.
Aký je rozdiel medzi zostavovateľom a tlmočníkom?
Assembler možno považovať za špeciálny typ prekladača, ktorý prekladá iba assemblerový jazyk do strojového kódu. Tlmočníci sú nástroje, ktoré vykonávajú inštrukcie napísané v niektorom jazyku. Tlmočnícke systémy môžu obsahovať prekladač na predbežnú kompiláciu kódu pred tlmočením, ale tlmočník sa nedá nazvať špeciálnym typom prekladača. Assemblers produkujú objektový kód, ktorý môže byť potrebné prepojiť pomocou linkerových programov, aby mohol bežať na stroji, ale väčšina tlmočníkov môže dokončiť vykonanie programu sama. Zhromažditeľ zvyčajne vykoná preklad z jedného do jedného, ale to neplatí pre väčšinu tlmočníkov. 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 (napríklad grafické motory,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ď.). Na druhej strane sa tlmočníci používajú, keď potrebujete vysokú prenosnosť. Napríklad ten istý bajtkód Java je možné spustiť na rôznych platformách pomocou príslušného tlmočníka (JVM).