收藏 分享(赏)

西电软院编译原理试题By李欢.pdf

上传人:HR专家 文档编号:5526852 上传时间:2019-03-06 格式:PDF 页数:9 大小:435.61KB
下载 相关 举报
西电软院编译原理试题By李欢.pdf_第1页
第1页 / 共9页
西电软院编译原理试题By李欢.pdf_第2页
第2页 / 共9页
西电软院编译原理试题By李欢.pdf_第3页
第3页 / 共9页
西电软院编译原理试题By李欢.pdf_第4页
第4页 / 共9页
西电软院编译原理试题By李欢.pdf_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、Xidian University Li Huan 编译原理题目解 诗云: 太初有道,道曰全真。全真七子,星聚软院 1。 重阳归天 2,分道七篇。各执一篇,授业终南。 当是时也,正乃王道长献青真人讲道西电,秘授编译原理心法一篇,以飨众生。 无量寿佛! 今晚 Li Huan 1 此处作者 指的是 目前 西电软件学院 七位有德道长 : 总掌教 大护法 武道长 、 首席 副 掌教 顾道长 、 刘道长讳西洋、沈道长讳沛意、 王道长 讳献青 、 高道长讳海昌、 陈道婆 讳静玉 。 此乃 huan 说,另有其他版本。不再赘述。 2 此处 指 软件学院开山祖师 陈真人 讳平。归天意本离世,此处特指升仙 为

2、四大 护 校 法 尊 之一 。 Xidian University Li Huan 1、 填空题( 30 分) 1.1 以阶段划分的编译器中, 语法分析 阶段以记号流为输入, 语义分析 阶段以语法树为输入。 1.2 有正规式 P=a|b 和 Q=cd 则 L(QP)=cda,cdb , L(P|Q)Q)= acd,bcd,cdcd 。 1.3 有两个因素使得有限自动机是不确定的,一个是 具有 状态转移 ,另一个是 对 同一 字符,可能有多于一个的下一状态转移 。 1.4 词法分析器有四个作用,请给出其中的任意两个: 识别记号并交给语法分析器 /滤掉源程序中的无用成分 /处理与具体平台有关的输入

3、 /调用符号表管理器或出错管理器 。 1.5 一个定义正确的上下文无关文法,非终结符集合和终结符集合的交集为空,所有出现在产生式左部的文法符号均是 非终结符 ,仅出现在产生式右部的文法符号均是 终结符 。 1.6 编译源程序的过程中,发现函数定义末尾缺少花括号,该情况是 语法 错误;发现除数为 0,该情况是 语义 错误。 1.7 推导 S=?H=?FTP =?FTc=?Fbc=?abc 是 最右 /规范 推导。 1.8 产生式 FA*F|A 提取左因子的结果为 F-AF F-*F| 。 1.9 对于算术表达式 “a*b+c”,当采用预测分析方法时,接受格局中的 “当前剩余输入 ”应该 为空 ,

4、初始格局中的 “当前剩余输入 ”应该是 a*b+c 。 1.10 最左归约是 最右推导 /规范推导 的逆过程,每步直接归约均是用 产生式左部非终结符 替换右句型中的 句柄 ,直到归约为文法开始符号。 1.11 在引用调用的参数传递方式中,调用时传递的是实参的 地址 ,要求实参必须是 左值 ,过程内部对形参的修改等价于 对实参的修改 。 Xidian University Li Huan 1.12 假定运算 +与 *都是左结合的,且运算 *比运算 +优先级高,则算术表达式 x+y*(u+v)的后缀式是 xyuv+*+ 。 1.13 拉链 -回填技术是语法制导翻译过程中使用的一种基本技术,其基本思

5、想是当三地址码中的转向不确定时 将所有转向同一地址的三地址码拉成一个链 ,而一旦所转向的地址被确定,则 为此链上所有的三地址码回填入此地址 。 2、简答题( 20 分) 2.1 简述语言的语法和语义,并举一个实际的例子加以说明。 答: 语法规定了句子形成的规则, 表述了语言的形式,或者说语言的样子和结构, 也被称为语法规则。 根据语法规则可以识别记号流中的语言结构,也被称为语法分析。语义揭示了语言本身的含义、施加于语言结构上的限制或要执行的动作。例如“猫吃老鼠”和“老鼠吃猫”都是语法正确的句子,但后者表述的语义不对。 (自己组织语言即可) 2.2 如果一个集合中的元素都是长度不小于 1 且均不

6、以 ab 开始的 a、 b 串,请给出描述该集合的正规式。 答: a|( aa|b) ( a|b) * 2.3 语法分析器在编译器中应完成什么任务? 答:语法分析器根据语法规则识别出记号流中的结构,并构造一棵能够正确反映该结构的语法树。检查输入中的错误,调用出错管理器进行适当处理。 2.4 给定文法 G: CC h T|T TT a F|F Fv 请给出该文法的终结符集合、非终结符集合,并指出文法的开始符号。 答: 终结符: h、 a、 v 非终结符: C、 T、 F 开始符号: C 2.5 给出下图中的树对应的三地址码序列。 Xidian University Li Huan 解: 2.6

7、假设数组下标从 0 开始,对于有 5 行 6 列的数组 a56,已知该数组的存储空间首地址为 a,每个元素占用存储空间大小为 w,请给出数组以行为主存放时元素 a23的地址。 答: a+( 2*6+3) * w =15w+a 3、计算题( 50 分) 3.1 给定正规式 R = a(a|b)* 用 Thompson 算法构造识别 L(R)的 NFA N; 用 “子集法 ”把 N 确定化(写出完整过程),得到识别 L(R)的 DFA D; 如果 D 不是最简 DFA,请找出最简 DFA D。 答: 笔误:红线一端从 1 开始。 Xidian University Li Huan E_闭包( 0)

8、 =0 A E_闭包( smove(A,a)) =1,2,3,5,8 B E_闭包( smove(B,a)) =2,3,4,5,7,8 C E_闭包( smove(B,b)) =2,3,5,6,7,8 D E_闭包( smove(C,a)) =2,3,4,5,7,8 C E_闭包( smove(C,b)) =2,3,5,6,7,8 D E_闭包( smove(D,a)) =2,3,4,5,7,8 C E_闭包( smove(D,b)) =2,3,5,6,7,8 D a b A B - B C D C C D D C D DFA: Move(C,a)=C Move(C,b)=D Move(D,a

9、)=C Move(D,b)=D B、 C、 D 不可分。合并为一。 DFA A: 3.2 给定文法 G: BB | bS1b S.count := S1.count + 2; Xidian University Li Huan | C S.count := C.count; C cC1 C.count := C1.count + 1; | c C.count := 1; 画出输入序列 aabbccbbaa 的分析树; 根据语义规则标注分析树上对应文法符号的 .count 值; 解: 注: .c 就是 .count, 此处为简略表示。 如上图示。 3.5 忽略过程参数的快排序的部分 Pascal 声明代码如下: program sort; var a:array10of integer; x:integer; procedure quicksort; Xidian University Li Huan var i,v:integer; function partition:integer; var i,j:integer; 给出上述代码中三个过程( sort、 quicksort 及 partition)的嵌套层次; 给出上述定义对应的嵌套层次的符号表及每个符号表中的符号(假设每个整型数占用 4 个单元) 。 解:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报