【编译原理复习笔记】语法分析-补充(二义性与LR错误处理)

二义性文法的 LR 分析

每个二义性文法都不是 LR 的

但是某些二义性文法更加简短,描述更方便

如 I7 和 I8 具有移进归约冲突

使用优先级和结合性解决冲突

对于 I7,由于乘号优先级高于加号,所以当下一个输入符号为乘号时,我们优先进行移进;当输入符号为加号时,由于加号具有左结合性,我们优先处理状态内的加号,所以进行归约

对于 I8,由于乘号的优先级高,所以进行归约

LR 分析中的错误处理

语法错误的检测,当 LR 分析器在查询分析表并发现一个报错条目的时候,就检测到了一个语法错误

错误恢复策略:

(1)恐慌模式

(2)短语层次

恐慌模式已经做过介绍,这里对于短语层次错误恢复进行介绍

短语层次错误恢复

检查 LR 分析表中的每一个报错条目,并根据语言的使用方法来决定形成这个错误的原因,然后构造出适当的恢复进程

相关推荐
lcj25117 小时前
【C++】set和map——详细使用说明
开发语言·c++·笔记·面试
東隅已逝,桑榆非晚9 小时前
stack和queue(类函数学习和模拟实现)
c++·笔记·学习
LHR_friendship9 小时前
HCIA的相关笔记
笔记·hcia
an123212120 小时前
ARM嵌入式学习笔记:SPI通信协议详解
arm开发·笔记·学习
Because_of_Her11 天前
dfs-洪水填充技巧
笔记·算法·深度优先·洪水填充
xzal121 天前
GESP Python笔记
笔记·python·算法
周玉奎先生1 天前
CGM系列水泥基灌浆料型号参数解析及安庆重点工程应用匹配
经验分享·笔记·零售
海海不掉头发1 天前
软件项目管理学习笔记-从软件危机到敏捷与DevOps
笔记·学习·devops
M78佐菲1 天前
ARM学习笔记(12)
linux·arm开发·笔记·嵌入式硬件·学习
奇思妙想聪明勤奋的小羊1 天前
ai-agent-book第五章:Coding Agent 与通用 Agent 学习笔记
人工智能·笔记·学习