Benutzer-Werkzeuge

Webseiten-Werkzeuge


formalesprachen:ebnf

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki