以下哪种语言满足语法?

时间:2013-08-13 13:20:08

标签: grammar rdp

我是RDP / Pairwise Disjoint Test的新手,这只是一个示例问题。我已经有了答案,我想验证这是否正确。

语法:

<GU> ::= du<GU>bi<MI> | <HO> | ru
<MI> ::= ra | fa | <HO>
<HO>::= bi<HO> | bi

解决方案:

会产生一个“bi”或一个“bi”的刺痛  将产生一个“ra”或一个“fa”OR(字符串“bi”或一个“bi”)

所以会生成

du <GU> bi {ra | fa | {bi's | bi} } | {bi's | bi} | ru

以下是语法可以产生的句子:

a. dudurubifabira
b. dubibibira
c. dubirubirurafa
d. dududubibibifabirabibibi
e. dududubibifarabirabibi

我的回答是“b”和“d”。

我说错了吗?谢谢你的回复。如果我错了,需要帮助解决正确的答案。谢谢! :)

1 个答案:

答案 0 :(得分:1)

看起来a也可以通过以下语言生成:

   <GU>
-> du<GU>bi<MI>
-> dudu<GU>bi<MI>bi<MI>
-> dudurubi<MI>bi<MI>
-> dudurubifabi<MI>
-> dudurubifabira

否则,您的最终结果似乎是正确的。我会小心地说“bi”会产生一些东西,因为它是一个终端。