プログラム関連の用語 バッカス・ナウア記法とは?種類と特徴をわかりやすく解説
バッカス・ナウア記法(BNF)はコンピューターの言語形式を記述する記法であり、プログラム言語や通信プロトコルなどの構文を定義するための言語である。1959年にアメリカのジョン・バッカスが発案し、後にデンマークのピーター・ナウアが修正した。名称は両者の名前に由来している。略して「バッカス記法」とも言い、「Backus-Naurform」の頭文字から「BNF」とも、さらに「BN記法」ともいう。 BNFは、再帰的な定義と生産規則を使用して言語の構文を定義する。再帰的な定義とは、言語の構成要素をそれ自身によって定義することである。例えば、「式」という構成要素を「項」と「項」の関係として定義する。一方、生産規則とは、言語の構成要素を他の構成要素の組み合わせとして定義することである。例えば、「項」という構成要素を「変数」と「定数」の組み合わせとして定義する。 BNFは、構文を記述するのに適した記法である。これは、再帰的な定義と生産規則を使用して、複雑な言語の構文を簡潔に記述することができるためである。また、BNFは、プログラム言語のコンパイラやインタプリタを生成するためにも使用される。
