第6周 星期二 第2大节
- 视频:
screen_编译原理与设计_第6周_星期二_第2大节.mp4 - 字幕:
transcripts/第6周_星期二_第2大节.srt
时间轴
00:56复习:回溯(假匹配)与左递归(死循环)05:07消除直接左递归重述07:28消除间接左递归(排序→代入→消除直接)12:19FIRST集计算规则15:00无回溯条件(充分非必要)26:42FIRST集计算示例33:49提取左公共因子36:25LL(1)定义:从左到右扫描、最左推导、1个前瞻符号37:38LL(1)分析器结构:控制程序+栈+分析表41:05LL(1)分析算法44:23I+I*I 的LL(1)分析示例(完整走表)58:38分析表构造(只含FIRST集情况)01:06:28FOLLOW集概念引入01:10:23FOLLOW集迭代计算规则01:17:04关系图法求FOLLOW集01:25:15LL(1)分析表构造(FIRST+FOLLOW联合)01:31:08表达式文法LL(1)表构造示例01:43:38悬挂else二义性(if-then-else)01:52:42LL(1)文法性质01:57:03递归下降分析法(程序实现)02:07:19自下而上分析引入02:11:06简单自下而上示例(栈操作)02:17:50短语、直接短语、句柄定义
关键点
考勤/签到/小测
无。
作业
无明确布置。PPT未提及。
考试/复习重点
01:34:00LL(1)分析表构造是核心内容,必须掌握01:25:45FIRST和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:21I+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)分析表构造是绝对重点。