Assembler verzus tlmočník
Vo všeobecnosti 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 je zdrojovým jazykom jazyk vysokej úrovne, ako je C++, a cieľovým jazykom je jazyk nízkej úrovne, ako je jazyk symbolických inštrukcií. Existujú však kompilátory, ktoré dokážu skonvertovať zdrojový program napísaný v jazyku Assembly a previesť ho na strojový alebo objektový kód. Takýmito nástrojmi sú assemblery. Na druhej strane, tlmočníci sú nástroje, ktoré vykonávajú inštrukcie napísané v nejakom programovacom jazyku. Interpreter môže buď priamo spustiť zdrojový kód vysokej úrovne alebo ho preložiť do stredného kódu a potom ho interpretovať alebo spustiť predkompilovaný kód.
Čo je to Assembler?
Assembler je softvér alebo nástroj, ktorý prekladá jazyk assembleru do strojového kódu. Takže assembler je typ kompilátora a zdrojový kód je napísaný v jazyku assembler. Zostavovanie je ľudsky čitateľný jazyk, ale zvyčajne má vzťah jedna k jednej so zodpovedajúcim strojovým kódom. Preto sa o assembleri hovorí, že vykonáva izomorfný (mapovanie z jedného na jeden) preklad. Pokročilé assemblery poskytujú ďalšie funkcie, ktoré podporujú vývoj programov a procesy ladenia. Napríklad typ assemblerov nazývaných makro assemblery poskytuje možnosť makra.
Čo je tlmočník?
Interpret je počítačový program alebo nástroj, ktorý vykonáva programovacie inštrukcie. Interpret môže buď spustiť zdrojový kód priamo, alebo previesť zdrojový kód na prechodný kód a spustiť ho priamo, alebo spustiť predkompilovaný kód vytvorený kompilátorom (niektoré interpretačné systémy obsahujú kompilátor pre túto úlohu). Jazyky ako Perl, Python, MATLAB a Ruby sú príklady programovacích jazykov, ktoré používajú prechodný kód. UCSD Pascal interpretuje predkompilovaný kód. Jazyky ako Java, BASIC a Samlltalk najprv skompilujú zdrojový kód do prechodného kódu nazývaného bytecode a potom ho interpretujú.
Aký je rozdiel medzi asemblerom a tlmočníkom?
Ambler možno považovať za špeciálny typ kompilátora, ktorý iba prekladá jazyk assembleru do strojového kódu. Tlmočníci sú nástroje, ktoré vykonávajú inštrukcie napísané v nejakom jazyku. Systémy tlmočníkov môžu obsahovať kompilátor na predkompiláciu kódu pred interpretáciou, ale tlmočník nemôže byť nazývaný špeciálnym typom kompilátora. Assembleri vytvárajú objektový kód, ktorý možno bude musieť byť prepojený pomocou linkerových programov, aby mohol bežať na stroji, ale väčšina tlmočníkov môže dokončiť vykonávanie programu sama. Assembler zvyčajne vykoná preklad jeden na jeden, ale to neplatí pre väčšinu tlmočníkov. Pretože jazyk assembler má mapovanie jedna ku jednej so strojovým kódom, na vytváranie kódu, ktorý beží veľmi efektívne pri príležitostiach, kde je výkon veľmi dôležitý (napríklad pre grafické motory, vstavané systémy s obmedzenými hardvérovými zdrojmi v porovnaní s osobným počítačom) možno použiť assembler. mikrovlnné rúry, práčky atď.). Na druhej strane, tlmočníci sa používajú, keď potrebujete vysokú prenosnosť. Napríklad rovnaký bajtový kód Java možno spustiť na rôznych platformách pomocou vhodného interpretera (JVM).