Assembler və Tərcüməçi
Ü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ə dil C++ kimi yüksək səviyyəli dildir və hədəf dil Assembly dili kimi aşağı səviyyəli dildir. 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. Digər tərəfdən, Tərcüməçilər bəzi proqramlaşdırma dillərində yazılmış təlimatları yerinə yetirən alətlərdir. Tərcüməçi ya birbaşa yüksək səviyyəli mənbə kodunu icra edə, ya da onları ara koda çevirə və sonra onu şərh edə və ya əvvəlcədən tərtib edilmiş kodu icra edə bilər.
Assembler nədir?
Assembler proqram və ya Assembly dilini maşın koduna çevirən 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.
Tərcüməçi nədir?
Tərcüməçi kompüter proqramı və ya proqramlaşdırma təlimatlarını yerinə yetirən alətdir. Tərcüməçi ya mənbə kodunu birbaşa icra edə bilər, ya da mənbəni ara koda çevirib onu birbaşa icra edə bilər və ya tərtibçi tərəfindən hazırlanmış əvvəlcədən tərtib edilmiş kodu icra edə bilər (bəzi tərcüməçi sistemlərində bu tapşırıq üçün kompilyator daxildir). Perl, Python, MATLAB və Ruby kimi dillər ara koddan istifadə edən proqramlaşdırma dillərinə misaldır. UCSD Pascal əvvəlcədən tərtib edilmiş kodu şərh edir. Java, BASIC və Samlltalk kimi dillər əvvəlcə mənbəni bayt kodu adlı ara koda tərtib edir və sonra onu şərh edir.
Assembler ilə Tərcüməçi arasındakı fərq nədir?
Assembler yalnız Assembly dilini maşın koduna çevirən xüsusi kompilyator növü hesab edilə bilər. Tərcüməçilər bəzi dillərdə yazılmış təlimatları yerinə yetirən alətlərdir. Tərcüməçi sistemlərə tərcümədən əvvəl kodu əvvəlcədən tərtib etmək üçün kompilyator daxil ola bilər, lakin tərcüməçini kompilyatorun xüsusi növü adlandırmaq olmaz. Assemblerlər bir maşında işləmək üçün əlaqələndirici proqramlardan istifadə etməklə əlaqələndirilməli ola biləcək bir obyekt kodu istehsal edirlər, lakin əksər tərcüməçilər proqramın icrasını özləri tamamlaya bilərlər. Bir assembler adətən birə bir tərcümə edəcək, lakin bu, əksər tərcüməçilər üçün doğru deyil. 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 avadanlıq 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ı sobalar, p altaryuyan maşınlar və s.). Digər tərəfdən, yüksək daşıma qabiliyyətinə ehtiyacınız olduqda tərcüməçilərdən istifadə olunur. Məsələn, eyni Java bayt kodu müvafiq tərcüməçidən (JVM) istifadə etməklə müxtəlif platformalarda işlədilə bilər.