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.

MyKa

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.

X

Fehler melden

X

Suche