第9周 星期二 第2大节

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

时间轴

  • 01:22 LR(1)分析表构造重述 + 四种方法对比(规约收窄趋势)
  • 05:40 LR(1) 14个状态完整填表
  • 21:49 LR(1)与LR(0)核心区别:B包算搜索符的FIRST + GO函数保留搜索符
  • 35:00 四种方法选择流程:LR(0)→SLR(1)→LR(1)→LALR(1)
  • 50:54 LALR(1)分析:同心项目集合并
  • 01:01:48 LALR(1)合并规则:不引入移进-规约冲突,可能引入规约-规约冲突
  • 01:11:01 综合例题:判断文法属LR(0)/SLR(1)/LR(1)/LALR(1)
  • 01:30:00 二义性文法与LR分析
  • 01:49:52 错误处理:紧急恢复、短语级恢复、产生式扩展、全局纠正
  • 02:12:05 语法分析总结 + YACC工具介绍

关键点

考勤/签到/小测

无。

作业

无明确布置。

考试/复习重点

  • ⚠️ 02:13:17 批卷经验:语法分析章环环相扣,前步错后步全错
  • 02:16:44 YACC不考,仅课外拓展
  • 四种分析法选择流程:LR(0) → 有冲突试SLR(1) → 再试LR(1) → LALR(1)合并
  • 同心项目集合并(52:43):LR(0)部分相同,仅搜索符不同
  • LALR(1)合并不引入移进-规约冲突(反证法证明,01:06:20
  • 二义性文法不是LR文法(29:53

其他需要回看的片段

  • 05:40-20:05 LR(1) 14个状态逐个填表的完整过程
  • 35:00-45:15 四种方法选择流程总结
  • 01:11:01-01:30:00 文法类型判断综合例题
  • 02:06:00-02:12:05 错误处理示例(缺运算符、缺括号)

省流

语法分析收尾。四种LR方法完整对比+LALR(1)合并+二义性文法+错误处理+YACC。⚡ LR(0)→SLR(1)→LR(1)→LALR(1) 选择流程很重要,YACC不考,环环相扣需自己动手推导。