第8周 星期二 第2大节

  • 视频:screen_编译原理与设计_第8周_星期二_第2大节.mp4
  • 字幕:transcripts/第8周_星期二_第2大节.srt

时间轴

  • 00:50 复习:短语/直接短语/句柄(语法树视角)
  • 07:52 LR分析表回顾:ACTION和GOTO
  • 12:11 经典问题:站顶E是句柄但不一定规约——句柄需指定所属句型
  • 21:15 总控算法回顾
  • 28:00 项目集规范族直接构造法(B包+GO函数)
  • 34:51 LR(0)分析表构造算法(规则1-4)
  • 38:52 5状态LR(0)表填写示例
  • 54:18 冲突定义:移进-规约冲突、规约-规约冲突
  • 59:47 SLR(1)分析:通过FOLLOW集解决冲突
  • 01:21:48 SLR(1)局限性:FOLLOW集不区分规范推导
  • 01:30:20 LR(1)项目引入:二元组(LR(0)项+搜索符)
  • 01:51:36 LR(1)有效项目判断(找规范推导)
  • 01:57:40 LR(1)项目集规范族构造(B包算搜索符)
  • 02:17:53 LR(1)分析表构造规则

关键点

考勤/签到/小测

无。

作业

无布置。

考试/复习重点

  • ⚠️ 12:11 句柄必须指定所属句型——不是任何句型的句柄都要规约
  • LR(0)→SLR(1)→LR(1)递进逻辑需理清
  • SLR(1):用FOLLOW集判断是否规约(01:11:36
  • SLR(1)局限:FOLLOW集可能包含不该规约的符号(01:21:48
  • LR(1)项目:[A→α·β, a],搜索符a表示规约后的下一个输入(01:30:47
  • 有效项目判断需找规范推导(01:32:06

其他需要回看的片段

  • 12:37-21:09 “E为什么是句柄却不规约”——经典学生疑问完整解答
  • 38:52-45:37 LR(0) 5状态分析表填写
  • 54:18-59:47 冲突示例(移进-规约、规约-规约)
  • 01:51:36-01:57:37 LR(1)有效项目判断示例

省流

LR(0)→SLR(1)→LR(1)三种方法递进对比。LR(0)有冲突→SLR(1)用FOLLOW解决→SLR(1)有局限→LR(1)引入搜索符精确控制规约。⚠️ 句柄概念精细化理解很重要。