DERLEYİCİ

Nilay GÜL
1 min readJun 18, 2023

--

  1. DERLEYİCİ NEDİR?

Farklı bir dilde yazılan kodu, bilgisayar ve sanal makineler gibi programların doğrudan çalıştırabileceği daha farklı bir dilin koduna dönüştüren program compiler(derleyici) olarak bilinen.Derleyiciler yazılan kodu sadece aynı seviyede olan programlama diline döndürmez.Bir derleyici,kodu yüksek seviyeli bir programlama dilinden düşük seviyeli bir programlama diline aktarma görevini de üstlenebilir.

2. TAM OLARAK NE YAPAR?

Bir derleyici, düşmanlar iki insan arasındaki tercüman gibi iki programlama dili arasındaki çeviri yapma görevi üstlenir.Yine bir tercüman gibi derleyici kaynak koddaki hataları tespit eder ve tespit edilen hatalar yazılım geliştiriciye bildirerek bilgisayarlarla bir iletişim sağlar.

Eğer kodda herhangi bir sorun yoksa, yapılan sisteme uygun olan ve 0–1'lerden oluşan makine dili olarak kabul edilen Assembly'i üretir.

Derleyicinin davranış mantığını basit özetlersek: C++ dilinde yazılım geliştirmişsiniz.Ancak bilgisayarların bu yazılımı anlaması ve işleyebilmesi için kodun makine dilinde ifade edilebilmesi gerekir. müdahale eder.

Derleyici tarafından üretilen kod,yürütülebilir bir kod kümesidir,bu nedenle bir bilgisayar tarafından çalıştırılabilir.

3. BİR DERLEYİCİ NASIL YAPILIR?

Bir derleyici yazma,programlama dilinin davranış mantığını,sözdizimini yönetme,makine dilinde uygulama özelliklerinini ve bir derleyicinin yapısını anlamayı gerektirir.

Bir derleyici geliştirirken birçok araç ve kaynak kullanılır.Bunlardan bazılarını içerir:

  • Derleyici yapıları için kullanılan yazılım kütüphaneleri çokca işine yarar. Lexer(lexical analyzer) ve Parser(syntax analyzer) bunlardan birkaçıdır.
  • Bison,Flex,LLVM,GCC gibi derleyici front-end ve back-end geliştirme araçları kullanılır.
  • Bir kaynak kod düzenleyicisi gerekir.Örneğin Sublime Text,Visual Studio Code veya Atom gibi.
  • GDB gibi hata ayıklama araçları kullanılır.
  • Yeterli bellek ve işlemci gücüne sahip olan bir bilgisayar.
  • Çıktıların kontrolü ve çok sayıda test kodu için bir test çerçevesi oluşturmak.

Derleyici geliştirmemek, fazlasıyla karmaşık bir işlemdir bu nedenle genellikle işletim olan yazılımlar ve geliştiriciler tarafından çözüm.

--

--