【编译原理笔记07】语法分析:SLR、LR(1)、LALR、二义性分析与错误处理

本文详细讲解了SLR、LR(1)和LALR分析法,包括它们的基本思想、分析表构造、冲突处理以及二义性文法的LR分析。SLR通过FOLLOW集减少LR(0)的冲突,但仍有局限;LR(1)引入前瞻符,提供更强的分析能力,但也可能导致状态过多;LALR通过合并同心项集,平衡了状态数和分析能力。同时,文章探讨了二义性文法的特点和错误处理策略,如恐慌模式和短语层次错误恢复。
摘要由CSDN通过智能技术生成

本次笔记内容:
4-12 SLR
4-13 LR1分析
4-14 LALR分析法
4-15 二义性文法的LR分析
4-16 LR分析中的错误处理

本节课幻灯片,见于我的 GitHub 仓库:第7讲 语法分析_4.pdf

文章目录

      • SLR分析
        • 基本思想
        • SLR分析表
        • 例:SLR分析法构造
        • SLR 分析表构造算法
        • SLR分析中的冲突
      • LR(1)分析法
        • 规范LR(1)项目
        • 等价LR(1)项目
        • 例:LR(1)自动机
        • 例:赋值语句文法的LR(1)分析表
        • LR(1)项目集闭包
        • GOTO函数
        • 为文法G' 构造LR(1)项集族
        • LR(1)自动机的形式化定义
        • LR分析表的构造算法
      • LALR 分析法
        • LR(1)的局限性
        • 基本思想
        • 例:合并通信项集
        • 合并同心项集时产生归约-归约冲突的例子
        • 合并同心项集后,虽然不产生冲突,但可能会推迟错误的发现
        • LALR(1)的特点
      • 二义性文法的LR分析
        • 二义性文法的特点
        • 二义性算术表达式文法的LR(0)分析器
        • 例:二义性if 语句文法的LR分析
        • 二义性文法的使用
      • LR分析中的错误处理
        • 恐慌模式错误恢复
        • 短语层次错误恢复
        • 例:算数表达式文法的LR分析器
        • 带有错误处理子程序的算术表达式文法LR分析表

上节课的内容中,LR(0)存在冲突。这节课首先提出SLR进行解决。SLR的改进很简单,但还存在冲突。因此又引出LR(1)。

但是,LR(1)的状态过多,于是引出LALR化简、合并其状态。

最后,介绍了二义性与错误处理。

SLR分析

上节课的例子中,我们认识到:LR(0)分析过程中存在冲突。而规定 FOLLOW 集,可以帮我们判断,在那些情况下,不进行归约。这也正是 SLR的基本思想。

基本思想

这里的 S 代表simple,因为其只需要一个 FOLLOW 集就可以化解冲突。但是对于某些冲突,需要更复杂的方法化解(后文会提到)。

SLR分析表

与 LR(0) 分析表进行对比:

  • 在 LR(0) 分析表中,每一个状态在遇到任何输入符号时,都采取归约动作,因此归约状态在这一行中每一项都是归约动作(如第2行、第9行);
  • 而在 SLR 分析表中,对于归约状态,只有遇到 FOLLOW 集中的元素,才采取归约动作。
例:SLR分析法构造

SLR 分析表构造算法


如上,SLR分析表与LR(0)分析表是类似的,唯一不同在于FOLLOW集的使用。

如果给定文法的SLR分析表中不存在有冲突的动作,那么该文法称为SLR文法

SLR分析中的冲突


如上图,产生了移入-归约冲突。

LR(1)分析法

SLR分析存在的问题:SLR只是简单地考察下一个输入符号b是否属于与归约项目A→α相关联的FOLLOW(A),但b∈FOLLOW(A)只是归约α的一个必要条件,而非充分条件

如上图,对于树中的 R ,在不同地方,其后继符是不同的,一个地方对应=,一个地方对应$

由此可见:在特定位置,A的后继符集合是FOLLOW(A)的子集。

因此,我们规定了新规则,如

最低0.47元/天 解锁文章
写文章

