编译原理-期末重点知识总结 电子科技大学
考试题型
第一大题是问答题(5-6道)主要(80%-90%)集中在第一单元
第七单元,5分
大题7-8题
无选填
第一章
问答题
什么是编译器?编译器的结构?
词法分析的任务?输出?
语法分析输入/输出是?
编译器分哪几个模块?处理顺序?
解释器,汇编器,链接器概念
1.6阅读
第二章
递归下降分析法
三地址代码(和代码生成结合考)
2.7符号表:什么是符号表?符号表存的内容?符号表该怎么设计?
第三章
词法分析作用,任务?
实验内容,flex运行,给一段文法,填空/写flex对应的程序(实验1-3)
正则表达式:给描述是写正则/反过来给正则,写正则对应的串/正则->NFA->DFA
状态转换图了解
有穷自动机往往和正则表达式结合
自动机概念,状态和转换,状态机概念
第四章
4.2什么是无关文法?
文法本质设计/理解,ppt内提到的文法要看懂
First和Follow集
重点是预测分析法LL1
对比 LR系列的改造(拓广文法):LR0,SLR1,LR1
给定文法,写文法生成的串/给定串的特征,设计文法,使该文法生成对应的串,讲过的基础示例的串特征记一下
给定串,句柄,语法树
项目集,状态转移函数
第五六八章
–5.1 语法制导翻译
–5.3 语法制导应用:抽象语法树
–6.4 表达式的翻译
–6.5 类型检查
–6.6 控制流 if-else/while
第六章
给定源程序,生成中间代码,生成三地址代码/对应硬件的汇编代码
第七章
运行时相关问答题/链接问答/画栈帧/参数传递
第九章
优化
给定基本块里的代码,去优化
基本块内/涉及循环
程序流图cfg,流图,必经节点集,引入支配关系dominate
程序流图找出必经节点集,找出各个节点的支配关系,找出循环
基本块,分析变量活跃性,利用图着色/线性扫描分配寄存器
练习
ppt上练习题
复习优先级
1.问答题(U1+运行时环境)
2.语法分析算法LR。。。LL。。。(LR1最后)
3.代码生成:三地址代码
4.优化,基本块内,短语,句柄,语法变形,改造
5.LR1
6.变量活跃性分析,寄存器分配算法