2017-01-14 9 views
0

所与の文脈自由文法規則を使用して、指定された解を導き出すこの文法では以下プロダクションルールに文脈自由文法で定義された言語がある

E -> T + E | T 
T -> F * T | F 
F -> (E) | C 
C -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 

は、非端末は、E、TでありますF、およびC;端末はかっこ、プラス記号、アスタリスク、および数字です。 Eが開始シンボルです。次のうちどれが式7 + 3 *(6 + 4)がこの言語の文章であることを示していますか?

(a) E -> 7 + 3 * (F + T) (c) E -> 7 + 3 * (T) 
(b) E -> 7 + 3 * E   (d) E -> 7 + T * (E) 

派生したオプション(d)しかし正しい答えはオプション(a)です.why? Please please.thanks

答えて

2

posedの問題はあまり明確に定義されていません。なぜなら、(4つのうちの1つのような)オプションが式が言語内にあることを「示す」ことが何を意味するのかは不明だからです。

問題の意図は、各オプションで "E - >"を無視して、4つのうち4つのうちどれが特定の文の派生に現れる可能性のある文型であるかを尋ねることです。

これを2つの質問に分けることができます:(1)これらはいずれもsentential forms(すなわち、Eから派生可能な形式)ですか、そして(2)与えられた文を派生したものですか?ステップ

(1)、あなたは排除することができます(b)及び(d):あなたが7 + 3 * Eを導出しようとした場合

再(b)に示すように、あなたが7 + 3 * Tに得ることができますが、ET派生しません

re(7 + T * (E))を導出しようとすると、7 + F * (E)になることがありますが、FTになりません。 はEから派生することができますが、T6+4を派生しないため、(2)の手順では(c)を削除します。

ので7 + 3 * (F + T)Eから導出することができるので、答えは、(a)は、とF6を導き出すことができ、かつT4を導き出すことができます。

関連する問題