编译原理期末考试试卷以及答案.pdf





《编译原理期末考试试卷以及答案.pdf》由会员分享,可在线阅读,更多相关《编译原理期末考试试卷以及答案.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一.填 空 题(每 空 2 分,共 20分)1.不 同 的 编 译 程 序 关 于 数 据 空 间 的 存 储 分 配 策 略 可 能 不 同,但 大 部 分 编 译 中 采 用 的 方 案 有 两 种:静 态 存 储 分 配 方 案 和 动 态 存 储 分 配 方 案,而 后 者 又 分 为(1)和(2)o2.规 范 规 约 是 最(3)规 约。3.编 译 程 序 的 工 作 过 程 一 般 划 分 为 5 个 阶 段:词 法 分 析、(4)、语 义 分 析 与 中 间 代 码 生 成,代 码 优 化 及(5)o 另 外 还 有(6)和 出 错 处 理。4.表 达 式 x+y*z/(a+b)
2、的 后 缀 式 为(7)。5.文 法 符 号 的 属 性 有 综 合 属 性 和(8)o6.假 设 二 位 数 组 按 行 存 放,而 且 每 个 元 素 占 用 一 个 存 储 单 元,则 数 组 a1.15,1.20J某 个 元 素 ai,j的 地 址 计 算 公 式 为 包。7.局 部 优 化 是 局 限 于 一 个 工 皿 范 围 内 的 一 种 优 化。得 分 二.选 择 题(1-6为 单 选 题,7-8为 多 选 题,每 问 2 分,共 20分)1.一 个 上 下 文 无 关 文 法 G 包 括 四 个 组 成 部 分:一 组 终 结 符,一 组 非 终 结 符,一 个(),以 及
3、 一 组()。A.字 符 串 B.产 生 式 C.开 始 符 号 D.文 法 2.程 序 的 基 本 块 是 指()oA.一 个 子 程 序 B.一 个 仅 有 一 个 入 口 和 一 个 出 口 的 语 句C.一 个 没 有 嵌 套 的 程 序 段 D.一 组 顺 序 执 行 的 程 序 段,仅 有 一 个 入 口 和 一 个 出 口 3.高 级 语 言 编 译 程 序 常 用 的 语 法 分 析 方 法 中,递 归 下 降 分 析 法 属 于()分 析 方 法。A.自 左 向 右 B.自 顶 向 下 C.自 底 向 上 D.自 右 向 左 4.在 通 常 的 语 法 分 析 方 法 中,(
4、)特 别 适 用 于 表 达 式 的 分 析。A.算 符 优 先 分 析 法 B.LR分 析 法 C.递 归 下 降 分 析 法 D.L L(1)分 析 法 5.经 过 编 译 所 得 到 的 目 标 程 序 是()。A.四 元 式 序 列 B.间 接 三 元 式 序 列 C.二 元 式 序 列 D.机 器 语 言 程 序 或 汇 编 语 言 程 序 6.一 个 文 法 所 描 述 的 语 言 是();描 述 一 个 语 言 的 文 法 是()(,A.唯 一 的 B.不 唯 一 的 C.可 能 唯 一,也 可 能 不 唯 一 7.如 果 在 文 法 G 中 存 在 一 个 句 子,当 其 满
5、足 下 列 条 件()之 一 时,则 称 该 文 法 是 二 义 文 法。A.其 最 左 推 导 和 最 右 推 导 相 同 B.该 句 子 有 两 个 不 同 的 最 左 推 导 C.该 句 子 有 两 个 不 同 的 最 右 推 导 D.该 句 子 有 两 棵 不 同 的 语 法 树E.该 句 子 对 应 的 语 法 树 唯 一 8.下 面()语 法 制 导 翻 译 中,采 用 拉 链 一 回 填 技 术。A.赋 值 语 句 B.布 尔 表 达 式 的 计 算 C.条 件 语 句 D.循 环 语 句 得 分 三.解 答 题(共 60分)1.(共 15分)已 知 文 法 GE:E-*ETE|
6、(E)|iT-*|+(1)将 文 法 G 改 造 成 LL(1)文 法;(5分)(2)构 造 文 法 G 中 每 个 非 终 结 符 的 FIRST集 合 及 FOLLOW集 合;(5分)(3)构 造 LL(1)分 析 表。(5分)2.(共 12 分)给 定 文 法 GS:S-S(S)|(1)给 出 句 子()()()()的 规 范 推 导 过 程;(4分)(2)指 出 每 步 推 导 所 得 句 型 的 句 柄;(4分)(3)画 出 该 句 子 的 语 法 推 导 树。(4分)3.(共 8 分)在 一 个 移 入-规 约 分 析 过 程 中 采 用 以 下 的 语 法 制 导 翻 译 模 式
7、,在 按 一 个 产 生 式 规 约 时,立 即 执 行 括 号 中 的 动 作。A-*aB print“0”;A*c print“1”;BAb print“2”;(1)当 分 析 器 的 输 入 为 a a c b b时-,打 印 的 字 符 串 是 什 么?(3 分)(2)写 出 分 析 过 程。(5 分)4.(10 分)翻 译 循 环 语 句 while(ad)then x:=y+z。要 求:给 出 加 注 释 的 分 析 树 及 四 元 式 序 列。参 考 以 下 部 分 翻 译 模 式:(1)S f if E then M Si backpatch(E.truelist,M.quad
8、);S.nextlist:=merge(E.falselist,Si.nextlist)(2)S-*while M i E do M 2 sl backpatch(Si.nextlist,Mi,.quad);backpatch(E.truelist,M2,.quad);S.nextlist:=E.falselistemit(j,-,-,Mi.quad)(3)S f A S.nextlist:=makelist()(4)L-S L.nextlist:=S.nextlistemit(4jrelop.op,4,5id.place,id2.place,O);(5)M-*M.quad:=nextquad
9、(6)E-id i relop id2 E.truelist:=makelist(nextquad);e.falselistmakelist(nextquad+1);emitCj,-,-。)(7)S-L:二 E emit(:=,E.place,-,L-place)(8)E-E1+E2 E.place:=newtemp;emit(+,Ei.place,E2.place,E.place,)5.(共 15分)设 有 表 格 构 造 文 法 GS:S-a|A|(T)T-*T,S|S(1)计 算 文 法 GS的 FIRSTVT集 和 LASTVT集。(5 分)构 造 GS的 优 先 关 系 表,并 判
10、断 GS是 否 为 算 符 优 先 文 法。(5 分)计 算 GS的 优 先 函 数。(5 分)得 分 二.单 项 选 择 题(每 题 2 分,共 10分)1.设 有 文 法 GI:I-Il|I0|Ia|Ic|a|b|c下 列 符 号 串 中 是 该 文 法 句 子 的 有()0 abO aOcOl aaa bclO可 选 项 有:A.B.C.D.2.程 序 的 基 本 块 是 指()。A.一 个 子 程 序 B.一 个 仅 有 一 个 入 口 和 一 个 出 口 的 语 句 C.一 个 没 有 嵌 套 的 程 序 段 D.一 组 顺 序 执 行 的 程 序 段,仅 有 一 个 入 口 和 一
11、 个 出 口 3.高 级 语 言 编 译 程 序 常 用 的 语 法 分 析 方 法 中,递 归 下 降 分 析 法 属 于()分 析 方 法。A.自 左 向 右 B.自 顶 向 下 C.自 底 向 上 D.自 右 向 左 4.经 过 编 译 所 得 到 的 目 标 程 序 是()oA.四 元 式 序 列 B.间 接 三 元 式 序 列 C.二 元 式 序 列 D.机 器 语 言 程 序 或 汇 编 语 言 程 序5.运 行 阶 段 的 存 储 组 织 与 管 理 的 目 的 是()0 提 高 编 译 程 序 的 运 行 速 度 节 省 编 译 程 序 的 存 储 空 间 提 高 目 标 程
12、序 的 运 行 速 度 为 运 行 阶 段 的 存 储 分 配 做 准 备 可 选 项 有:A.B.C.D.得 分 2.(10分)已 知 文 法 GS:S-*aBc|bABA f aAb|bB-b|E(4)构 造 其 LL(1)分 析 表;(5)判 断 符 号 串 baabbb是 否 为 该 文 法 的 句 子(写 出 含 有 符 号 栈、输 入 串 和 规 则 的 分 析 过 程)。3.(10分)已 知 文 法 G 为:E f E+T|TTT*P|PP-i(1)构 造 该 文 法 的 优 先 关 系 表(不 考 虑 语 句 括 号#),并 指 出 此 文 法 是 否 为 算 符 优 先 文
13、法。(2)构 造 文 法 G 的 优 先 函 数 表。4.(8 分)在 一 个 移 入-规 约 分 析 过 程 中 采 用 以 下 的 语 法 制 导 翻 译 模 式,在 按 一 个 产 生 式 规 约 时,立 即 执 行 括 号 中 的 动 作。S-bAb print T A-(B print“2”A-*a print 3”B-*Aa)print 4(3)当 输 入 序 列 为 b(aa)a)a)b时,打 印 的 字 符 串 是 什 么?(4)写 出 移 入-规 约 分 析 过 程。5.(12 分)翻 译 循 环 语 句 while(xy)do if(a=b)then x:=2*y+a。要
14、求:给 出 加 注 释 的 分 析 树、三 地 址 码 序 列 及 相 应 的 四 元 式 序 列。参 考 以 下 部 分 翻 译 模 式:(1)S-*if E then M S)backpatch(E.truelist,M.quad);S.nextlist:=merge(E.falselist,Si.nextlist)(2)while M i E do M 2 Si backpatch(S 1.nextlist,Mi,.quad);backpatch(E.truelist,M2.quad);S.nextlist:=E.falselistemit Mi.quad)S f A S.nextlis
15、t:=makelist()(4)L f S L.nextlist:=S.nextlist)M f e M.quad:=nextquad)(6)E-*idi relop idi E.truelist:=makelist(nextquad);e.falselist:=makelist(nextquad+l);emitCj,relop.op,idi.place,id2.place,0);(7)S f L:=E emit(:=,E.place,-,L.place)(8)EEI+E2 E.place:=newtemp;emit(+,Ei.place,E2.place,E-place,)6.(8 分)Ge
16、nerate assembly code for the following sequence assuming that x,yand z are in m e m o r y locations(noticing only two registers RI and R2).S=01=0LI:if xy goto L2Z=s+aiI=i+1Goto LIL2:7.(6 分)Give out the all basic blocks of the following program fragment andconstruct the relevant flow graph(DAG).read
17、CA=0B=1L4:A=A+BifBC goto L2B=B+1goto L4L2:write A8.(8 分)Translate the assignment statement bi=b*c-b*d into(1)A syntax tree.(2)Three address instructions.答 案:栈 式 动 态 存 储 分 配 堆 式 动 态 存 储 分 配(3)左(4)语 法 分 析 目 标 代 码 生 成(6)表 格 管 理 xyz*ab+/+(8)继 承 属 性(9)a+(i-l)*20+j-l(10)基 本 块 一、选 择 题(每 问 2 分,共 2 0分)l.C B
18、2.D 3.B 4.A 5.D 6.A,C7.BCD,选 对 一 个 得 1分 且 不 超 过 满 分,选 错 一 个 扣 一 分,扣 完 为 止。8.B C D,选 对 一 个 得 1分 且 不 超 过 满 分,选 错 一 个 扣 一 分,扣 完 为 止。二、解 答 题 1.(1)文 法 存 在 左 递 归,消 除 左 递 归 后 的 文 法 为:E f(E)E E(2 分)E TEE|(2 分)T-*|+(1 分)(2)(5分)没 考 虑#扣 0.5分,其 它 错 或 少 写 一 个 扣 0.5分 FIRST(E)=(,i FIRST(E,)=*,+,FIRST(T)=*,+FOLLOW(
19、E)=),*,+,#FOWLLOW(E,尸),*,+,#FOLLOW(T)=(,i(3)每 错 一 个 扣 0.5分,全 错 或 不 写 不 得 分,扣 完 为 止,共 5 分 2.(1)规 范 推 导 过 程 如 下。写 错 推 导 符 号 扣 0.5分,错 写 或 少 写 一 步 推 导 扣 0.5分,扣 完 为 止,最 左 推 导 扣 2分,共 4 分。S n 咨 n S()n S(S)()n S(g)()=S(S)()()=S(S(S)()()n S(S()()()n S(S 0)()()=S(S()()()()n S(3)()()()=()()()()()i*+#E E 一(E)EE
20、-iE,E,E fE T E E E,-eE 一 TEEE,一 E ET*T-+(2)(1)中 加 下 划 线 的 部 分 是 句 柄,标 识 如(D o 每 少 写 一 个 句 柄 扣 0.5分,扣 完 为 止,共 4 分。(3)每 少 写 步 扣 0.5分,扣 完 为 止,共 4 分。d Iq r q、/I3.(1)打 印 的 字 符 串 是:12020(错 一 个 扣 0.5分,共 3分)(2)归 约 过 程 中 错 一 步 扣 0.5分,扣 完 为 止。(共 5分)4.(1)每 少 写 一 步 扣 0.5分,扣 完 为 止,共 5分。(2)少 写 一 个 四 元 式 扣 0.5分,全
21、错 或 不 写 不 得 分,回 填 错 误 扣 0.5分,共 5分。四 元 式 序 列 为:100(j,c,J,104)103(;,1 0 6)104(+,y,z,n)1O5(:=,T1,_,X)106(j,_,100)5.(1)少 写 一 个 扣 1分,全 错 或 不 写 不 得 分,共 5分。FIRSTVT(S)=a,八,(FIRSTVT(T)=,a,A,(LASTVT(S)=a,A,)LASTVT(T)=a,A,),)优 先 表 如 下。每 错 一 个 扣 0.5分,全 错 或 不 写 不 得 分,扣 完 为 止,共 3分 文 法 GS没 有 两 个 非 终 结 符 相 邻 的 情 况,
22、且 其 优 先 表 中 任 一 对 终 结 符 之 间 最 多 满 足、三 种 关 系 中 的 一 种,因 此 是 GS算 符 优 先 文 法。(2 分)可 以 不 考 虑 终 结 符 或 者 a A()#A A(z#z(3)优 先 函 数。可 以 不 考 虑 终 结 符 每 错 一 个 扣 0.5分,全 错 或 不 写 不 得 分,扣 完 为 止,共 5 分。a A()#f 6 6 2 6 6 2manager)2 继 承 属 性(inherited attribute)3 局 部 优 化(local optimization)4 四 元 式(quatriple)5E+*()id四、单 项
23、选 择 题(每 题 2分,共 10分)l.B 2.D 3.B 4.D 5.C五、解 答 题(共 70分)1.(1)L(G)=0mlm|M l 共 2 分,2 写 成 扣 1 分(2)S=0Sl=00Sll=000111,共 3 分,=写 成-扣 1 分(3)共 3分,错 处 扣 0.5分,扣 完 为 止 2.(1)空 白 表 格 也 可 以 填 写“错 误”字 样,共 4 分,错 一 个 扣 0.5分,扣 完 为 止(2)共 6分,其 中 判 断“baabbb是 该 文 法 句 子”为 2 分,其 他 错 一 个 扣 0.5a b c$(#)S S-aB c S-bA BA A f aAb A
24、-*bB B-b B f E B f 分,扣 完 为 止 符 号 栈 输 入 串 规 则$s baabbb$BAb baabbb$SbAB$BA aabbb$A f aAb$BbAa aabbb$BbA abbb$A f aAb$BbbAa abbb$BbbA bbb$Ab$Bbbb bbb$Bbb bb$B-E$Bb b$b$success$3.(1)共 6 分,其 中 判 断“该 文 法 为 算 符 优 先 文 法”为 2 分,其 他 错 一 个 扣 0.5分,扣 完 为 止+*i+(2)共 4 分,错 一 个 扣 0.5分,扣 完 为 止+*if 2 4 4g1 3 54.(1)3424
25、2421,共 4 分,错 一 个 扣 0.5 分(2)共 4 分,错 一 个 扣 0.5分,扣 完 为 止stack Input string action$b(aa)a)a)b$b(aa)a)a)b$shift$b(aa)a)a)b$abbb$shift$b(aa)a)a)b$bbb$shift$b(aa)a)a)b$bb$shift$b(a a)a)a)b$shift$b(A a)a)a)b$reduce,A a$b(Aa)a)a)b$shift$b(Aa)a)a)b$shift$b(B a)a)b$reduce,B-*Aa)$b(A a)a)b$reduce,A-*(B$b(Aa)a)b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 期末考试 试卷 以及 答案

限制150内