编译原理与技术模拟试题三

编译原理与技术模拟试题三

ID:41055456

大小:59.38 KB

页数:7页

时间:2019-08-15

编译原理与技术模拟试题三_第1页
编译原理与技术模拟试题三_第2页
编译原理与技术模拟试题三_第3页
编译原理与技术模拟试题三_第4页
编译原理与技术模拟试题三_第5页
资源描述:

《编译原理与技术模拟试题三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模拟试题三一、填空(10分)1.1编译程序的工作过程可划分为、语法分析、、中间代码生成、代码优化、等阶段,类型检查工作一般在阶段进行。1.2SLR(1)中L的含义是。1.3常用的存储分配策略有静态存储分配和动态存储分配,其中,动态存储分配策略包括分配和分配。1.4用LR方法实现语法分析时,典型的操作有、、接受和报错。1.5已知数组M[0..5,1..10]以行为主序存放,如果每个元素占2个存储单元,且起始地址为a,则元素M[2,3]的地址是。二、单选题(20分)2.1识别上下文无关语言的自动机是。A.下推自动机B.NFAC.DFAD.图灵机2.2给定文法A→bA

2、ca,为该文法句子的是

3、。A.bbB.bcaC.bcabD.cab2.3一个句型中的最左称为该句型的句柄。A.短语B.直接短语C.非终结符号D.终结符号2.4已知文法G[S]:S→A1A→A1

4、S0

5、0。与G等价的正规式是。A.0(0

6、1)*1B.1*

7、0*1C.0(1

8、10)*1D.1(10

9、01)*02.5从编译程序的语法分析角度看,源程序是句子的集合,可以较好地反映句子的结构。A.线性表 B.树C.完全图 D.堆栈2.6词法分析的输出由两部分组成。A.字符串和正规式 B.记号和自动机C.文法和正规式 D.记号的种类和属性2.7一个文法产生的的集合称为该文法产生的语A.句子 B.短语C.非终结符 D.终结

10、符2.8程序设计语言一般可分为低级语言和高级语言,低级语言指的是与机器硬件构造密切相关的语言。用低级语言编写程序的特点是。 A.程序的执行效率低,编写效率低,可读性强 B.程序的执行效率低,编写效率高,可读性差 C.程序的执行效率高,编写效率低,可读性强 D.程序的执行效率高,编写效率低,可读性差2.9表达式采用逆波兰式表示时可以不用括号,而且可以用基于的求值过程进行计算。与逆波兰式ab+cd+*对应的中缀表达式是。A.栈B.队列C.符号表D.散列表A.a+b+c*dB.(a+b)*c+dC.(a+b)*(c+d)D.a+b*c+d三、简答题(30分)3.1(6分)请分别写出传值调用和

11、引用调用时,下述代码的输出结果。programmain(input,output)proceduref(a,b)begina:=b-a;b:=a*b+1;end;beginx:=2;y:=6;f(y,x);print(x,y);end.3.2(8分)请简要说明进行自上而下的语法分析时,文法中为什么不能有左递归和公共左因子。3.3(10分)请计算下面文法G中各非终结符的FIRST和FOLLOW集合。该文法是LL(1)文法吗?为什么?G:E→E*T

12、TT→T-F

13、FF→(E)

14、id3.4(6分)设某程序执行到某一时刻时,控制栈中的内容如下所示(其中M是主程序,P、Q、R、S均是过程)。(a

15、)给出所有在生存期的活动的调用关系(提示:若A调用B,则记为A→B);(b)试根据访问链中的内容画出主程序和过程的嵌套关系树。四、综合题(40分)4.1(10分)设有正规式r=1(0

16、1)*0,试给出:(a)(4分)识别该正规集的NFA;(b)(6分)识别该正规集的DFA(要有计算过程);4.2(20分)设有上下文无关无法G[E]及其语法制导翻译如下(注:G中终结符id仅由单个英文字母组成,如a,b等):E→E1*T{E.place=newtemp;emit(*,E1.place,T.place,E.place;}

17、T{E.place=T.place;}T→T1+F{T.place=n

18、ewtemp;emit(+,T1.place,F.place,T.place;}

19、F{T.place=F.place;}F→(E){F.place=E.place;}

20、id{F.place=id.name;}(a)(5分)画出句子a+(b+c)*d的分析树;(b)(3分)写出当a=1、b=2、c=3、d=4时的计算结果;(*表示算术乘、+表示算术加)(c)(9分)将文法G简化为:E→E*T

21、T,T→T+F

22、F,F→id,给出其识别活前缀的DFA。(d)(3分)该文法是SLR(1)文法吗?为什么?4.3(10分)阅读以下程序代码if(y>0orx>y)while(x>y)dox=x-ye

23、lsey=0(a)(4分)请画出其代码结构图(程序流程图);(b)(6分)给出其三地址码序列。模拟试题三参考答案一、填空(10分)1.1编译程序的工作过程可划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,类型检查工作一般在语义分析阶段进行。1.2SLR(1)中L的含义是从左至右扫描输入序列。1.3常用的存储分配策略有静态存储分配和动态存储分配,其中,动态存储分配策略包括栈式分配和堆式分配。1.4用LR方法实现语法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。