编译原理期末考试重点


编译原理期末考试重点

考试分值分布

第一章

1.编译器的构造原理(15分)

编译的7个阶段

分几个工作阶段,及各个阶段的作用,加上你上机的体会,宏观的理解。

字数要求200字以上300字以下

image-20210115211257504
典型的编译器可以划分成七个主要的逻辑阶段,分别是词法分析器、语法分析器、语义分析器、中间代码生成器、独立于机器的代码优化器、代码生成器、依赖于机器的代码优化器。各阶段的主要功能:
(1)词法分析器:词法分析阅读构成源程序的字符流,按编程语言的词法规则把它们组成词法记号流。
(2)语法分析器:按编程语言的语法规则检查词法分析输出的记号流是否符合这些规则,并依据这些规则所体现出的该语言的各种语言构造的层次性,用各记号的第一元建成一种树形的中间表示,这个中间表示用抽象语法的方式描绘了该记号流的语法情况。
(3)语义分析器:使用语法树和符号表中的信息,依据语言定义来检查源程序的语义一致性,以保证程序各部分能有意义地结合在一起。它还收集类型信息,把它们保存在符号表或语法树中。
(4)中间代码生成器:为源程序产生更低级的显示中间表示,可以认为这种中间表示是一种抽象机的程序。
(5)独立于机器的代码优化器:试图改进中间代码,以便产生较好的目标代码。通常,较好是指执行较快,但也可能是其他目标,如目标代码较短或目标代码执行时能耗较低。
(6)代码生成器:取源程序的一种中间表示作为输入并把它映射到一种目标语言。如果目标语言是机器代码,则需要为源程序所用的变量选择寄存器或内存单元,然后把中间指令序列翻译为完成同样任务的机器指令序列。
(7)依赖于机器的代码优化器:试图改进目标机器代码,以便产生较好的目标机器代码。

第二章

1、大题 DFA

正规式—NFA—-DFA

核心 :子集构造法

NFA-DFA(带e边) NFA-DFA(不带e边0

例题参考

2、简答题

正规式—NFA—-DFA–最简DFA

第三章(重点)

1、大题:语法分析

LL(1)、SLR(1)、LR(1) 三个随机考一个

LL1:
LL(1)
SLR1:
SLR1 SLR1例题 SLR(1)分析表
SLR(1)例题2:
SLR(1)例题2 转换图 SLR(1)分析表
LR1:
LR1 LR1

2、简答题

  • 消除二义性

    image-20210115203456711
  • 消除左递归

    image-20210115203511930
  • 提左因子

    image-20210115203523236

3、填空3分

ll1文法性质
LL1文法性质
自上而下分析的4个动作
自上而下分析的4动作
自下而上分析的4个动作
自下而上分析的4个动作
LR的种类
LR的种类

4、选择

  • 判断自上而下还是自下而上
  • 判别最左还是最右推导
  • 有分类,作出正确的判断

第四章(次重点)

1、分析题p111(10分)

注释分析树,图4.1 课后习题4.1

表4.1 分析树 注释分析树2

2、两个填空(需要分析) 综合还是继承属性?

image-20210115203640426 image-20210115203654909 image-20210115203708287
分析填空:

作业题4.3、4.4

4-3 4-3解答 4-12

第五章

考的是主要概念

押题:3项的或者4项的

有效断言还是无效断言?

image-20210115203728366

第六章

考的是概念

image-20210115203910391

第七章

1、中间表示

习题7.1 p234 后缀

image-20210115203759402 image-20210115203813135 image-20210115203828848

第八章(只考1分)

P246 求代价

表8-1 例题

填空小总结:

填空小总结

文章作者: fejxc
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fejxc !
评论
  目录