Exkurs - Grammatik in erweiterter Backus-Naur-Form
Eine Kurzschreibweise für Produktionen
Die erweiterte Backus-Naur-Form (kurz EBNF) ist eine Kurzschreibweise für Produktionen.
Es gibt verschiedene Schreibweisen für Regeln in EBNF. Die am häufigsten benutzten Schreibweisen werden im Folgenden anhand einfacher Beispiele vorgestellt.
Alternativen
Die Backus-Naur-Form benutzt eine Kurzschreibweise für Alternativen. Statt
ziffer -> 0 ziffer -> 1 ... ziffer -> 9
schreibt man kurz:
ziffer = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9Analog schreibt man für
vorzeichen -> + vorzeichen -> -
kurz:
vorzeichen = + | -
Iterationen
Die erweiterte Backus-Naur-Form benutzt zusätzlich eine Kurzschreibweise für Iterationen. Für die Produktionen
zahl -> ziffer zahl -> ziffer zahl
schreibt man kurz:
zahl = ziffer {ziffer}
Die geschweifte Klammer steht hier für beliebig viele Wiederholungen (auch gar keine) des eigeklammerten Wortes.
Gebräuchlich sind auch folgende Schreibweisen:zahl = ziffer ziffer*bzw.
zahl = ziffer+
Das *-Zeichen steht für beliebig viele Wiederholungen (also auch gar keine), das +-Zeichen für Wiederholungen mit mindestens einer Wiederholung.
Optionale Teile
Die erweiterte Backus-Naur-Form benutzt zusätzlich eine Kurzschreibweise für optionale Teile. Diese werden üblicherweise in eckigen Klammern dargestellt. Für die Produktionen
vorzeichen -> + vorzeichen -> - zahlmitvorzeichen -> zahl zahlmitvorzeichen -> vorzeichen zahl
schreibt man kurz:
zahlmitvorzeichen = [vorzeichen] zahl
Gebräuchlich ist auch die Darstellung mit einem Fragezeichen:
zahlmitvorzeichen = vorzeichen? zahl