====== 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 [[https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form|den Wikipedia-Artikel dazu]]). Daher ist auch die Operratorrangfolge (Präzendenz) nirgends wirklich eindeutig geregelt. Im Zweifelsfall (wie bei R1): Lieber Klammern setzen!
===== Beispiel 2: =====