跟大家请教两个语法的问题

发布于 2022-09-21 01:02:22 字数 122 浏览 9 评论 0

1,LL和LR分析都要求First和Follow集。First和Follow集和LL、LR是什么关系呢?也就是在LL、LR中起什么作用呢?我看不明白。
2,LR、SLR、LALR的区别是怎么回事呢?
希望大侠给解释清楚。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自找没趣 2022-09-28 01:02:22

移进/规约分析器。常见的包括LR(0),SLR(1),LALR(1)和LR(1)。分析能力严格递增。它们的区别是
    LR(0):没有lookahead,只记录栈顶的最后一个handle的信息;
    SLR(1):在LR(0)的基础上,增加一个符号的lookahead(也就是当前的输入符号);
    LR(1):由一个lookahead(当前输入符号),记录栈内已有的所有信息;
    LALR(1):合并LR(1)状态集合中所有拥有相同“core”的状态,如果出现冲突,则该文法不是LALR文法;

所谓的“记录信息”就是指不同的状态

至于First集合和Follow集合,是用于构造分析器的辅助数据结构。这个一两句话不好说清楚,建议找本书看看。

原帖由 M-J 于 2008-8-21 23:10 发表
1,LL和LR分析都要求First和Follow集。First和Follow集和LL、LR是什么关系呢?也就是在LL、LR中起什么作用呢?我看不明白。
2,LR、SLR、LALR的区别是怎么回事呢?
希望大侠给解释清楚。

凑诗 2022-09-28 01:02:22

First和Follow集是什么意思你知道吗?为什么叫这个名字?你先查查这个吧。

神也荒唐 2022-09-28 01:02:22

原帖由 cjaizss 于 2008-8-22 09:13 发表
First和Follow集是什么意思你知道吗?

First集合就是解析一个非终结符时,要"看到"的第一个终结符集合

Follow集合就是解析完一个非终结符后,要"看到"的终结符集合

哈哈,典型的望文生义!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文