BNF を拡張する理由
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/02/13 15:07 UTC 版)
BNF では、オプションや繰り返しを直接的に表現できないという問題があった。そのため、中間的な規則を定義したり、空(何も生成しない)とオプションの選択型の生成規則を定義したり、再帰的な規則で繰り返しを表したりしていた。同様の記法は EBNF でも利用可能である。 オプションは EBNF では次のように表される。 signed number = [ sign ] , number ; これを BNF スタイルで次のように表すこともできる。 signed number = sign , number | number ; または signed number = optional sign , number ; optional sign = ε | sign ; (* ε は何も生成しないことをより明確に示すのに使われる *) 繰り返しは EBNF では次のように表される。 number = { digit } ; これを BNF スタイルで次のように表すこともできる。 number = digit | number , digit;
※この「BNF を拡張する理由」の解説は、「EBNF」の解説の一部です。
「BNF を拡張する理由」を含む「EBNF」の記事については、「EBNF」の概要を参照ください。
- BNF を拡張する理由のページへのリンク