EBNF 【Extended Backus Naur Form】 拡張BNF / 拡張バッカス・ナウア記法 / Extended BNF

概要

EBNF(Extended Backus Naur Form)とは、メタ言語の「BNF」に繰り返しや省略可能などの記法を追加したもの。現在では単純なBNFよりもEBNFを用いるほうが一般的となっている。ISO/IEC 14977などの標準規格が定義されているが、様々な亜種や独自拡張も多い。

元になった「BNF」(バッカス・ナウア記法)は言語仕様やデータ形式などの定義を記述するためのメタ言語の一種で、対象言語内で意味を持つ記号列と、それがどのような内容を取りうるのかを「<記号>::=定義」という構文を用いて列挙していく。

EBNFはこれを拡張して記法を追加したもので、単純なBNFでは表現が煩雑だったり不可能な点が改良されている。例えば、省略可能な要素を角括弧([])で括る、省略可能かつ繰り返し可能(0回以上の繰り返し)な要素を中括弧({})で括る、BNF文書外で定義されるべき部分を疑問符(?)で括るといったルールが追加されている。他にも正規表現の記法(*や+による繰り返し表記)を取り込んだEBNF方言もある。

また、BNFでは記号列を山括弧で括り、対象言語の表記は何も括らなかったが、EBNFでは記号列は何も括らず、言語の表記を引用符("または')で括るよう変更された。規則は一行に一つ(改行文字によって区切られる)とされていた点も、終端にセミコロン(;)を用いるなどして改行と区切りが分離された。

(2024.8.21更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。