Temel blok

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 her bir 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:

Temel bloğu başlatan komutlar şunları içerir:

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.