这意味着L是字符串w
的语言,由符号'a'
,'b'
'和'c'
组成,其中字符串w
的长度等于字符串'a'
中符号w
的3倍。
此语法的制作应该是这样的:如果它添加一个'a'
,那么它还会添加两个'b'
,或两个'c'
或一个'b'
;一个'c'
。检查下面的语法:
S → ^ | SaSMSM | SMSaSM | SMSMSa
M → b | c
此处^
表示epsilon。
要生成aabbcc
,请使用最正确的派生
- S→SaSMSM
- 使用S→^替换rhs中的第一个S.
S→SaSMSM→aSMSM
- 更换S→SaSMSM
S→SaSMSM→aSaSMSMMSM
- 使用S→^
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM
- 使用S→^
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM
- M→b
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM
- 使用S→^
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM→aabMMSM
- M→b
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM→aabMMSM→aabbMSM
- M→c
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM→aabMMSM→aabbMSM→aabbcSM
- 使用S→^
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM→aabMMSM→aabbMSM→aabbcSM→aabbcM
- M→c
S→SaSMSM→aSaSMSMMSM→aaSMSMMSM→aaMSMMSM→aabSMMSM→aabMMSM→aabbMSM→aabbcSM→aabbcM→aabbcc
醇>