2024-2025-2 山东大学《编译原理与技术》期末(回忆版)
2024-2025-2 山东大学《编译原理与技术》期末(回忆版)
计算机科学与技术学院:郑艳伟老师
简答与计算
- 画图表示编译过程的各阶段。
- 给一个文法,判断其是否是二义文法,并说明原因。
- G[S]:S→S+S∣S−S∣0∣1∣2∣3∣4∣5∣6∣7∣8∣9G[S]: S \rightarrow S+S | S-S | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9G[S]:S→S+S∣S−S∣0∣1∣2∣3∣4∣5∣6∣7∣8∣9
- 给一文法中的一个句型,写出该句型的所有短语和句柄。
- 后缀表达式(逆波兰表达式)。
- 消除左递归。
- 提左公因子。
- 根据状态转换图,写出其上的正规式。
综合题
词法分析
给定正规式
- 构造 NFA,单符化;
- 确定化;
- 最小化。
LL(1) 分析
给出文法
- 构造 First 集合;
- 构造 Follow 集合;
- 构造 LL(1) 分析表;
- 识别句子。
LR 分析
给出文法
- 拓广文法;
- 构造拓广文法的 LR(1) 项目集规范族;
- 构造 LR(1) 分析表;
- 识别句子。
翻译模式
给出翻译模式和高级语言程序,翻译句子。
基本块
给出基本块代码
- 构造 DAG;
- 面向目标代码进行 DAG 优化,写出结点重排序列,并写出优化后的中间代码;
- 计算优化后代码各变量的待用信息;
- 根据变量在符号表中的偏移量和给出寄存器,写出目标代码。
以上回忆版仅供参考,预祝各位都能取得自己理想的成绩!