文法

プログラム関連の用語

BNF(バッカス・ナウア記法とは?プログラミングにおける構文定義方法

-IT用語『BNF(バッカス・ナウア記法。「Backus-Naurform」の頭文字から。)』--# -BNFとは?-BNF(バッカス・ナウア記法)は、コンピュータ言語の文法を記述するための人工言語であり、ジョン・バッカスとピーター・ナウアによって開発されました。 BNFは、コンピュータ言語のコンパイラやインタプリタを開発する際に使用され、文法的な誤りの有無を検出したり、文法を解析したりするのに役立ちます。例えば、以下のBNFは、算術式の文法を記述したものです。<式> = <数値> | <変数> | (<式> <演算子> <式>)<演算子> = + | - | * | /このBNFは、算術式は数値、変数、または演算子で囲まれた2つの算術式のいずれかであることを指定しています。演算子は加減乗除の4つです。また、BNFは、プログラムの構文やデータ構造を記述するためにも使用されます。
プログラム関連の用語

バッカス・ナウア記法とは?種類と特徴をわかりやすく解説

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