BNF(バッカス・ナウア記法)とは?びーえぬえふ
BNF(バッカス・ナウア記法)とは、プログラミング言語などの構文規則を形式的・再帰的に定義する記法。「::=」で定義を表し、複数の候補は「|」で区切る。与えられたBNF規則から、生成できる文字列かどうかを判定できる。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →具体例
<数字列> ::= <数字> | <数字列><数字> という規則は、「数字1文字」または「数字列の後ろにさらに数字を1文字続けたもの」を数字列と定義しており、これにより任意の桁数の数字列が再帰的に表現できる。
試験での引っ掛け
「::=」の左辺は非終端記号で、「|」は選択肢の区切りであり「かつ」ではない。自分自身を含む再帰的定義は長さ無制限の文字列を生成できる。候補の文字列を1つずつ規則に当てはめて導出できるか確かめるのが確実。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。