#?SuikaWiki/0.9 -[[ABNF]] (aka EBNF) --[[RFC822のABNF]] --[[HTTPのABNF]] --[[RFC2234]] の ABNF - [1] ''About BNF notation'' - [2] ''BNF etc.'' - [3] ''BNF and EBNF: What are they and how do they work?'' - [4] '' 再帰下降構文解析 Recursive Descent Parsing'' - [5] [[ISO14977]] = ISO [[EBNF]] - [6] というか、はっきりいって、どんなのまで BNF と言うのかよく分からん。みんな好き勝手に拡張した自分の形式を BNF だと主張しているような。 - [7] 例えば [[JISX4081]]:2002 の「実体構造の表記法」は BNF なのかどうか。そうじゃないような気もするけどそうであるような気もするし。規格に BNF だとは書いてないから、 BNF じゃないのかな:) - [8] [[SGML]] の[[要素]]の[[内容モデル]]も BNF のような気もするけど、それが BNF なら[[正規表現]]も BNF のような気がしてくる。しかし正規表現の一種のような [[XML]] の構文記述法は [[EBNF]] だったりする。 - [9] でも流石に [[ASN.1]] は BNF ではないわな。 - [10] >>8 SGML 内容モデルの記法は規格本文では構文の定義に使われてる。そしてその使われ方はいかにも BNF(ry - [11] 単純な要素の線形連結を[[間隔]]を置いて並べるだけか、 [[COMMA]] を挟んで区切るのかの違いって、 BNF か否かに関係するのかな? もともとの BNF や [[IETF]] [[ABNF]] や XML の [[EBNF]] は間隔だけだけど、 SGML や JIS X 4081 は読点で区切っている。 - [12] >>11 正規表現は区切りに何もいらない。というか ([[perl]] 拡張とかでない限り) 間隔も入れちゃ駄目。 (間隔も読点もそれ自身として扱われる。) - [13] >>9 ASN.1 は BNF に[[関数]]を導入しただけにも見える。 (''だけ''ではない?) - [14] まあどれが BNF でどれが BNF でなくても良いが、結局構文記述のためのメタ構文は必然的に同じようなものになってしまうということか?