我正试图绕过上下文无关的语法,我想我很接近。令我困惑的是这一个问题(我正在练习练习题,因为我在一个月的时间内参加考试):
我想出了这种语言,但我认为这是错误的。
S --> aSb | A | B
A --> aA | Σ
B --> bB | Σ
显然这是正确的解决方案:
S --> aSb | aA | bB
A --> aA | Σ
B --> bB | Σ
我不太明白为什么我们有S --> aSb | aA | bB
而不只是S --> aSb | A | B
。终端需要什么?我不能只是打电话给A而是以这种方式抓住我的终端吗?
测试我是否可以生成字符串:aaabbbb
S --> aSb --> aaSbb --> aaaSbbb --> aaaBbbb --> aaabbbb
我相信我正确生成了字符串,但我不太确定。我告诉自己,S --> aSb | aA | bB
的原因是,如果我们从aA
开始,然后将A
替换为a
,我们就会有两个a
这给了我们正确的字符串,因为它们不相等,这也可以用b来完成。非常感谢任何建议。
进入元组(G-4-tuple)
V (无终端)= {A,B}
Σ(终端)= {a,b}
P = {} //不太确定如何在R中表达我的解决方案?我是否必须使用测试字符串才能这样做?
S = A