ABNF

ABNF (Augmented Backus–Naur form)

[5] ABNF (Augmented Backus–Naur form) は、文脈自由言語の記述方式の一種です。 多くの RFCプロトコル要素の構文記述のために用いられています。 細かなバリエーションがいろいろあります。

仕様書

[6] IETF として正式な ABNF の定義はインターネット標準である STD 68 (RFC 5234) でなされています。

[7] ABNF は歴史的に様々な変種があります。 RFC 5234 に至る「標準的」な ABNF は、そもそも電子メイルの仕様である RFC 822 の一部として規定されていた構文が独立した仕様になったものです。

[13] RFC 822 (STD 11) → RFC 2234RFC 4234RFC 5234 (STD 68) → RFC 5234 (STD 68) + RFC 7405

[14] RFC 822RFC 2234 の間には多少の追加等があります (RFC 2234のABNF の項を参照。) RFC 2234 以後は ABNF の構文そのものに変化はありませんでした。 RFC 7405 で新構文が加わっています。

構文

[10] 他の BNF に対する ABNF の特徴は、

  • 選択に「/」を使う
  • 反復に「n*mE」のように「*」を使う
... ということでしょう。詳しくは各変種の項を参照してください。

様々な ABNF

[8] ABNF の主な変種は次の通りです。各項には更にそれぞれの変種についての言及があります。

[15] 以上は一般のプロトコル要素の構文の記述に利用可能なものですが、 特定の応用に対象を絞ったものもあります。

マーク付け

[11] RFC 2629RFCマーク付け言語では artwork 要素によりとしてマーク付けされるのが普通です。

限界

[16] BNF 参照。

関連

[9] BNFEBNF の項も参照してください。

メモ

[12] RFC 6381 - The \x27Codecs\x27 and \x27Profiles\x27 Parameters for "Bucket" Media Types ( 版) <http://tools.ietf.org/html/rfc6381>

[17] Please clarify if header value should be enclosed in quotes or not · Issue #97 · w3c/webappsec-referrer-policy () <https://github.com/w3c/webappsec-referrer-policy/issues/97>