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

二义性文法的 LR 分析

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

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

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

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

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

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

LR 分析中的错误处理

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

错误恢复策略:

(1)恐慌模式

(2)短语层次

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

短语层次错误恢复

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

相关推荐
Vince丶18 小时前
UE DirectExcel使用笔记
笔记·ue5
AA陈超18 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
阿恩.77018 小时前
2026年1月最新计算机、人工智能、经济管理国际会议:选对会议 = 论文成功率翻倍
人工智能·经验分享·笔记·计算机网络·金融·区块链
('-')19 小时前
《从根上理解MySQL是怎样运行的》第二十章笔记
数据库·笔记·mysql
zkl_zkl_19 小时前
地理信息系统学习笔记——第六章 空间数据采集与处理
笔记·学习·数据处理·数据质量·空间数据
光头程序员19 小时前
学习笔记——主攻 vite
笔记·学习
客梦19 小时前
数据结构-栈与队列
数据结构·笔记
TL滕20 小时前
从0开始学算法——第四天(题目参考答案)
数据结构·笔记·python·学习·算法
齐生120 小时前
iOS 知识点 - Category / Extension / Protocol 小合集
笔记·面试
TL滕21 小时前
从0开始学算法——第四天(练点题吧)
数据结构·笔记·学习·算法