L1 = { a^ib^j | 我,j>=0 }
我的尝试:
S = SA|e
A = aAB|e
B = bB|e
我无法确认我的答案,这是正确的吗?
L1 = { a^ib^j | 我,j>=0 }
我的尝试:
S = SA|e
A = aAB|e
B = bB|e
我无法确认我的答案,这是正确的吗?
这是不正确的,因为无法获得单个“b”(或任意数量的“b”而没有任何“a”)。
(而且我认为您可以通过更改一个字母来解决它;o)
PS抱歉之前的回复不正确;以为是 i=j。
你定义 L1 = {a^ib^j | i, j >= 0}。换句话说,这是所有以零个或多个 a 开头并以零个或多个 b 结尾的字符串的语言。这是一种常规语言;它的正则表达式是 a*b*。常规语法(也是上下文无关语法)如下:
S := lambda | aS | bT
T := lambda | bT
另一个上下文无关语法如下:
S := lambda | aS | Sb
抱歉,如果我遗漏了某些内容并且您的语言比我正在阅读的内容更复杂。如果您有理由相信如此定义的 L1 与我所描述的语言不同,请解释一下。