23 Ocak 2023 Pazartesi

Compiler (Derleyici)

 Bir dilde yazılmış olan kodu (kaynak kodu / source code) başka bir dilde yazılmış koda, örneğin yüksek seviye bir dilden (high-level programming language) alt seviye bir dile (low-level programming language), dönüştüren araçlardır2. Genellikle bu kodlar çalıştırılabilir (executable) şekilde üretilirler. Bunun nedeni, çoğunlukla diller arasındaki bu işlemin pratik bir şekilde işletim sistemi ve donanım bağımlı kodlara dönüştürülebilmesidir. Örneğin, C dilinde yazılmış bir kodun PASCAL koduna dönüştürmesi gibi.


Derleyiciler, kodun derlenmesi sürecinde kodun iyileştirilmesi (optimization), hataların yönetimi (error handling) ve en etkin şekilde kodların yorumlanması gibi katkılar sunabilmektedirler. Scanning, Lexical Analysis, Syntactic Analysis ve Semantic Analysis adımlarını izlerler.


Derleyiciler tek geçişli (one pass) ve çok geçişli (multi pass) olarak nitelendirilebilirler. Tek geçişli (one pass) bir derleyici kaynak kodu baştan sona bir defa okur. Çok geçişli (multi pass) derleyiciler ise bu işlemi birkaç defa gerçekleştirirler. Tek geçişli derleyiciler kodun incelenme sürecini daha hızlı ele alırlarken bazı durumlarda, dilin tasarımı sebebiyle işlevsiz kalabilmektedirler. Diğer yandan, çok geçişli derleyiciler sondaki bir tanımı takip edebilmek, işlemleri bütün kod bağlamında değerlendirebilmek gibi özellikleri sebebiyle daha iyi yorumlama yapabilmektedirler. Derleyicileri ayrıca odaklandıkları süreçlere göre değerlendirebiliriz6:

Hiç yorum yok:

Yorum Gönder