编译原理试卷及答案.docVIP

  • 1623
  • 0
  • 约4.99千字
  • 约 5页
  • 2016-12-02 发布于重庆
  • 举报
编译原理试卷及答案

东 北 大 学 秦 皇 岛 分 校 课程名称: 编译原理 试卷: (B )答案 考试形式: 闭卷 授课专业: 计算机科学与技术 考试日期: 年 月 日 试卷:共 2 页 题号 一 二 三 四 总分 得分 阅卷人 填空题(每空2分,共30分) 1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段,另外还有两个重要的工 作是 理 和出错处理。表格管 2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。 3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。 4、LR(0)文法的项目集中不会出现 移进-归约 冲突和 归约-归约 冲突。 5、数据空间的动态存储分配方式可分为 栈式 和 堆式 两种。 6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。 7、确定有穷自动机DFA是 NFA 的一个特例。 8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。 选择题(每题2分,共20分) 1、LR语法分析栈中存放的状态是识别 B 的DFA状态。 A、前缀 B、可归前缀 C、项目 D、句柄 2、 D 不可能是目标代码。 A、汇编指令代码 B、可重定位指令代码 C、绝对机器指令代码 D、中间代码 3、一个控制流程图就是具有 C 的有向图 A、唯一入口结点 B、唯一出口结点 C、唯一首结点 D、唯一尾结点 4、设有文法G[S]:S→b|bB B→bS ,则该文法所描述的语言是 C 。 A、L(G)={bi|i≥0} B、L(G)={b2i|i≥0} C、L(G)={b2i+1|i≥0} D、L(G)={b2i+1|i≥1} 5、把汇编语言程序翻译成机器可执行的目标程序的工作是由 B 完成的。 A、编译器 B、汇编器 C、解释器 D、预处理器 6、在目标代码生成阶段,符号表用于 D 。 A、目标代码生成 B、语义检查 C、语法检查 D、预处理器地址分配0 7、规范归约是指 B 。 A、最左推导的逆过程 B、最右推导的逆过程 C、规范推导 D、最左归约逆过程 8、使用 A 可以定义一个程序的意义。 A、语义规则 B、词法规则 C、语法规则 D、左结合规则 9、经过编译所得到的目标程序是 D 。 A、三元式序列 B、四元式序列 C、间接三元式 D、机器语言程序或汇编语言程序 10、在一个基本块内进行的代码优化是 B 。 A、全局优化 B、局部优化 C、循环优化 D、代码外提 三、简答题(3小题,共30分) 1、已知文法G[S]:S→Ac|aB A→ab B→bc 证明该文法具有二义性(本题6分) 证明:因为该文法的句型abc存在如下两棵语法树: 所以,该文法具有二义性 3、若有文法G[S]:S→bAb A→(B|a B→Aa)。构造该文法的简单优先关系矩阵。(10分) 解: 4、构造正规表达式(a|b)* b的DFA并化简。(14分) 解:先构造其NFA如下: 确定化为DFA: 将其最小化如下: 四、综合题(20分) 设有文法G[S]:S→BA A→BS|d B→aA|bS|c 证明文法G是LL(1)文法。 构造LL(1)分析表。 写出句子adccd的分析过程。 解:(1) 可见,文法G是是LL(1)文法。 (2) (3) 备注: 学生不得在试题纸上答题(含填空题、选择题等客观题 一、 填空题(每空1分,共20分) 1.编译过程一般分为 、 、中间代码生成、 和目标代码生成五个阶段。 2.语法分析最常用的两类方法是

文档评论(0)

1亿VIP精品文档

相关文档