応用情報技術者
基礎理論
BNF(Backus-Naur Form)は何を記述するために使われるか。
1.
プログラム言語の構文(文法)
✓ 正解
2.
プロセスの優先順位
3.
データの物理的な格納構造
4.
ネットワークの通信手順
📝 解説
BNF(バッカス・ナウア記法)はプログラム言語の文法規則を形式的に定義する「文法の文法」です。国語の授業で「文=主語+述語」と定義するように、「::=」を使って非終端記号と終端記号で構文規則を記述します。例:〈数字〉::= 0|1|2|…|9。非終端記号(山括弧で囲む)はさらに分解できる概念、終端記号は実際の文字です。コンパイラの構文解析器(パーサー)を設計するための仕様記述に必須で、プログラム言語設計者の「設計図」として使われています。XMLやJSONの仕様書にもBNFやEBNF(拡張BNF)が使われています。誤答の「プロセスの優先順位」「データの格納構造」「ネットワーク手順」はいずれも別の分野の話です!