3個以上の正の整数を “,” で区切った文字列 <INTLIST> を表す、次のような BN記法 (BNF) の文法規則がある。[ア]と[イ]の組合せとして最も適切なものを@〜Dの中から選べ。
<INTLIST> ::= <INTEGER> [ア]
<INTEGERS> ::= “,”<INTEGER> | “,” <INTEGER> <INTEGERS>
<INTEGER> ::= <NONZERO> | [イ]
<DIGIT> ::= “0” | <NONZERO>
<NONZERO> ::= “1”|“2”|“3”|“4”|“5”|“6”|“7”|“8”|“9”|
@ [ア]“,”<INTEGER>“,”<INTEGERS> [イ] <NONZERO> <DIGIT>
A [ア]“,”<INTEGER>“,”<INTEGERS> [イ] <INTEGER> <DIGIT>
B [ア]“,”<INTEGER> <INTEGERS> [イ] <DIGIT> <INTEGER>
C [ア]“,”<INTEGER> <INTEGERS> [イ] <INTEGER> <DIGIT>
D [ア] <INTEGERS> [イ] <DIGIT> <INTEGER>
C
BNF (Backus Naur Form) は、プログラム言語などの構文を記述するためのメタ言語のことである。
[ア] が “,”<INTEGER>“,”<INTEGERS>だと、
,1,,1 のように , が2つ並ぶことになり、適切でない。従って、@Aは誤り。
[イ] が <DIGIT><INTEGER> だと
012 が表現できるものの、10 や 210 が表現できなくなる。従ってBDは誤り。
W−9 | 目次 | W−11 |