Compiler Nedir?
Compiler Nedir?
Compiler (Derleyici), bir programın kaynak kodunu, işlemci tarafından doğrudan çalıştırılabilen makine koduna (0 ve 1) dönüştüren bir yazılımdır. Bu işlem sırasında, programın tamamı bir kerede derlenir ve bir çalıştırılabilir dosya oluşturulur.
Özellikleri:
- Kaynak kod, bir seferde derlenir ve çalıştırılabilir hale getirilir.
- Derlenmiş kod, makine dili olduğu için hızlı çalışır.
- Hatalar, derleme sırasında tespit edilir ve düzeltilmeden çalıştırılabilir dosya oluşturulmaz.
Derleme (Compilation) İşlemi Nasıl Çalışır?
- Lexical Analysis (Söz Dizimi Analizi): Kaynak kod, token adı verilen küçük parçalara bölünür. Örneğin:
let a = 5;
→let
,a
,=
,5
,;
- Syntax Analysis (Sentaks Analizi): Token’lar bir araya getirilerek dilin kurallarına uygun bir yapı oluşturulur. Örneğin:
let a = 5;
→ Atama ifadesi. - Semantic Analysis (Anlamsal Analiz): Kodun anlamı kontrol edilir. Örneğin, bir değişken tanımlanmadan kullanılmış mı kontrol edilir.
- Intermediate Code Generation (Ara Kod Üretimi): Kod, işlemciye özel olmayan bir ara forma çevrilir. Örneğin, Java’da bytecode.
- Optimization (Optimizasyon): Kod daha verimli hale getirilir, gereksiz işlemler çıkarılır.
- Code Generation (Kod Üretimi): Ara kod, makine koduna çevrilir.
- Çalıştırılabilir Dosya Üretimi: Sonuçta bir çalıştırılabilir dosya (.exe, .out) üretilir.
Avantajları:
- Yüksek performans sağlar.
- Hata kontrolü derleme sırasında gerçekleşir.
- Çalıştırılabilir dosyalar platforma özel olarak optimize edilir.
Dezavantajları:
- Derleme işlemi zaman alabilir.
- Her değişiklikte kodun yeniden derlenmesi gerekir.