i

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 AnweisungBedeutung
schritteinen Schritt vorwärts bewegen - sofern möglich
linksum 90° nach links drehen
rechtsum 90° nach rechts drehen
ziegelHinlegeneinen Ziegel in das vor dem Roboter liegende Feld hinlegen - sofern möglich
ziegelAufhebeneinen Ziegel von dem vor dem Roboter liegenden Feld aufheben - sofern möglich
markeSetzeneine Marke auf das Feld setzen, auf dem sich der Roboter befindet
markeLoescheneine Marke löschen, die sich auf dem Feld des Roboters befindet - sofern möglich
passnichts machen

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

BedingungBedeutung
vorWandBefindet sich der Roboter vor einer Wand?
nichtVorWandBefindet sich der Roboter nicht vor einer Wand?
vorZiegelBefindet sich der Roboter vor einem Ziegel?
nichtVorZiegelBefindet sich der Roboter nicht vor einem Ziegel?
aufMarkeBefindet sich der Roboter auf einer Marke?
nichtAufMarkeBefindet 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.

KontrollstrukturStrukturBedeutung
Sequenz"Anweisung" "Anweisung" ... "Anweisung"Führe die Anweisungen der Reihe nach aus.
Fallunterscheidungif "Bedingung": "Anweisungssequenz" else: "Anweisungssequenz" #ifWenn die Bedingung erfüllt ist, dann führe die erste Anweisungssequenz aus, ansonsten die zweite Anweisungssequenz.
Wiederholungwhile "Bedingung": "Anweisungssequenz" #whileSolange 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.

Suche

4.3.1.2
https://dev.inf-schule.de/automaten-sprachen/interpretercompiler/syntaxsemantikueberblick/exkurs_myka
https://dev.inf-schule.de/4.3.1.2
https://dev.inf-schule.de/@/page/uNPRswn3lRk0tJey

Rückmeldung geben