Exkurs - Eine Sprache zur Beschreibung von Syntaxdiagrammen
Eine Schreibweise für Syntaxdiagramme
Im Abschnitt Beispiel - Turtle-Programme wurde die Sprache der (einfachen) Turtle-Programme mit Hilfe von Syntaxdiagrammen präzise festgelegt.
Syntaxdiagramme legen Ersetzungsregeln fest. Diese Ersetzungsregeln kann man auch textuell darstellen. Die folgende Übersicht zeigt, wie das am Beispiel der Syntaxdiagramme für Logo-Programme.
Syntaxdiagramm | Ersetzungsregeln |
---|---|
Ziffer: |
Ziffer ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' |
Natzahl: |
Natzahl ::= Ziffer+ |
Dezbruch: |
Dezbruch ::= Natzahl '.' Natzahl |
Zahl: |
Zahl ::= '-'? (Natzahl | Dezbruch) |
Leer: |
Leer ::= ' ' |
WS: |
WS ::= Leer+ |
Turtleanw: |
Turtleanw ::= 'fd' WS Zahl | 'bk' WS Zahl | 'lt' WS Zahl | 'rt' WS Zahl | 'st' WS | 'ht' WS |
Anwfolge: |
Anwfolge ::= (Turtleanw WS?)+ |
Turtleprogr: |
Turtleprogr ::= Anwfolge |
Aufgabe 1
Probiere das selbst mit dem Railroad Diagram Generator aus.
Gib im Feld [Edit Grammar] die "Grammatik" der Sprache in der oben gezeigten Form ein.
Ziffer ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' Natzahl ::= Ziffer+ Dezbruch ::= Natzahl '.' Natzahl Zahl ::= '-'? (Natzahl | Dezbruch) Leer ::= ' ' WS ::= Leer+ Turtleanw ::= 'fd' WS Zahl | 'bk' WS Zahl | 'lt' WS Zahl | 'rt' WS Zahl | 'st' WS | 'ht' WS Anwfolge ::= (Turtleanw WS?)+ Turtleprogr ::= Anwfolge
Aktiviere anschließend [View Diagram].
Aufgabe 2
Versuche, anhand des Beispiels (und weiterer Experimente) zu erschließen, was die Symbole "|", "+" und "?" bewirken.