i

Eine Grammatik in erweiterter Backus-Naur-Form

Eine Schreibweise für Syntaxdiagramme

Im letzten Abschnitt wurde die Sprache der vereinfachten E-Mail-Adressen mit Hilfe von Syntaxdiagrammen präzise festgelegt.

Syntaxdiagramme legen Ersetzungsregeln fest. Diese Ersetzungsregeln kann man auch textuell darstellen. Die folgende Übersicht zeigt, wie das im vorliegenden Beispiel erfolgt. Eine solche Darstellung nennt man auch Grammatik in erweiterter Backus-Naur-Form. Mehr über solche Grammatiken findest du im Abschnitt Exkurs - Grammatik in erweiterter Backus-Naur-Form.

Syntaxdiagramm Regel

Emailadresse:

Syntaxdiagramm
Emailadresse ::= User '@' Domain

User:

Syntaxdiagramm
User ::= Name

Domain:

Syntaxdiagramm
Domain ::= Subdomains Topleveldomain

Subdomains:

Syntaxdiagramm
Subdomains ::= (Name '.')+

Topleveldomain:

Syntaxdiagramm
Topleveldomain ::= Name

Name:

Syntaxdiagramm
Name ::= Buchstabe+

Buchstabe:

Syntaxdiagramm
Buchstabe ::= 'b'

Du kannst das selbst mit dem Railroad Diagram Generator ausprobieren.

Aufgabe 1

Gib im Feld [Edit Grammar] die "Grammatik" der festzulegenden Sprache in der folgenden Darstellung ein.

Emailadresse ::= User '@' Domain
User ::= Name
Domain ::= Subdomains Topleveldomain
Subdomains ::= (Name '.')+
Topleveldomain ::= Name
Name ::= Buchstabe+
Buchstabe ::= 'b'

Aktiviere anschließend [View Grammar].

Aufgabe 2

Hier eine Version vereinfachter E-Mail-Adressen, die sich an die Beschreibung in der RFC 822 anlehnt. Kannst du - ohne es vorher mit dem Railroad Diagram Generator auszuprobieren - die zugehörigen Syntaxdiagramme konstruieren? Überprüfe deinen Vorschlag.

AddrSpec ::= LocalPart '@' Domain
LocalPart ::= Word ("." Word)*
Word ::= Atom | QuotedString
Atom ::= Buchstabe+
QuotedString ::= '"' (Buchstabe | Leerzeichen)* '"'
Domain ::= SubDomain ("." SubDomain)*
SubDomain ::= Buchstabe+
Buchstabe ::= 'b'
Leerzeichen ::= ' '

Suche

v
4.2.2.2.1.4
dev.inf-schule.de/automaten-sprachen/sprachenundautomaten/sprachbeschreibung/grammatiken/fallstudie_email/ebnf
dev.inf-schule.de/4.2.2.2.1.4
dev.inf-schule.de/@/page/FOGsASBPAraKBVOy

Rückmeldung geben