热门文章

  • Windows 10 下 C 盘清理的四个最好办法 | 安全简单,无需插件 | C 盘快满了,如何清理 C 盘? | win 10 OS盘清理 144782
  • 「管理数学基础」1.5 矩阵理论:方阵的行列式因子、不变因子、初等因子 58260
  • vscode配置python 控制台/终端/TERMINAL 不输出/不显示 解决办法 57619
  • 【应用统计学】第一类/α/弃真错误与第二类/β/取伪错误的解释与举例 39646
  • Windows 10 空间又爆满?别让系统再背锅, AppData 该清一清了! 37676

分类专栏

  • CV 1篇
  • Spark 5篇
  • windows 5篇
  • powershell 3篇
  • 前端 2篇
  • 网站推荐 2篇
  • debug 9篇
  • C/C++ 6篇
  • 程序人生 3篇
  • 管理数学基础 19篇
  • 强化学习论文笔记 1篇
  • Reinforcement Learning 24篇
  • Amazing-Brick 8篇
  • 深度学习 4篇
  • 计算机图形学 1篇
  • 李宏毅深度学习 65篇
  • 计算机组成 29篇
  • 编译原理 20篇
  • 汇编 22篇
  • matlab 4篇
  • flexsim 4篇
  • lingo 1篇
  • Excel 1篇
  • 数学建模与算法 8篇
  • JavaScript 7篇
  • git 1篇
  • vscode 8篇
  • python 27篇
  • OS 23篇
  • 数据结构 52篇
  • vim 4篇

最新评论

  • Windows 10 下 C 盘清理的四个最好办法 | 安全简单,无需插件 | C 盘快满了,如何清理 C 盘? | win 10 OS盘清理

    abc_123_02: D盘这么大!分给C盘点呗!

  • Windows 10 空间又爆满?别让系统再背锅, AppData 该清一清了!

    m0_73888903: 请问能不能把appdata直接转移到d盘吗,我发现有些app他没有自定义安装路径就装在appdata roaming里

  • 2019美赛M(一等/优异)奖,给想参加美赛的同学们的干货建议

    find1star: Meritorious Winner

  • 【数据结构笔记36】C实现:基于Median3的快速排序

    m0_74863514: zju的课程内容还要会员解锁有点那个了吧、、

  • 【编译原理笔记03】词法分析:正则表达式、有穷自动机(FA)、DFA与NFA及RE的相互转换、DFA识别单词、语法检测

    BLACKNIAOR2: 收费挺EX的,另外正则表达式并不适合制作词法,因为它的匹配会把特殊符号给删除,而我们要的是保留切割符。比如+-*/ 这些

大家在看

  • C语言程序设计第十一章问题要点 206
  • 登高作业安全绳佩戴识别系统 Python
  • 基于SpringBoot+Vue的原创歌曲分享平台系统+万字论文+PPT+Mp4演示
  • 1024 程序员节:用代码点亮未来——致敬每一位科技时代的创造者
  • Flutter ElevatedButton组件 488

最新文章

  • 在 spark pipeline 中加入已训练模型(以 离散化编码 ValueIndexerModel 为例)
  • Windows 运行 spark-hadoop 报错 java.io.IOException: (null) entry in command string: null chmod 0644
  • Spark 训练机器学习模型莫名报错(java.lang.stackoverflow)
2022年4篇
2021年35篇
2020年231篇
2019年116篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家商场区域美陈布置商业商场美陈哪家好商场柱子美陈保定批发玻璃钢雕塑全国发货湛江玻璃钢卡通雕塑批发工业玻璃钢雕塑摆件研究阳江玻璃钢动物雕塑产品介绍做玻璃钢雕塑工程火烈鸟玻璃钢雕塑厂家福建环保玻璃钢雕塑图片欧式玻璃钢雕塑价格合理磐安玻璃钢人物雕塑唐山人物玻璃钢雕塑安装铜川玻璃钢卡通雕塑郑州雕塑玻璃钢造型常德娄底玻璃钢雕塑哪家好沐阳玻璃钢卡通动物雕塑玻璃钢恐龙雕塑加工革命主题玻璃钢雕塑批量定制海西玻璃钢商场美陈萍乡公园玻璃钢雕塑市场商场开业美陈工作流程芜湖佛像玻璃钢雕塑设计玻璃钢雕塑tel济南金百盈楚雄玻璃钢仿生雕塑文山玻璃钢雕塑价格江西景观玻璃钢雕塑多少钱江苏季节性商场美陈价格邵阳玻璃钢头像雕塑江苏特色商场美陈供应商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化