- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四川理工学院试卷(2015至2016学年第2学期)
课程名称:编译原理(模拟试卷更新中)
命题教师:黎远松
适用班级:软件2013级1-5班
考试 2016年5月17日(12周二下午3:00-5:00) 共6页
题号 一 二 三 四 五 六 七 八 评阅(统分)教师 得分 20 20 18 8 6 8 12 8 黎远松 注意事项:
满分100分。要求卷面整洁、字迹工整、无错别字。
考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。
考生必须在签到单上签到,若出现遗漏,后果自负。
如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。
试 题(模拟更新中)
得分 评阅教师
选择题(共10个小题,每个小题2分,共20分)
1.词法分析器的输入是________。
A.符号串
B.源程序
C.语法单位
D.目标程序
2.语言是
A.句子的集合B.产生式的集合C.符号串的集合D.句型的集合.________。
A.非终结符号
B.短语
C.句子
D.直接短语
4.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即
A.字符B.单词C.句子D.句型.构造编译程序应掌握
A.源程序B.目标语言C.编译方法D.以上三项都是
. 正规式M1和M2等价是指A.M1和M2的状态数相等B.M1和M2的有向边条数相等C.M1和M2所识别的语言集相等D.M1和M2状态数和有向边条数相等代码优化的目的是
A.节省时间B.节省空间C.D.程序进行等价交换.下推自动机识别的语言是
A.0型语言B.1型语言C.2型语言D.3型语言
.对应Chomsky四种文法的四种语言之间的关系是
A.L0(L1(L2(L3B.L3(L2(L1(L0C.L3=L2(L1(L0D.L0(L1(L2=L3
回答下列问题:
对于下面程序段
program test (input, output)
var i, j: integer;
procedure CAL(x, y: integer);
begin
y:=y*y; x:=x-y; y:=y-x
end;
begin
i:=2; j:=3; CAL(i, j)
writeln(j)
end.
若参数传递的方法分别为(1)传值、(2)传地址,(3)传名,请写出程序执行的输出结果。答: (1) 3 (2) 16 (3) 16 (每个值2分)
计算文法G(M)的每个非终结符的FIRST和FOLLOW集合,并判断该文法是否是LL(1)的,请说明理由。
G(M):
M→TB
T→Ba | (
B→Db | eT | (
D→d | (
解答:
计算文法的FIRST和FOLLOW集合:(4分)
FIRST(M) = { a,b,e,d,( } FIRST(T) = { a,b,e,d,( }
FIRST(B) = {b,e,d,( } FIRST(D) = {d,(}
FOLLOW (M) = {#} FOLLOW (T) = { a,b,e,d,#}
FOLLOW (B) = {a,# } FOLLOW (D) = { b}
检查文法的所有产生式,我们可以得到:
1. 该文法不含左递归,
2. 该文法中每一个非终结符M,T,B,D的各个产生式的候选首符集两两不相交。
3. 该文法的非终结符T、B和D,它们都有(候选式,而且
FIRST(T)∩FOLLOW(T)={ a,b,e,d }≠(
所以该文法不是LL(1)文法。(2分)
考虑下面的属性文法
产 生 式 语 义 规 则 S→ABC
A→a
B→b
C→c B.u := S.u
A.u := B.v + C.v
S.v := A.v
A.v :=3*A.u
B.v := B.u
C.v := 1 画出字符串abc的语法树;
对于该语法树,假设S.u的初始值为5,属性计算完成后,S.v的值为多少?
答:(1) (2分)
(2) S.v的值为18 (2分)
(8分)构造一个DFA,它接受(={a,b}上所有包含ab的字符串。
(2分)构造相应的正规式:(a|b)*ab(a|b)*
(3分)
文档评论(0)