资源描述:
《编译原理与技术new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学习中心_________姓名_____________学号西安电子科技大学网络与继续教育学院《编译原理与技术》全真试题(闭卷90分钟)题号一二三四总分题分10203040得分一、填空(10分,每空1分)1.1编译程序的工作过程可划分为词法分析、语法分析、、中间代码生成、代码优化、等阶段,对表达式中运算对象的类型检查一般在阶段进行。1.2和预测分析法是的语法分析方法。1.3常用的存储分配策略有存储分配和动态存储分配,其中,动态存储分配策略包括分配和堆分配。1.4移进、归约是分析中的典型操作。1.5对于数组M[1..6,1..8],如果每个元
2、素占2个存储单元,且起始地址为a,则以第1页(共8页)行为主序存放时元素M[4,4]的地址是_________________,以列为主序存放时元素M[4,4]的地址是_________________。二、单选题(20分,每空2分)2.1词法分析器不能。A.识别出数值常量B.过滤源程序中的注释C.扫描源程序并识别记号D.发现括号不匹配2.2给定文法A→bA
3、ca,为该文法句子的是。A.bbaB.cabC.bcaD.cba2.3一个句型中的最左称为该句型的句柄。A.短语B.直接短语C.非终结符号D.终结符号2.4已知文法G[S]:S→A1A
4、→A1
5、S0
6、0。与G等价的正规式是。*****A.0(0
7、1)B.1
8、01C.0(1
9、10)1D.1(10
10、01)02.5源程序是句子的集合,可以较好地反映句子的结构。A.线性表B.树C.完全图D.堆栈2.6与逆波兰式ab+c*d+对应的中缀表达式是。A.a+b+c*dB.(a+b)*c+dC.(a+b)*(c+d)D.a+b*c+d2.7识别上下文无关语言的自动机是。A.下推自动机B.NFAC.DFAD.图灵机2.8是与规范归约(最左归约)互逆的一个过程。A.最左推导B.最右推导C.词法分析D.语义分析2.9文法G产生的的全体是该文法描
11、述的语言,A.句子B.短语C.终结符D.非终结符2.10在表达式x:=y+1中,作为左值出现(其中,“:=”表示赋值)。A.xB.yC.1D.y+1第2页(共8页)三、简答题(30分)3.1(5分)请分别写出传值调用、引用调用方式下,下面代码的输出结果。programmain(input,output)proceduref(a,b)begina:=b-a;b:=a*b+1;end;beginx:=5;y:=10;f(y,x);print(x,y);end.3.2(10分)请计算下面文法G(E)中各非终结符的FIRST和FOLLOW集合。请说
12、明该文法为什么不是LL(1)文法。G(E):E→E*T
13、TT→T-F
14、FF→(E)
15、id第3页(共8页)3.3(10分)下图所示的分析树用到了某个上下文无关文法的所有产生式。(a)给出该文法的所有非终结符号集合N和终结符号集合T。(b)给出该文法的产生式集合。SaAcBAaBbScAcbBdcε3.4(5分)某程序执行到某一时刻时控制栈中的内容如下所示(其中M是主程序,P、Q、R、S均是过程),给出所有在生存期的活动的调用关系(提示:若A调用B,则记为A→B)。topS的活动记录S的活动记录Q的活动记录控制链R的活动记录P的活动记录M的活动
16、记录第4页(共8页)四、综合题(40分)*4.1(15分)设有正规式r=1(0
17、1)1,试给出:(a)(5分)识别该正规集的NFA;(b)(10分)识别该正规集的DFA(要有计算过程);第5页(共8页)4.2(15分)设有上下文无关无法G及其语法制导翻译如下(注:G中终结符id仅由单个英文字母组成,如a,b等):E→E1*T{E.place=newtemp;emit(*,E1.place,T.place,E.place;}
18、T{E.place=T.place;}T→T1-F{T.place=newtemp;emit(-,T1.place,F
19、.place,T.place;}
20、F{T.place=F.place;}F→(E){F.place=E.place;}
21、id{F.place=id.name;}(a)(4分)画出句子a-b*c的分析树;(b)(3分)写出当a=1、b=2、c=3时的计算结果;(*表示算术乘、-表示算术减)(c)(8分)将文法G简化为:E→E*T
22、T,T→T-F
23、F,F→id,给出其识别活前缀的DFA,该DFA的项目集中有冲突吗?若有,是哪种类型的冲突。第6页(共8页)第7页(共8页)4.3(10分)阅读以下程序代码if(y>0andx>y)while(x>y
24、)dox=x-yelsey=1(a)(4分)请画出其代码结构图(流程图);(b)(6分)给出其三地址码序列。第8页(共8页)