derleyici ne demek?

Elbette, derleyici hakkında temel bilgileri markdown formatında sunuyorum:

Derleyici (Compiler)

Derleyici, bir programlama dilinde yazılmış olan kaynak kodu (source code) adı verilen bir programı, başka bir dile (genellikle makine dili veya ara kod) çeviren bir yazılımdır. Bu çeviri işlemine derleme (compilation) denir.

Derleyicinin Temel İşlevleri:

  1. Sözdizimi Analizi (Syntax Analysis): Kaynak kodun dilin gramer kurallarına uygunluğunu denetler. Hatalı sözdizimi durumunda hata mesajları üretir. Sözdizimi Analizi
  2. Anlambilim Analizi (Semantic Analysis): Kodun anlamını kontrol eder. Örneğin, değişkenlerin doğru kullanılıp kullanılmadığını, veri tiplerinin uyumlu olup olmadığını denetler. Anlambilim Analizi
  3. Ara Kod Üretimi (Intermediate Code Generation): Kaynak kodu, makine diline doğrudan çevirmek yerine, daha soyut bir ara koda dönüştürülür. Bu, derleyicinin farklı platformlara kolayca uyarlanabilmesini sağlar.
  4. Optimizasyon (Optimization): Ara kodu veya makine kodunu daha verimli hale getirmeye çalışır. Bu, kodun daha hızlı çalışmasını veya daha az bellek kullanmasını sağlayabilir. Optimizasyon
  5. Kod Üretimi (Code Generation): Ara kod veya optimize edilmiş ara kod, hedef makine diline çevrilir. Bu aşamada, hedef platformun mimarisine uygun talimatlar üretilir. Kod Üretimi
  6. Hata Raporlama (Error Reporting): Derleme sırasında tespit edilen hatalar hakkında kullanıcıya bilgilendirici mesajlar sunar.

Derleyici Türleri:

  • Tek Geçişli Derleyiciler (Single-Pass Compilers): Kaynak kodu tek bir geçişte işlerler.
  • Çok Geçişli Derleyiciler (Multi-Pass Compilers): Kaynak kodu birden fazla geçişte işlerler. Bu, daha karmaşık optimizasyonların yapılmasına olanak tanır.
  • JIT (Just-In-Time) Derleyiciler: Program çalışırken kodu derlerler. JIT Derleyici
  • Kaynak-kaynağa Derleyiciler (Source-to-Source Compilers): Bir programlama dilinden başka bir programlama diline çeviri yaparlar.

Derlemenin Avantajları:

  • Performans: Derlenmiş kod genellikle yorumlanmış koddan daha hızlı çalışır.
  • Hata Tespiti: Derleme aşamasında birçok hata tespit edilebilir.
  • Kod Güvenliği: Derlenmiş kodun tersine mühendislik ile okunması daha zordur.

Derlemenin Dezavantajları:

  • Geliştirme Süreci: Derleme adımı, geliştirme sürecini yavaşlatabilir.
  • Platform Bağımlılığı: Derlenmiş kod, genellikle belirli bir platforma (işletim sistemi ve donanım) bağımlıdır.

Kategoriler