バッカス・ナウア記法

記事数:(1)

開発

プログラミング言語の設計図: バッカス・ナウア記法

人間が日常的に使う言葉は、コンピュータには複雑すぎてそのままでは理解できません。コンピュータに指示を出すには、厳密なルールに基づいたプログラミング言語を使う必要があります。しかし、そのプログラミング言語自身も、コンピュータが理解できる形で定義されている必要があります。では、どのように定義すればよいのでしょうか?そこで登場するのが「バッカス・ナウア記法(BNF)」です。BNFは、プログラミング言語の文法を、コンピュータにも理解できる明確な形で記述するためのメタ言語として機能します。 例えるなら、プログラミング言語を家を建てるための設計図と考えると、BNFはその設計図の書き方を定めたルールブックのようなものです。家を建てるには、設計図が必要です。しかし、設計図を描く人によって書き方が違っていては、家を建てる人が困ってしまいます。BNFは、設計図の記号や線の意味を明確に定めることで、誰が見ても unambiguous な設計図を作成できるようにします。 このように、BNFはプログラミング言語を定義する上で欠かせない役割を担っています。BNFによって定義された文法規則に従って、コンパイラやインタプリタといったソフトウェアが開発され、私たちがプログラミング言語を使ってコンピュータに指示を出せるようになっているのです。