あるプログラム言語において、識別子 (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>
エ
ア <letter> | <digit> は、文字列で始まるか、数字で始まることを許す定義であり、誤りである。
イ アと同様。
ウ 先頭は英字で始まるが、その後は
       <identifier><digit> → <identifier><digit><digit> →
       <identifier><digit><digit><digit> → ・・・
       となり、先頭以外は数字になる。
エ 正しい。
| 問3 | 目次 | 問5 |