下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式可以任意编辑编译原理试题 A (2003.12.4)一、回答下列问题: (30 分 )1. (6 分 ) 对于下面程序段programtest(input,output) vari,j:integer;procedureCAL(x,y:integer);beginy:=y*y;x:=x-y;y:=y-xend;begini:=2;j:=3;CAL(i,j)writeln(j)end.若参数传递的方法分别为 (1) 传值、 (2) 传地址, (3) 传名,请写出程序执行的输出结果。2. (6 分)计算文法 G(M)的每个非终结符的 FIRST和 FOLLOW集合,并判断该文 法是否是
2、 LL(1) 的,请说明理由。G(M):MTBTBa|BDb|eT|Dd|3. (4 分) 考虑下面的属性文法产生式语义规则SABCB.u:=S.uA.u:=B.v+C.vS.v:=A.vAaA.v:=3*A.uBbB.v:=B.uCcC.v:=1(1) 画出字符串 abc 的语法树 ;(2) 对于该语法树,假设 S.u 的初始值为 5,属性计算完成后, S.v 的值为多少 ?4. (4 分) 运行时的 DISPLAY表的内容是什么?它的作用是什么?5. (5 分) 对下列四元式序列生成目标代码:1A:=B*CD:=E+AG:=B+CH:=G*DR0和 R1是可用寄存器。其中, H 在基本块出
3、口之后是活跃变量,6. (5 分) 写出表达式 a+b*(c-d) 对应的逆波兰式、三元式序列和抽象语法树。二、 (8 分) 构 造一个 DFA,它接受 =a , b上所有包含 ab 的字符串三、 (6分)写一个文法使其语言为L(G)=anbncm|m,n 1, n 为奇数, m为偶数 四、 (8 分)对于文法 G(S):S bMbM (L|aLMa)1. 写出句型 b(Ma)b 的最右推导并画出语法树。2. 写出上述句型的短语,直接短语和句柄。五、 (12 分)对文法 G(S):S a|(T)T T, S|S(1) 构造各非终结符的 FIRSTVT和 LASTVT集合 ;(2) 构造算符优先
4、表 ;(3) 是算符优先文法吗 ?(4) 构造优先函数。六、 (8 分)设某语言的 do-while语句的语法形式为S doS(1)WhileE其语义解释为:S(1)的代码E 的代码真假针对自下而上的语法分析器,按如下要求构造该语句的翻译模式,将该语句翻译成四元 式:(1) 写出适合语法制导翻译的产生式;(2) 写出每个产生式对应的语义动作。七、(10 分)将语句whileC>0doifA B=0thenC:=C+DelseC:=C*D翻译成四元式。八、(10 分) 设有基本块如下:T1:=3T2:=A*BT3:=9+T1M:=A*BT4:=C-DL:=T3*T4T2:=C+DN:=T2
5、1. 画出 DAG图;2. 设 L,M,N 是出基本块后的活跃变量,请给出优化后的四元式序列。九、(8分)文法 G(S)及其 LR分析表如下,请给出串 baba#的分析过程。(1)S DbB(2)D d(3)D(4)B a(5)B Bba(6)BLR分析表ACTIONGOTObDa#SBD0r3s3121acc2s43r24r6S5r665r4r46s7r17S88r5r5( 注:答案格式为步骤 状态 符号 输入串 )5专业资料整理分享WORD格式可以任意编辑编译原理试题 A (2003.12.4)一、回答下列问题: (30分 )1. (6 分 ) 对于下面程序段 programtest(in
6、put,output) vari,j:integer; procedureCAL(x,y:integer);begin y:=y*y;x:=x-y;y:=y-xend;begin i:=2;j:=3;CAL(i,j) writeln(j)end.若参数传递的方法分别为(1) 传值、 (2) 传地址, (3) 传名,请写出程序执行的输出结果。答: (1)3(2)16(3)16 (每个值 2 分)2. (6 分) 计算文法 G(M)的每个非终结符的FIRST 和 FOLLOW集合,并判断该文法是否是LL(1) 的,请说明理由G(M):MTBTBa|B Db|eT|D d|解答:计算文法的 FIRS
7、T和 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检查文法的所有产生式,我们可以得到:41.2.3.该文法不含左递归, 该文法中每一个非终结符 M,T, B, D的各个产生式的候选首符集两两不相该文法的非终结符 T、B 和 D,它们都有候选式,而且FIRST(T) FOLLOW(T)=a,b,e,d 所以该文法不是 LL(1) 文法。 (2 分 )3. (4 分 ) 考虑下面的
8、属性文法产生式语义规则SABCB.u:=S.uA.u:=B.v+C.vS.v:=A.vAaA.v:=3*A.uBbB.v:=B.uCcC.v:=1(3) 画出字符串 abc 的语法树 ;(4) 对于该语法树,假设 S.u 的初始值为 5,属性计算完成后, S.v 的值为多少 答: (1)(2分)a b c(2)S.v 的值为 18(2分 )4. (4 分) 运行时的 DISPLAY表的内容是什么?它的作用是什么?答: DISPLAY表是嵌套层次显示表。每当进入一个过程后,在建立它的活动记录区的同时建立一张嵌 套层次显示表 diaplay. 假定现在进入的过程层次为 i ,则它的 diaplay
9、 表含有 i+1 个单元,自顶向下 每个单元依次存放着现行层、直接外层、?、直至最外层 (主程序, 0 层)等每层过程的最新活动记录的起始地址。通过 DISPLAY表可以访问其外层过程的变量。5. (5 分) 对下列四元式序列生成目标代码:A:=B*CD:=E+AG:=B+CR0和 R1是可用寄存器。H:=G*D其中, H 在基本块出口之后是活跃变量,答 : 目标代码序列LDR0BMULR0CLDR1EADDR1R0LDR0BADDR0CMULR0R1STR0H11专业资料整理分享6.(5 分) 写出表达式 a+b*(c-d)对应的逆波兰式、三元式序列和抽象语法树。答:逆波兰式: (abcd-
10、*+)(1分 )三元式序列:(2分)OPARG1ARG2(1)-cd(2)*b(1)(3)+a(2)抽象语法树: (2 分 )+答:(8 分) 构造一个 DFA,它接受=a ,b上所有包含 ab 的字符串6WORD格式可以任意编辑(2 分) 构造相应的正规式: (a|b)*ab(a|b)*13专业资料整理分享(3 分 )(3分 ) 确定化:b最小化:0 ,1,23,4,50 ,2,1,3,4,5baaba(6分) 写一个文法使其语言为m为偶数 nnmL(G)=abc|m,n 1, n 为奇数,答:文法 G(S):WORD格式可以任意编辑19专业资料整理分享S ACA aaAbb|abCccCc
11、c|cc四、 (8 分)对于文法 G(S):S bMbM (L|aLMa)1. 写出句型 b(Ma)b 的最右推导并画出语法树。2. 写出上述句型的短语,直接短语和句柄。答:S bMb b(Lb b(Ma)b1.(4 分 )2.(4分 )短语 :Ma) , (Ma) , b(Ma)b 直接短语 :Ma)句柄 :Ma)五、 (12分) 对文法 G(S):Sa|(T)TT,S|S(1)构造各非终结符的 FIRSTVT和 LASTVT集合 ;(2)构造算符优先表 ;(3)是算符优先文法吗 ?(4)答:构造优先函数。(1)(4分)FIRSTVT(S)a,(FIRSTVT(T),a,(LASTVT(S)
12、 a,) LASTVT(T) ,a,)(2)(4分)a ( )a>>>>(<<<<)>><<<>>(3) 是算符优先文法,因为任何两个终结符之间至多只有一种优先关系。 (1 分 )六、 (8 分)设某语言的 do-while语句的语法形式为S doS(1)WhileE(4) 优先函数 (3 分 )a()F44244G55523其语义解释为:S(1)的代码E 的代码真假针对自下而上的语法分析器,按如下要求构造该语句的翻译模式,将该语句翻译成四元 式:(1) 写出适合语法制导翻译的产生式;(2) 写出每个产生
13、式对应的语义动作。答:(1). 适合语法制导翻译的文法(4 分 )G(S):RdoURS(1)WhileSUE(2).(4分)RdoR.QUAD:=NXQURS(1)WhileU.QUAD:=R.QUAD;BACKPATCH(S.CHAIN,NXQ)S UEBACKPATCH(E.TC,U.QUAD);S.CHAIN:=E.FC答案二:(1)S doM 1 S(1)WhileM 2 EM (4 分 )(2) M M.QUAD:=NXQ ( 4 分)S doM 1 S(1)WhileM 2 EBACKPATCH(1S) .CHAIN,M2.QUAD);BACKPATCH(E.TC,M 1.QUA
14、D);S.CHAIN:=E.FC七、(10 分) 将语句whileC>0doifA翻译成四元式。答:100(j> ,C, 0,102)101(j ,- ,- ,112)102(jnz ,A,- ,106103(j ,- ,- ,104)104(j= ,B, 0,106)105(j ,- ,- ,109)106(+ , C, D,T1)107(:= ,T1,- ,C)108(j ,- ,- ,100)109(* ,C, D,T2)110(:= ,T2,- ,C)B=0thenC:=C+DelseC:=C*DWORD格式可以任意编辑专业资料整理分享112111 (j ,- ,- ,100)八、 (10 分) 设有基本块如下:T1:=3T2:=A*BT3:=9+T1M:=A*BT4:=C-DL:=T3*T4T2:=C+DN:=T23. 画出 DAG图;4. 设 L,M,N 是出基本块后的活跃变量,请给出优化后的四元式序列。答:1.(6分 )32. (4 分)M:=A*BS1 :=C- DL:=12*S1N: =C+D九、(8分)文法 G(S)及其 LR分析表如下,请给出串 baba#的分析过程。(1)S DbB(4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年杂志期刊项目规划申请报告模板
- 2024-2025学年延安市黄龙县三年级数学第一学期期末达标测试试题含解析
- 2024-2025学年忻州市岢岚县数学三年级第一学期期末联考试题含解析
- 2024-2025学年霞浦县数学三年级第一学期期末调研试题含解析
- 2025年果蔬设备项目规划申请报告
- 2024年版加工承揽保密条款3篇
- 2022年幼儿园中班安全教案7篇
- 学习委员工作总结(合集15篇)
- 2024年化工设备上门检修与安全评估协议3篇
- 银行员工辞职报告(13篇)
- 任务3干鲍鱼涨发
- 气体检测系统中英文对照外文翻译文献
- 湖北省武汉市洪山区2022-2023学年四年级上学期期末考试科学试题
- 新一代大学英语发展篇综合教程2答案
- 公务员调任(转任)审批表 - 阳春人才网
- 土地利用动态遥感监测规程
- 大班音乐《欢乐颂》课件
- 《钢结构》期末考试/试题库(含答案)要点-2
- 小学综合实践活动案例,小学综合实践活动案例
- 思政教师培训心得体会2021
- 零基础的住宅和城市设计知到章节答案智慧树2023年同济大学
评论
0/150
提交评论