Zum Hauptinhalt springen

2. Rule Definition (Regeldefinition)

2.1. Rule Naming (Regelbenennung)

Der Name einer Regel ist einfach der Name selbst - eine Zeichenfolge, die mit einem alphabetischen Zeichen beginnt, gefolgt von einer Kombination aus Buchstaben, Ziffern und Bindestrichen.

Regelnamen sind nicht groß-/kleinschreibungsempfindlich.

Die Namen <rulename>, <Rulename>, <RULENAME> und <rUlENamE> beziehen sich alle auf dieselbe Regel.

Anders als im ursprünglichen BNF sind Winkelklammern ("<", ">") nicht erforderlich. Winkelklammern können jedoch um einen Regelnamen verwendet werden, wenn ihre Anwesenheit hilft, die Verwendung eines Regelnamens zu erkennen.

2.2. Rule Form (Regelform)

Eine Regel wird durch die folgende Sequenz definiert:

name = elements crlf

wobei <name> der Name der Regel ist, <elements> ein oder mehrere Regelnamen oder Terminalspezifikationen sind und <crlf> der Zeilenende-Indikator ist.

Das Gleichheitszeichen (=) trennt den Namen von der Definition der Regel. Die Elemente bilden eine Sequenz von einem oder mehreren Regelnamen und/oder Wertedefinitionen.

2.3. Terminal Values (Terminalwerte)

Regeln lösen sich in eine Zeichenfolge von Terminalwerten auf. In ABNF ist ein Zeichen lediglich eine nicht-negative Ganzzahl. Die Basis-Interpretation wird explizit angegeben:

b = binär
d = dezimal
x = hexadezimal

Daher:

CR  = %d13        ; Wagenrücklauf in Dezimal
CR = %x0D ; Wagenrücklauf in Hexadezimal

Literale Textzeichenketten werden direkt in Anführungszeichen angegeben und sind nicht groß-/kleinschreibungsempfindlich.

Verkettete Werte

Eine verkettete Zeichenfolge wird kompakt mit einem Punkt (".") spezifiziert:

CRLF = %d13.10    ; Wagenrücklauf Zeilenvorschub Sequenz

Wertebereiche

Ein Wertebereich kann mit einem Bindestrich ("-") spezifiziert werden:

DIGIT = %x30-39   ; 0-9
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z

2.4. External Encodings (Externe Kodierungen)

Externe Darstellungen von Terminalwertzeichen variieren je nach Speicher- oder Übertragungsumgebung. Die gleiche ABNF-basierte Grammatik kann mehrere externe Kodierungen haben. Anhang B liefert Definitionen für eine 7-Bit US-ASCII-Umgebung.