Übungen

Aufgabe 1: ipigisi

Gegeben sind die folgenden Produktionen.

S -> iAi
A -> siAis
A -> piBis
B -> siBis
B -> g

(a) Welche der folgenden Wörter können mit den Produktionen abgeleitet werden?

ipigisi, isipisigisi, isipisigisisisi

(b) Welche Sprache wird durch die angegebene Grammatik festgelegt?

(c) Entwickle auch Syntaxdiagramme, die den Produktionen entsprechen.

Aufgabe 2: Rechenausdrücke

Im Abschnitt Einstieg - Rechenausdrücke wird der Aufbau von Rechenausdrücken mit Hilfe von Syntaxdiagrammen beschrieben.

(a) Entwickle eine Grammatik, die den Syntaxdiagrammen entspricht.

(b) Teste die Grammatik mit JFlap.

(c) Schreibe die Grammatik als EBNF-Beschreibung.

Aufgabe 3: FEN

Die Forsyth-Edwards-Notation (kurz FEN) wird benutzt, um Schach-Spielzustände zu beschreiben. In der freien Enzyklopädie Wikipedia findet man die folgende Grammatik von FEN in EBNF:

FEN := Position " " Spieler " " Rochade " " en-passant " " Halbzüge " " Zugnummer
Position := Reihe "/" Reihe "/" Reihe "/" Reihe "/" Reihe "/" Reihe "/" Reihe "/" Reihe
Reihe := { Figur | Leerfelder }+
Figur :=  "p" | "r" | "n" | "b" | "q" | "k" | "P" | "R" | "N" | "B" | "Q" | "K"
Leerfelder := "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8"
Spieler := "w" | "b"
Rochade := "K" ["Q"] ["k"] ["q"] | "Q" ["k"] ["q"] | "k" ["q"] | "q" | "-"
en-passant := "-" | ( ("a"|"b"|"c"|"d"|"e"|"f"|"g"|"h") ("3"|"6") )
Halbzüge := positiveGanzeZahl
Zugnummer := positiveGanzeZahl

Die folgende Zeichenkette soll betrachtet werden:

8/1p1kpQ2/2np4/1p2b1BP/2q2p2/8/5PP1/5RK1 w -- - 1 30

(a) Erkläre mit Hilfe der Grammatik, dass diese Zeichenkette einen Schach-Spielzustand in FEN korrekt beschreibt.

(b) Welche Bedeutung hat die vorgegebene Zeichenkette? Legen die Grammatikregeln auch die Bedeutung der benutzen Symbole fest?

Aufgabe 4: Postanschriften

Entwickle eine Grammatik in Backus-Naur-Form für Postanschriften. Beachte die folgenden Aspekte:

Eine Lösung findest du in der freien Enzyklopädie Wikipedia unter dem Stichwort Backus-Naur-Form.

X

Fehler melden

X

Suche