Die Aufgabe
Aufgabe 4.2
Für die Syntax von E-Mail-Adressen (address) liegt der folgende Vorschlag in EBNF vor. Hinweis: „[“ und „]“ bei dotnum bezeichnen die eckigen Klammern als Terminalsymbole.
address = <name> . <name> [ . <name> ] @ <domain>name = <letter> { <symbol> }letter = a | b | ... | z | A | B | ... | Zsymbol = <letter> | <digit>digit = 0 | 1 | ... | 9domain = <dotnum> | ( [ <subdomain> . ] <topleveldomain> )dotnum = "[" <snum> . <snum> . <snum> . <snum> "]"snum = 0 | 1 | ... | 255subdomain = <name> [ - <name> ]topleveldomain = com | edu | gov | org | <countrycodetld>countrycodetld = aq | de | es | sySind die folgenden Beispiele im Sinne der angegebenen Syntax zulässige E-Mail-Adressen? Geben Sie alle Fehler an, falls eine Adresse nicht zulässig ist.
| Adresse | Zulässig | Nicht zulässig | |
|---|---|---|---|
| i | Mr.President@WhiteHouse.gov | ☐ | ☐ |
| ii | James.T.Kirk@ncc-1701.org | ☐ | ☐ |
| iii | 2742@deep-space-nine.com | ☐ | ☐ |
| iv | Team.Stud@[131.246.161.19] | ☐ | ☐ |
| v | user@inter.net | ☐ | ☐ |
| vi | DP.Informatik1@[27.01.2006] | ☐ | ☐ |
| vii | alds@informatik.uni-kl.de | ☐ | ☐ |
Gegeben ist eine EBNF für E-Mail-Adressen. Für jede der sieben Adressen ist zu entscheiden: Lässt sie sich mit diesen Regeln bilden? Wenn nicht, sind alle Fehler gesucht, nicht nur der erste.
Wichtig ist „im Sinne der angegebenen Syntax“. Es zählt nur die EBNF, nicht, ob es die Adresse in Wirklichkeit gibt. user@inter.net sieht echt aus und ist trotzdem falsch, wenn die Regeln sie nicht erzeugen.
- Die Regeln lesen: was vor dem @ stehen darf.
- Die Regeln lesen: was nach dem @ stehen darf.
- Die Adressen i bis vii einzeln zerlegen.