Lr on:LR (1)项目讨论:意义(lr meaning)

什么是规范的 LR(1)项目!我读过龙书,它使我困惑,(delta,gamma,toh,...)

有人可以帮我解决这个问题吗?

这在英语中是什么意思?[A-& gt;alpha.Bbeta,a]

非常感谢..

3

[A -> alpha . B beta , a]基本上意味着“假设规则A正在扩展,到目前为止我们已经看到了alpha。然后我们期望看到B beta。我们还知道在A之后,我们将看到a

所以,在 CLR(1)中,你有一些这些项目组成的状态。

如果前瞻(gamma)是first(B)的成员,并且假设您有一个规则,例如B->gamma C,那么您可以“转移”并转到包含[B -> gamma . C, beta]的状态。正如您所看到的,.已移动通过gamma6之后

如果前瞻是a,并且假设B beta可以生成lambda(空字符串)(这里,假设 beta 是一个可以生成lambda的非终端)。然后,您可以“减少”并转到包含规则的状态,例如C -> something A . a something_else, follow]

这是我能解释的最简单的方法。

1

IIRC,这是一个“项目”,即一些句子形式解析的潜在状态。

这意味着什么:

[A - > alpha.Bbeta , a]

是当试图解析 a(目标语言的子字符串)时,可以将其视为非终端A,是否已看到alpha,并且(“.”)接下来需要Bbeta,并且如果看到非终端的元素,则它是有效的A如果下一个令牌是a

(我认为你转录 Bbeta 错误,它可能是 beta 在书中)。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(460)
E plus:输入类型号加号 减号或“e”里面显示空值 为什么
上一篇
Oracle数据库的特点:克隆没有数据的 oracle数据库
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(37条)