BNF

読み:ビーエンエフ
外語:BNF: Backus-Naur form
品詞:名詞

プログラミング言語などを形式的に定義するときに使うメタ言語(言語を記述する言語)のひとつ。ALGOL(ALGOL 60)の文法を定義(記述)するために作られた。

殆どのプログラミング言語は、BNFで記述されている。

さらに、BNFで記述された言語仕様書を元に、その言語の構文解析プログラム(パーサ)を自動的に作成するソフトも存在する(yacc、GNU Bisonなど)。