29.10.2014 Views

Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi

Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi

Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BASIC DERLEYİCİLERİ<br />

A miga'nin diğer dilleri (C, Assembler vs.) ile karşılaştırıldığında, BASIC bir hayli yavaş kalmakta.<br />

Bu sorunu ortadan kaldırmak için, bazı programcı firmalar BASIC programları en hızlı programlama<br />

dili olan makine diline çeviren derleyiciler (compiler) çıkarttılar. Şimdi bu derleyicilerin çalışma<br />

Cem GENCER<br />

Evet, <strong>Amiga</strong>'da BASIC dili ile çalışmış<br />

olanlar bilirler; program biraz uzamaya<br />

başladığında çalışması yavaşlar. Bunun<br />

sebebi, WorkBench ile birlikte verilen<br />

ABASIC'in compiler değil de, bir<br />

interpreter olması. Şimdi bilgisayara yabancı<br />

olanlar soracak: 'Interpreter ne<br />

demek?'. Interpreter, compiler programlama<br />

dilinin temel çalışma şeklini anlatır.<br />

Compiler'larla, program genellikle bir<br />

text editörüyle yazıldıktan sonra CLI'dan<br />

bazı komutlar kullanarak ya da ayrı bir<br />

program sayesinde makine diline çevrilirler.<br />

Bir programı compile etmek, programın<br />

uzunluğuna göre değişecektir; fakat<br />

genelde bu işlem 2-3 dakika sürer.<br />

Compiler'ların bir ufak dezavantajı varprogramı<br />

bir hayli uzatırlar ve genelde<br />

compile edilen bir programı herhangi<br />

cruncher yardımıyla sıkıştırmak mümkün<br />

değildir. Programın uzamasının sebecompiler'ın,<br />

kullanılan tüm komutların<br />

ne dili karşılıklarını programın sonualt-rutin<br />

olarak yerleştirmesidir. Fakat<br />

bazı compiler'larda bu sistem değiştirilmiştir.<br />

Örneğin HiSoft BASIC, programı<br />

compile edince diğer compiler'lara göre<br />

çok daha kısa bir dosya yaratır. Fakat bunu<br />

çalıştırabilmeniz için, HiSoft<br />

BASIC'in ana disketinde LIBS<br />

di rectory 'sinde yer alan HiSoft Basic.library<br />

dosyasını da compile edilmiş programın<br />

bulunduğu disketin LIBS<br />

directory 'sine aktarmalısınız. Bunun sebebi,<br />

bu gibi compiler'ların BASIC kontlarının<br />

makine dilinde karşılıklarının<br />

sistem library'si (sistem rutinlerinin<br />

-olunduğu alt-rutin paketi) gibi bir dosyada<br />

saklanmasıdır.<br />

Ayrıca compiler'ların pek büyük olma-<br />

Yan bir sorunu daha var: hazırladığınız<br />

dosyaları, ASCII dosya olarak compiler'a<br />

atarma gereği. Bunun anlamı, program<br />

dosyası içinde yazıcı kumanda karakterle<br />

Escape kodları) gibi, ASCII tablosunda<br />

yer almayan kodlan direkt olarak kullanamayışınızdır.<br />

Bunları, ancak DATA satırlarında<br />

sayısal karşılıkları ile tanımladıktan<br />

sonra program içinde READ komutunu<br />

kullanıp okutarak kullanırsınız. Fakat<br />

bu da bir bakıma avantajdır. PC gibi standart<br />

BASIC komutlarıyla çalışan bilgisayarda<br />

mevcut istediğiniz bir BASIC<br />

programı, <strong>Amiga</strong>'ya aktarıp doğrudan<br />

compile edebilirsiniz. Bu da, bir hayli ha-<br />

şekillerini ve örnek olarak seçtiğimiz iki-üç tanesini inceleyelim.<br />

zır BASIC programa sahip olmanız anlamına<br />

gelmekte.<br />

<strong>Amiga</strong> BASIC'in değişik bir huyu daha<br />

var; programlan kaydederken SAVE komutunda<br />

hiçbir takı kullanmazsanız, program<br />

dosyanız sıkıştırılarak kaydedilecektir.<br />

Bu sayede programlarınız diskette daha<br />

az yer kaplarlar; ancak bu da,<br />

compiler'lar için sorun çıkanr. Nedeni gayet<br />

açık; dosyalar sıkıştırıldığında, saf<br />

ASCII yazı dosyaları olmaktan çıkarlar.<br />

Böyle bir dosyayı yukarıda da belirttiğim<br />

gibi compiler yüklememekte ısrar edecektir.<br />

Bunun da çözümü gayet basit: Dosyayı<br />

<strong>Amiga</strong>BASIC'te yükledikten sonra diskete<br />

SAVE "",A komutu ile kaydedin.<br />

Interpreter ise, <strong>Amiga</strong>BASIC gibi editörü<br />

de üzerinde olan ve hiçbir bekleme süreci<br />

olmadan programları yükledikten<br />

sonra doğrudan çalıştırabileceğiniz bir<br />

programdır. Burada program çalıştırıldığında,<br />

sadece programın işlenen satırı makine<br />

diline çevrilir. Bu, tabii ki büyük bir<br />

hız kaybı oluşturur. Hele bir de programda<br />

alt-rutinler ve dallanmalar (GOTO...,<br />

GOSUB..., CALL...) fazlaysa, program daha<br />

da yavaşlar. Interpreter'lara en güzel<br />

örnek, <strong>Amiga</strong> BASIC'tir. HiSoft BASIC,<br />

GFA-BASIC ve AC-BASIC ise<br />

compiler'lar arasında yer alır.<br />

Compiler ve interpreter arasında bir bakıma<br />

büyük bir benzerlik vardır; ikisi de<br />

programın işlenmesi gereken satırını karakter<br />

karakter hafızadan okurlar ve bu<br />

karakterlerin doğruluğunu, sıralanışlarını<br />

ve özel işaretlerin yerlerini kontrol ederler.<br />

Ancak bu şartların hepsi yerine gelirse,<br />

o satır makine diline çevrilir. Interpreter,<br />

çevrilen bu satırı hemen çalıştırır; fakat<br />

compiler, makine diline çevrilen bu<br />

satın öncekilerin sonuna gelecek şekilde<br />

hafızaya atar ve bir sonraki satırın kontrollerine<br />

geçer.<br />

Compiler ve interpreter'ların çalışma<br />

şeklini Şekil I ve Şekil II'den de anlayabilirsiniz.<br />

Ayrıca bir program satırı kontrol<br />

edilirken yapılan işlemleri, Şekil IH'teki<br />

akış diyagramında görebilirsiniz.<br />

Gelelim inceleyeceğimiz üç compiler'a;<br />

bunlar AC-BASIC, HiSoft BASIC ve<br />

GFA-BASIC'dir. Niye bunları seçtiğimi<br />

soracak olanlara cevabım gayet basit; diğer<br />

compiler'lar ülkemize gelmediğinden,<br />

pek onlara değinmek istemiyorum. Ayrıca<br />

AMOS gibi standart BASIC dilindekile-<br />

AMIGA DÜNYASI S3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!