Page 5 - Bilgisayar Bilimi Kur 1| 2. Bölüm
P. 5

makine koduna dönüştürülmek üzere kabul edilir. Bu nedenle bazı editörler yazım yanlışları konusunda
            renkleri ya da farklı vurgulamaları kullanarak yazım hataları konusunda programcıyı uyarır.

            1.1.4. 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 2.1). Hedef kod diğer bir üst düzey kaynak dil de olabilir. Derle-
            yiciler, 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 2.1: Derleyici yapısının grafiksel gösterimi

            1.1.5. Yorumlayıcılar
               Yorumlayıcılar da derleyiciler gibi üst düzey kaynak kodu hedef koda (genellikle makine kodu) çevi-
            rir ancak derleyicilerden farklı çalışır (Şekil 2.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 edilir. 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ılabilir. Python, yorumlanan bir dil olmakla birlikte, bunun derleyi-
            cileri de vardır. Popüler senaryo dillerine örnek olarak Python, Ruby, Perl ve web ortamı için Javascript
            verilebilir.


                                      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                     Çalışma
                     Komut n              n               Kodu n          İşlem n     Yönü

                                 Şekil 2.2: Yorumlayıcı yapısının grafiksel gösterimi
                                                                                                     111
   1   2   3   4   5   6   7   8   9   10