Rozdíl mezi Assemblerem a Interpreterem

Rozdíl mezi Assemblerem a Interpreterem
Rozdíl mezi Assemblerem a Interpreterem

Video: Rozdíl mezi Assemblerem a Interpreterem

Video: Rozdíl mezi Assemblerem a Interpreterem
Video: 30 глупых вопросов DevOps-инженеру [Карьера в IT] 2024, Prosinec
Anonim

Assembler versus Interpreter

Obecně je kompilátor počítačový program, který čte program napsaný v jednom jazyce, který se nazývá zdrojový jazyk, a překládá jej do jiného jazyka, který se nazývá cílový jazyk. Tradičně je zdrojovým jazykem jazyk vysoké úrovně, jako je C++, a cílovým jazykem je jazyk nízké úrovně, jako je jazyk symbolických instrukcí. Existují však kompilátory, které dokážou převést zdrojový program napsaný v jazyce Assembly a převést jej na strojový nebo objektový kód. Takovými nástroji jsou assemblery. Na druhou stranu jsou interprety nástroje, které provádějí instrukce napsané v nějakém programovacím jazyce. Interpreter může buď přímo spouštět zdrojové kódy vysoké úrovně, nebo je překládat do středního kódu a poté jej interpretovat nebo provádět předkompilovaný kód.

Co je to Assembler?

Assembler je software nebo nástroj, který překládá jazyk assembleru do strojového kódu. Takže assembler je typ kompilátoru a zdrojový kód je napsán v jazyce assembler. Assembly je člověkem čitelný jazyk, ale obvykle má vztah jedna ku jedné s odpovídajícím strojovým kódem. Proto se o assembleru říká, že provádí isomorfní (mapování jedna ku jedné) překlad. Pokročilé assemblery poskytují další funkce, které podporují vývoj programů a procesy ladění. Například typ assemblerů nazývaných makro assemblery poskytuje možnost makra.

Co je to tlumočník?

Interpret je počítačový program nebo nástroj, který provádí programovací instrukce. Interpret může buď spouštět zdrojový kód přímo, nebo převádět zdroj na přechodný kód a spouštět jej přímo, nebo provádět předkompilovaný kód vytvořený kompilátorem (některé interpretační systémy obsahují kompilátor pro tento úkol). Jazyky jako Perl, Python, MATLAB a Ruby jsou příklady programovacích jazyků, které používají přechodný kód. UCSD Pascal interpretuje předkompilovaný kód. Jazyky jako Java, BASIC a Samlltalk nejprve zkompilují zdrojový kód do mezikódu zvaného bytecode a poté jej interpretují.

Jaký je rozdíl mezi Assemblerem a tlumočníkem?

Asembler lze považovat za speciální typ kompilátoru, který pouze překládá jazyk assembleru do strojového kódu. Interprety jsou nástroje, které provádějí instrukce napsané v nějakém jazyce. Systémy tlumočníků mohou obsahovat kompilátor pro předkompilaci kódu před interpretací, ale tlumočník nemůže být nazýván speciálním typem kompilátoru. Assemblery vytvářejí objektový kód, který může být nutné propojit pomocí linkerových programů, aby mohl běžet na počítači, ale většina interpretů může dokončit provádění programu sama. Assembler obvykle provede překlad jedna ku jedné, ale to neplatí pro většinu interpretů. Vzhledem k tomu, že jazyk assembler má mapování jedna ku jedné se strojovým kódem, lze assembler použít k vytváření kódu, který běží velmi efektivně v případech, kdy je výkon velmi důležitý (například pro grafické motory, vestavěné systémy s omezenými hardwarovými prostředky ve srovnání s osobním počítačem). jako jsou mikrovlnné trouby, pračky atd.). Na druhou stranu se tlumočníci používají, když potřebujete vysokou přenositelnost. Například stejný bytekód Java lze spustit na různých platformách pomocí příslušného interpretu (JVM).

Doporučuje: