Razlika između sastavljača i prevoditelja

Assembler vs Tumač

Općenito, prevoditelj je računalni program koji čita program napisan na jednom jeziku, koji se zove izvorni jezik, i prevodi ga u drugi jezik, koji se naziva ciljni jezik. Tradicionalno, izvorni jezik je jezik visoke razine poput C ++, a ciljni jezik je jezik niske razine poput skupštinskog jezika. Međutim, postoje prevoditelji koji mogu pretvoriti izvorni program napisan na jeziku skupštine i pretvoriti ga u strojni kod ili objektni kod. Monitori su takav alat. S druge strane, tumači su alati koji izvršavaju upute napisane u nekom programskom jeziku. Interpreter može izravno izvršiti izvorni kôd visoke razine ili ih prevesti u srednji kod te ga zatim protumačiti ili izvršiti unaprijed sastavljeni kod.

Što je Assembler?

Assembler je softver ili alat koji prevodi skupštinski jezik u strojni kod. Dakle, montažer je tip prevodilaca, a izvorni kôd je napisan na skupštinskom jeziku. Sastavljanje je ljudski razumljiv jezik, ali obično ima odnos jedan na jedan s odgovarajućim strojnim kodom. Stoga se kaže da montažer izomorfni (jedan na jedan preslikavanje) prevodi. Napredni alati za montažu pružaju dodatne značajke koje podržavaju razvoj programa i postupke uklanjanja pogrešaka. Na primjer, vrsta alata za sastavljanje naziva makro aparatori pruža makro olakšanje.

Što je to tumač?

Prevoditelj je računalni program ili alat koji izvršava upute za programiranje. Tumač može ili izvršiti izvorni kod izravno ili pretvoriti izvor u srednji kod te ga izravno izvršiti ili izvršiti unaprijed sastavljeni kod proizveden od prevoditelja (neki interpretacijski sustavi uključuju prevoditelj za ovaj zadatak). Jezici kao što su Perl, Python, MATLAB i Ruby primjeri su programskih jezika koji upotrebljavaju međufazni kod. UCSD Pascal tumači unaprijed sastavljeni kôd. Jezici kao što su Java, BASIC i Samlltalk prvo sastavljaju izvor u međuprostorni kod koji se zove bytecode, a zatim ga interpretiraju.

Koja je razlika između sastavljača i prevoditelja?

Sastavljač se može smatrati posebnom vrstom prevodilaca, koji samo jezik skupštine prevodi u strojni kod. Tumači su alati koji izvršavaju upute napisane na nekom jeziku. Interpreterski sustavi mogu sadržavati prevodilac za predkompiliranje koda prije interpretacije, ali tumač se ne može nazvati posebnom vrstom prevoditelja. Sastavljači proizvode objektni kod, koji se možda mora povezati pomoću programa za povezivanje da bi se pokrenuo na stroju, ali većina tumača može izvršiti program sama. Sastavljač obično napravi prijevod jedan na jedan, ali to nije točno za većinu tumača. Budući da se na jeziku skupštine nalazi mapiranje jedan na jedan s strojnim kodom, sastavljač se može koristiti za proizvodnju koda koji se vrlo učinkovito izvodi za prilike u kojima su performanse vrlo važne (npr. Grafički motori, ugrađeni sustavi s ograničenim hardverskim resursima u usporedbi s osobnim računalom poput mikrovalnih pećnica, perilica rublja itd.). S druge strane, tumači se koriste kada vam je potrebna visoka prenosivost. Na primjer, isti Java bajt kod može se pokrenuti na različitim platformama pomoću odgovarajućeg tumača (JVM).