BNF構文図式

更新日:

用語解説

BNF(Backus-Naur Form)は、プログラミング言語やデータ形式の構文を、非終端記号を終端記号の並びへ置き換える生成規則として記述する形式記法です。

■ 試験で押さえるポイント

  • 左辺に定義対象の非終端記号、::=の右辺に終端記号と非終端記号の列を書き、縦線で選択肢を表します。

  • 終端記号は実際に現れる字句、非終端記号はさらに展開される構文カテゴリで、開始記号から規則を適用して有効な文字列を生成します。

  • 規則の自己参照によって入れ子や繰返しを表せます。EBNFは角括弧、波括弧等で省略可能・繰返しを簡潔に表す拡張です。

  • BNFは主に構文を定義し、変数の宣言済み確認や型の整合性等の意味規則は、意味解析等で別に扱います。

■ 選択肢での判断ポイント

非終端記号、終端記号、生成規則を識別し、規則を順に展開して文字列が文法に適合するか判断します。

例: <digit> ::= "0"|"1"、<number> ::= <digit>|<number><digit>なら、<number>から1、次に10、101のような数字列を生成できます。

音声で聞く

同じ分野の用語