Diferența dintre asamblator și compilator

Diferența dintre asamblator și compilator
Diferența dintre asamblator și compilator

Video: Diferența dintre asamblator și compilator

Video: Diferența dintre asamblator și compilator
Video: Which Tokyo Disney Theme Park Is Better? Disneyland VS Disneysea! 2024, Iulie
Anonim

Asamblator vs compilator

În general, compilatorul este un program de calculator care citește un program scris într-o limbă, care se numește limba sursă, și îl traduce într-o altă limbă, care se numește limba țintă. În mod tradițional, limbajul sursă era un limbaj de nivel în alt, cum ar fi C++, iar limba țintă era un limbaj de nivel scăzut, cum ar fi limbajul asamblare. Cu toate acestea, există compilatoare care pot converti un program sursă scris în limbaj de asamblare și îl pot converti în cod mașină sau cod obiect. Asamblatorii sunt astfel de instrumente. Deci, atât asamblatorii, cât și compilatorii produc în cele din urmă cod care poate fi executat direct pe o mașină.

Ce este un compilator?

Compiler este un program de calculator care citește un program scris într-o limbă, care se numește limba sursă, și îl traduce într-o altă limbă, care se numește limba țintă. Cel mai adesea, limba sursă este o limbă de nivel în alt, iar limba țintă este o limbă de nivel scăzut. Deci, în general, compilatorii pot fi văzuți ca traducători care traduc dintr-o limbă în alta. În plus, compilatoarele efectuează unele optimizări ale codului. Un compilator tipic este format din mai multe componente principale. Prima componentă este scanerul (cunoscut și ca analizor lexical). Scannerul citește programul și îl convertește într-un șir de jetoane. A doua componentă este analizatorul. Acesta convertește șirul de jetoane într-un arbore de analiză (sau un arbore de sintaxă abstractă), care surprinde structura sintactică a programului. Următoarea componentă este rutinele semantice care interpretează semantica structurii sintactice. Urmează optimizarea codului și generarea finală a codului.

Ce este un asamblator?

Assembler este un software sau un instrument care traduce limbajul de asamblare în codul mașinii. Deci, un asamblator este un tip de compilator, iar codul sursă este scris în limbaj de asamblare. Asamblarea este un limbaj care poate fi citit de om, dar are de obicei o relație unu-la-unu cu codul de mașină corespunzător. Prin urmare, se spune că un asamblator efectuează translație izomorfă (maping unu la unu). Asamblatoarele avansate oferă caracteristici suplimentare care sprijină procesele de dezvoltare și depanare a programelor. De exemplu, tipul de asamblatori numiți macro-asamblatori oferă o facilitate de macro-asamblare.

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

Compiler este un program de calculator care citește un program scris într-o limbă și îl traduce într-o altă limbă, în timp ce un asamblator poate fi considerat un tip special de compilator care traduce doar limbajul de asamblare în codul mașinii. Compilatorii produc de obicei codul executabil al mașinii direct dintr-un limbaj de nivel în alt, dar asamblatorii produc un cod obiect care ar putea trebui să fie conectat folosind programe de linker pentru a rula pe o mașină. Deoarece limbajul de asamblare are o mapare unu la unu cu codul mașinii, un asamblator poate fi utilizat pentru a produce cod care rulează foarte eficient pentru ocazii în care performanța este foarte importantă (de exemplu, pentru motoarele grafice, sistemele încorporate cu resurse hardware limitate în comparație cu un computer personal). cum ar fi cuptoarele cu microunde, mașinile de spălat, etc.).

Recomandat: