EBNF
EBNF(Extended Backus–Naur Form)とは、文脈自由文法を表現するメタ文法記法であり、コンピュータのプログラミング言語や形式言語の形式的表現として使われる。バッカス・ナウア記法 (BNF) の拡張であり、拡張バッカス・ナウア記法とも呼ばれるが、ABNF(Augmented Backus-Naur Form)も同じ訳語となるため、区別するためあえて EBNF としている。
ニクラウス・ヴィルトが最初に開発した。EBNF の標準化されたものとして ISO-14977 などがある。
1. 以下のような慣例が使われている。
EBNF におけるそれぞれのメタ識別子(非終端記号)は、単語をハイフンで連結した形式で記述される。
メタ識別子の名前が“-symbol”で終わっている場合、それは EBNF の終端記号に名前を付けたものと解釈できる。
2. EBNF で特別な意味を持つ文字とその優先順位は次の通り(上の方が優先順位が高い)。
3. 通常の優先順位は以下の括弧のペアで変更される。
以下の例は、様々な繰り返しの記法を示したものである。
この規則群から生成される終端文字列は以下のようになる。