【发布时间】:2011-02-22 13:51:21
【问题描述】:
我已经尝试并烧了我的大脑来理解Discrete Mathematics and its Applications(Rosen) 中的正则语言的定义,但没有达到理解为什么本书中的定义如此的目标。在第 (789) 页,我改写定义:
类型 3 语法定义为:
w1 --> w2
其中 w1 是非终结符,w2 的形式为:
w2 = aB
w2 = a
其中 B 是非终结符,a 是终结符。一个特殊情况是 w1 是起始符号而 w2 是 lambda(空字符串):
w1 = S
S --> lambda
我找不到答案的两个问题。首先,为什么w2不能是Ba的形式。其次,为什么lambda只允许用于起始符号only。书中指出,常规语言相当于有限状态自动机,我们可以很容易地看到,我们可以为这两种情况构建 FSA。我查看了其他资源,这些资源中不存在这些限制。
【问题讨论】:
-
你检查过这本书有没有勘误?
-
@David M 不,我没有这样做,但我现在会这样做。有趣的是,在第 (795) 页上,练习#19 (i, j) 正是根据这个定义解决的。
-
我刚刚检查了第 6 版的勘误表。并且没有找到任何东西:highered.mcgraw-hill.com/sites/dl/free/0072880082/299357/…
标签: regex computer-science grammar regular-language