Exkurs - Grammatik in (erweiterter) Backus-Naur-Form

Eine Kurzschreibweise für Produktionen

Die (erweiterte) Backus-Naur-Form (kurz BNF bzw. EBNF) ist eine Kurzschreibweise für Produktionen.

Es gibt eine Reihe verschiedener Schreibweisen für Regeln in (E)BNF. 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 | 9
Analog 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}
oder
zahl = ziffer ziffer*
oder
zahl = ziffer+

Die geschweifte Klammer bzw. das *-Zeichen stehen 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 oder mit einem Fragezeichen dargestellt. Für die Produktionen

vorzeichen -> +
vorzeichen -> -
zahlmitvorzeichen -> zahl
zahlmitvorzeichen -> vorzeichen zahl

schreibt man kurz:

zahlmitvorzeichen = [vorzeichen] zahl

oder

zahlmitvorzeichen = vorzeichen? zahl
X

Fehler melden

X

Suche