「バッカス・ナウア記法」の版間の差分

削除された内容 追加された内容
m編集の要約なし
編集の要約なし
79行目:
BNF には様々な派生と拡張が存在し、一般に単純さと簡潔さのために拡張/修正されるか、特定の用途向けに適用させるべく拡張/修正されている。特によく行われる拡張は <code>*</code> や <code>+</code> といった[[正規表現]]の繰り返しオペレータの導入である。典型的な例として [[EBNF]](Extended Backus-Naur form)がある。実際、上記の例は ALGOL 60 リポートで使われたオリジナルそのままの形式ではない。"[]" という括弧を使った記法は、[[IBM]]の[[PL/I]]の定義で初めて使われ、現在では一般化している。[[ABNF]](Augmented Backus-Naur form)は、[[Internet Engineering Task Force|IETF]] の[[通信プロトコル]]の定義などに使われている。
 
[[解析表現文法Parsing Expression Grammar]] は BNF と[[正規表現]]に基づき、新たな[[形式文法]]のクラスを形成したものである。その性質は[[生成文法|生成的]]というよりも基本的に[[形式文法|解析的]]である。
 
今日、[[インターネット]]上で見つかるBNF表現の多くは人間が読むことを重視しており、非形式的である。そのため、以下のような構文規則の拡張をしていることが多い。