Die Backus-Naur-Form ist eine der wichtigsten Beschreibungsformen für Programmiersprachen:
Beispiel:
| <Statement> | ::= | <Ifstatement> | <Assignment> |
| <Assigment> | ::= | <Variable> := <Expression> |
| <Ifstatement> | ::= | IF <Expression> THEN <Statement> |
| <Elsepart> | ||
| <Elsepart> | ::= | |
Man findet häufig Varianten:
'=' statt '::='
Die spitzen Klammern fehlen, dafür stehen Terminals in Anführungszeichen.
Ein Punkt kennzeichnet das Ende einer Regel.
In der erweiterten BNF (EBNF) gibt es einige zusätzliche Möglichkeiten:
Aus der EBNF läßt sich häufig direkt ein Parser ableiten!
Prof. Dr. Reinhard Völler