Vermehrte Backus-Naur-Form

In der Informatik ist Augmented Backus-Naur Form (ABNF) eine Metasprache, die auf Backus-Naur Form (BNF) gestützt ist, aber aus seiner eigenen Syntax und Abstammungsregeln bestehend. Der Motiv-Grundsatz für ABNF soll ein formelles System einer als ein bidirektionales Kommunikationsprotokoll zu verwendenden Sprache beschreiben. Es wird durch den Internetstandard 68 definiert ("STD 68", Typ-Fall sic), der RFC 5234 ist, und es häufig als die Definitionssprache für IETF Nachrichtenprotokolle dient.

RFC 5234 ersetzt RFC 4234 (der RFC 2234 ersetzt hat).

Einführung

Eine ABNF Spezifizierung ist eine Reihe von Abstammungsregeln, schriftlich als

wo Regel ein gegen den Fall unempfindliches Nichtterminal ist, besteht die Definition aus Folgen von Symbolen, die die Regel, eine Anmerkung für die Dokumentation definieren, und mit einer Wagen-Rückkehr und Linienfutter endend.

Regel-Namen sind unempfindlicher Fall:

Winkelklammern ("

Endwerte

Terminals werden durch einen oder mehr numerische Charaktere angegeben.

Numerische Charaktere können als das Prozent-Zeichen"", gefolgt von der Basis (b = binär, d = Dezimalzahl und x = hexadecimal), gefolgt vom Wert oder Verkettung von Werten (angezeigt durch"") angegeben werden. Zum Beispiel wird eine Wagen-Rückkehr durch in der Dezimalzahl oder in hexadecimal angegeben. Eine von einem Linienfutter gefolgte Wagen-Rückkehr kann mit der Verkettung als angegeben werden.

Wörtlicher Text wird durch den Gebrauch einer Schnur angegeben, die in Anführungszeichen eingeschlossen ist. Diese Schnuren sind gegen den Fall unempfindlich, und die verwendete Codierung ist (die Vereinigten Staaten-) ASCII. Deshalb wird die Schnur "Alphabet" "Alphabet", "Alphabet", "Alphabet", "Alphabet", "ALPHABET", "ALPHABET", "ALPHABET" und "Abc" vergleichen. Für ein mit dem Fall empfindliches Match müssen die ausführlichen Charaktere definiert werden: "Um Alphabet" zu vergleichen, wird die Definition sein.

Maschinenbediener

Leerraum

Leerraum wird verwendet, um Elemente einer Definition zu trennen; für den als ein Begrenzungszeichen anzuerkennenden Raum muss es ausführlich eingeschlossen werden. Die ausführliche Verweisung ist LWS (wörtlicher Leerraum).

Anmerkung

Ein Strichpunkt ("") fängt eine Anmerkung an, die zum Ende der Linie weitergeht.

Verkettung

Eine Regel kann durch die Auflistung einer Folge von Regel-Namen definiert werden.

Die Schnur "aba" die folgenden Regeln zu vergleichen, konnte verwendet werden:

Alternative

Eine Regel kann durch eine Liste von alternativen Regeln definiert werden, die durch einen Schrägstrich ("") getrennt sind.

Um die Regel foo oder die Regel-Bar zu akzeptieren, konnte die folgende Regel gebaut werden:

Zusätzliche Alternativen

Zusätzliche Alternativen können zu einer Regel durch den Gebrauch "" zwischen dem Regel-Namen und der Definition hinzugefügt werden.

Die Regel

ist

zu gleichwertig

Wertreihe

Eine Reihe von numerischen Werten kann durch den Gebrauch eines Bindestrichs ("") angegeben werden.

Die Regelist

zu gleichwertig

Folge-Gruppe

Elemente können in Parenthesen gelegt werden, um Regeln in einer Definition zu gruppieren.

Um "elem fubar Schlamassel" oder "elem tarfu Schlamassel" zusammenzupassen, konnte die folgende Regel gebaut werden:

Um "elem fubar" oder "tarfu Schlamassel" zusammenzupassen, konnten die folgenden Regeln gebaut werden:

Variable Wiederholung

Um Wiederholung eines Elements anzuzeigen, wird die Form verwendet. Das fakultative gibt die minimale Zahl der Elemente, um mit dem Verzug 0 eingeschlossen zu werden. Das fakultative gibt die maximale Zahl der Elemente, um mit dem Verzug der Unendlichkeit eingeschlossen zu werden.

Verwenden Sie für die Null oder mehr Elemente, für ein oder mehr Elemente, und für zwei oder drei Elemente.

Spezifische Wiederholung

Um eine ausführliche Zahl der Elemente anzuzeigen, wird die Form verwendet und ist dazu gleichwertig.

Verwenden Sie, um zwei numerische Ziffern zu bekommen und drei numerische Ziffern zu bekommen. (ZIFFER wird unten laut 'Kernregeln' definiert. Siehe auch Postleitzahl im Beispiel unten.)

Fakultative Folge

Um ein fakultatives Element anzuzeigen, sind die folgenden Aufbauten gleichwertig:

Maschinenbediener-Priorität

Die folgenden Maschinenbediener haben die gegebene Priorität von der dichtesten Schwergängigkeit bis loseste Schwergängigkeit:

  1. Schnuren, Namenbildung
  2. Anmerkung
  3. Wertreihe
  4. Wiederholung
  5. Die Gruppierung, fakultativer
  6. Verkettung
  7. Alternative

Der Gebrauch des alternativen Maschinenbedieners mit der Verkettung kann verwirrend sein, und es wird empfohlen, dass die Gruppierung verwendet wird, um ausführliche Verkettungsgruppen zu machen.

Kernregeln

Die Kernregeln werden im ABNF Standard definiert.

Beispiel

Das in der Seite von Backus-Naur Form (BNF) angeführte Postadressbeispiel kann wie folgt angegeben werden:

Postadresse = Titelrolle-Straße mit dem Schwirren teiliger

Titelrolle = * (personalteiliger SP) Nachname [SP Nachsilbe] CRLF

Titelrolle = / personalteiliger CRLF

personalteilig = Vorname / (Initiale ".")

Vorname = *ALPHA

Initiale = ALPHA

Nachname = *ALPHA

Nachsilbe = ("II". / "Sr". / 1 * ("I" / "V" / "X"))

Straße = [passender SP] Haus-Num SP Straßenname CRLF

passend = 1*4DIGIT

Haus-Num = 1*8 (ZIFFER / ALPHA)

Straßenname = 1*VCHAR

mit dem Schwirren teilig = Stadtname"" setzen SP 1*2SP Postleitzahl CRLF fest

Stadtname = 1 * (ALPHA / SP)

setzen Sie = 2ALPHA fest

Postleitzahl = 5DIGIT [" -" 4DIGIT]

</Quelle>

Fallen

RFC 5234 fügt eine Warnung in der Verbindung zur Definition von LWSP wie folgt hinzu:


Asynchrone erwogene Weise / Abbruch (Computerwissenschaft)
Impressum & Datenschutz