欢迎来到天天文库
浏览记录
ID:8905216
大小:36.00 KB
页数:2页
时间:2018-04-11
《2014年编译原理期中试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、期中测试题一、填空题(每空1分,共15分)1、文法的类型有种,单词用型文法描述。2、你学过的语法分析算法主要有LL(1)、简单优先、、、SLR(1)、LR(1)。3、程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即方案和方案。4、简单优先分析法归约的对象是,算符优先分析法归约的对象是。5、编译程序分为6个阶段分别是:、语法分析、语义分析、中间代码生成、、目标代码生成。6、对编译程序而言,输入数据是源程序,输出结果是。7、你所知道的词法分析和语法分程序自动构造工具有。8、C语言运行时栈式内存分配的活动记录内容一般包括:。
2、9、自下而上语法分析方法LR(0)与SLR(1)之间的关系为。10、表达式(a+b)*c的逆波兰表示为:。二、选择题(每题2分,共20分)1、哪个不是DFA的构成成分()A、有穷字母表B、初始状态集合C、终止状态集合D、有限状态集合2、词法分析器的输入是() A、单词符号串 B、源程序 C、语法单位 D、目标程序3、在词法分析阶段不能识别的是()A、标识符B、运算符C、四元式D、常数4、自上而下语法分析的主要动作是()A、移进B、推导C、规约D、匹配5、文法[S]为S→AB
3、bC,A→ε
4、b,B→ε
5、aD,C→AD
6、b,D→a
7、S
8、c,FOLLOW(A)为()A、{a,c,#}B、{c,#}C.、{a,#}D、{#}6、.设有文法G[S]:S→Ap
9、Bq,A→a
10、cA,B→b
11、dB,则FIRST(Ap)为()A、{p,q}B、{b,d}C、{a,c}D、其他7、中间代码生成时所依据的是()A、语法规则B、词法规则C、语义规则D、等价变换规则8、在编译程序中与生成中间代码的目的无关的是()A、便于目标代码优化B、便于存储空间的组织C、便于目标代码的移植D、便于编译程序的移植9、一个S属性文法一般采用的语法制导翻译方法()。A.LL(1)B.算符优先C、LR方法D.以上
12、三种都可以10、中间代码是介于源语言程序和什么之间的一种代码()A、源代码B、机器语言C、汇编语言D、目标代码三、综合题(共65分)1、构造正规式1(0︱1)*101的DFA。(5分)2.判断文法G[S]:S→MH
13、aH→LSo
14、εK→dML
15、εL→eHfM→K
16、bLM是否是LL(1)文法,如果是,构造其LL(1)预测分析表(10分)3.文法G[S](10分)(1)S→aAcBe(2)A→b(3)A→Ab(4)B→d(1)构造文法的LR(0)分析表;(5分)(2)给出分析输入串abbcde#是否为句子的LR(0)分析过程。(5分)4.(共10
17、分)对算数表达式文法G[E]:E→E+T
18、TT→T*F
19、FF→(E)
20、i(1)构造算符优先关系表和LR分析表;(5分)(2)分别使用两种表对分析符号串i+i*i#是否为该文法句子。(5分)5.(共10分)证明任何SLR(1)文法一定是LR(1)文法。6.(共10分)(1)将语句ifw<1thena=b*c+delsewhile(a<0)doa=a-1;翻译为四元式序列(5分)(2)采用语法制导翻译思想,表达式E的值描述如下:(5分)S’®Eprint(E×val)E®E1+E2E×val:=E1×val+E2×valE®E1*E2E×val:
21、=E1×val*E2×valE®(E1)E×val:=E1×valE®iE×val:=i×lexval给出表达式(6+3)*8+20的LR分析语法树并在各结点注明语义值。7.代码局部优化优化(5分)G:①T0=3.14②T1=2*T0③T2=R+r④A=T1*T2⑤B=A⑥T3=2*T0⑦T4=R+r⑧T5=T3*T4⑨T6=R-r⑩B=T5*T6假设T0、T1、T2、T3、T4、T5、T6在后面的基本块中都不使用。8.(共5分)对如下程序,当主程序调用过程语句y时,给出以下时刻数据栈的情况。(1)已经开始但尚未执行完标号为15的语句;(5分
22、)(2)已经开始但尚未执行完标号为16的语句;(5分)Programmain;Vara,b,c:real;Procedurey;Vard,e;real;Procedurex;Varf,g:real;Begin…end;{x}Procedurez;Varh,i,j:real;Begin…end;{z}Begin…15:y;…16:z;…end;{y}Begin…x;…end.{main}
此文档下载收益归作者所有