首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LR(0)、LL(0)、LALR(1)之间的关系?

LR(0)、LL(0)、LALR(1)之间的关系?
EN

Stack Overflow用户
提问于 2016-04-15 16:19:24
回答 1查看 11.2K关注 0票数 8

我真的在努力理清以下之间的关系:

  • LR(0)
  • LL(0)
  • LALR(1)
  • SLR(1)
  • LR(1)
  • LL(1)

我很确定LALR(1)和SLR(1)是LR(1)的子集,但是我对其他的都迷茫了。它们都是独家的吗?LL(0)是LL(1)的子集吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-07 21:25:27

遏制规则如下:

  • 每个LR(0)文法也是SLR(1),但不是所有SLR(1)语法都是LR(0)。
  • 每个SLR(1)文法也是LALR(1),但不是所有LALR(1)文法都是SLR(1)。
  • 每个LALR(1)语法也是LR(1),但不是所有LR(1)语法都是LR(1)。
  • 每个LL(1)语法也是LR(1),但不是所有LR(1)语法都是LL(1)。
  • 每个LL(0)文法也是LR(0)、SLR(1)、LALR(1)、LR(1)和LL(1)。(LL(0)语法基本上是无用的;see this question for details why)。

还有一种情况是,每一种具有LR(1)语法的语言都有LR(0)语法,前提是要标记语法,尽管语法并不一定很漂亮。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36652221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档