【编译原理】-- 知识归纳 -- 第五章--LR(0)、SLR(1)、LR(1)、LALR(1)文法

LR(0)文法

有自动机

自底向上:由语句归约回文法

扩充文法:

在这里插入图片描述

保证从一个符号开始推导出来的文法

项目
  1. A → a. 归约项目
  2. A → a.B 待约项目
  3. A → a.b 移进项目
判断

自动机状态中无冲突项目(移进-规约冲突和归约-归约冲突(一个状态中同时存在这两个项目))

自动机状态

​ 等价项目的项目集闭包

NFA

在这里插入图片描述

分析过程

在这里插入图片描述

分析表

非上述文法的分析表,重点看图下的解释
在这里插入图片描述

ACTION:终结符

​ sn:移进T且状态转移为n

​ rn:该状态为归约项目时,用第n个推导式归约

GOTO:非终结符

​ n:经过N到达n状态

SLR(1)文法

判断
  1. 有冲突项目(移进-规约冲突和归约-归约冲突)
  2. 移进符号不在归约符号的FOLLOW集中
分析表

​ A → a. 归约项目只在FOLLOW{A} = {a} 中填 A → a.

​ 其余填移进项目

LR(1)文法

判断
  1. 有向前搜索符号“,”
  2. 无归约-归约冲突
自动机状态

通式:A → ɑ . β , a

A → ɑ . Bβ , a的等价项目:

B → . г , b中,b = FIRST(βa)

  1. β = ε ,b = a

  2. β ≠ ε ,b = FIRST(β)

    在这里插入图片描述

分析表

归约项目rn根据展望符填写

LALR(1)文法

判断

​ 合并同心集后无归约-归约冲突

自动机状态

A → d , a

​ 合并为:A → d , a / c

A → d , c

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值