成都理工大学2012-2013软件代码开发技术(编译原理)考试试卷(
更新时间:2024-03-31 14:54:01 阅读量: 综合文库 文档下载
成都理工大学2012-2013学年第一学期《软件代码开发技术》考试试卷
一,填空题(每题2分,共30分)
1. 源程序的动态错误是源程序中的逻辑错误,它们发生在程序运行的时候,也被成为动态
语义错误。
2. 设计一个编译器,除了具有中间代码生成、代码生成和出错处理功能之外,还应具有哪
些功能:它们分别为_词法分析、语法分析、语义分析、中间代码优化、符号表管理_ 3. 设∑={0,1}上的正规集S由倒数第二个字符为0的所有字符串组成,则该正规集对应
的正规式表示为(0|1)*0(0|1)
4. 假设G是一个文法,S是文法的开始符号,如果S=>x,则称x是该文法的一个句型 5. 中间代码生成器对语法树进行遍历,生成可顺序执行的中间的代码序列,最常用的中间
代码形式是四元式
6. 最右推导也成为规范推导,推导出的句型称为右 句型。
7. LR(k)文法所识别的语言称为LR(k)语言,其中L表示从左到右扫描输入序列,R表示逆
序的最右推导,k表示确定下一动作向前看的终结符个数
8. 将栈顶的符号和文法产生式的右部符号串进行比较,若相等,则用左部符号去替换栈顶
符号串,这种操作称为规约
9. 自上而下语法分析方法遇到的主要问题是回溯和无限循环(死循环) 10. 正规文法,正规表达式和有限自动机三者在某种意义下是 等价的
11. 若为文法G构造的预测分析表中不含多重定义的条目,则称G为回溯文法。 12. 文法符号的属性有两种,一种称为 综合属性,另一种称为几成属性。 13. 一个句型中的最左 直接短语称为该句型的句柄。
14. 如果一个问发的同一个句子存在两棵分析树,则该文法是二义性的
15. 不管任何类型的文法都包括四个组成部分,它们分别是 非终结符、终结符、产生式、
开始符号
二、判断题(每题1分,共10分)
1,确定的和不确定的有限自动机都能识别正规集。(√)
2,有些语言能被确定的有限自动机识别,但不能用正规表达式表示。(×) 3,设L = {a, b, c},M = {b, c, d} , L∪M = {b , c}.(×) 4,在预测分析器的转换图中,其箭弧上的标识必须是终结符。(×)
5,一个项目集中既可以有移进项目,又有可规约项目,使得分析无法进行,这种冲突称为移进/规约冲突。(√)
6,在使用自上而下分析法时,文法应该没有左递归。(√)
7,正规集都可以由一个状态数最少的DFA识别,这个DFA是唯一的。(√) 8,二义文法是SLR(l)文法。(×)
9,正规表达式的运算操作不具有优先级运算。(×) 10,文法G的产生式为 S->(L)|a L->L,S|S 是一个直接左递归文法。(√)
三、选择题(每题1分,共10分) 1,文法G所描述的语言是D的集合。
A.文法G的字汇表V中所有符号组成的符号串 B.文法G的字汇表V的闭包V*中的所有符号串 C.由文法的开始符号推出的所有符号串 D.由文法的开始符号推出的所有终结符号串
2,一个语言的文法是 B 。
A.唯一的 B. 不唯一的 C. 个数有限的
3,若一个文法是递归的,则它所产生的句子个数 A 。 A. 必定是无穷的 B. 是有限个的 C. 根据具体情况而定 4,文法的二义性和语言的二义性是两个 A 的概念。 A. 不同 B. 相同 C. 无法判断 D. 等价 5,巴克斯范式(BNF)是一种广泛采用的 C 的工具。 A. 描述规则 B. 描述语言 C. 描述文法 D. 描述句子 6, B 是两类程序语言处理程序。 A. 高级语言程序和低级语言程序 B. 解释程序和编译程序 C. 编译程序和操作系统 D. 系统程序和应用程序
7,乔姆斯基把文法分为四种类型:0型、1型、2型和3型,其中2型文法指的是 C 。 A.短语文法 B.上下文有关文法 C. 上下文无关文法 D. 正规文法 8,语法分析常用的方法是 A 。 A. 自顶向下、自底向上
B. 自顶向下、自底向上、自左向右
C. 自顶向下、自底向上、自左向右、自右向左 D. 自左向右、自右向左
9.编译程序中的语法分析器接受以 C 为单位的输入,并产生以有关信息供以后各阶段使用。
A. 表达式 B. 产生式 C. 单词 D. 语句 10.LR语法分析栈中存放的状态是识别 B 的DFA状态。 A. 前缀 B. 可规约前缀 C. 项目 D. 句柄 四,综合题(5小题,共50分) 1, 设文法G具有下列产生式:
E -> E Or T|T T -> T and F|F
F -> not F | (E) | true | false
请指出文法G的终结符号、非终结符号和开始符号。(4分) 解答:终结符:{or,and,not,(,),true,false} 非终结符:{E,T,F} 开始符号:{E}
2, 根据1中文法G写出句子 not(true and false) 的规范推导并确定句柄。(6分) 解答:规范推导为:
E =>T =>F =>not F =>not (E) =>not (T) =>not (T and F) =>not (T and false) =>not (F and false) =>not (true and false)
由分析树: 可知句柄为:true
3, 有NFA定义如下:
N = (S={0,1},∑={a,b},s0 = 0,F = {0}, MOVE = {move(0,a) = 0,move(0,a) = 1,move(1,a) = 0}) (1) 画出N的状态转换图(4分) 解答:
a 0 a,b a 1
(2) 构造N的最小DFA D(7分) 解答:确定DFA ε_闭包({0})= {0}*A ε_闭包(smove({0},a)) = {0,1}*B ε_闭包(smove({0},b)) = {1}*C ε_闭包(smove({0,1},a))= {0,1}B ε_闭包(smove({0,1},b))= {1}C ε_闭包(smove({1},a))= {0}A ε_闭包(smove({1},b))=ε DFA为:
a A Ab a C CΠ = {{A,B}},{C}}
B b
move(A,a)= B move(A,b)={c} move(B,a)= B move(B,b)= {c}
故A,B不可分,将A为{A,B}编号0,C编号1,为{c}代表 最小DFA为
a 0 b a 1
(3) 给出串aaba,baa的识别过程(4分) 解答:
a a b a 0 0 0 1 0 b a a 0 1 0 0
识别aaba: 识别baa:
4, 设文法G具有下列产生式:
E -> E + T | T T -> T * F | F F –> id | (E)
(1) 消除文法的直接左递归:(4分) 解答:消除左递归后的文法为: E ->T E’
E’->+T E’/ε T ->F T’
T’ ->*F T’/ε F ->id/(E)
(2) 求消除左递归后文法的FIRST和FOLLOW函数:(6分) 解答:
First(F) = {id,(} First(T’) = {*,ε} First(T) = {id,(}
First(E’) = {+,ε}
First(E) = First(T) = First(F) ={id,(}
Follow(E) = {#,)}
Follow(E’) =Follow(E) ={#,)} Follow(T) ={+,#,)}
Follow(T’) =Follow(T) ={+,#,)}
Follow(F) = {*,+,#} (3) 构造其预测分析表。(4分) 解答:
first(TE’) = {id,(} first(+TE’) = {+,ε} first(FT’) = {id,(} first(*FT’) = {*,(} first(id) = id
first((E)) = {(} E * + ) ( id # TE’ TE’ ε ε E’ T +TE’ ε FT’ FT’ ε (E) id T’ *FT’ ε F
5,已知文法G3: S` -> E E -> aA|bB A -> cA|d B -> cB|d
(1) 写出句型bccB的所有短语、直接短语和句柄。(4分) 解答:
S’=>E =>bB =>bcB =>bccB
短语:bccB(S’E) ccB(B1) cB(B2) 直接短语:cB(B2) 句柄:cB(B2)
(2) 列出4个项目集I1、I2、I3、I4(如下图),请将这4个项目集补充完整。(7分)
a I1: S` ->.E E->.aA E->.bB I2:E->a.A A->.cA A->d E b I3:E. I4:E->b.B B->.cB B->.d
附加资料:
编译:高级语言可以直接转换成机器语言,也可以翻译成汇编语言,这两个过程称为编译。 解释器与编译器的主要区别:运行目标程序的控制权在解释器而不在目标程序。 解释器优点:(1)其具有较好的动态特性。(2)具有较好的可移植性。 缺点:在时间和空间上的损失较大,运行效率低。 文法的分类:
文法 产生式 语言 自动机 0型文法(短语) α->β 0型语言(短语结构语言,递归可枚举集) 图灵机 1型文法(CSG) 限制1 1型语言(CSL) 线性界线自动机 2型文法(CFG) 限制2 2型语言(CFL) 下推自动机 3型文法(正规) 限制3 3型语言(正规语言,正规集) 有限自动机
LR(1)与LALR(1)的关系:LR(1)与LALR(1)对于移进/规约冲突的解决二者是等价的,而对于规约/规约冲突,由于LALR(1)项目中合并了lookaheads可能会减弱它对规约/规约冲突的解决能力,具体有下述两个结论:
(1) LR(1) DFA中不发生的移进/规约冲突,LALR(1)DFA中也一定不会发生。 (2) 合并后的lookaheads可能会引起LALR(1)项目集中的规约/规约冲突。
a I1: S` ->.E E->.aA E->.bB I2:E->a.A A->.cA A->d E b I3:E. I4:E->b.B B->.cB B->.d
附加资料:
编译:高级语言可以直接转换成机器语言,也可以翻译成汇编语言,这两个过程称为编译。 解释器与编译器的主要区别:运行目标程序的控制权在解释器而不在目标程序。 解释器优点:(1)其具有较好的动态特性。(2)具有较好的可移植性。 缺点:在时间和空间上的损失较大,运行效率低。 文法的分类:
文法 产生式 语言 自动机 0型文法(短语) α->β 0型语言(短语结构语言,递归可枚举集) 图灵机 1型文法(CSG) 限制1 1型语言(CSL) 线性界线自动机 2型文法(CFG) 限制2 2型语言(CFL) 下推自动机 3型文法(正规) 限制3 3型语言(正规语言,正规集) 有限自动机
LR(1)与LALR(1)的关系:LR(1)与LALR(1)对于移进/规约冲突的解决二者是等价的,而对于规约/规约冲突,由于LALR(1)项目中合并了lookaheads可能会减弱它对规约/规约冲突的解决能力,具体有下述两个结论:
(1) LR(1) DFA中不发生的移进/规约冲突,LALR(1)DFA中也一定不会发生。 (2) 合并后的lookaheads可能会引起LALR(1)项目集中的规约/规约冲突。
正在阅读:
成都理工大学2012-2013软件代码开发技术(编译原理)考试试卷(03-31
2018部编版一年级下册会写字词语表03-26
4数字控制器的直接设计105-19
钢筋混凝土非线性分析第一次大作业09-28
2012年10月《机械设计》复习资料06-04
《人口原理》读书笔记12-02
读书节小学作文06-15
你和我之间最遥远的距离(600字)作文08-12
卫生事业管理-医院管理试题及答案04-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 成都
- 开发技术
- 理工大学
- 编译
- 试卷
- 原理
- 代码
- 考试
- 软件
- 2012
- 2013
- 第2套模拟题2
- 中职选拔语文问卷
- 初二数学两极分化的原因及对策探讨(数学科级胡晓文2013)
- 河南公务员考试网:行测备考之病句解析
- 停车场管理系统之车位引导系统设计 - 图文
- 部编本人教版一年级语文下册阅读短文Word
- 建筑设计总结建筑设计中150个问题和解决措施 - 图文
- 冀教版小学四年级语文上册期末试卷及答案(2016年精品)
- 统计学各章习题及参考答案
- 人教版八年级物理第七章《运动和力》教案
- 简析明治维新的成功
- 进入施工现场安全教育
- 资金使用实施方案
- 六年级语文非连续性文本阅读训练 - 图文
- 图形创意试题(a) - 综合创意思维图形
- 向国旗敬礼主题班队会
- 新华网独家对话360教育集团董事长罗成先生:机遇与挑战并存 - 图
- 管理心理学(名词解释答案)
- TD-LTE载波聚合CA开局指导书
- 复习题