2

我正试图了解上下文无关语法,我想我已经接近了。令我困惑的是这个问题(我正在做练习题,因为我有一个月的考试时间):

在此处输入图像描述

我想出了这种语言,但我认为它是错误的。

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然后替换Aa,我们有两个a' ,因为它们不相等,所以我们得到了正确的字符串,这也可以用 b 来完成。任何意见是极大的赞赏。

进入元组(G-4-tuple)

V (None terminal) = {A, B}
Σ (Terminals) = {a, b}
P = { } // 不太清楚如何用 R 表达我的解决方案?我必须使用测试字符串吗?
S = A

4

1 回答 1

4
于 2013-04-13T16:21:29.943 回答