Zur Themenübersicht    

1. Sprachdefinition und Syntaxdiagramm


1. Sprachdefinition

1.1. Grundlagen

Um die Sprache und ihre Umsetzung so einfach wie möglich zu gestalten legen wir folgende Grundlagen fest:   

1.2. Die bekannten Schlüsselwörter

Es sind nur die folgenden Schlüsselwörter zulässig, alle anderen werden ignoriert.
Kategorie
Schlüsselwort
Befehle
  • vor
  • drehe_links
  • drehe_rechts
  • nimm
  • gib
Anfragen

  • vornefrei
  • itemda
  • blicktnach_links
  • blicktnach_rechts
  • blicktnach_oben
  • blicktnach_unten
  • itemsimrucksack
Kontrollstrukturen

  • wenn
  • dann
  • sonst
  • solangewie
  • tue
  • not
  • {
  • }

1.3. Verschachtelte Strukturen

In dieser ersten Version unser Programmiersprache verzichten wir zunächst auf verschachtelte Strukturen (also z. B. eine "wenn-dann"-Anweisung innerhalb einer "wenn-dann"-Anweisung).
Da jede geöffnete Klammer (oder begonnene "wenn-dann"-Anweisung) auch wieder geschlossen werden muss, werden zum erkennen der korrekten Syntax durch einen Automaten so viele Zustände wie geöffnete Klammern benötigt. Daher werden bei beliebig ineinander verschachtelte Anweisungen (theoretisch) unendlich viele Zustände benötigt. Deshalb ist ein erkennender endlicher deterministischen Automat nicht in der Lage, beliebig verschachtelte Anweisungen zu erkennen.

2. Syntaxdiagramm

Das Syntaxdiagramm der Sprache


Die benötigten Zusatzsyntaxdiagramme