Derleyici (Compiler) herhangi bir bilgisayar dilinde yazılmış kodu başka bir bilgisayar diline çeviren programlara veya program setlerine verilen addır. Derleyiciler günümüzde genelde yüksek seviyeli bir programlama dilinde yazılmış kodu ikili makine koduna çevirmekte kullanılırlar. Fakat makine kodunu programlama dilindeki koda veya bir programlama dilinde yazılmış kodu başka bir dile çevirmeye yarayan derleyiciler de mevcuttur. Fakat derleyiciler en çok çalıştırılabilir dosya oluşturmak için kullanılmaktadırlar. Bir derleyiciden genel olarak şu işlemlerin hepsini yapması beklenir : sözcüksel analiz, ön işleme, ayrıştırma, semantik analiz, kod jenerasyonu ve kod optimizasyonu. Derleyiciden kaynaklanan program hataları çoğunlukla bulunması çok zor ve düzeltilmesi zor hatalardır, bu yüzden derleyici geliştiricileri derleyicilerinin hatasız çalışmasını sağlamaya çok vakit harcarlar.
Bilgisayar yazılımları uzun yıllar boyu çevirici dil (assembly language) sayesinde yazılmıştı. Bir derleyici yazmanın maliyetinin bir yazılımı farklı işlemci türlerinde kullanabilmenin maliyetinden daha düşük olduğunun farkedilmesi ile de, yüksek seviyeli diller icat edilmiş ve ilk derleyiciler ortaya çıkmaya başlamıştır. İlk derleyici de Amerikalı deniz subayı ve bilgisayar bilimcisi Grace Hopper tarafından 1952 yılında A-0 programlama dili için yazılmıştır. Bunun dışında FORTRAN ve COBOL gibi diller de farklı mimarilerde derlenebilen diller olarak ortaya çıkmışlardır. Ve bu derleyiciler çevirici dilde yazılmışlardır.
Derleyici yapımı ve optimizasyonu günümüzde bilgisayar mühendisliği ve bilgisayar bilimi bölümlerinde öğretilmektedir. Bu derslerde genellikle eğitim amaçlı bir programlama dilinin derleyicisinin de uygulanması yapılmaktadır.
Derleyiciler bugün kullandığımız makineden bağımsız yazılımların geliştirilmesini sağlamışlardır. İlk yüksek seviyeli dil olan FORTRAN'ın geliştirilmesinden önce makine bağımlı çevirici dil (assembly language) yaygın bir şekilde kullanılmaktaydı. Çevirici dil aynı mimaride daha çok yeniden kullanılabilen ve yer değiştirebilen program oluşturmasına rağmen bu programı başka bir donanım mimarisinde çalıştırabilmek için programı modifiye etmek veya baştan yeniden yazmak gerekliydi. Fakat FORTRANDAN sonra COBOL, C, BASIC yüksek seviyeli programlama dillerinin ortaya çıkmasıyla birlikte bilgisayar programcıları makineden bağımsız programlar yazabilmeye başladılar.
Derleyici yukarıda da bahsettiğimiz gibi yüksek seviyeli dilde yazılan programı makina koduna çevirmekle sorumludur. Derleyiciler üç temel kısımdan oluşur:
Şimdi de yazdığımız kaynak kodun nasıl çalıştırılabilir dosya haline geldiğini inceleyelim. Bu süreç de dört aşamada olur:
Son olarak da derleme sürecini altı fazda inceleyelim :
Bu yazımızda derleyicinin ne olduğu, kısaca tarihçesi, nelerden meydana geldiği, bir kaynak kodunun nasıl çalıştırılabilir dosyaya dönüştüğü ve derleme işleminin aşamalarından bahsettik. Bir dahaki yazıda görüşmek üzere!
| Yazarın Üslubunu Beğendiniz mi?: | ||
| Yazının İçeriği Yeterli mi?: | ||
| Konu İlginizi Çekti mi?: |
Bu derginin içeriği, Creative Commons lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla ticari olmayan amaçlarla yazılarımızı kullanabilirsiniz.
©2007-2008 ODTÜ Bilgisayar Topluluğu