Yazan : Şadi Evren ŞEKER

Bir değişkeninderleyici (compiler) veya yorumlayıcı (interpreter) tarafından bağlanmasıdır. Buna göre değişkeni o dilde ifade eden sembolün fiziksel makine adresine (hafızdaki adrese) çevrilmesi işlemidir.Yani,

int a = 4;

satırında a değişkeni ifade eden semboldür (ve sembol tablosunda durur (symbol table)) bu değişkenin tipi, hafızada bir adresi, içinde bir değeri vs. bulunmalıdır. İşte bu kimlik bilgilerini aldığı ve sembol tablosundaki sembolün gerçekte ne olduğunun belirlendiği işlem zamanı bağlama zamanı (binding time) olarak isimlendirilir.

Bağlama işleminin yapıldığı zamana göre diller ikiye ayrılabilir:

  • Erken bağlama (early binding)
  • Geç bağlama (late binding)

İkisi arasındaki fark bağlama işleminin yapıldığı zamandır. Geleneksel derleyiciler bu bağlama işlemini derleme zamanında (compile time) yaparlar. Yani programın çalıştırılabilir kodu (executable code) üretildiğinde değişkenlerin tipleri ve değerleri bellidir. Ancak günümüz nense yönelimli programlama diller (object oriented programming languages) bu bağlama işlemini çalışma zamanında (runtime) yapabilmektedir. Buna göre değişkenin değer alması veya tipinin belirlenmesi veya hafızada bir adrese karşılık gelmesi işlemi çalışırken olmaktadır. Bu işlemi kolaylaştıran yapı aslında her nesne göstericisinin (object referrer) birer gösterici (pointer) mantığı ile çalışması ve adresleme yapısının dilde tamamen dinamik olmasıdır.

İşte derleme zamanında (compile time) yapılan bağlamaya erken bağlam (early binding) ve çalışma zamanında (run time) yapılan bağlamaya da geç bağlama (late binding) isimleri verilmektedir.


Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir