出典: BNF 『通信用語の基礎知識』 更新年月日 2008/04/18,URL: https://www.wdic.org/ プログラミング言語などを形式的に定義するときに使うメタ言語(言語を記述する言語)のひとつ。ALGOL(ALGOL 60)の文法を定義(記述)するために作られた。 [特徴] 殆どのプログラミング言語は、BNFで記述されている。 さらに、BNFで記述された言語仕様書を元に、その言語の構文解析プログラム(パーサ)を自動的に作成するソフトも存在する(yacc、GNU Bisonなど)。 |
出典: バッカス・ナウア記法 『フリー百科事典 ウィキペディア日本語版(Wikipedia)』 最終更新 2019年5月29日 (水) 04:58 UTC、URL: https://ja.wikipedia.org/ バッカス・ナウア記法(英: Backus-Naur form)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。現在はこのBNFを拡張したEBNF (Extended BNF) が一般的に使われている。EBNFでは正規表現を用いてより簡単に記述でき、プロトコル規定言語であるASN.1や、XMLの構文定義にも利用されている。 ジョン・バッカスとピーター・ナウアがALGOL 60 の文法定義のために考案。当初は文脈自由文法の本来の定義に則り or(|)以外の定義はなく、繰り返しは再帰を利用して表現されている。*、?等を含む正規表現はBNFを拡張したEBNFによって導入された。パーサジェネレータを使用して構文解析器を生成する際に、構文を定義するためにも使う。 ・・・ [歴史] ジョン・バッカスは ALGOLの文法を表現するためにこの記法を考案した。1959年、パリで世界初の国際コンピュータ大会議が開催された際、バッカスは論文を発表した。これは後にALGOL 58と呼ばれる IAL の形式記述であった。彼が発表した形式言語は、Emil Post の生成システムに基づいたものであった。形式文法は数学における研究課題のひとつであり、例えばノーム・チョムスキーは自然言語の文法への適用を研究していた。 ピーター・ナウアは、バッカスの記法を単純化し、使用する文字セットを最小化した。この貢献から、ドナルド・クヌースの提案により、Nはナウアにちなむものとされるようになった(この提案は、実際のところその名に反して、この記法が表すものが必ずしも、形式言語理論の用語でいう標準形(正規形とも。normal form)とは限られないためでもある。なお、ナウア本人は、プログラミングに数学的な形式主義を過度に取り入れることを近年は嫌悪している関係でこれを好んでおらず、Backus Normal Formとするほうを好むとしている)。 バッカス・ナウア記法、あるいは BNF 文法は、パーニニの文法規則によく似ている。このため、パーニニ・バッカス記法(英: Panini-Backus form)と呼ばれることもある。 ・・・ |
同義語・類義語 | 関連語・その他 |
---|---|
BN記法 | John Backus |
Backus Naur Form | ジョン・バッカス |
Backus-Naur Form | Peter Naur |
Backus-Naur form | ピーター・ナウア |
BNF | メタ言語 |
bǽkəs nɑúru fɔ́:rm | 言語記述言語 |
バケァゥス ナウアゥー フォーァム | |
バケァゥス・ナウアゥー・フォーァム | |
バッカス ノア フォーァム | |
バッカス・ノア・フォーァム | |
バッカス ナウア フォーム | |
バッカス・ナウア・フォーム | |
バッカス・ナウア記法 | |
バッカスナウア記法 | |
バッカス記法 | |
ビー エヌ エフ | |
・ | |
Backus Normal Form | |
Backus-Normal Form | |
・ | |
Panini-Backus form | |
パーニニ・バッカス記法 | |
・ | |
EBNF | |
Extended BNF | |
拡張BNF | |
拡張ビー エヌ エフ | |
拡張BN記法 | |
更新日:2022年 4月23日 |