1. 序論
インターネット技術仕様では、形式的な構文 (formal syntax) を定義する必要がしばしばあり、著者が有用と考える任意の表記法 (notation) を自由に用いることができます。長年にわたり、バッカス・ナウア記法 (Backus-Naur Form, BNF) の修正版である拡張 BNF (Augmented BNF, ABNF) が、多くのインターネット仕様で広く使われてきました。これは、簡潔さと単純さと、妥当な表現能力とのバランスを取っています。Arpanet の初期には、各仕様が独自の ABNF の定義を含んでいました。これにはメールの仕様である [RFC733], 続いて [RFC822] が含まれ、これらが ABNF を定義する際の一般的な引用元となりました。本文書は、選択的な参照を可能にするためにそれらの定義を分離しています。予想どおり、いくつかの修正と拡張も提供しています。
標準 BNF と ABNF の違いは、規則名 (rule name), 繰り返し (repetition), 選択肢 (alternatives), 順序非依存性 (order-independence), 値域 (value range) にあります。付録 B は、いくつかのインターネット仕様に共通するタイプのコア字句解析器 (core lexical analyzer) のための規則定義と符号化を提供します。これは便宜のために提供されるものであり、それ以外の点では本文書の本体で定義されるメタ言語 (meta language) とは別個であり、その形式的なステータスとも別個です。