Experimente mit JFlap

Vereinfachte E-Mail-Adressen

Mit Hilfe des Software-Werkzeugs JFlap kann man u. a. Grammatiken experimentell testen. Am Beispiel der Grammatiken für vereinfachte E-Mail-Adressen soll dies hier gezeigt werden.

Um Schreibarbeit zu sparen, werden die Ersetzungsregeln in abkürzender Schreibweise dargestellt.

Ersetzungsregeln - in Langform Ersetzungsregeln - in Kurzform
Emailadresse -> User @ Domain
User -> Name
Domain -> Subdomains Topleveldomain
Subdomains -> Name .
Subdomains -> Name . Subdomains
Topleveldomain -> b b
Name -> Buchstabe
Name -> Buchstabe Name
Buchstabe -> b
E -> U@D
U -> N
D -> ST
S -> N.
S -> N.S
T -> bb
N -> B
N -> BN
B -> b

Aufgabe 1

Starte JFlap, wähle den Menupunkt [Grammar] aus und gib die gezeigte Grammatik im Grammatik-Editor ein.

JFlap

Zum Testen wähle der Reihe nach die Menupunkte [Input] und [Brute Force Parse] aus. Gib in das [Input]-Feld eine zu analysierende Zeichenfolge ein, z.B. bb@b.bbb.bb. Mit dem Menupunkt [Start] wird jetzt die Suche nach einer Ableitung des eingegebenen Wortes mit Hilfe der vorgegebenen Ersetzungsregeln gestartet. Achtung, diese Suche kann eine Weile dauern. Wenn sie erfolgreich beendet wird, dann erhält man folgende Rückmeldung:

JFlap

Mit dem Menupunkt [Step] kann man sich jetzt die Ableitung Schritt für Schritt zeigen lassen. Es stehen zwei Darstellungen zur Auswahl.

Darstellung als Ableitungsbaum:

JFlap

Darstellung als Ableitungskette:

JFlap

Aufgabe 2

Teste auch die folgenden Ersetzungsregeln. Was beschreiben sie?

E -> bU
U -> bU
U -> @S
S -> bB
B -> bB
B -> .S
B -> .T
T -> bZ
Z -> b

Aufgabe 3

Hier ein weitere System von Ersetzungsregeln. Mach dir mit Hilfe von Tests auch die Besonderheiten dieses Regelsystems klar. Was beschreiben sie?

E -> U@D
U -> bU
U -> λ 
D -> bS
S -> bS
S -> .bS
.bS -> .bb

Aufgabe 4

Findest du weitere Ersetzungsregeln, die dieselben E-Mail-Adressen erzeugen wie die Ersetzungsregeln oben? Teste deine Vorschläge mit JFlap.

X

Fehler melden

X

Suche