Derleyici vs Yorumlayıcı: Derleyici ve Yorumlayıcı Arasındaki Tam Fark

İçindekiler:

Anonim

Derleyici nedir?

Derleyici, üst düzey bir programlama dilinde yazılmış kodu makine koduna dönüştüren bir bilgisayar programıdır. İnsan tarafından okunabilir kodu bir bilgisayar işlemcisinin anlayacağı bir dile çeviren bir programdır (ikili 1 ve 0 bit). Bilgisayar, ilgili görevleri gerçekleştirmek için makine kodunu işler.

Bir derleyici, yazıldığı programlama dilinin sözdizimi kuralına uymalıdır. Ancak, derleyici yalnızca bir programdır ve o programda bulunan hataları düzeltemez. Dolayısıyla, bir hata yaparsanız, programınızın sözdiziminde değişiklik yapmanız gerekir. Aksi takdirde, derlenmeyecektir.

Tercüman nedir?

Bir yorumlayıcı, her yüksek seviyeli program ifadesini makine koduna ekleyen bir bilgisayar programıdır. Bu, kaynak kodu, önceden derlenmiş kod ve komut dosyalarını içerir. Hem derleyici hem de tercümanlar, üst düzey programlama dilini makine koduna dönüştüren aynı işi yapar. Bununla birlikte, bir derleyici, program çalıştırılmadan önce kodu makine koduna dönüştürür (bir exe oluşturur). Yorumlayıcılar, program çalıştırıldığında kodu makine koduna dönüştürür.

ANAHTAR FARK

  • Derleyici, program çalıştırılmadan önce yüksek seviyeli bir programlama dilinde yazılmış kodu bir kerede makine koduna dönüştürürken, bir Yorumlayıcı program çalıştırılırken her bir yüksek seviyeli program ifadesini birer birer makine koduna dönüştürür.
  • Yorumlanan kod daha yavaş çalışırken derlenmiş kod daha hızlı çalışır.
  • Derleyici, derlemeden sonra tüm hataları görüntülerken, Yorumlayıcı her satırın hatalarını tek tek görüntüler.
  • Derleyici, çeviri bağlama yükleme modelini temel alırken, Yorumlayıcı, Yorumlama Yöntemine dayanır.
  • Derleyici bir programın tamamını alırken, Yorumlayıcı tek bir kod satırı alır.

Derleyici ve Yorumlayıcı Arasındaki Fark

Farkın temeli Derleyici Çevirmen
Programlama Adımları
  • Programı oluşturun.
  • Derleme, tüm dil ifadelerini doğruluğu için ayrıştırır veya analiz eder. Yanlışsa, bir hata atar
  • Hata yoksa, derleyici kaynak kodunu makine koduna dönüştürecektir.
  • Farklı kod dosyalarını çalıştırılabilir bir programa bağlar (exe olarak bilinir)
  • Programı çalıştır
  • Programı Oluşturun
  • Dosya veya makine kodu oluşturma bağlantısı yok
  • Yürütme SIRASINDA satır satır çalıştırılan kaynak ifadeleri
