次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。<パラメタ指定>として,適切なものはどれか。
<パラメタ指定> ::= <パラメタ>|(<パラメタ指定>,<パラメタ>) <パラメタ> ::= <英字>|<パラメタ><英字> <英字> ::= a|b|c|d|e|f|g|h|i
テクノロジ系
次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。<パラメタ指定>として,適切なものはどれか。
<パラメタ指定> ::= <パラメタ>|(<パラメタ指定>,<パラメタ>) <パラメタ> ::= <英字>|<パラメタ><英字> <英字> ::= a|b|c|d|e|f|g|h|i
正解 ア
括弧は「(パラメタ指定,パラメタ)」の形でしか使えません。この形を入れ子にした((abc,def),ghi)だけが導出できます。
BNF(Backus-Naur Form)の定義では、<パラメタ>は英字a〜iを1文字以上並べた文字列です。<パラメタ指定>は、<パラメタ>そのものか、「(<パラメタ指定>,<パラメタ>)」の形です。括弧の中には必ずコンマが1つあり、その右側は括弧を含まない英字の列です。アでは、まずabcが<パラメタ指定>、defが<パラメタ>なので、(abc,def)が<パラメタ指定>になります。続いて(abc,def)を<パラメタ指定>、ghiを<パラメタ>とみなすと、((abc,def),ghi)も<パラメタ指定>になります。
イ:外側の括弧の中にコンマがありません。括弧は「(<パラメタ指定>,<パラメタ>)」の形でしか使えないので、導出できません。
ウ:コンマの右側は<パラメタ>で、英字だけの並びです。括弧付きの(def)は<パラメタ>にならないので、導出できません。
エ:括弧の中にコンマがありません。英字だけを括弧で囲む規則はないので、導出できません。
出典:平成30年度 秋期 応用情報技術者試験 問4
全年度から出題。10問で実力を判定します。登録不要。
出典:平成30年度 秋期 応用情報技術者試験 問4(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方