四川大学编译原理期末试卷4套+复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川大学期末考试试题A (闭卷)
(2012-2013学年第2学期)
一.简答题
1.符号表的作用是什么?为了达到对其插入删除等操作的复杂度为O(1),需将其组织成什么数据结构。
2.分析树和语法书的区别。
3.什么是正规集。
4.什么叫句子,什么叫句型。
5.二义文法一定不是(1)二.给定文法S→A
A→B→y
1.画出句子的分析树
2.给出句子的最右推导
三.给定正则表达式()*
1.使用构造法构造等价的。
2.用子集法对(1)得到的进行确定化和最小化,得到等价的最小。
3.使用双层多分支语句实现(2)得到的。写出伪代码。四.给定文法
→
→()
→
→0|1
写出递归下降子程序的伪代码。
五.给定文法
S→[]
X→
Y→
1.对文法中的每一个非终结符构造集和集。
2.构造(1)分析表
3.基于分析表,使用(1)对句子[]进行自顶向下的语法分析,给出每一步的动作及分析栈和输入串的变化情况。
六.给定文法
E→
T→T*
F→(E)
1.构造(0)项目的:
2.构造(1)的分析表
3.利用2得到的分析表对*进行自顶向下的语法分析。
七.
1.给出构造集合的算法描述
2.给出(1)算法的描述
四川大学期末考试试题(闭卷)
(2010-2011学年第2学期)
1. 简答题(12分)
(1) 编译器的前端和后端分别包括哪几个阶段?前后端分开有什么好处?
(2) 解释器和编译器有什么本质区别?
(3) 词法分析和语法分析的功能分别是什么?
(4) 分析树与抽象语法树有什么不同?
2. 已知字母表∑= {a, b, c},定义在∑上的语言L具有以下特征:(5分)
(1) 若出现a,则其后至少紧跟两个c;
(2) 若出现b,则其后至少紧跟一个c。
试给出可以产生语言L的正规表达式。
3. 文法如下:(8分)
→
→
→
→*
→ ()
(1)给出句子3*)58(的最左推导;
(2) 构造(1)中句子的抽象语法树。
4. 文法如下:(10分)
→ ()
(1) 此文法是否为二义文法?为什么?
(2) 试将文法改写为非二义文法,要求运算符优先级由低到高
分别是、、,且和是左结合的,是右结合的。
5. 构造题(20分) 已知正规表达式*)|(
(1) 使用构造方法构造对应的;(2) 用子集构造法将得到的确定化为;(3) 将得到的最小化。
6. (1)分析题(20分)
文法如下:A→ P → Q →
(1) 消除文法左递归,提左因子;
(2) 为所得文法的每个非终结符构造集和集;(3) 所得文法是(1)文法吗?为什么?(4) 构造所得文法的(1)分析表。7. (k)分析题(25分) 文法如下:
→
→
→
(1) 构造文法的(0)项目的;(2) 构造(1)分析表;
(3) 这个文法是(1)文法吗?如果不是,请说明原因;
(4) 给出对应输入串进行(1)分析的步骤(要求给出分析过程中每一步的详细情况,包括:分析栈、输出串及执行的动作)。四川大学期末考试试题A (闭卷)
(2008-2009学年第2学期)
一、简答题(本大题共4小题,每小题3分,共12分)
1. 按照次序写出一个完整的编译器的各个阶段以及各个阶段的输入输出。
2. 一个文法必须满足哪些条件才是(1)的?
3.给出上下文无关文法( )的定义。
4.写正规表达式:所有不以0开头的十进制偶数的集合。
二、算法题(本答题共1小题,每小题8分,共8分)
给出基于进行词法分析的表驱动的实现算法。
三、分析题(本答题共3小题,每小题分数见题首,共10分) 文法如下:S→*
1. (4分)给出句子*的最右推导;
2. (3分)构造(1)中句子的分析树;
3. (3分)这个文法产生的语言是什么?
四、文法二义性分析题(本大题共2小题,每小题5分,共10分)
文法如下:
→|()
→
1. 此文法是否为二义文法?为什么?
2. 试将文法改写成非二义文法,要求运算符是左结合的,且的优先级高于的优先级。
五、构造题(本大题共3小题,每小题分数见题首,共20分)六、
已知正规表达式()*c*b
1. (6分)使用构造方法构造对应的;
2. (8分)用子集构造法将得到的确定化为;
3. (6分)将得到的最小化。
六、(1)分析题(本大题共4小题,每小题5分,共20分)
文法如下:
S→L→
1. 消除文法左递归,并提左因子;
2. 为所得文法的每个非终结符构造集和集;
3. 构造所得文法的(1)分析表;
4. 所得文法是(1)文法吗?为什么?
七、(k)分析题(本大题共3小题,每小题分数见题首,共20分)
文法如下:S→(A) A →
B→A a b
1. (10分)构造文法的(0)项目的;
2. (6分)构造(1)分析表;
3. (4分)这个文法是(1)文法吗?请说明是或不是的原因。
四川大学期末考试试题A (闭卷)
(2007-2008学年第2学期)