1

L1 = { a^ib^j | 我,j>=0 }

我的尝试:

S = SA|e

A = aAB|e

B = bB|e

我无法确认我的答案,这是正确的吗?

4

2 回答 2

2

这是不正确的,因为无法获得单个“b”(或任意数量的“b”而没有任何“a”)。

(而且我认为您可以通过更改一个字母来解决它;o)

PS抱歉之前的回复不正确;以为是 i=j。

于 2012-02-23T03:02:41.283 回答
1

你定义 L1 = {a^ib^j | i, j >= 0}。换句话说,这是所有以零个或多个 a 开头并以零个或多个 b 结尾的字符串的语言。这是一种常规语言;它的正则表达式是 a*b*。常规语法(也是上下文无关语法)如下:

S := lambda | aS | bT
T := lambda | bT

另一个上下文无关语法如下:

S := lambda | aS | Sb

抱歉,如果我遗漏了某些内容并且您的语言比我正在阅读的内容更复杂。如果您有理由相信如此定义的 L1 与我所描述的语言不同,请解释一下。

于 2012-02-23T03:24:53.373 回答