第9周 星期二 第2大节
- 视频:
screen_编译原理与设计_第9周_星期二_第2大节.mp4 - 字幕:
transcripts/第9周_星期二_第2大节.srt
时间轴
01:22LR(1)分析表构造重述 + 四种方法对比(规约收窄趋势)05:40LR(1) 14个状态完整填表21:49LR(1)与LR(0)核心区别:B包算搜索符的FIRST + GO函数保留搜索符35:00四种方法选择流程:LR(0)→SLR(1)→LR(1)→LALR(1)50:54LALR(1)分析:同心项目集合并01:01:48LALR(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:44YACC不考,仅课外拓展- 四种分析法选择流程:LR(0) → 有冲突试SLR(1) → 再试LR(1) → LALR(1)合并
- 同心项目集合并(
52:43):LR(0)部分相同,仅搜索符不同 - LALR(1)合并不引入移进-规约冲突(反证法证明,
01:06:20) - 二义性文法不是LR文法(
29:53)
其他需要回看的片段
05:40-20:05LR(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不考,环环相扣需自己动手推导。