第16周 星期二 第2大节

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

时间轴

  • 01:08 期末总复习
  • 01:22 考试题型:10选择(1分) + 10填空(2分) + 4大题(10分) = 70分卷面
  • 01:53 实验/作业/测验共30分,总100分;卷面过30分即60分(实验满分前提)
  • 02:36 绪论:编译器定义、源/目标/宿主语言、交叉编译、T形图、7部分5阶段
  • 11:46 T形图编译器移植例题
  • 18:49 词法分析:正规式、DFA/NFA、确定化、最小化、正规式↔DFA等价
  • 32:57 DFA设计例题(含001的二进制串)
  • 45:29 DFA化简(划分法)
  • 52:01 划分法详解
  • 57:39 DFA→正规式(替换规则)
  • 01:02:53 词法分析器设计(自学)
  • 01:03:21 语法分析:文法四元组、推导、句型/句子、递归文法、二义性、四类文法
  • 01:13:34 自上而下:回溯(假匹配)+左递归→消除左递归+FIRST集+提取公因子
  • 01:20:36 LL(1)分析表:FIRST集(无ε)→引入FOLLOW集(有ε)
  • 01:28:33 自下而上:短语/直接短语/句柄
  • 01:36:53 LR分析:LR(k)含义、两栈、ACTION/GOTO表
  • 01:43:30 LR(0)→SLR(1)→LR(1)→LALR(1)
  • 02:04:30 二义性不是LR文法
  • 02:04:38 语义分析+中间代码生成:综合/继承属性、逆波兰式、符号表、语句翻译
  • 02:10:40 运行环境不考
  • 02:10:45 代码优化:基本块/DAG/控制流分析/数据流方程/循环优化
  • 02:17:32 代码外提/强度削弱/归纳变量删除不考大题,有小分
  • 02:18:14 学生提问+复习总结
  • 02:22:05 教师建议:PPT是复习核心,理解不要死记硬背
  • 02:25:49 祝考试顺利

关键点

考勤/签到/小测

无(最后一节复习课)。

作业

  • 02:23:19 学生群(i北理)有实验相关问题
  • 02:23:40 后续会发实验助教信息到群
  • 02:25:51 实验无官方答案,只能自己做

考试/复习重点

  • ⚠️ 7月3日考试(第15周确认)
  • 卷面70分 = 10选择(1分) + 10填空(2分) + 4大题(10分)
  • 总成绩 = 卷面 + 实验20 + 平时10;实验满分情况下面过30分=总60分
  • 不考范围:运行环境(02:10:40)、代码生成(01:56:21)、YACC(02:16:44)、LEX自动生成(35:36
  • 代码优化:代码外提/强度削弱/归纳变量删除不考大题但有小题(02:17:32
  • 02:22:43 “今年已经尽量的给大家降了很多了,不考那种特别难的东西”
  • 02:22:05 PPT是复习核心,一定要仔细过一遍
  • 大题分布(按往年惯例70分):每章对应一大题(01:28第14周)

其他需要回看的片段

  • 04:55-11:46 T形图和交叉编译例题
  • 32:57-36:16 DFA设计(含001/不含001的二进制串)
  • 01:52:01-01:59:46 LR(1)搜索符传递与LALR合并
  • 作业题讲解(第15周 02:00:15-02:26:37

省流

最后一节 期末总复习课。覆盖全课程所有章节。⚠️ 7月3日考试,70分卷面(10选择+10填空+4大题),运行环境/代码生成/YACC/LEX不考。PPT是复习核心,重点看作业题和笔记时间轴。