《编译原理引论教学资料》编译原理2007期末考试试卷A.docVIP

  • 23
  • 0
  • 约 6页
  • 2017-01-07 发布于浙江
  • 举报

《编译原理引论教学资料》编译原理2007期末考试试卷A.doc

天津大学试卷专用纸 学院计算机科学与技术学院专业 班 年级 学号 姓名 A卷 共 5 页 第 1 页 2007~2008学年第1学期期末考试试卷 《编译原理》(A卷 共5页) (考试时间:2008年1月7日) 题号 一 二 三 四 成绩 核分人签字 得分 一、简答题(共15分。) 通过合并LR(1)文法中的同心状态得到的LALR(1)文法可能会产生哪些冲突?一定不会产生哪些冲突?为什么?(5分) 请画出编译程序的总框。如果你是一个编译程序的总设计师,应当考虑哪些问题?。(5分) Pascal语言允许过程嵌套声明,C语言的过程声明不能嵌套。在Pascal程序中,数据分为局部数据、非局部数据,而C程序中,数据分为局部数据和全局数据。因此,C程序执行时只用到了控制链(动态链),不需要使用访问链(静态链)。试根据前面的已知说明,为什么Pascal程序执行时需要使用访问链,而c程序不需要。(5分) (提示:在活动记录中,有两个域分别保存了“可选的访问链”和“可选的控制链”。想想它们保存的数据在存储管理中都起到了什么作用。) 二、简单计算题(共25分) 令文法G[E]为 E→T | E+T | E-T T→F | T*F | T/F F→(E) | i (1) 证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。 (2) 给出i+i*i、i*(i+i)的最左推导和最右推导;(10分) 天津大学试卷专用纸 学院 计算机科学与技术专业 专业 班 年级 学号 姓名 A卷 共 5 页 第 2 页 已知语言写出相应的文法:(6分) 已知语言L={WaWr | W 属于(0 | a)*,Wr表示W的逆},试构造相应的上下文无关文法。 已知语言L={1n0m1m0n | m0, n=0},试构造相应的上下文无关文法。 已知语言L={ anbnambm | m=0, n0},试构造相应的上下文无关文法 构造一个NFA, 接受字母表{a,b}上的正规式(ab|a)*b+描述的集合。 将(1)中的NFA转换为等价的DFA 将(2)中的DFA转换为最小状态DFA(写出步骤)(9分) 天津大学试卷专用纸 学院 计算机科学与技术专业 专业 班 年级 学号 姓名 A卷 共 5 页 第 3 页 证明推导题(共30分,每题10分) 1. 对下面的文法G: E→TE’ E’→+E | ε T→FT’ T’→T | ε F→PF’ F’→*F’ | ε P→(E) | a | b | ^ (1) 计算这个文法的每个非终结符的FIRST和FOLLOW集合 (2) 证明这个文法是LL(1)的。 (3) 构造它的预测分析表。 2. 下列文法由开始符号S产生一个二进制数,令综合属性val给出该数的值: S→L.L | L L→LB | B B→0 | 1 试设计求S.val的属性文法,其中,已知B的综合属性c,给出由B产生的二进位的结果值。 天津大学试卷专用纸 学院 计算机科学与技术专业 专业 班 年级 学号 姓名 A卷 共 5 页 第 4 页 3. 对于文法S→A A→BA A→ε B→aB B→b (1) 构造LR(1)分析表; (2) 给出用LR(1)分析表对输入符号串abab的分析过程。ωXγ = ωxγ的推导,则文法符号X是无用的,即从开始符号S,不能够推导出含有X的句型,也就是说X不会出现在任何句子的推导中。试设计一个算法,从文法中删除包含无用符号的产生式。 天津大学试卷专用纸 学院 计算机科学与技术专业 专业 班 年级 学号 姓名 A卷 共 5 页 第 5 页 3. 考虑下面程序 void Q(int x) { int

文档评论(0)

1亿VIP精品文档

相关文档