資格暗記無料で始める

BNFとバッカス記法とは?

BNFとバッカス記法とは、プログラミング言語などの構文規則を再帰的な置き換え規則で厳密に定義する記法。「::=」で定義し、「|」で選択肢を、記号の組み合わせで繰り返しや入れ子構造を表す。構文解析(パース)の基礎となる。

びーえぬえふ

エンベデッドシステムスペシャリスト試験の頻出用語/午前II


BNFとバッカス記法の意味

プログラミング言語などの構文規則を再帰的な置き換え規則で厳密に定義する記法。「::=」で定義し、「|」で選択肢を、記号の組み合わせで繰り返しや入れ子構造を表す。構文解析(パース)の基礎となる。

BNFとバッカス記法の具体例

<数字列> ::= <数字> | <数字><数字列> のように定義すると、数字列は1桁の数字か、数字+数字列の再帰的な組み合わせであることを表現できる。コンパイラの字句解析・構文解析で用いられる。

BNFとバッカス記法は試験でどう引っ掛けられる?

BNFが定義するのは構文(形)だけで、意味(セマンティクス)は定義しない。また正規表現と取り違えやすい。正規表現では括弧の対応のような入れ子構造を表現できないが、BNFは再帰的に定義できるため表現できる。::= の左辺が定義される非終端記号、右辺がその内容で、向きを逆に読まないこと。

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。