次のBNFにおいて非終端記号Aから生成される文字列はどれか。

【問題】

次のBNFにおいて非終端記号Aから生成される文字列はどれか。

R0 = 0 | 3 | 6 | 9

R1 = 1 | 4 | 7

R2 = 2 | 5 | 8

A ::= <R0> | <A><R0> | <B><R2> | <C><R1>

B ::= <R1> | <A><R1> | <B><R0> | <C><R2>

C ::= <R2> | <A><R2> | <B><R1> | <C><R0>

ア.123 イ.124 ウ.127 エ.128

【解答】

「12」から始まり、なおかつ生成できる文字列を考えれば良い。

とすると、1はR1であり、2はR2である必要があるから、<R1><R2>は必須になる。

さらに3文字であるから、<R1><R2><Rx>と考えられる。

さらに、「Aから生成される」とあるから、順に考えると、

A → <A><R0> は

<A><R0> → <B><R2><R0> のみが考えられ、

<B><R2><R0> → <R1><R2><R0> のみが考えられる。

よって、作られるのは、「120」「123」「126」「129」のどれかであり、満たすのはアのみである。

なお、A → <B><R2> を考えると、

<B><R2> → <C><R2><R2> → <R2><R2><R2> のみが考えられるが、<R1><R2><Rx>を生成できないため、不適切となる。

同様に、A → <C><R1> を考えると、

<C><R1> → <A><R2><R1> → <R0><R2><R1> のみが考えられるが、やはり<R1><R2><Rx>を生成できないため、不適切となる。

↓クリックしていただけると励みになります↓
にほんブログ村 株ブログ 株日記へ にほんブログ村 メンタルヘルスブログ 統合失調症へ にほんブログ村 為替ブログ 為替日記へ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする