学习中心/函授站_
姓 名 学 号
西安电子科技大学网络与继续教育学院
2021 学年下学期
《编译原理与技术》期末考试试题
(综合大作业)
题号 一 二 三 四 总分
题分 10 20 40 30
得分
考试说明:
1、大作业试题于 2021 年 10 月 22 日公布:
(1) 毕业班学生于 2021 年 10 月 22 日至 2021 年 10 月 31 日在线上传大作业答卷;
(2) 非毕业班学生于 2021 年 11 月 19 日至 2021 年 12 月 5 日在线上传大作业答卷;
(3) 上传时一张图片对应一张A4 纸答题纸,要求拍照清晰、上传完整; 2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要求字迹工整、卷面干净。
一、单选题(每小题 2 分,共 10 分)
1、以编译方式和解释方式对高级语言源程序进行翻译时,()。 A.编译方式不生成源程序的目标代码,解释方式生成源程序的目标代码B.编译方式生成源程序的目标代码,解释方式不生成源程序的目标代码C.编译方式和解释方式都生成源程序的目标代码 D.编译方式和解释方式都不生成源程序的目标代码
2、在自下而上语法分析中,LR(1)中的 L 表示()。 A.从左到右扫描输入序列B.最左推导C.最左归约D.最右推导3、一个句型中的最左()称为该句型的句柄。
A.短语B.直接短语C.非终结符号D.终结符号4、给定文法 A→bA|ab,()是该文法的句子。
A.babbB.ababC.baabD.bbab
5、用来描述控制进入和离开活动的树结构被称为()。A.语法树B.分析树C.活动树D.嵌套关系树二、填空(每空 2 分,共 20 分)
1、在以阶段划分的编译器中,识别单词的阶段称为 ,识别句子结构并将其表示成树形式的阶段称为 ,贯穿整个编译过程的两个辅助过程
(阶段)为 和 。编译器前端生成的既接近目标语言,又与具体机器无关的表示称为 。
2、将机器语言翻译成汇编语言的过程称为 。
3、 上下文无关文法 G 的四元组( N,T,P,S 中, T 表示 , P 表示 。
4、设有二维数组 M[20,10] 以行为主存放,数组元素下标从 1 开始,每个元素占 1 个存储单元,元素 M[8,5]相对于该数组空间首地址的偏移量为 。
5、在值调用参数传递方式中,参数传递是指 。
三、简答题(每小题 10 分,共 40 分)
1、简述由正规式构造词法分析器的一般方法和过程。
2、对于文法 G:
E → E + T | T
T → T * F | F
F → (E)| num
请给出句型 T*(E+5)的分析树,并指出该句型中的所有短语、直接短语和句柄。3、请给出下述表达式的后缀式与语法树。
x := 2*(4+5)/3 - 6
4、请给出函数 foo 调用时分别采用传值调用和引用调用方式时代码的输出结果。
program main(input,output) procedure foo(a,b) begin
a := a + 2;
b := a * 5 - b;
end; begin
x := 4;y := 7;
foo(x, y);
print(x,y);
end.
四、计算题(每小题 15 分,共 30 分)
1、某 NFA 的状态转换图如下表所示ε
a
a(0 是初态,4 是终态)
(1) 用“子集法”把该 NFA 确定化为 DFAD;
(2) 将 DFA D 最小化。
2、设有上下文无关无法G及其语法制导翻译如下(注:G中终结符id仅由单个英文字母组成,如a, b等):
E→E1*T{E.place=newtemp; emit(*, E1.place, T.place, E.place;}
| T{E.place=T.place;}
T→T1-F{T.place=newtemp; emit(-, T1.place, F.place, T.place;}
| F{T.place=F.place;} F→id{F.place=id.name;}
(1) 当 a=5、b=2、c=4 时,写出表达式 a-b*c 的结果;(*表示算术乘、-表示算术减)
(2) 给出文法 G 识别活前缀的 DFA,简要说明该 DFA 的项目集中是否有冲突及冲突的类型。
姓 名 学 号
西安电子科技大学网络与继续教育学院
2021 学年下学期
《编译原理与技术》期末考试试题
(综合大作业)
题号 一 二 三 四 总分
题分 10 20 40 30
得分
考试说明:
1、大作业试题于 2021 年 10 月 22 日公布:
(1) 毕业班学生于 2021 年 10 月 22 日至 2021 年 10 月 31 日在线上传大作业答卷;
(2) 非毕业班学生于 2021 年 11 月 19 日至 2021 年 12 月 5 日在线上传大作业答卷;
(3) 上传时一张图片对应一张A4 纸答题纸,要求拍照清晰、上传完整; 2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要求字迹工整、卷面干净。
一、单选题(每小题 2 分,共 10 分)
1、以编译方式和解释方式对高级语言源程序进行翻译时,()。 A.编译方式不生成源程序的目标代码,解释方式生成源程序的目标代码B.编译方式生成源程序的目标代码,解释方式不生成源程序的目标代码C.编译方式和解释方式都生成源程序的目标代码 D.编译方式和解释方式都不生成源程序的目标代码
2、在自下而上语法分析中,LR(1)中的 L 表示()。 A.从左到右扫描输入序列B.最左推导C.最左归约D.最右推导3、一个句型中的最左()称为该句型的句柄。
A.短语B.直接短语C.非终结符号D.终结符号4、给定文法 A→bA|ab,()是该文法的句子。
A.babbB.ababC.baabD.bbab
5、用来描述控制进入和离开活动的树结构被称为()。A.语法树B.分析树C.活动树D.嵌套关系树二、填空(每空 2 分,共 20 分)
1、在以阶段划分的编译器中,识别单词的阶段称为 ,识别句子结构并将其表示成树形式的阶段称为 ,贯穿整个编译过程的两个辅助过程
(阶段)为 和 。编译器前端生成的既接近目标语言,又与具体机器无关的表示称为 。
2、将机器语言翻译成汇编语言的过程称为 。
3、 上下文无关文法 G 的四元组( N,T,P,S 中, T 表示 , P 表示 。
4、设有二维数组 M[20,10] 以行为主存放,数组元素下标从 1 开始,每个元素占 1 个存储单元,元素 M[8,5]相对于该数组空间首地址的偏移量为 。
5、在值调用参数传递方式中,参数传递是指 。
三、简答题(每小题 10 分,共 40 分)
1、简述由正规式构造词法分析器的一般方法和过程。
2、对于文法 G:
E → E + T | T
T → T * F | F
F → (E)| num
请给出句型 T*(E+5)的分析树,并指出该句型中的所有短语、直接短语和句柄。3、请给出下述表达式的后缀式与语法树。
x := 2*(4+5)/3 - 6
4、请给出函数 foo 调用时分别采用传值调用和引用调用方式时代码的输出结果。
program main(input,output) procedure foo(a,b) begin
a := a + 2;
b := a * 5 - b;
end; begin
x := 4;y := 7;
foo(x, y);
print(x,y);
end.
四、计算题(每小题 15 分,共 30 分)
1、某 NFA 的状态转换图如下表所示ε
a
a(0 是初态,4 是终态)
(1) 用“子集法”把该 NFA 确定化为 DFAD;
(2) 将 DFA D 最小化。
2、设有上下文无关无法G及其语法制导翻译如下(注:G中终结符id仅由单个英文字母组成,如a, b等):
E→E1*T{E.place=newtemp; emit(*, E1.place, T.place, E.place;}
| T{E.place=T.place;}
T→T1-F{T.place=newtemp; emit(-, T1.place, F.place, T.place;}
| F{T.place=F.place;} F→id{F.place=id.name;}
(1) 当 a=5、b=2、c=4 时,写出表达式 a-b*c 的结果;(*表示算术乘、-表示算术减)
(2) 给出文法 G 识别活前缀的 DFA,简要说明该 DFA 的项目集中是否有冲突及冲突的类型。