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 -> Name Name -> Buchstabe Name -> Buchstabe Name Buchstabe -> b |
E -> U@D U -> N D -> ST S -> N. S -> N.S T -> N 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.
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@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:
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:
Darstellung als Ableitungskette:
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 -> bT T -> b
Aufgabe 3
Die Topleveldomain soll nur aus den beiden Buchstaben bb
bestehen. Ändere eine der oben
vorgegebenen Grammatiken entsprechend ab.