Dyanmic Scoping (dinamik alan değiþkenleri)

Dynamic scoping, fonksiyon değişkenlerinin
fonksiyonlar ile birlikte stackte tutulmasını hedefler. Buna göre
fonksiyonların içinde tanımlanmış olan değişkenler, o fonksiyon
çalışırken geçerli olur ve o fonksiyonun içinde atanmış olan değeri
korur. Bir fonksiyondan başka bir fonksiyon çağrılmış olsa ve çağrılan
fonksiyonda değişkenin değeri değişmiş olsa da çağıran fonksiyona geri
dönüldüğünde fonksiyonun değişken değerleri geri yüklenir.

Örneğin aşağıdaki kod hem static hem de dinamic scoping ile çalışabilir:

int x = 0;
int f () { return x; }
int g () { int x = 1; return f(); }

Şayet static scoping kullanılırsa g fonksiyonunun döndüreceği değer 0

olur çünkü, static scopingin o sırada fonksiyon stackinde ne olduğu ile

ilgisi yoktur ve x değerinin son hali olan 0ı alır.

tersi olarak dynamic scoping kullanarak bu kod çalıştırılacak olsaydı g

fonksiyonunun döndüreceği değer 1 olacaktır. Çünkü g fonksiyonu terk

edilmeden önce x in değeri 1 di ve bu bilgi stackten alınır.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


105 views

Leave a Reply


8 - = yedi

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Dyanmic Scoping (dinamik alan değiþkenleri)' isimli yazı 14 Apr 2007 tarihinde, saat: 03:13 'de �adi Evren �EKER tarafından gönderilmiş, toplam105 defa okunmuştur.

Benzer yazıları Derleyiciler, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Derleyiciler, Programlama Dilleri