Page 110 - Bilgisayar Bilimi | Kur 1
P. 110
1.5. Derleyiciler
Derleyiciler, kaynak kodları hedef koda dönüştürür. Hedef kod belirli bir platform ya da gömülü bir
araç için makine dili olabilir (Şekil 1). Hedef kod diğer bir üst düzey kaynak dil de olabilir. Derleyiciler,
kaynak kod içeriğini dönüştürerek hedef kod içeren bir dosya oluşturur. Derlenerek oluşturulan popüler
dillere örnek olarak C, C++, Java ve C# verilebilir.
Makine
Komut 0 İşlem 0
Kodu 0
Makine
Komut 1 İşlem 1
Kodu 1
Derleyici Makine
Komut 2 İşlem 2
Kodu 3
Complier
Makine
Komut n İşlem n
Kodu n
Çalışma
Yönü
Şekil 1: Derleyici yapısının grafiksel gösterimi
1.6. Yorumlayıcılar
Yorumlayıcılar da derleyiciler gibi üst düzey kaynak kodu hedef koda (genellikle makine kodu) çe-
virir, ancak derleyicilerden farklı çalışır (Şekil 2). Derleyiciler herhangi farklı bir dönüşüm gerekmeden
defalarca çalışılabilir bir program kodu üretirken, yorumlayıcılar kullanıcı kaynak kodu her çalıştır-
dığında satır satır makine diline çevirir. Derlenmiş bir program değişiklik yapılmadığı sürece tekrar
derlenmez ancak yorumlayıcı ile çalışan program için yorumlama işlemi değişiklik yapılmamış olsa bile
tekrarlanmalıdır. Bu nedenle yorumlanan diller daha çok senaryo dili (scripting language) olarak ifade
edilirler. Yorumlayıcı, programın kaynak kodu olan senaryoyu okur. Genellikle derlenen programlar
yorumlanan programlara göre daha hızlı çalışır çünkü derleme işlemi yalnızca bir kez yapılır. Diğer
yandan yorumlanan programlar herhangi bir platformda tekrar derlenmelerine gerek kalmadan uygun
bir yorumlayıcı ile hemen çalıştırılabilirler. Python, yorumlanan bir dil olmakla birlikte, derleyicileri
de vardır. Popüler senaryo dillerine örnek olarak Python, Ruby, Perl ve web ortamı için Javascript veri-
lebilir.
Yorumlayıcı Makine
Komut 0 0 Kodu 0 İşlem 0
Yorumlayıcı Makine
Komut 1 1 Kodu 1 İşlem 1
Yorumlayıcı Makine
Komut 2 2 Kodu 3 İşlem 2
Yorumlayıcı Makine
Komut n n Kodu n İşlem n
Çalışma
Yönü
Şekil 2: Yorumlayıcı yapısının grafiksel gösterimi
109