- トップページ
- 応用情報技術者
- 平成29年度春季問題一覧
- 平成29年度春季問題4-解答・解説-分析
平成29年度春季問題
問題4
あるプログラム言語において、識別子(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
ア | <letter> | <digit> | <identifier><letter> | <identifier><digit> |
イ | <letter> | <digit> | <letter><identifier> | <identifier><digit> |
ウ | <letter> | <identifier><digit> |
エ | <letter> | <identifier><digit> | <identifier><letter> |
あるプログラム言語において、識別子(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
ア | <letter> | <digit> | <identifier><letter> | <identifier><digit> |
イ | <letter> | <digit> | <letter><identifier> | <identifier><digit> |
ウ | <letter> | <identifier><digit> |
エ | <letter> | <identifier><digit> | <identifier><letter> |
解答:エ
<解説>
BNF(バッカス・ナウア記法)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。
BNFでは、「<identifier>::=」はidentifier を定義するという意味で、「|」は、「または」を意味する。
これより
- <digit>は0~9のいずれか1文字である。
- <leter>はA~Zのいずれか1文字である。
事が分かる。
ア | × | "1AB"のような先頭が数字の文字列が許されてしまう。 |
イ | × | "1AB"のような先頭が数字の文字列が許されてしまう。 |
ウ | × | ”AB123XYZ”のような最後の文字が英字のデータが許されない。 |
エ | ○ | 正しい。 |
キーワード
- 「BNF」関連の過去問題・・・BNFとは
お問い合わせ