Einstieg - Die Programmiersprache MyKa
Fehler im Quelltext
Programme können - wie du sicher schon des öfteren selbst erfahre hast - Syntaxfehler enthalten, die dazu führen, dass sie nicht vom Programmiersystem ausgeführt werden können.
Entsprechendes gilt natürlich auch für MyKa-Programme. Auch diese Programme müssen bestimmte, vom Entwickler festgelegte Syntaxregeln erfüllen.
Aufgabe 1
Welche der folgenden Quelltexte sind syntaktisch korrekte MyKa-Programme?
Programm 1:
links while nichtVorWand: ziegelHinlegen schritt #while
Programm 2:
links while nichtVorWand:ziegelHinlegen schritt #while
Programm 3:
while links nichtVorWand:ziegelHinlegen schritt#while
Programm 4:
links while nichtVorWand: hinlegen schritt #while
Programm 5:
links while nichtVorWand ziegelHinlegen schritt #while
(a) Schaue dir die Quelltexte zunächst genau an und stelle Vermutungen über Syntaxfehler auf.
(b) Lade das Simulationsprogramm MyKa herunter und gib die vorgegebenen MyKa-Programm-Quelltexte in das linke obere Fenster ein. Erzeuge mit der Schaltfläche [scannen / parsen] ein MyKaList-Programm - das ist eine mit Hilfe von Listen erstellte strukturierte Darstellung des MyKa-Programms. In welchen Fällen funktioniert das, in welchen Fällen nicht?
(c) Die Programme 3, 4 und 5 sind aus unterschiedlichen Gründen syntaktisch nicht korrekt. Gegen welche Regeln wird hier wohl verstoßen?
(d) Bei der Erzeugung eines MyKaList-Programms werden hier zusätzliche Informationen über den Analysevorgang ausgegeben. Diese Informationen im Detail zu verstehen ist schwierig. Vielleicht hast du trotzdem eine Idee, um was es hier geht.
Strukturierte Darstellung
Das Simulationsprogramm MyKa erzeugt beim Anklicken der Schaltfläche [scannen / parsen] aus einem MyKa-Programm ein sogenanntes MyKaList-Programm - das ist eine mit Hilfe von Listen erstellte strukturierte Darstellung des MyKa-Programms.
So wird beispielsweise aus dem MyKa-Programm
links while nichtVorWand: ziegelHinlegen schritt #while
das MyKaList-Programm
[ ['links'], ['while', ['nichtVorWand'], [ ['ziegelHinlegen'], ['schritt'] ] ] ]
erzeugt. Beachte, dass bei der Darstellung im Fenster links unten die äußeren Listenklammern und trennende Kommata weggelassen sind.
Aufgabe 2
Versuche anhand weiterer Tests zu erschließen, wie ein syntaktisch korrektes MyKa-Programm mit Hilfe von Listen strukturiert als MyKaList-Programm dargestellt wird.