RFC 4617のABNF

RFC 4617のABNF

RFC 2141 の ABNF

[1] RFC 2141 は、構文の定義のために BNF の一種を使っています。この BNF 自体の定義は明記されていません。

[3]

<非終端記号>
非終端記号は、 < と > で括ります。 ASCII ラテン文字、 -、SPACE が名前に使われています。
"終端記号"
終端記号 (の列) は " で括ります。 """ で " を表している例があります。 (おそらく誤って) '%" となっているところがあります。
octets n-m (N-M hex)
十進数と十六進数で示された範囲のオクテットを終端記号として指定します。 十進数は1桁以上です。 十六進数には1桁以上の大文字が使われています。
左辺 COLON COLON = 右辺
左辺で右辺を定義します。
a b
連接
a | b
選択
[ a ]
単なる集団化と思われます。
n,m a
n 個以上 m 個以下を表します。
n*a
n 個以上を表します。

RFC 4617 の ABNF

[2] RFC 4617 は、 RFC 4234 の ABNF を使うと主張していますが、実際には RFC 2141 の BNF の一変種です。

[4] >>3 の他に:

aCOLONb
a、COLON (終端記号)、b の連接です。
(a)
集団化
{text}
自然言語による記述 (注釈?)

メモ