Exkurs - Die Programmiersprache MyKa

Syntax und Semantik - informell

Syntax und Semantik der Mini-Programmiersprache MyKa sollen hier informell beschrieben werden.

Die erste Tabelle zeigt die elementaren Anweisungen von MyKa.

elementare Anweisung Bedeutung
schritt einen Schritt vorwärts bewegen - sofern möglich
links um 90° nach links drehen
rechts um 90° nach rechts drehen
ziegelHinlehen einen Ziegen in das vor dem Roboter liegende Feld hinlegen - sofern möglich
ziegelAufheben einen Ziegen von dem vor dem Roboter liegenden Feld aufheben - sofern möglich
markeSetzen eine Marke auf das Feld setzen, auf dem sich der Roboter befindet
markeLoeschen eine Marke löschen, die sich auf dem Feld des Roboters befindet - sofern möglich
pass nichts machen

In der zweiten Tabelle sind die möglichen Bedingungen von MyKa aufgelistet.

Bedingung Bedeutung
vorWand Befindet sich der Roboter vor einer Wand?
nichtVorWand Befindet sich der Roboter nicht vor einer Wand?
vorZiegel Befindet sich der Roboter vor einem Ziegel?
nichtVorZiegel Befindet sich der Roboter nicht vor einem Ziegel?
aufMarke Befindet sich der Roboter auf einer Marke?
nichtAufMarke Befindet sich der Roboter nicht auf einer Marke?

Die dritte Tabelle zeigt, wie man mit Kontrollstrukturen komplexere Anweisungen bilden kann. Beachte, dass diese Kontrollstrukturen auch geschachtelt werden können.

Kontrollstruktur Struktur Bedeutung
Sequenz "Anweisung" "Anweisung" ... "Anweisung" Führe die Anweisungen der Reihe nach aus.
Fallunterscheidung if "Bedingung": "Anweisungssequenz" else: "Anweisungssequenz" #if Wenn die Bedingung erfüllt ist, dann führe die erste Anweisungssequenz aus, ansonsten die zweite Anweisungssequenz.
Wiederholung while "Bedingung": "Anweisungssequenz" #while Solange die Bedingung erfüllt ist, führe die Anweisungssequenz aus.

Syntax und Semantik - formal

Eine informelle Beschreibung von Syntax und Semantik liefert einen ersten Überblick über die Struktur und Bedeutung der Sprachelemente der Programmiersprache. Bei einer informellen Beschreibung bleiben meist aber noch Fragen offen.

Im Fall der Programmiersprache MyKa ist beispielsweise noch nicht geklärt, ob es auch leere Anweisungssequenzen geben kann (z.B. in der Anweisung while nichtVorWand: #while). Ungeklärt ist auch noch, wie sich ein mehrfaches Setzen einer Marke auswirkt.

Alle diese Fragen werden geklärt, wenn Syntax und Semantik präzise beschrieben werden. Für die Programmiersprache MyKa wird das in den Abschnitten ... nachgeholt.

X

Fehler melden

X

Suche