formalesprachen:ebnf
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!
Beispiel 2:
formalesprachen/ebnf.txt · Zuletzt geändert: 2025/07/25 07:26 von Martin Pabst