Vereinfachte E-Mail-Adressen
Vereinfachung des E-Mail-Adressformats
Es gibt eine Vielzahl an Möglichkeiten, wie E-Mail-Adressen aufgebaut sein können. Beispiele - auch ungewöhnliche - findest du auf den Seiten von Wikipedia.
Wir werden uns hier nicht mit all diesen Adressformaten beschäftigen. Ziel dieses Abschnittes ist es, ein Verfahren zur präzisen Festlegung des Aufbaus von E-Mail-Adressen einzuführen. Für diesen Zweck reicht es, ein sehr einfaches E-Mail-Adressformat zu betrachten.
Eine informelle Beschreibung
Wir betrachten hier vereinfachte E-Mail-Adressen, in denen nur die Symbole
b
, @
und .
vorkommen dürfen.
Beispiel: bb@bbb.bb
Folgende Regeln sollen zur Bildung solcher E-Mail-Adressen beachtet werden:
- Eine vereinfachte E-Mail-Adresse besteht aus einem User-Namen gefolgt vom @-Symbol und einer Domain-Angabe.
- Der User-Name soll nur aus b´s bestehen.
- Die Domainangabe soll aus Subdomains und einer Topleveldomain aufgebaut sein, die jeweils mit einem Punkt getrennt werden.
- Eine Subdomain und eine Topleveldomain besteht nur aus b´s.
Aufgabe 1
Welche der folgenden Zeichenketten stellen vereinfachte E-Mail-Adressen dar?
b@b.bbb
@b.b.bb
bbb@bbbb
bb.b@b.bb
Warum ist es in einigen Fällen schwierig, das zu entscheiden?
Eine formale Beschreibung mit Syntaxdiagrammen
Informelle Beschreibungen sind oft nicht so präzise, dass keine Zweifelsfälle entstehen können. In der Informatik ist es daher üblich, Festlegungen formal zu beschreiben.
Die folgenden Syntaxdiagramme sollen den Aufbau von vereinfachten E-Mail-Adressen präzise festlegen.
Emailadresse:
User:
Domain:
Subdomains:
Topleveldomain:
Name:
Buchstabe:
Aufgabe 2
Entscheide mit den Syntaxdiagrammen, welche der folgenden Zeichenketten vereinfachte E-Mail-Adressen darstellen:
b@b.bbb
@b.b.bb
bbb@bbbb
bb.b@b.bb
Aufgabe 3
Syntaxdiagramme können als Ersetzungsregeln gedeutet werden. Mit Hilfe wiederholter Ersetzungen lassen sich dann die mit den Syntaxdiagrammen beschriebenen E-Mail-Adressen erzeugen.
Verdeutliche dies anhand des folgenden Beispiels. Führe den Ersetzungsvorgang solange weiter, bis die gewünschte E-Mail-Adresse erzeugt ist.
Emailadresse -> User @ Domain -> Name @ Domain -> Buchstabe Buchstabe @ Domain -> b Buchstabe @ Domain -> b b @ Domain -> ... b b @ b b b . b b