Diferență între asamblare și interpret

Anonim

Assembler vs Interpreter

În general, compilatorul este un program de calculator care citește un program scris într-o limbă, numit limba sursă și o traduce într-o altă limbă, care este numită limba țintă. În mod tradițional, limbajul sursă este un limbaj de nivel înalt, cum ar fi C ++, iar limba țintă este un limbaj de nivel scăzut, cum ar fi limba de asamblare. Cu toate acestea, există compilatoare care pot converti un program sursă scris în limba de asamblare și convertește-l la codul mașinii sau codul obiect. Asamblorii sunt astfel de instrumente. Pe de altă parte, interpreții sunt instrumente care execută instrucțiuni scrise în unele limbi de programare. Interpretul poate fie să execute direct un cod sursă la nivel înalt, fie să îl traducă la un cod intermediar și apoi să îl interpreteze sau să execute codul precompilat.

Ce este un asamblator?

Assembler este un software sau un instrument care traduce limba de asamblare la codul mașinii. Deci, un asamblator este un tip de compilator, iar codul sursă este scris în limba Adunării. Adunarea este un limbaj citit de om, dar de obicei are o relație unul cu unul cu codul mașinii corespunzător. Prin urmare, se spune că un asamblator efectuează o traducere izomorfă (una la o mapare). Asamblorii avansați oferă funcții suplimentare care suportă procesele de dezvoltare și depanare a programelor. De exemplu, tipul de asamblori numiți asamblatori macro oferă o facilitate macro.

Ce este un interpret?

Un interpret este un program de calculator sau un instrument care execută instrucțiuni de programare. Un interpret poate fie să execute direct codul sursă, fie să convertească sursa la un cod intermediar și să o execute direct sau să execute codul precompilat produs de un compilator (unele sisteme de interpreți includ un compilator pentru această sarcină). Limbi ca Perl, Python, MATLAB și Ruby sunt exemple de limbi de programare care utilizează un cod intermediar. UCSD Pascal interpretează un cod precompilat. Limbi precum Java, BASIC și Samlltalk compilați mai întâi sursa unui cod intermediar numit bytecode și apoi interpretați-l.

Care este diferența dintre un asamblator și un interpret?

Un asamblator poate fi considerat un tip special de compilator, care traduce numai limba Adunării la codul mașinii. Interpreții sunt instrumente care execută instrucțiuni scrise într-o anumită limbă. Sistemele de interpreți pot include un compilator pentru a precompila codul înainte de interpretare, dar un interpret nu poate fi numit un tip special de compilator. Asamblorii produc un cod obiect, care ar putea fi legat folosind programe linker pentru a rula pe o mașină, dar majoritatea interpreților pot finaliza singuri executarea unui program.Un asamblator va face de obicei o traducere la unu, dar acest lucru nu este valabil pentru majoritatea interpreților. Deoarece limbajul de asamblare are o mapare unu-la-unu cu codul mașinii, un asamblator poate fi utilizat pentru producerea unui cod care rulează foarte eficient pentru ocazii în care performanța este foarte importantă (de exemplu, motoarele grafice, sistemele încorporate cu resurse hardware limitate, cum ar fi microundele, mașinile de spălat etc.). Pe de altă parte, interpreții sunt utilizați atunci când aveți nevoie de portabilitate ridicată. De exemplu, același octet Java poate fi rulat pe diferite platforme utilizând interpretul adecvat (JVM).