formalesprachen:ebnf
                Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Erweiterte Backus-Naur-Form (EBNF)
Neben den Metazeichen für Auswahl (|) und Gruppierung (runde Klammern), die in der BNF verwendet werden können, besitzt die EBNF (extended Backus-Naur-form) noch folgende:
- [ A ] bedeutet, dass A an dieser Stelle 0- oder 1-mal vorkommt ("Option")
 - { A } bedeutet, dass A an dieser Stelle beliebig oft (auch 0-mal) hintereinander stehen kann ("Wiederholung").
 
Beispiel 1: Längenangaben mit maximal zwei Dezimalstellen
R0: Länge = Ganzzahl [ "," Nachkommastellen ];
R1: Ganzzahl = "0" | ( EinsBisNeun { NullBisNeun } );
R2: Nachkommastellen = NullBisNeun [ NullBisNeun ];
R3: EinsBisNeun = "1" | "2" | ... | "9";
R4: NullBisNeun = "0" | EinsBisNeun;
Bemerkungen:
- R2 zeigt, wie sich ein Wortteil erzeugen lässt, der mindestens ein Mal vorkommt.
 - Es gibt leider keine allgemein anerkannte Definition von EBNF (siehe auch den Wikipedia-Artikel dazu). Daher ist auch die Operratorrangfolge (Präzendenz) nirgends wirklich eindeutig geregelt. Im Zweifelsfall (wie bei R1): Lieber Klammern setzen!
 
Aufgabe 1:
a) 
Geben Sie die Grammatik einer Sprache in EBNF an, die alle Eurobeträge mit und ohne Nachkommastellen umfasst, also bspw. (ohne die Anführungszeichen): "125 €", "210,25 €", "32423,13€"
Genauer:
- Die Beträge können beliebig viele Vorkommastellen haben, aber keine Vornullen (z.B. nicht "0012,13 €")
 - Die Beträge haben entweder keine Nachkommastellen oder exakt zwei.
 - Zwischen den Vorkomma- und Nachkommastellen steht ein Komma.
 - Zwischen der Maßzahl und der Einheit "€" steht ein Leerzeichen.
 
 Erinnerung: Vergessen Sie nicht, in Ihrer Lösung alle formalen Bestandteile der Grammatik zu nennen! 
b) 
Zeichen Sie den Ableitungsbaum zum Wort "256,17 €".
formalesprachen/ebnf.1758693165.txt.gz · Zuletzt geändert:  von Martin Pabst
                
                