01001010001 PRİNT 10010017 11001î100İ1 İNPUT 100110100.. 91111010101 ATLAMA KB 1001 WHİLE a— | - 1010... İNTERPRETER 'M PRİNT "BAŞLANGIÇ” INPUT SAYI VİRGÜLDEN SONRASIZ SAYI PRİNT "SON” PRINT VİRGÜLDEN... END PROC LA AAR BASIC Programı —- 101011000 110100110 001000000 .4010... 100001100 000100000 01710001101 COMPİLER Makine Programı Çevrilmiş bir programın çalışmasında artık program metni kullanılmaz. LINE (x1,y1)-(x2,y2),1 ifadesi (x1,yl1)'den (x2,y2)'ye 1 ren- ginde bir çizgi çeker. Bu ifadenin ar- dından bir de ““,bf” eklenecek olur- sa, diyagonalini bu çizginin oluştur- duğu dikdörtgen 1 rengiyle dolduru- lur. (BASIC'te kullanıma hazır tüm renkler numaralanmıştır). Program O ile | arasındaki bir ras- lansal sayıyı üreten RND fonksiyonu- nu kullanır ve böylece Hollandalı sa- natçı Mondrian'ın yapıtlarını andıran resimler üretir. BASIC resimleri ras- lansal olarak üretilmiş ve kullanıcı herhangi bir tuşa basana kadar deği- şen dikdörtgenler içerirler. Bu programda da gördüğünüz gi- bi, program kitaplıklarının prosedür- lerinin tam olarak kullanılabilmesi durumunda, çok basit araçlarla şaşır- tıcı efektler elde edilebilmektedir. Ama BASIC komutları yardımıyla AMIGA sistem yazılımından kitap- lık prosedürlerinin yalnızca bir kısmı kullanılabilir (bunlar bu iş için olduk- ça kolay). Ama tecrübeli bir programcı ola- rak her programlama dilinden işletim sisteminin tüm prosedrürlerini kulla- nabilirsiniz. Bunun için yalnızca programınıza prosedürün nerede ve hangi kitaplıkta bulunacağını ve han- gi parametrelere gereksinimi olduğu- nu bildirmiş olmanız yeterli. Bu bağ- lantıların daha derinlemesine açıklan- ması, bu yazının konusunu aşar. Eğer bu konuda daha çok bilgi edinmek is- tiyorsanız, programlama kitabınız- dan Libraries (Kütüphaneler) bölü- münü okuyun. Yüksek olarak adlandırılan tüm programlama dillerinde temel fikir, bir programı önce “doğru” harflerin biraraya getirilmesiyle oluşan “doğru” kelimelerinin oluşturduğu belirli ölçülerde okunabilir bir dilde formüle etmektir. Bu yolla oluşturu- lan bir programlama dilinin insan di- line ne denli yakınlaştığı ise dilden di- le değişmektedir. Ancak uzmanlar ta- rafından anlaşılabilen çok karmaşık dillerin yanısıra, gündelik yaşamda bir kullanım kılavuzu okur gibi ko- layca anlaşılabilen programlar da vardır. Eğer bugüne kadar herhangi bir programlamadilini öğrenmemiş du- rumdaysanız, bu eksikliği telafi etme- ye kalkıştığınızda, programcıların ka- sılmaları sizi ürkütmesin. Program- lama dillerinin herbiri en basit insan dilinden çok daha basittir ve çok da- ha kolay öğrenilebilir. Programlama dillerinin kendi ara- larındaki tüm farklılıklara rağmen ortak olan bir noktaları vardır: Prog- ramcının komutları için eşanlamlı bit dizileri makine dilinde yerine getiril- mek durumundadır. Burada eşan- lamlının anlamı, bit dizisinin progra- mının düşündüğünü sanki yüksek dil- de yazılmış gibi yapmasıdır. Bir prog- ramın makine koduna çevrilmesi yöntemi oldukça basittir. En azından o kadar basittir ki, bu iş de bir bilgi- sayar programına bırakılabilmekte- dir. Kullanılacak iki yöntem vardır: Interpreter (çevirici) ve Compiler (derleyici). Interpreter, yüksek programlama dillerinin makine koduna çevrilme- sinde yararlanılan en basit ve en çok tercih edilen metoddur. AMIĞGA BA- SIC bir çeviricidir. Bunun nasıl çalış- tığını daha önce açıklamıştık. Çevi- rici bir programı çalıştırabilmek için satır satır okur, komutlara karşılık gelen makine dili parçalarını arar ve yerine getirmesi için bunları bilgisa- yara aktarır. Bu sürece programin çevrilmesi adı verilir. ' Buna karşılık derleyici, yüksek programlama dilindeki program miet- nini alır ve bundan makine dilinde aynı işi yapacak eşanlamlı bir prog- ram üretir. Tüm bu sürece, derlemek (compile etmek) adı verilir. Bu sıra- da makine kodunu olabildiğince derli toplu ve çabuk oluşturabilmek için mükemmelleşmiş teknikler kullanılır. İnsan dilleriyle bir karşılaştırma yapacak olursak, bir çeviriciyi (İm- terpreter) yabancı dildeki bir kitabı okurken simultane tercüme yapan bir çevirmene benzetebiliriz. Buna kar- şın bir derleyici, bir kitabın bir daha- ki okunmasında çevirmeni gerektir- meyecek şekilde yazılı çevirisini ya- pan bir çevirmene benzer. Derleyici prensibinin avantajları çok açıktır: Elde edilen makine ko- du kendi başına bir olgudur ve çalış- mak için çeviriciyle ek bir programa 63