BNF (Backus Naur Form)

ビー・エヌ・エフ

 コンピュータ言語の文法を記述するために使用されるポピュラーな言語。XML 1.0の仕様もBNFによって記述されている(正確にはBNFを拡張したEBNFで記述されている)。多くのコンピュータ言語がBNFで構文を定義されている。

 日本語などの自然言語を文法規定の記述に用いると曖昧さが出るため、自然言語で書いた上で、同じ情報をBNFでも記述することが多い。BNFは構文を規定するもので、セマンティクスを規定するものではないため、BNFだけで言語を規定することはできない。また、BNFに拡張された変種も多い。

 XMLも言語の構文を規定する能力を持っているが、BNFの方が自由度が高い。一方で、BNFの方がより記号的で理解するのが難しいという一面がある。

 XMLにおけるBNF利用の詳細は、関連リンクにある記事に詳しいので本稿では割愛する。

XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

アイティメディアの提供サービス

キャリアアップ