Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
faecher:informatik:oberstufe:automaten:formale_sprachen:mailadressen:start [06.10.2020 15:19] – [Experimente mit JFlap] sbel | faecher:informatik:oberstufe:automaten:formale_sprachen:mailadressen:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Emailadressen als formale Sprache ====== | ||
- | |||
- | Bei vielen Internetdiensten muss man sich mit einer // | ||
- | |||
- | |{{: | ||
- | |Ungültig! | Gültig? | | ||
- | |||
- | |||
- | |||
- | Das Anmeldeformular besitzt bereits eine Komponente zur Validierung von E-Mail-Adressen. Diese Komponente prüft, ob die eingegebene Zeichenkette überhaupt eine Mailadresse sein kann, manchmal auch, ob die E-Mail-Adresse tatsächlich vergeben ist. | ||
- | |||
- | === (A1) === | ||
- | |||
- | **(a)** Führe selbst Experimente mit dem [[http:// | ||
- | |||
- | **(b)** E-Mail-Adressen werden nach der RFC 822 überprüft. Recherchiere, | ||
- | |||
- | ===== Das eMail Format in RFC 822 ===== | ||
- | |||
- | |||
- | Requests for Comments (kurz RFC) enthalten Festlegungen zur technischen und organisatorischen Konzeption des Internets. | ||
- | |||
- | So enthält die RFC 822 aus dem Jahr 1982 unter anderem sämtliche Festlegungen zum E-Mail-Format. In dieser RFC wird u.a. genau beschrieben, | ||
- | |||
- | < | ||
- | 6. ADDRESS SPECIFICATION | ||
- | |||
- | 6.1. SYNTAX | ||
- | |||
- | | ||
- | / | ||
- | |||
- | | ||
- | |||
- | | ||
- | / | ||
- | |||
- | | ||
- | |||
- | | ||
- | |||
- | | ||
- | |||
- | | ||
- | ; case-preserved | ||
- | |||
- | | ||
- | |||
- | | ||
- | |||
- | | ||
- | </ | ||
- | |||
- | Du wirst nicht alle Details dieses RFC-Auszugs verstehen. Versuche dennoch, Teile dieser Adressbeschreibung zu deuten. | ||
- | |||
- | Um zu verstehen, wie solche Spezifikationen zu deuten sind, werden wir in den folgenden Abschnitten selbst eine Adress-Spezifikation erstellen - allerdings nur für stark vereinfachte E-Mail-Adressen. | ||
- | |||
- | ===== Einfache (eigene) E-Mail-Adressen ===== | ||
- | |||
- | |||
- | Es gibt eine Vielzahl an Möglichkeiten, | ||
- | |||
- | 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. | ||
- | |||
- | ==== Unsere Einfach-Mailadressen ==== | ||
- | |||
- | Wir betrachten nur vereinfachte E-Mail-Adressen, | ||
- | |||
- | Beispiel: '' | ||
- | |||
- | 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. | ||
- | |||
- | === (A2) === | ||
- | |||
- | 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 unserer vereinfachten E-Mail-Adressen präzise festlegen. | ||
- | |||
- | |||
- | **Emailadresse: | ||
- | |||
- | {{: | ||
- | |||
- | **User:** | ||
- | |||
- | {{: | ||
- | |||
- | **Domain:** | ||
- | |||
- | {{: | ||
- | |||
- | **Subdomains: | ||
- | |||
- | {{: | ||
- | |||
- | **Topleveldomain: | ||
- | |||
- | {{: | ||
- | |||
- | **Name:** | ||
- | |||
- | {{: | ||
- | |||
- | **Buchstabe: | ||
- | |||
- | {{: | ||
- | |||
- | === (A3) === | ||
- | |||
- | Entscheide mit Hilfe der Syntaxdiagramme, | ||
- | |||
- | b@b.bbb | ||
- | @b.b.bb | ||
- | bbb@bbbb | ||
- | bb.b@b.bb | ||
- | |||
- | ===== Vom Syntaxdiagramm zu den Regeln einer Grammatik ===== | ||
- | |||
- | Gesucht ist eine Grammatik G=(V, | ||
- | |||
- | **(A4)** Gib das Alphabet '' | ||
- | |||
- | ==== Herleitung ==== | ||
- | |||
- | |||
- | Nun benötigt man Regeln und Variablen. Dazu übersetzt man die Darstellung im Syntaxdiagramm in eine vereinfachte Zuordnung. | ||
- | |||
- | ^ ^ Syntax | ||
- | | Emailadresse: | ||
- | | User: | {{: | ||
- | | Domain: | ||
- | | Subdomains: | ||
- | | Topleveldomain: | ||
- | | Name: | {{: | ||
- | | Buchstabe: | ||
- | |||
- | Man sieht, dass " | ||
- | |||
- | ==== Anwendung: Ableiten von Worten anhand der Grammatik ==== | ||
- | |||
- | Die Ableitung der E-Mail-Adresse '' | ||
- | < | ||
- | S -> # (1) | ||
- | U @ D -> # (2) | ||
- | N @ D -> # (8) | ||
- | B N @ D -> # (9) | ||
- | b N @ D -> # (7) | ||
- | b B @ D -> # (9) | ||
- | b b @ D -> # (3) | ||
- | b b @ K T -> # (5) | ||
- | b b @ N . K T -> # (7) | ||
- | b b @ B . K T -> # (9) | ||
- | b b @ b . K T -> # (4) | ||
- | b b @ b . N . T -> # (8) | ||
- | b b @ b . B N . T -> # (9) | ||
- | b b @ b . b N . T -> # (8) | ||
- | b b @ b . b B N . T -> # (9) | ||
- | b b @ b . b b N . T -> # (7) | ||
- | b b @ b . b b B . T -> # (9) | ||
- | b b @ b . b b b . T -> # (6) | ||
- | b b @ b . b b b . N -> # (8) | ||
- | b b @ b . b b b . B N -> # (9) | ||
- | b b @ b . b b b . b N -> # (7) | ||
- | b b @ b . b b b . b B -> # (9) | ||
- | b b @ b . b b b . b b | ||
- | </ | ||
- | |||
- | === (A5) === | ||
- | |||
- | * Leite die Mailadresse '' | ||
- | * Mache dir klar, dass man '' | ||
- | |||
- | ==== Experimente mit JFlap ==== | ||
- | |||
- | Mit Hilfe von JFlap ([[http:// | ||
- | |||
- | |||
- | |||
- | === (A5) === | ||
- | |||
- | Starte JFlap, wähle den Menupunkt '' | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | |||
- | ---- | ||
- | Dieser Abschnitt ist auf Basis der Seite https:// | ||