Rozdíl Mezi Assembler A Compiler

Rozdíl Mezi Assembler A Compiler
Rozdíl Mezi Assembler A Compiler

Video: Rozdíl Mezi Assembler A Compiler

Video: Rozdíl Mezi Assembler A Compiler
Video: Переводчики | Ассемблер | Компилятор | Переводчик | Академия кодирования 2024, Duben
Anonim

Assembler vs Compiler

Obecně je překladač 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. Zdrojovým jazykem byl tradičně jazyk na vysoké úrovni, například C ++, a cílovým jazykem byl jazyk na nízké úrovni, jako je jazyk Assembly. Existují však kompilátory, které mohou převést zdrojový program napsaný v jazyce Assembly a převést jej na strojový kód nebo objektový kód. Assemblers jsou takové nástroje. Takže jak assemblery, tak kompilátory nakonec produkují kód, který lze přímo spustit na počítači.

Co je to překladač?

Překladač je 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. Nejčastěji je zdrojovým jazykem jazyk na vysoké úrovni a cílovým jazykem na nízké úrovni. Obecně lze překladače považovat za překladače, kteří překládají z jednoho jazyka do druhého. Kromě toho kompilátoři provádějí některé optimalizace kódu. Typický překladač se skládá z několika hlavních komponent. První složkou je skener (také známý jako lexikální analyzátor). Skener načte program a převede jej na řetězec žetonů. Druhou složkou je analyzátor. Převádí řetězec tokenů na analyzovaný strom (nebo abstraktní syntaxový strom), který zachycuje syntaktickou strukturu programu. Další komponentou jsou sémantické rutiny, které interpretují sémantiku syntaktické struktury. Optimalizace kódu a finální generování kódu následují.

Co je Assembler?

Assembler je software nebo nástroj, který překládá assembler do strojového kódu. Assembler je tedy typ kompilátoru a zdrojový kód je napsán v jazyce Assembly. Sestavení je jazyk čitelný člověkem, ale obvykle má vztah jedna k jedné s odpovídajícím strojovým kódem. Proto se říká, že assembler provádí izomorfní (mapování jeden na jednoho) překlad. Pokročilé assemblery poskytují další funkce, které podporují procesy vývoje a ladění programů. Například typ asemblerů, který se nazývá sestavování maker, poskytuje makro vybavení.

Jaký je rozdíl mezi Assemblerem a Compilerem?

Kompilátor je počítačový program, který čte program napsaný v jednom jazyce a překládá jej do jiného jazyka, zatímco assembler lze považovat za speciální typ kompilátoru, který překládá pouze strojový jazyk do strojového kódu. Kompilátoři obvykle produkují spustitelný kód stroje přímo z jazyka vysoké úrovně, ale assemblery produkují objektový kód, který může být nutné propojit pomocí linkerových programů, aby mohl běžet na stroji. Protože jazyk Assembly má mapování 1: 1 se strojovým kódem, může být použit assembler pro výrobu kódu, který běží velmi efektivně pro příležitosti, ve kterých je velmi důležitý výkon (např. Grafické stroje, vestavěné systémy s omezenými hardwarovými prostředky ve srovnání s osobním počítačem) mikrovlnné trouby, pračky atd.).

Doporučená: