Java Reference
In-Depth Information
8.3.3 Semantik
Im Prinzip entspricht ein Prozeduraufruf einem Platzhalter für den Prozedurrumpf, d.h. Sie können
sich vorstellen, dass an der Stelle des Prozeduraufrufs die Anweisungen des entsprechenden Proze-
durrumpfes stehen.
Eine alternative Erläuterung ist folgende: Wird irgendwo in einem Programm eine Prozedur aufge-
rufen, so wird bei der Ausführung des Programms an dieser Stelle der Rumpf der Prozedur, d.h. die
Anweisung(en) des Prozedurrumpfes, ausgeführt. Der Kontrollfluss des Programms verzweigt beim
Prozeduraufruf in den Rumpf der Prozedur, führt die dortigen Anweisungen aus und kehrt nach der
Abarbeitung der letzten Anweisung des Rumpfes an die Stelle des Prozeduraufrufs zurück.
8.3.4 Beispiele
Das folgende Beispiel enthält gültige Prozedurdefinitionen für die beiden Prozeduren kehrt und
rechtsUm und einen Prozeduraufruf der Prozedur kehrt innerhalb des Prozedurrumpfes der Proze-
dur rechtsUm :
void kehrt() {
linksUm();
linksUm();
}
void rechtsUm() {
kehrt();
// Prozeduraufruf
linksUm();
}
8.4 Programme (mit Prozeduren)
Wir müssen an dieser Stelle die Definition eines Hamster-Programms aus Kapitel 7.3 erweitern.
8.4.1 Syntax
Die nun gültige Syntax für ein Hamster-Programm ist in Abbildung 8.4 dargestellt. In der Abbildung
wird das Syntaxdiagramm „Programm“ aus Abbildung 7.5 erweitert.
An dieser Stelle kann nun auch die Bedeutung des main -Teils erläutert werden. Wie Sie sicher schon
festgestellt haben, handelt es sich auch hierbei um eine Prozedur, die sogenannte main-Prozedur .
Dies ist eine besondere Prozedur. Sie wird automatisch beim Aufruf des Programms durch das Lauf-
zeitsystem aufgerufen.
Ein Hamster-Programm besteht nach Abbildung 8.4 aus einer Menge von Prozedurdefinitionen. Da-
bei muss eine Prozedur den Namen main tragen. Die Namen der Prozeduren müssen paarweise
disjunkt sein. Es dürfen innerhalb der Prozedurrümpfe nur Prozeduren aufgerufen werden, die auch
definiert sind. Der Ort einer Prozedurdefinition ist nicht festgelegt. Es spielt keine Rolle, ob die
Prozedur vor oder nach einem Aufruf der Prozedur innerhalb eines Prozedurrumpfes definiert wird.
Search WWH ::




Custom Search