哈尔滨工程大学本科生考试试卷。
2008-2009 年二学期)
课程编号:06020060 课程名称: 编译原理 (a卷)一、选择(共20分,每空2分)
1.编译器各处理阶段的正确顺序是( )
a.词法分析、语法分析、语义分析、**生成;
b.语法分析、词法分析、语义分析、**生成;
c.语义分析,语法分析、词法分析,**生成;
d.以上都不对。
2.以下各个编译器模块除了( )外,都无需考虑目标机器的特性。
a. 语法分析 b. 词法分析
c. **生成 d. 语义分析。
3. 表示“由a或b组成的含有偶数个b的字符串”的正则表达式是( )a.a*ba*ba* b. (a*ba*ba*)*c.(ababd. 以上都不对。
4. 编译器中语法分析的输入和输出分别是( )a.字符串、记号串 b.记号串、注释树。
c.记号串、语法树 d.语法树、注释树。
5. 下列对完全静态存储分配的含义描述错误的是( )a.每个过程只有一个活动记录;
b.每个变量都有一个固定的存储地址;
c.没有指针和动态分配;
d.允许递归调用。
6. 后缀表示的特点是:()
a.操作数的顺序与原来相同;
b.操作符的顺序就是计算发生的顺序;
c.后缀表示中无需括号;
d.以上都是。
7. 以下不是有限自动机的组成元素的是()a.开始状态b.结束状态。
c.正则表达式d.状态转换函数。
8.在文法中可能引起二义性的原因有:(
a.运算的优先级 b. 运算的结合性。
c.else的悬挂问题 d. 以上都有可能。
9.语法分析的方法大致可分为:(
a.自左向右和自右向左。
b.自顶向下和自底向上。
c.递归下降方法和ll(1)分析方法。
d.生成和匹配。
10. 过程信息表(过程活动记录)中至少应该包括有。
过程名。过程的静态层次。
过程的入口地址。
过程首部在源程序中的行号。
有关过程参数的信息。
ab. cd.
二、简答题(每题5分,共25分):
1. 什么是编译器?请简述编译器的功能及其输入输出。
2. 什么是二义性文法?请说明消除二义性的方法。
3. 请写出下面各个字符串的正则表达式。
a) 所有整数的数字串(包括负数)
b) 字符串中至多含有一个a的大写字母串。
4. 请写出a:=3+(5-a/b)的后缀表示和三元组表示。
5. 请简述有限自动机的组成元素并解释dfa和nfa的区别。
三、(15分)已知正则表达式(ab)*(a|b)1.构造该正则表达式所对应的nfa;
2.由nfa构造dfa;
3.对dfa进行最小化。
四、(15分)设有文法g[s]:
s→ x s |
x→ a s b | c
1.计算文法g[s]非终结符的first集合和follow集合;
2.若采用自顶向下分析方法,对此文法来说,在分析过程中能否避免二义性?为什么?
3.分析符号串aababb是否为此文法的句子。
五、(25分)已知文法g[a]为。
a→ (l)a | x)
l→ l,s | k
1.通过消除左递归和提取左因子(回溯),给出与g[a]等价的文法g’[a];
2.计算文法g’[a]非终结符的first集合和follow集合;
3.判断文法g’[a]是否为ll(1)文法;
4.如果文法g’[a]是ll(1)文法,构造g’[a]的分析表;
5.给出输入串(k,s,s)(x)的分析过程。
编译原理2019 B卷
一 简答题 第1题5分 题各6分,共17分 1 简述编译主要包括哪些过程及每一过程的主要工作?5分。2 如果去掉c语言中过程的递归调用特点 即 过程不允许递归调用 其它特点不变,请说明其运行时需要采用何种存储分配策略。3 已知文法g e e eit t t t f if f f e 请问该文法是否是...
2019春编译A卷
华南农业大学期末考试试卷 a卷 2012学年第2学期考试科目 编译原理 考试类型 闭卷 考试考试时间 120 分钟。学号姓名年级专业。一 简答题 本题共4小题,每小题5分,共20分 1 简述编译过程的5个阶段及各阶段的主要功能。2 简述语法制导翻译技术的基本思想。3 简述算符优先分析方法。4 含有优...
江西师大编译原理期末真题2019B卷
2012 2013学年第二学期期末考试试卷 b 一 选择题 共20分,每小题2分 1 用高级语言编写的程序经编译后产生的程序叫。a 源程序 b 目标程序 c 连接程序 d 解释程序。2 编译的两种形式是编译方式和解释方式,这两种方式最本质的区别在 a 编译方式速度快b 解释方式不产生目标 c 解释方...