Temel Blok

Kısaca: Temel blok, programlamada atlamasız veya hedef atlamasız-hedef atlamaları bloğu başlatır, atlamalar bloğu bitirir-düz çizgi kod parçalarıdır. Genelde temel bloklar, derleyici kuramda derleyici eniyilemelerin uygulandığı temel birimlerdir. Temel bloklar, kontrol akış çizelgesinde köşeleri ya da düğümleri oluştururlar. ...devamı ☟

Temel blok, programlamada atlamasız veya hedef atlamasız-hedef atlamaları bloğu başlatır, atlamalar bloğu bitirir-düz çizgi kod parçalarıdır. Genelde temel bloklar, derleyici kuramda derleyici eniyilemelerin uygulandığı temel birimlerdir. Temel bloklar, kontrol akış çizelgesinde köşeleri ya da düğümleri oluştururlar.

Eğer herbir konumdaki komut baskın olursa ya da her zaman bir sonraki konumlardan önce çalışır ve dizideki iki komut arasında başka bir komut çalışmazsa,komut dizisi temel blok oluşturur denir.Bu tanım birçok yönden daha genel.Örneğin;başka atlamalar tarafından hedef alınmamış etiketlere koşulsuz atlamalara izin veriyor.Bu tanım,algoritma oluştururken temel blokla çalışmanın kolay olduğu özellikleri somutlaştırıyor. Bloğun bitimine ulaştıktan sonra kontrolün gönderilebileceği bloklara o bloğun ardılları denir. Bloğa girerken kontrolün gelebileceği bloklara o bloğun öncülleri denir. Kod listelemesinden temel blok oluşturma algoritması basittir:kodu tararsın,blok sınırlarını(kontrol gönderip ,kontrol alabildiği için bloğu başlatıp,bitirebilen komutlar)işaretlersin.Sonra,listeleme bu noktalardaki "ani geçiş"olur ve temel blok kalır.Bu yöntem her zaman en büyük temel blokları oluşturmaz ama çoğu zaman yeterlidir. Temel bloğu bitiren komutlar şunları içerir:
  • Koşulsuz ve koşullu dallar,dolaysız ve dolaylı
  • Çağırılan yordama dönüşler
  • Ayrıklık atabilen komutlar
  • İşlev çağrıları temel blokların sonunda olabilir,eğer dönmüyorlarsa(ayrıklık atan fonksiyonlar ya da C`deki longjmp ve exit çağrıları gibi)
Temel bloğu başlatan komutlar şunları içerir:
  • Yordam ve işlev giriş noktaları
  • Atlamaların hedefleri ya da dallar
  • Bazı koşullu dalları izleyen "düşük geçiş"komutları
  • Ayrıklık atan komutları izleyen komutlar
  • Ayrıklık kotarıcıları
Kontrol, temel bloğun bitiminden geçemediği için;bazı sınırları,temel blokları bulduktan sonra düzeltilmek zorunda kalabilir.Belirtecek olursak düşük geçiş koşullu dallar,çift yönlü dallara çevrilmelidir.Bunları yapmak,başka blokların başlangıçlarına eklemeyi gerektirebilir.

Kaynaklar

Vikipedi

İlgili konular

programlama

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.