|
EBNF(Extended Backus–Naur Form)とは、文脈自由文法を表現するメタ文法記法であり、コンピュータのプログラミング言語や形式言語の形式的表現として使われる。バッカス・ナウア記法 (BNF) の拡張であり、拡張バッカス・ナウア記法とも呼ばれるが、ABNF(Augmented Backus-Naur Form)も同じ訳語となるため、区別するためあえて EBNF としている。 ニクラウス・ヴィルトが最初に開発した。EBNF の標準化されたものとして ISO-14977 などがある。 == 基本 == プログラムのソースコードは、終端記号で構成される。終端記号は、具体的な文字や数字や記号で構成される。 EBNF は、非終端記号に対応する記号列を指示する生成規則によって定義される。 この生成規則では、非終端記号 "digit" が左辺に定義されている。バーティカルバーは、その前後にある終端記号や非終端記号のいずれかが選択されることを示す。また、終端記号は、終端文字を引用符で囲んである。従って、"digit" は ''0'' または ''digit excluding zero'' のどちらかであり、後者は ''1'' か ''2''、あるいは ''9'' までのいずれかになる。 生成規則は、終端記号や非終端記号の並びを含むこともでき、それらはコンマで区切られる。 省略可能かつ繰り返し可能な部分は、中括弧 で表される。 この場合、 ''1'' も ''2'' も ''10'' も ''12345'' も natural number(自然数)として正しい文字列となる。つまり、中括弧で囲まれた部分はゼロ回以上の任意の回数繰り返すことができる。 省略可能な部分は大括弧 … で表される。 この場合、integer(整数)はゼロ (''0'') か、natural number であり、natural number にはオプションでマイナス符号を前置することができる。 EBNF はこれらの他に、繰り返し回数を指定したり、一部生成規則の適用を除外したり、コメントを挿入したりといったことができる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「EBNF」の詳細全文を読む スポンサード リンク
|