Assembler və Kompilyator Arasındakı Fərq

Assembler və Kompilyator Arasındakı Fərq
Assembler və Kompilyator Arasındakı Fərq

Video: Assembler və Kompilyator Arasındakı Fərq

Video: Assembler və Kompilyator Arasındakı Fərq
Video: Карабин AR 10 за 800 000р. Стоит своих денег или "бусы для туземцев"? 2024, Noyabr
Anonim

Assembler vs Compiler

Ümumiyyətlə kompilyator mənbə dil adlanan bir dildə yazılmış proqramı oxuyan və onu hədəf dil adlanan başqa dilə çevirən kompüter proqramıdır. Ənənəvi olaraq mənbə dili C++ kimi yüksək səviyyəli dil, hədəf dil isə Assambleya dili kimi aşağı səviyyəli dil idi. Bununla belə, Assembly dilində yazılmış mənbə proqramı çevirə və onu maşın koduna və ya obyekt koduna çevirə bilən kompilyatorlar var. Montajçılar belə alətlərdir. Beləliklə, həm assemblerlər, həm də kompilyatorlar son nəticədə birbaşa maşında icra oluna bilən kod istehsal edirlər.

Tərtibçi nədir?

Tərtibçi mənbə dil adlanan bir dildə yazılmış proqramı oxuyan və onu hədəf dil adlanan başqa bir dilə çevirən kompüter proqramıdır. Çox vaxt mənbə dil yüksək səviyyəli dil, hədəf dil isə aşağı səviyyəli dildir. Beləliklə, ümumiyyətlə tərtibçiləri bir dildən digərinə tərcümə edən tərcüməçilər kimi görmək olar. Bundan əlavə, kompilyatorlar koda bəzi optimallaşdırmalar həyata keçirirlər. Tipik kompilyator bir neçə əsas komponentdən ibarətdir. Birinci komponent skanerdir (həmçinin leksik analizator kimi də tanınır). Skaner proqramı oxuyur və onu bir sıra işarələrə çevirir. İkinci komponent təhliledicidir. O, proqramın sintaktik strukturunu tutan ayələr sətirini təhlil ağacına (və ya abstrakt sintaksis ağacına) çevirir. Növbəti komponent sintaktik strukturun semantikasını şərh edən semantik rutinlərdir. Kod optimallaşdırmaları və son kod generasiyası bunu izləyir.

Assembler nədir?

Assembler Assembly dilini maşın koduna çevirən proqram və ya alətdir. Deməli, assembler kompilyatorun bir növüdür və mənbə kodu Assembly dilində yazılır. Assambleya insan tərəfindən oxuna bilən bir dildir, lakin adətən müvafiq maşın kodu ilə birə bir əlaqəyə malikdir. Buna görə də assemblerin izomorf (birə bir xəritəçəkmə) tərcüməsini yerinə yetirdiyi deyilir. Qabaqcıl assemblerlər proqramların işlənib hazırlanması və sazlama proseslərini dəstəkləyən əlavə funksiyalar təqdim edirlər. Məsələn, makro montajçılar adlanan montajçıların növü makro obyekti təmin edir.

Assembler ilə Kompilyator arasındakı fərq nədir?

Tərtibçi bir dildə yazılmış proqramı oxuyan və onu başqa bir dilə çevirən kompüter proqramıdır, assembler isə yalnız Assembly dilini maşın koduna çevirən xüsusi kompilyator növü hesab edilə bilər. Kompilyatorlar adətən maşının icra oluna bilən kodunu birbaşa yüksək səviyyəli dildən istehsal edir, lakin assemblerlər maşında işləmək üçün əlaqələndirici proqramlardan istifadə etməklə əlaqələndirilməli olan obyekt kodunu istehsal edirlər. Assembly dili maşın kodu ilə bir-bir xəritələşdirməyə malik olduğundan, performansın çox vacib olduğu hallar üçün (məsələn, qrafik mühərrikləri, fərdi kompüterlə müqayisədə məhdud aparat resurslarına malik quraşdırılmış sistemlər üçün) çox səmərəli işləyən kodun istehsalı üçün assemblerdən istifadə edilə bilər. mikrodalğalı soba, p altaryuyan maşın və s. kimi).

Tövsiyə: