第6周 星期二 第2大节

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

时间轴

  • 00:56 复习:回溯(假匹配)与左递归(死循环)
  • 05:07 消除直接左递归重述
  • 07:28 消除间接左递归(排序→代入→消除直接)
  • 12:19 FIRST集计算规则
  • 15:00 无回溯条件(充分非必要)
  • 26:42 FIRST集计算示例
  • 33:49 提取左公共因子
  • 36:25 LL(1)定义:从左到右扫描、最左推导、1个前瞻符号
  • 37:38 LL(1)分析器结构:控制程序+栈+分析表
  • 41:05 LL(1)分析算法
  • 44:23 I+I*I 的LL(1)分析示例(完整走表)
  • 58:38 分析表构造(只含FIRST集情况)
  • 01:06:28 FOLLOW集概念引入
  • 01:10:23 FOLLOW集迭代计算规则
  • 01:17:04 关系图法求FOLLOW集
  • 01:25:15 LL(1)分析表构造(FIRST+FOLLOW联合)
  • 01:31:08 表达式文法LL(1)表构造示例
  • 01:43:38 悬挂else二义性(if-then-else)
  • 01:52:42 LL(1)文法性质
  • 01:57:03 递归下降分析法(程序实现)
  • 02:07:19 自下而上分析引入
  • 02:11:06 简单自下而上示例(栈操作)
  • 02:17:50 短语、直接短语、句柄定义

关键点

考勤/签到/小测

无。

作业

无明确布置。PPT未提及。

考试/复习重点

  • 01:34:00 LL(1)分析表构造是核心内容,必须掌握
  • 01:25:45 FIRST和FOLLOW计算错误→分析表全错,⚠️ 关键
  • LL(1)分析表构造规则:对A→γ,∀a∈FIRST(γ)在M[A,a]填γ;若ε∈FIRST(γ)则∀a∈FOLLOW(A)也填(01:30:04
  • LL(1)文法判定:分析表无多重定义(01:53:48
  • 短语/直接短语/句柄定义(02:17:50),句柄=最左直接短语

其他需要回看的片段

  • 44:23-57:21 I+I*I LL(1)分析完整走表(重要)
  • 01:17:04-01:25:12 关系图法求FOLLOW集
  • 01:31:08-01:43:37 表达式文法LL(1)表构造
  • 01:43:38-01:50:35 悬挂else问题及解决(else匹配最近if)
  • 01:57:03-02:04:00 递归下降分析法实现

省流

LL(1)分析完整流程:消除左递归→提取公因子→FIRST/FOLLOW集→分析表→递归下降实现。附带短语/直接短语/句柄概念引入。⚠️ LL(1)分析表构造是绝对重点。