あるプログラム言語において,識別子(identifier)は,先頭が英字で始まり,それ以降に任意個の英数字が続く文字列である。これをBNFで定義したとき,aに入るものはどれか。 <digit> ::= 0|1|2|3|4|5|6|7|8|9 <letter> ::= A|B|C|…|X|Y|Z|a|b|c|…|x|y|z <identifier> ::= a

BNF再帰は基底+末尾に1文字追加の形で書き下す

頻出高度試験・午前I(全区分共通)2017年度 春期2/テクノロジ系 / 基礎理論

選択肢

正解と解説

正解: <letter> | <identifier><digit> | <identifier><letter>

識別子は先頭が英字で、その後ろに英字か数字が任意個続く。再帰的に書くと、基底は英字1文字だけの場合であり、既にできている識別子の末尾に英字または数字を1つ付け足す規則を加えればよい。先頭に数字が来る形や、後ろに識別子を置く形は定義に合わない。

選択肢ごとの解説

出典:平成29年度 春期 高度試験・午前I(全区分共通) 問2(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。