Derleyici ve Assembler Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 1 Nisan 2021
Güncelleme Tarihi: 12 Mayıs Ayı 2024
Anonim
Derleyici nedir, Yorumlayıcı Nedir? Avantajlar, Dezavantajları. What is a Compiler, an Interpreter?
Video: Derleyici nedir, Yorumlayıcı Nedir? Avantajlar, Dezavantajları. What is a Compiler, an Interpreter?

İçerik


Derleyici ve Assembler bir programın yürütülmesinde önemli bir rol oynar. Bazı derleyiciler, derleme kodu yerine doğrudan çalıştırılabilir kodu üretir. Derleyici önceden işlenmiş kaynak kodunu alır ve montaj koduna çevirir. Assembler, derleme kodunu derleyiciden alır ve yer değiştirebilir makine koduna çevirir. Bu yazıda, derleyici ile assembler arasındaki farkları, aşağıda gösterilen karşılaştırma tablosu yardımıyla tartıştım, sadece bir göz atın.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelDerleyici montajcı
TemelAssembly dili kodunu veya doğrudan çalıştırılabilir kodu oluşturur.Yer değiştirilebilen makine kodunu oluşturur.
GirişÖnceden işlenmiş kaynak kodu.Assembly dili kodu.
Aşamalar / GeçişlerDerleme aşamaları sözcüksel analizör, sözdizimi analizörü, anlamsal analizör, ara kod üretimi, kod optimizasyonu, kod üretimidir.Assembler verilen giriş üzerinden iki geçiş yapar.
ÇıktıDerleyici tarafından oluşturulan montaj kodu, makine kodunun hatırlatıcı bir versiyonudur.Bir montajcı tarafından oluşturulan yer değiştirebilir makine kodu, ikili kod ile gösterilir.


Derleyicinin tanımı

derleyici bir kaynak dilde yazılmış programı okuyan, eşdeğerine çeviren bir bilgisayar programıdır. derleme dili ve derleme dili kodunu montajcı. Kaynak kodun montaj koduna çevrilmesi, derleyicinin hata Kaynak kodunda kullanıcısına.

Derleyiciler ayrıca olarak sınıflandırılır tek geçişli, çoklu geçişli, yüklen ve kalk, hata ayıklama ve optimizasyon. Sınıflandırma, bir derleyicinin hangi işlevi yerine getirdiğine ve nasıl oluşturulduğuna dayanarak yapılır. Bu karmaşıklıklara rağmen, derleyicinin temel görevi aynı kalır.

Derleme iki bölüm halinde gerçekleştirilir, analiz bölümü ve sentez bölümü. analiz bölümü kaynak kodunu kurucu parçalara böler ve kaynak kodunun ara temsilini oluşturur. sentez bölümü ara kodu temsil ederek hedef kodu oluşturur.


Derleme aşağıdaki aşamalarda gerçekleştirilir:

Sözlüksel analizör, sözdizimi analizörü, anlamsal analizör, ara kod üreteci, kod iyileştirici, kod üreteci, Sembol tablosu ve hata işleyicisi.

  • sözcüksel analiz kaynak kodun karakterlerini okur ve bunları belirteçlerin akışları. Her belirteç, karakterlerin mantıksal sırasını gösterir. anahtar kelime, tanımlayıcılar, operatörler. Bir belirteç oluşturan karakter dizisine denir. sözlükbirim.
  • sözdizimi analizörü sözcüksel çözümleyiciden elde edilen belirteçleri ayrıştırır ve belirteçleri bir hiyerarşik yapı.
  • anlamsal analiz kaynak kodunu kontrol eder anlamsal hata.
  • Orta seviye kod üreteci üretir ara temsil kaynak kodun
  • kod Doktoru ara kodu daha hızlı çalışan makine koduna göre optimize eder.
  • kod üreteci Sonunda bir olan hedef kodu üretir. yer değiştirebilir makine kodu veya montaj kodu.
  • sembol tablosu kaynak koddaki her tanımlayıcı için kaydı içeren bir veri yapısıdır.
  • Hata işleyicisi Her aşamadaki hatayı tespit eder ve bu hataları ele alır.

Assembler'un tanımı

Bazı derleyiciler assembler görevini yerine getirir ve doğrudan linker / yükleyiciye doğrudan iletilen montaj kodu yerine doğrudan yer değiştirebilir bir makine kodu oluşturur. montajcı derleyici tarafından üretilen montaj kodunu girdi olarak alır ve çevirir. yer değiştirebilir makine kodu.

Makine kodunun montaj kodundan ne kadar farklı olduğunu görelim. Montaj kodu o hafıza Makine kodu sürümü. Montaj kodunun işlemleri göstermek için isimler kullandığı ve hatta bellek adreslerine isimler verdiği anlamına gelir. Diğer taraftan, makine kodu kullanımları ikili kodlar operasyonların ve hafıza adreslerinin temsili için.

En basit montaj şekli bile gerçekleştirir iki geçiş girişin üzerinde. ilk geçiş tüm algılar tanımlayıcıları Montaj yerini ve saklama yerini belirten montaj kodunda sembol tablosu (derleyiciler dışındaki semboller tablosu). depo yeri atandı ilk geçişte karşılaşılan tanımlayıcıya.

İçinde ikinci geçişgiriş tekrar taranır ve bu kez işlem kodu Hangi tercüme içine bit dizisi Makine kodunda bu işlemi gösteren. İkinci geçiş ayrıca çevirir tanımlayıcıları içine adresler sembol tablosunda tanımlanmıştır. Böylece ikinci geçişi üretir yer değiştirebilir makine kodu.

  1. Derleyici ve assembler arasındaki temel fark, derleyici derleme kodu üretir ve bazı derleyiciler doğrudan çalıştırılabilir kod da üretebilir. montajcı yer değiştirebilir makine kodu üretir.
  2. Derleyici giriş olarak alır. önceden işlenmiş kod önişlemci tarafından üretilmiştir. Öte yandan, assembler montaj kodu giriş olarak.
  3. Derleme iki aşamada gerçekleşir. analiz aşaması ve sentez aşaması. Analiz aşamasında girdi geçiyor sözcüksel çözümleyici, sözdizimi çözümleyici, anlamsal çözümleyici oysa, sentez analizi ile gerçekleşir ara kod üreteci, kod iyileştirici, kod üreteci. Öte yandan, assembler girdiden geçer iki faz. İlk aşama, tanımlayıcıları tespit eder ve bunlara adresleri gönderir, ikinci aşamada montaj kodu ikili koda çevrilir.
  4. Derleyici tarafından oluşturulan derleme kodu bir hatırlatıcı sürüm Makine kodu Ancak, assembler tarafından oluşturulan yer değiştirebilir makine kodu bir ikili taşınabilir kod.

Sonuç:

Bazı derleyiciler doğrudan çalıştırılabilir kod oluşturduğundan, derleyici gerekli olmayabilir. Assembler kullanılıyorsa, bütün yerleşik kütüphaneleri kaynak kodda kullanılan kütüphane fonksiyonlarına bağlamak için linker gerektirir.