- トップページ
- 応用情報技術者
- 平成23年度特別問題一覧
- 平成23年度特別問題4-解答・解説-分析
平成23年度特別問題
問題4
あるプログラム言語において,識別子(identifier)は,先頭が英字で始まり,それ以降に任意個の英数字が続く文字列である。これを BNF で定義したとき,【 a 】 に入るものはどれか。
<digit>::=0|1|2|3|4|5|6|7|8|9 | |
<leter>::=A|B|C|…|X|Y|Z|a|b|c|…|x|y|z | |
<identifier>::= 【 a 】 |
ア | <leter>|<digit>|<identifier><leter>|<identifier><digit> |
イ | <leter>|<digit>|<leter><identifier>|<identifier><digit> |
ウ | <leter>|<identifier><digit> |
エ | <leter>|<identifier><digit>|<identifier><leter> |
あるプログラム言語において,識別子(identifier)は,先頭が英字で始まり,それ以降に任意個の英数字が続く文字列である。これを BNF で定義したとき,【 a 】 に入るものはどれか。
<digit>::=0|1|2|3|4|5|6|7|8|9 | |
<leter>::=A|B|C|…|X|Y|Z|a|b|c|…|x|y|z | |
<identifier>::= 【 a 】 |
ア | <leter>|<digit>|<identifier><leter>|<identifier><digit> |
イ | <leter>|<digit>|<leter><identifier>|<identifier><digit> |
ウ | <leter>|<identifier><digit> |
エ | <leter>|<identifier><digit>|<identifier><leter> |
解答:エ
<解説>
BNF(バッカス・ナウア記法)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。
BNFでは、「<identifier>::=」はidentifier を定義するという意味で、「|」は、「または」を意味する。
これより
- <digit>は0~9のいずれか1文字である。
- <leter>はA~Zのいずれか1文字である。
事が分かる。
ア | × | "1AB"のような先頭が数字の文字列が許されてしまう。 |
イ | × | "1AB"のような先頭が数字の文字列が許されてしまう。 |
ウ | × | ”AB123XYZ”のような最後の文字が英字のデータが許されない。 |
エ | ○ | 正しい。 |
お問い合わせ