Exkurs - Eine Sprache zur Beschreibung von Syntaxdiagrammen
Eine Schreibweise für Syntaxdiagramme
Im Abschnitt Beispiel - Logo-Programme wurde die Sprache der (einfachen) Logo-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.