Birleştirici ve Çevirici Arasındaki Fark

Anonim

Çevirici ve Çevirmen

Genel olarak, derleyici bir dilde yazılmış bir programı okuyan bir bilgisayar programıdır; Kaynak dilini denir ve hedef dil olarak adlandırılan başka bir dile çevirir. Geleneksel olarak, kaynak dil C ++ gibi yüksek seviyeli bir dildir ve hedef dil, Assembly dili gibi düşük seviyeli bir dildir. Bununla birlikte, Assembly dili ile yazılmış bir kaynak programı dönüştürebilen ve makine koduna veya nesne koduna dönüştüren derleyiciler var. Birleştiriciler böyle araçlar. Öte yandan, Tercümanlar, bazı programlama dili ile yazılmış talimatları yürüten araçlar. Tercüman doğrudan üst düzey kaynak kodunu çalıştırır veya bunları ara koda çevirir ve daha sonra bunları yorumlayabilir veya önceden derlenmiş kodu yürütebilir.

Bir Assembler Nedir?

Assembler, Assembly dilini makine koduna çeviren bir yazılım veya bir araçtır. Yani, bir assembler bir derleyici türüdür ve kaynak kodu Assembly dili ile yazılmıştır. Montaj, insan tarafından okunabilir bir dildir; ancak, genellikle, ilgili makine kodu ile bire bir ilişkiye sahiptir. Bu nedenle, bir assembler, izomorfik (bire bir haritalama) çevirme gerçekleştirdiği söylenir. Gelişmiş birleştiriciler program geliştirme ve hata ayıklama süreçlerini destekleyen ek özellikler sunar. Örneğin, makro birleştiriciler olarak adlandırılan birleştiriciler türü, bir makro tesisi sağlar.

Tercüman nedir?

Bir tercüman programlama talimatlarını yürüten bir bilgisayar programı veya aracıdır. Bir yorumlayıcı doğrudan kaynak kodu çalıştırabilir veya kaynağı bir ara koda dönüştürür ve doğrudan yürütebilir veya bir derleyici tarafından üretilen önceden derlenmiş kodu yürütebilir (bazı yorumlayıcı sistemlerde bu görev için bir derleyici bulunur). Perl, Python, MATLAB ve Ruby gibi diller ara kod kullanan programlama dillerine örnektir. UCSD Pascal, önceden derlenmiş bir kodu yorumlar. Java, BASIC ve Samlltalk gibi diller önce kaynağı bytecode adlı ara bir kodla derleyin ve sonra yorumlayın.

Bir Assembler ile Tercüman arasındaki fark nedir?

Bir assembler, yalnızca Assembly dilini makine koduna çeviren özel bir derleyici türü olarak düşünülebilir. Tercümanlar, bir dilde yazılmış talimatları yürüten araçlardır. Yorumlayıcı sistemlerde, yorumlamadan önce kodu önceden derlemek için bir derleyici bulunabilir, ancak bir yorumlayıcı, derleyici olarak özel bir tür olarak adlandırılamaz. Birleştirici, bir makinede çalıştırmak için linker programları kullanılarak bağlanılması gereken bir nesne kodu üretir ancak çoğu yorumlayıcı, bir programın kendi başına yürütülmesini tamamlayabilir.Bir assembler tipik olarak bire bir çevirme yapacaklar, ancak bu çoğu tercüman için geçerli değil. Assembly dili, makine koduyla bire bir haritalama yaptığından, bir assembler, performansın çok önemli olduğu durumlarda (örneğin, bir kişisel bilgisayara kıyasla sınırlı donanım kaynaklarına sahip gömülü sistemler için çok verimli çalışan kod üretmek için kullanılabilir) mikrodalga fırın, çamaşır makinesi gibi). Öte yandan, yüksek taşınabilirliğe ihtiyaç duyduğunuzda tercümanlar kullanılır. Örneğin, aynı Java bayt kodu, uygun tercüman (JVM) kullanarak farklı platformlarda çalıştırılabilir.