Avantajı Program kodu zaten makine koduna çevrilmiştir. Böylece kod yürütme süresi daha azdır. Tercümanlar, özellikle yeni başlayanlar için kullanımı daha kolaydır.
Dezavantaj Kaynak koduna geri dönmeden programı değiştiremezsiniz. Yorumlanan programlar, ilgili yorumlayıcının bulunduğu bilgisayarlarda çalışabilir.
Makine kodu Makine dilini diskte makine kodu olarak saklayın Makine kodunu hiç kaydetmemek.
Çalışma süresi Derlenmiş kod daha hızlı çalışır Yorumlanan kod daha yavaş çalışır
Modeli Dil çeviri bağlama yükleme modeline dayanmaktadır. Yorumlama Yöntemine dayanmaktadır.
Program oluşturma Orijinal programdan bağımsız olarak çalıştırılabilen çıktı programı (exe biçiminde) üretir. Çıktı programı oluşturmayın. Bu nedenle, yürütme sırasında her zaman kaynak programı değerlendirirler.
Yürütme Programın yürütülmesi derlemeden ayrıdır. Yalnızca tüm çıktı programı derlendikten sonra gerçekleştirilir. Program Yürütme, Yorumlama sürecinin bir parçasıdır, bu nedenle satır satır gerçekleştirilir.
Bellek gereksinimi Hedef program bağımsız olarak çalışır ve bellekte derleyiciye ihtiyaç duymaz. Tercüman, tercüme sırasında hafızada bulunur.
İçin en uygun Belirli bir hedef makineye sınırlıdır ve taşınamaz. C ve C ++, derleme modelini kullanan en popüler programlama dilidir. Yükleme sürelerinin önemli olduğu web ortamları için. Tüm kapsamlı analizler yapıldığından, derlemelerin birden çok kez çalıştırılamayan küçük kodları bile derlemesi nispeten daha uzun sürer. Bu gibi durumlarda tercümanlar daha iyidir.
Kod Optimizasyonu Derleyici tüm kodu önceden görür. Bu nedenle, kodun daha hızlı çalışmasını sağlayan birçok optimizasyon gerçekleştirirler. Tercümanlar kodu satır satır görür ve bu nedenle optimizasyonlar derleyiciler kadar sağlam değildir.
Dinamik Yazma Derleyiciler dönüş zamanında ne olacağını tahmin edemedikleri için uygulanması zordur. Yorumlanan diller Dinamik Yazmayı destekler
Kullanım Üretim Ortamı için en uygunudur Program ve geliştirme ortamı için en uygunudur.
Hata yürütme Derleyici, derleme anında tüm hataları ve uyarıları görüntüler. Bu nedenle, hataları düzeltmeden programı çalıştıramazsınız. Yorumlayıcı tek bir ifade okur ve varsa hatayı gösterir. Bir sonraki satırı yorumlamak için hatayı düzeltmelisiniz.
Giriş Bütün bir programı alır Tek bir kod satırı alır.
Çıktı Compliers, ara makine kodu üretir. Tercüman hiçbir zaman ara makine kodu üretmez.
Hatalar Derlemeden sonraki tüm hataları aynı anda görüntüleyin. Her satırın tüm hatalarını tek tek görüntüler.
Programlama dilleriyle ilgili C, C ++, C #, Scala, Java'nın tümü complier kullanır. PHP, Perl, Ruby bir yorumlayıcı kullanır.

Derleyicinin Rolü

  • Compliers, kaynak kodunu okur, çalıştırılabilir kod çıkarır
  • Daha yüksek seviyeli bir dilde yazılmış yazılımları bilgisayarın anlayabileceği talimatlara çevirir. Bir programcının yazdığı metni, CPU'nun anlayabileceği bir biçime dönüştürür.
  • Derleme süreci nispeten karmaşıktır. Programı analiz etmek ve işlemek için çok zaman harcıyor.
  • Çalıştırılabilir sonuç, makineye özgü bir tür ikili koddur.

Tercümanın Rolü

  • Yorumlayıcı, ÇALIŞMA Süresi sırasında kaynak kodunu satır satır dönüştürür.
  • Interpret, üst düzey bir dilde yazılmış bir programı tamamen makine düzeyinde bir dile çevirir.
  • Tercüman, program yürütülürken programın değerlendirilmesine ve değiştirilmesine izin verir.
  • Programı analiz etmek ve işlemek için nispeten daha az zaman harcanması
  • Program yürütme, derleyiciye kıyasla nispeten yavaştır

ÜST DÜZEY DİLLER

C, C ++, JAVA vb. Gibi üst düzey diller İngilizceye çok yakındır. Programlama sürecini kolaylaştırır. Ancak, çalıştırılmadan önce makine diline çevrilmesi gerekir. Bu çeviri işlemi ya bir derleyici ya da bir yorumlayıcı tarafından yürütülür. Kaynak kodu olarak da bilinir.

MAKİNE KODU

Makine dilleri donanıma çok yakındır. Her bilgisayarın kendi makine dili vardır. Bir makine dili programları bir dizi ikili modelden oluşur. (Örn. 110110) Bilgisayar tarafından yapılması gereken basit işlemleri temsil eder. Makine dili programları doğrudan çalıştırılabilmeleri için çalıştırılabilir.

NESNE KODU

Kaynak kodun derlenmesinde Intel, AMD, ARM gibi farklı işlemciler için üretilen makine kodu farklıdır. tKodu taşınabilir hale getirmek için, kaynak kodu önce Nesne Koduna dönüştürülür. Hiçbir işlemcinin anlayamayacağı bir ara koddur (makine koduna benzer). Çalışma zamanında, nesne kodu temel alınan platformun makine koduna dönüştürülür.

Java hem Derlenmiş hem de Yorumlanmıştır.

Derleyicilerin göreli avantajlarından yararlanmak için yorumlayıcılar Java gibi bazı programlama dilleri hem derlenir hem de yorumlanır. Java kodunun kendisi Nesne Kodunda derlenir. Çalışma zamanında JVM, Nesne kodunu hedef bilgisayarın makine koduna yorumlar.