哈尔滨学院2024年春季学期期末试卷b
课程名称:《编译原理》
考试时间: 120 分钟考试方式: 闭卷。
卷面总分100分,占总成绩 60 %)
一、单项选择题(每题1分,共10分)
1、若某翻译程序所处理的源程序是高级语言编写的程序,目标程序是汇编语言程序或机器语言程序,则称它为(1)。
a)汇编语言程序。
b)高级语言程序。
c)编译程序。
d)连接程序。
2、为了使编译程序能对程序设计语言进行正确的翻译,必须采用(2)方法定义程序设计语言。
a)非形式化。
b)自然语言描述问题。
c)形式化。
d)自然语言和符号体系相结合。
3、设x是符号串,符号串的幂运算x1=(3)。
a)1b)x
c)εd)φ
4、编译程序中词法分析器所完成的任务是从源程序中识别出一个一个具有独立意义的(4)。
a)表达式。
b)语句。c)过程。
d)单词符号。
5、用l代表字母,d代表数字,∑=则定义标识符号单词的正规式是(5)。
a)ld*b)ll*
c)l(l|d)*
d)ll*|d*
6、编译程序中的语法分析器接受以(6)为单位的输入,并产生有关信息供以后各阶段使用。
a)表达式。
b)字符串。
c)单词。d)语句。
7、在高级语言编译程序常用的语法分析方法中,**分析法属于(7)分析方法。
a)自左至右。
b)自上而下。
c)自下而上。
d)自右向左。
8、编译程序中安排优化的目的是为了得到(8)的目标**。
a)结构清晰。
b)较短。c)高效率。
d)使用存储空间最小。
9、fortran语言编译中的存储分配策略是(9)。
a)静态存储分配策略。
b)最佳分配策略。
c)动态存储分配策略。
d)时钟分配策略。
10、下列各项中,(10)不能作为编译程序生成的目标**形式。
a)能够立即执行的机器语言**。
b)汇编语言程序。
c)待装配的机器语言**。
d)中间语言**。答案:
二、多项选择题(每题1分,共5分)
1、如果编译程序生成的目标程序是机器**程序,则源程序的执行分为几个阶段,分别是:(1)。
a)编译阶段。
b)汇编阶段。
c)运行阶段。
d)置初值阶段。
2、一般程序设计语言的描述都涉及(2)几个方面。
a)语法。b)语用。
c)语义。d)基本符号的确定。
3、编译中的语义处理任务,分别是:(3)。
a)静态语义审查。
b)审查语法结构。
c)执行真正的翻译。
d)审查语义结构。
4、建立符号表可以使用的主要数据结构有(4)。
a)线性表。
b)搜索树。
c)散列表。
d)矩阵。5、程序运行时的存储空间通常被划分为(5)。
a)目标区。
b)静态数据区。
c)栈区。d)堆区。答案:
三、填空题(每空1分,共10分)
1、已知文法g[e]:
e→e+t|t
t→t*f|f
f→(e)|a
该文法的开始符号是(1),终结符号集合vt =(2)。
2、有穷自动机分为(3)和(4)两大类。
3、设有一个lr(0)项目集i=,该项目含有冲突项目,它们是(5)冲突和(6)冲突。
4、表达式a*(-b+c)的逆波兰表示为(7)。
5、符号表的查找一般可以使用顺序查找、(8)和杂凑查找。
6、程序设计语言所使用的存储环境通常分为三种类型:完全静态环境、基于栈的存储环境和(9)。
7、(10)是编译过程的最后一个阶段。通常在语法分析后或优化后的中间**上进行,并将中间**转化为等价的目标**。答案:
四、名词解释题(每题3分,共15分)
1、一遍扫描编译程序。
2、上下文无关文法。
3、确定化的有穷自动机。
4、规范句型的“活前缀”
5、属性文法。
五、判断题(每题1分,共10分)
1、c语言的编译程序可以用c语言来编写。
2、编译程序是一种常用的系统软件。
3、在形式语言中,最左推导的逆过程也称为规范规约。
4、编译程序中的词法分析程序以字符形式的源程序作为输入,输出的单词符号采用二元组的形式。
5、ll(1)文法是无左递归、无二义性文法。
6、对任何一个编译程序来说,产生中间**是不可缺少的一部分。
7、符号表内容为上下文语义的合法性检查提供依据。
8、名字就是标识符,标识符就是名字。
9、在动态存储分配时可采用栈式存储分配。
10、优化的编译是指编译速度快的编译程序。答案:
六、简答题(共24分)
1、给出语言相应的文法。(5分)
l=2、给出文法相应的语言。(5分)
s→ε asb | baa
a→ε baa
3、设有文法g[s]:
s→ aa→ b | aib
b→ c | b+c
c→ )a *
试给出句型c+c i (的短语。(4分)
4、给出下面文法的适合自下而上翻译的语义动作,使得当输入串是aacbb时其输出串是12020。(6分)
1)a→ab
2)a→c
3)b→ab
5、试把以下程序段划分为基本块,应用删除公共子表达式、**外提优化措施对下面的中间**进行优化。(6分)
1) s=0
2) i=1
3) t1=4*i
4) t2=addr(a)-4
5) t3=t2[t1]
6) t4=4*i
7) t5= addr(b)-4
8) t6=t5[t4]
9) t7=t3*t6
10) s=s+t7
11)i=i+1
12) if i≤20 goto (3)
七、综合题(共12分)
用a、b、c、d表示变量,t、u、v表示中间变量,有四元式如下:
1)t:=a-b
2)u:=a-c
3)v:=t+u
4)d:=v+u
计算变量的待用信息和活跃信息,标记在四元式上。
八、语法分析题(共14分)
设有文法g[s]:
s→ a | t)
t → t,s | s
算符优先关系表如下:
1) 给出输入串(a,a)#的算符优先分析过程(10分);
2) 给出输入串(a,a)的最右推导过程(4分)。
编译试卷 B 答案
华东交通大学2008年统招硕士研究生业务课考试卷答案。考试时间3小时,卷面150分 考试科目 820考试科目名称编译原理 一 15分 名字解释。短语 设g s 是给定文法,w xuy v 为该文法的句型,如果满足下面两个条件 1 s xuy 2 u u 则称句型xuy 中的子串u是句型xuy的短语。...
编译试卷与答案 B
编译原理模拟试卷及答案 二 学生姓名学号。学生系别专业年级班级。课程名称 编译原理课程性质 专业必修。一 文法g的产生式为12 i a 给出 i i i的最左推导 最右推导及相应的推导树 b 列出句型 的所有短语 简单短语和句柄。答 a 最左推导 i i i i i i i i i i i 最右推导...
编译原理2019 B卷
一 简答题 第1题5分 题各6分,共17分 1 简述编译主要包括哪些过程及每一过程的主要工作?5分。2 如果去掉c语言中过程的递归调用特点 即 过程不允许递归调用 其它特点不变,请说明其运行时需要采用何种存储分配策略。3 已知文法g e e eit t t t f if f f e 请问该文法是否是...