Blockstruktur
Die Blockstruktur (oder kurz der Block) ist ein Charakteristikum von Programmiersprachen. Ein Programm ist dabei aus Anweisungsblöcken aufgebaut. Diese dürfen im Allgemeinen auch ineinandergeschachtelt sein; das ganze Programm kann als ein großer, umfassender Block verstanden werden.
Ein Block ist ein aus Anweisungen bestehender zusammengehöriger Abschnitt. Je nach Programmiersprache wird ein Block durch Schlüsselwörter wie begin
und end
eingeschlossen, durch geschweifte Klammern { }
oder durch gemeinsame Einrückung des Programmtextes gekennzeichnet. Beispiele:
{ Algol 60, Pascal }
if a > 0 then
begin
b := b + 5;
c := c - 2;
end
else
b := c - 1;
//end if
/* C, C++, Java */
if (a > 0) {
b += 5;
c -= 2;
} else
b = c - 1;
// end if
Ein ganzer Anweisungsblock wird oft selbst als eine einzige Anweisung gesehen, was die Beschreibung der Programmiersprache vereinfacht. Die if-Klauseln im Beispiel müssen dabei lediglich so beschrieben sein, dass sie im Ja- (bzw. Nein-)Fall nur eine Anweisung beinhalten – statt dieser kann ein Anweisungsblock stehen, was nun beliebig lange Abfolgen von Anweisungen im jeweiligen Fall ermöglicht.
Viele Programmiersprachen, zuerst wohl Algol 60,[1] führten das Prinzip der Blockstruktur noch einen Schritt weiter, indem zu Anfang jedes solchen Blocks auch neue Deklarationen von Variablen oder sogar lokalen Prozeduren/Unterprogrammen erlaubt wurden. Dabei beschreiben die Anweisungsblöcke einen Geltungsbereich („Lebensdauer“) für diese Variablen (oder Unterprogramme). Diese dürfen dann sogar gleichnamige, „außen“ vorhandene Variablen überdecken.
Einzelnachweise
- H.T. de Beer: The History of the ALGOL Effort. (PDF; 1,2 MB) 2006, S. 40 (M.Sc. thesis, TU Eindhoven)