Java Reference
In-Depth Information
Grundbefehl
vor
(
)
;
linksUm
nimm
gib
Abbildung 7.1: Syntaxdiagramm: Hamster-Grundbefehl
7.1.2 Semantik
Während die Syntax das Vokabular und die Grammatik einer Programmiersprache definiert, wird
durch die Semantik die Bedeutung eines syntaktisch korrekten Programms angegeben, d.h. es wird
festgelegt, was das Programm bewirkt. Im Folgenden wird dazu zunächst die Semantik der vier
Grundbefehle des Hamster-Modells verbal beschrieben. Im Falle des Hamster-Modells bedeutet das,
es wird definiert, wie der Hamster reagiert, wenn ihm ein Befehl „mitgeteilt“ wird:
vor(); : Der Hamster hüpft eine Kachel in seiner aktuellen Blickrichtung nach vorn.
linksUm(); : Der Hamster dreht sich auf der Kachel, auf der er gerade steht, um 90 Grad
nach links.
nimm(); : Der Hamster frisst von der Kachel, auf der er sich gerade befindet, genau ein Korn,
d.h. anschließend hat der Hamster ein Korn mehr im Maul und auf der Kachel liegt ein Korn
weniger als vorher.
gib(); : Der Hamster legt auf der Kachel, auf der er sich gerade befindet, genau ein Korn aus
seinem Maul ab, d.h. er hat anschließend ein Korn weniger im Maul und auf der Kachel liegt
ein Korn mehr als vorher.
Wie Sie vielleicht schon festgestellt haben, können bei den Befehlen vor , nimm und gib Probleme
auftreten:
• Der Hamster bekommt den Befehl vor(); und die Kachel in Blickrichtung vor ihm ist durch
eine Mauer blockiert.
• Der Hamster bekommt den Befehl nimm(); und auf der Kachel, auf der er sich gerade befin-
det, liegt kein einziges Korn.
• Der Hamster bekommt den Befehl gib(); und er hat kein einziges Korn im Maul.
Bringen Sie den Hamster in diese für ihn unlösbaren Situationen, dann ist der Hamster derart von
Ihnen enttäuscht, dass er im Folgenden nicht mehr bereit ist, weitere Befehle auszuführen. Derartige
Fehler werden Laufzeitfehler genannt. Laufzeitfehler können im Allgemeinen nicht schon durch den
Search WWH ::




Custom Search