EBNF
BNF では、オプションや繰り返しを直接的に表現できないという問題があった。そのため、中間的な規則を定義したり、空(何も生成しない)とオプションの選択型の生成規則を定義したり、再帰的な規則で繰り返しを表したりしていた。同様の記法は EBNF でも利用可能である。
オプションは EBNF では次のように表される。
これを BNF スタイルで次のように表すこともできる。
または
繰り返しは EBNF では次のように表される。
これを BNF スタイルで次のように表すこともできる。