期末复习综合后的.docx
《期末复习综合后的.docx》由会员分享,可在线阅读,更多相关《期末复习综合后的.docx(49页珍藏版)》请在冰豆网上搜索。
![期末复习综合后的.docx](https://file1.bdocx.com/fileroot1/2022-11/26/6342ab00-b0e3-4f79-8db5-2b893d6deca9/6342ab00-b0e3-4f79-8db5-2b893d6deca91.gif)
期末复习综合后的
选择题
第一章
1.____C______不是编译程序的组成部分。
A.词法分析程序B.代码生成程序
C.设备管理程序D.语法分析程序
2.若将A语言的源程序翻译成B语言的源程序,翻译的实现语言是Y语言,则称Y语言为(C)
A.源语言B.目标语言
C.宿主语言D.编译语言
3.从语言类型或实现机制不同角度来分类,编译程序不包括___D________。
A.汇编程序B.编译程序
C.解释程序D.连接程序
4.编译程序是对(D)
A.汇编程序的翻译B.高级语言程序的解释执行
C.机器语言的执行D.高级语言的翻译
5.和编译器相关的伙伴程序不包括(D)
A.编辑器B.预处理器C.装入程序D.汇编程序
6.(A)是一种典型的解释型语言。
A.BASICB.CC.FORTRAND.PASCAL
7.把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。
A.编译器(编译程序)B.汇编器(汇编程序)C.解释器(解释程序)D.预处理器(预处理程序)
8.用高级语言编写的程序经编译后产生的程序叫(B)
A.源程序 B.目标程序C.连接程序D.解释程序
9通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。
A.模拟执行器B.解释器 C.表格处理和出错处理 D.符号执行器
10.编译程序绝大多数时间花在(D)上。
A.出错处理B.词法分析C.目标代码生成D.表格管理
11.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分(A)错误。
A.语法B.语义C.语用D.运行
12.编译原理各阶段工作都涉及(B)
A.词法分析B.表格管理C.语法分析D.语义分析
13.将编译程序分成若干个“遍”是为了(B)
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
14.下面对编译原理的有关概念描述正确的是__D_____。
A.目标语言只能是机器语言B.编译程序处理的对象是源语言
C.Lex是语法分析自动生成器D.解释程序属于编译程序
第二章
1.一个上下文无关文法G包括四个组成部分:
一组终结符,一组非终结符,一个(C),以及一组(B)。
A.字符串B.产生式C.开始符号D.文法
2.一个文法所描述的语言是(A);描述一个语言的文法是(C)。
A.唯一的B.不唯一的C.可能唯一,也可能不唯一
3.文法G所描述的语言是__C___的集合。
A.文法G的字母表V中所有符号组成的符号串
B.文法G的字母表V的闭包V*中的所有符号串
C.由文法的开始符号推出的所有终极符串
D.由文法的开始符号推出的所有符号串
4.若一个文法是递归的,则它所产生的语言的句子A
A.是无穷多个 B.是有穷多个
C.是可枚举的 D.个数是常量
5.正规式M1和M2等价是指(C)
A.M1和M2的状态数相等B.M1和M2的有向弧条数相等
C.M1和M2所识别的语言集相等D.M1和M2状态数和有向弧条数相等
6.如果L(M1)=L(M2),则M1与M2(A)
A.等价B.都是二义的
C.都是无二义的D.它们的状态数相等
7.有限状态自动机能识别(C)
A.上下文无关文法B.上下文有关文法
C.正规文法D.短语文法
8.如果文法G是无二义的,则它的任何句子(A)
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
9.由文法的开始符经0步或多步推导产生的文法符号序列是(C)
A.短语B.句柄C.句型D.句子
10.产生正规语言的文法为(D)
A.0型B.1型C.2型D.3型
11.(B)不是DFA的成分
A.有穷字母表B.多个初始状态的集合C.多个终态的集合D.转换函数
12.设有字母表∑={a,b,xy},则字符串aabbxy的长度是(C)
A.3B.4C.5D.6
13.给定文法A→bA|ca,为该文法句子的是(C)
A.bbaB.cabC.bcaD.cba
14.设有文法G[S]:
SS1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有(D)
A.ab0B.a0c01C.a0b0aD.bc10
15.文法G产生的(D)的全体是该文法描述的语言。
A.句型B.终结符集C.非终结符集D.句子
16.若文法G定义的语言是无限集,则文法必然是(A)
A.递归的B.上下文无关的C.二义性的D.无二义性的
17.文法:
G:
S→xSx|y所识别的语言是(D)。
A、xyxB、(xyx)*C、x*yx*D、xnyxn(n≥0)
18.乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。
其中3型文法是(B)
A.非限制文法B.正则文法C.上下文有关文法D.上下文无关文法
19.两个有穷自动机等价是指它们的(C)。
A.状态数相等B.有向弧数相等
C.所识别的语言相等D.状态数和有向弧数相等
20.设字符串ω=xyzabc,则下面哪个不是字符串ω的子串(C)
A.xyzB.abcC.xyabD.zab
21.正则表达式R1和R2等价是指(C)
A.R1和R2都是定义在一个字母表上的正则表达式
B.R1和R2中使用的运算符相同
C.R1和R2代表同一正则集
D.R1和R2代表不同正则集
22.设有A,B两个符号串集合,其中A={a,abc},B={xx,yy},则AB=(A)
A.{axx,ayy,abcxx,abcyy}
B.{axxyy,abcxxyy,abcyy,abcabc,xxxx,yyyy}
C.{aabc,axx,}
D.R1和R2代表不同正则集
23.设有A,B两个符号串集合,其中A={a,abc},B={xx,yy},则A2=(A)
A.{aa,aabc,abca,abcabcy}
B.{a,abc,aa,abcabc}
C.{abcabc,abca,abcaa,aaaa}
D.{aa,aaa,aaaa,…,abcabc,abcabcabc,abcabcabcabc,…}
24.设字符串ω=xyzabc,则下面哪个不是字符串ω的真前缀(C)
A.xyzB.xyC.xyzabcD.x
25.设字符串ω=xyzabc,则下面哪个不是字符串ω的真后缀(C)
A.abcB.cC.xyzabcD.bc
26.设字符串ω=xyzabc,则下面哪个不是字符串ω的前缀(C)
A.xyzB.xyC.yzD.xyzabc
27.设字符串ω=xyzabc,则下面哪个不是字符串ω的后缀(C)
A.abcB.xyzabcC.xyzD.zabc
28.设有文法G的字符集V,下面描述正确的是D。
A)V=VTB)V=VNC)V=VT∩VND)V=VT∪VN
29.给定文法A→bA|cc,则符号串①cc②bcbc③bcbcc④bccbcc⑤bbbcc中,是该文法句子的是(D)
A.①B.③④⑤C.②④D.①⑤
30如图所示自动机M,请问下列哪个字符串不是M所能识别的(D)。
A.bbaaB.abbaC.ababD.Aabb
31.有非确定的有限自动机如下图所示
设I={1},则Iα为A
A.{5,4,6,2,7}B.{3,8}C.{1,2,3,8}D.{5,6,2,3,8}
32.有题27所示的图,则设I={5},则ε-closure(I)=B
A.{5,6}B.{5,6,2}C.{5,6,2,3,8}D.{1,5,6,2,3}
第三章
1.词法分析器的输入是(B)
A.单词符号串B.源程序
C.语法单位D.目标程序
2.词法分析应遵循(C)
A.语义规则B.语法规则
C.构词规则D.等价变换规则
3.词法分析器的输出结果是(C)
A.单词的种别编码B.单词在符号表中的位置
C.单词的种别编码和属性值D.单词属性值
4.词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,(B)
A.词法分析器应作为独立的一遍
B.词法分析器作为子程序较好
C.词法分析器分解为多个过程,由语法分析器选择使用.
D.词法分析器并不作为一个独立的阶段
5.词法分析器不能(D)
A.识别出数值常量B.过滤源程序中的注释
C.扫描源程序并识别记号D.发现括号不匹配
6.词法分析器用于识别(C)
A.句子B.产生式C.单词D.句型
7.下面B不是预处理程序完成的功能。
A.滤掉源程序中的注释B.查找源程序中无用字符
C.进行宏替换D.实现文件包含的嵌入和条件编译的嵌入
8.识别各类单词的FA(状态转换图)合并后得到的FAA。
A.可能是NFA也可能是DFAB.一定是DFA
C.一定是NFAD.是最小的DFA
9.Lex是A自动生成工具
A.词法分析B.语法分析C.语义分析D.中间代码生成
10.语言中具有独立一一班的最小语法单位是
A.字符B.单词C.句子D.短语
第四章
1.高级语言编译程序常用的语法分析方法中,LL
(1)分析法属于(B)分析方法。
A.自左向右B.自顶向下C.自底向上D.自右向左
2.下列文法中,C是LL
(1)文法。
(S是公理)
A.S→aSb|abB.S→ab|Sab
C.S→aS|bD.S→aS|a
3.设有文法G(S为开始符号):
S→Ap|Bq
A→a|cA
B→b|dB
FIRST(Ap)={A}
A.a,cB.b,dC.p,qD.其他答案
4.文法G:
S→b|∧|(T)
T→T∨S|S
则FIRST(T)=(A)
A.{b,∧,(}B.{b,∧,)}
C.{b,∧,(,∨}D.{b,∧,),∨}
5.采用自上而下分析,必须(C)
A.消除左递归B.消除右递归
C.消除回溯D.提取公共左因子
6.语法分析所依据的规则是A
A.语法规则B.词法规则C.语义规则D.等价原则
7.在自顶向下的语法分析方法中,分析的关键是(D)
A.寻找句柄B.寻找句型C.消除递归D.选择候选式
8.在语法分析处理中,FIRST集合、FOLLOW集合均是(B)
A.非终结符集B.终结符集C.字母表D.状态集
9.编译程序中语法分析器接收以(A)为单位的输入。
A.单词B.表达式C.产生式D.句子
10.编译过程中,语法分析器的任务就是(B)
A.分析单词是怎样构成的B.分析单词串是如何构成语句和说明的
C.分析语句和说明是如何构成程序的D.分析程序的结构
11.(D)文法不是LL
(1)的。
A.递归B.右递归C.2型D.含有公共左因子的
12.下面关于LL
(1)分析器的叙述中错误的是(D)
A.一个LL
(1)分析器的逻辑结构由总控程序、LL
(1)分析表和分析栈三部分构成
B.LL
(1)分析栈中存放分析过程中的文法符号
C.分析表矩阵元素M[A,a]指出非终结符A,面临输入符号a时,应选用的候选式(或产生式)。
若A不该面临a,则放一出错标志。
D.在分析过程中如果出现分析栈栈顶符号和字符串当前扫描的字符都是终结符并且相等,则表示分析成功
13.高级语言编译程序常用的语法分析方法中,递归下降分析法属于(B)分析方法。
A.自左向右B.自顶向下C.自底向上D.自右向左
14.B是编译程序的核心部分
A.词法分析B.语法分析C.语义分析D.代码优化
15.下面对自上而下分析描述错误的是B
A.自上而下分析过程是选择产生式的合适候选式进行推导的过程;
B.自上而下分析是从给定的输入串$开始,逐步进行“归约”,直至归约到文法的开始符号;
C.自上而下分析是面向目标的;
D.自上而下分析是一种产生的方法。
16.文法G:
S→b|∧|(T)
T→T∨S|S
则Follow(T)=(A)
A.{),∨}B.{b,∧,)}
C.{b,∧,(,∨}D.{b,∧,),∨}
第五章
1.在通常的语法分析方法中,(A)特别适用于表达式的分析。
A.算符优先分析法B.LR分析法
C.递归下降分析法D.LL
(1)分析法
2.语法分析方法中的LR分析法属于C分析方法。
A.自左至右B.自上而下C.自下而上D.自右至左
3.自下而上语法分析的主要分析动作是C。
A.移进B.推导C.归约D.匹配
4.下面对自下而上分析描述正确的是B、D
A.自下而上分析过程是对句子实施推导的过程;
B.自下而上分析是从给定的输入串$开始,逐步进行“归约”,直至归约到文法的开始符号;
C.自下而上分析是面向目标的;
D.自下而上分析是规范归约的过程。
5.在规范归约中,用(B)来刻画可归约串。
A.直接短语B.句柄C.最左素短语D.素短语
6.如果文法是无二义的,那么规范归约是指(B)
A.最左推导的逆过程B.最右推导的逆过程
C.规范推导D.最左归约的逆过程
7.文法G:
S→S+T|T
T→T*P|P
P→(S)|i
句型P+T+i的短语有(B)
A.i,P+TB.P,P+T,i,P+T+iC.P+T+iD.P,P+T,i
8.在自底向上的语法分析方法中,分析的关键是(A)
A.寻找句柄B.寻找句型C.消除递归D.选择候选式
9.下面关于语法分析的说法错误的是(C)
A.自上而下语法分析是一种面向目标的方法
B.自下而上语法分析是一种基于目标的方法
C.自上而下和自下而上语法分析的分析过程都是推导过程
D.语法分析是编译程序的核心部分
10.简单优先分析每次归约的是(C)
A.最左直接短语B.直接短语C.最左素短语D.控制结点
12.在下述的编译方法中,自底向上的方法有(B)
①算符优先分析②递归下降分析③LL
(1)分析④LR分析
A.③④B.②③C.①②D.①③
13.一个句型中的(A)称为该句型的句柄。
A.最左直接短语B.最右直接短语C.终结符D.非终结符
14.自下而上语法分析的主要分析动作是B
A.移进B.规约C.推导D.匹配
15.下面哪个是语法分析程序的自动生成工具(B)
A.LexB.YACCC.PASD.FLEX
16.算符文法是指的文法。
①没有形如U→...VW...的规则(U,V,WVN)
②VT中任意两个符号之间至多存在一种算符优先关系
③没有相同右部的规则
④没有形如U→ε的规则
A.①B.①和②C.①、②和③D.①、②、③和④
第六章
1.中间代码生成时所依据的是__C_________。
A.语法规则B.词法规则
C.语义规则D.等价变换规则
2.在编译程序中与生成中间代码的目的无关的是__D_______。
A.便于目标代码优化B.便于存储空间的组织
C.便于目标代码的移植D.便于编译程序的移植
3.四元式之间的联系是通过(B)实现的。
A.指示器B.临时变量C.符号表D.程序变量
4.后缀式ab+cd+/可用表达式(B)来表示。
A.a+b/c+dB.(a+b)/(c+d)C.a+b/(c+d)D.a+b+c/d
5.使用间接三元式表示法的主要目的(A)
A.便于优化处理B.便于表的修改
C.节省存储空间D.生成中间代码更容易
6.表达式(┐A∨B)∧(C∨D)的逆波兰表示为(B)
A.┐AB∨∧CD∨B.A┐B∨CD∨∧
C.AB∨┐CD∨∧D.A┐B∨∧CD∨
7.后缀式abc−+−d+可用表达式(B)来表示。
A.(−(a+b)−c)+dB.−(a+(b−c))+dC.−(a−(b+c))+dD.(a−(−b+c))+d
8.表达式A*(B-C*(C/D))的后缀式为(B)。
A.ABC-CD/**B.ABCCD/*-*C.ABC-*CD/*D.以上都不对
9.在编译过程中,引起源程序发生质的变化的阶段是(B)
A.语法分析B.语义分析C.词法分析D.中间代码生成
10.目前大多数编译程序语义分析普遍采用的方法是(A)
A.语法制导翻译B.操作语义翻译C.属性文法翻译D.规格说明翻译
11.语法制导定义中的每个文法符号都有一个与之相关的属性集合,集合中的属性分为哪两类()
A.综合属性、继承属性B.综合属性、操作属性
C.操作属性、继承属性D.指称属性、继承属性
12.静态语义检查不包括下面那个方面的检查(D)
A.类型检查B.控制流检查C.一致性检查D.语法检查
13.下面关于语法制导中文法符号属性的叙述中,错误的是(B)
A.综合属性用于“自下而上”传递信息
B.继承属性用于“自下而上”传递信息
C.综合属性由相应语法分析树中结点的分枝结点(即子结点)属性计算得到,其传递方向沿语法分析树向上传递,从分枝结点到根结点
D.一个结点的继承属性值是由此结点的父结点和/或兄弟结点的某些属性来决定的
14.下面不是对符号表的操作的是(D)
A.填入名称B.填写修改信息C.删除D.拆分
15.下面关于符号表的组织方式的叙述中,错误的是(D)
A.如果整个程序采用一张符号表,则填表、查表比较方便,结构简单,但是浪费大量空间
B.对于不同种类的名字分别建立各种符号表,节省空间,但是填表和查表不方便。
C.折中办法:
大部分共同信息组成统一格式的符号表,特殊信息另设附表,两者用指针连接。
D.可以多个程序共用一张符号表
16.常用的中间代码形式不含(D)
A.三元式B.四元式C.逆波兰式D.语法树
17.符号表的每一项均包含(A)。
A.名字栏 信息栏B.名字栏类型栏
C.信息栏类型栏 D.名字栏值栏
18.在编译阶段进行的语义检查是A
A.静态语义检查B.动态语义检查C.控制流检查D.类型检查
19.下面关于三元式的叙述,错误的是D
A.三元式是按相应表达式的实际运算顺序出现的
B.三元式间的相互引用非常频繁,而这些引用又是通过编号来实现的
C.在优化时,要删除或挪动三元式会造成大量修改的局面
D.在三元式表示中,每个语句的位置是不能作为该三元式的结果被其它三元式引用的。
20.在语法制导翻译中,不采用拉链-返填技术的语句是B
A.转向语句B.赋值语句C.条件语句D.循环语句
21.语言中允许标号先定义后使用,也允许先使用后定义,A是先定义后使用的
A.定义性出现B.使用性出现
第七章
1.动态存储分配可采用的分配方案是__B、E_______。
A.队式存储分配B.栈式存储分配
C.线性存储分配D.链式存储分配
E.堆式存储分配
2.静态存储分配允许程序出现____C________。
A.递归过程B.可变体积的数据项目
C.静态变量D.待定性质的名字
3.运行阶段的存储组织与管理的目的是(C)。
①提高编译程序的运行速度②节省编译程序的存储空间
③提高目标程序的运行速度④为运行阶段的存储分配做准备
可选项有:
A.①②B.②③C.③④D.④②
4.关于名字到值的映射的叙述错误的是D
A.环境把名字映射到左值,而状态把左值映射到右值
B.赋值改变状态,但不改变环境
C.如果环境将名字x映射到存储单元s,我们就说x被绑定到s
D.状态代表一个名字映射到一个存储地址的函数,环境代表一个把存储地址映射到哪里所存放的值的函数
5.执行时,将形参名改成实际变量的名,即计算变量地址的参数传递方法是
A.传名B.传地址C.传值D.传结果
6.目标代码运行时的数据空间不包括:
A.用户定义的各种类型的数据对象所需的存储空间
B.保留中间结果和传递参数的临时工作单元
C.调用过程时所需的连接单元
D.生成的目标代码
7.下列关于活动记录的叙述中,正确的是A
A.活动记录是为了管理过程在一次执行中所需要的信息
B.活动记录中不包括局部数据空间
C.活动记录中不保存机器状态信息
D.活动记录中的返回地址RA域用于存放调用过程或函数返回后的地址
第八章
1.程序的基本块是指(D)。
A.一个子程序B.一个仅有一个入口和一个出口的语句
C.一个没有嵌套的程序段D.一组顺序执行的程序段,仅有一个入口和一个出口
2.循环优化中可以实施的具体优化措施包括_A_____和(或)___B___。
A)代码外提B)强度削弱
C)函数内嵌D)寄存器优化
3.优化可生成_D____的目标代码。
A.运行时间较短B.占用存储空间较小
C.运行时间短但占用内存空间大D.运行时间短且占用存储空间小
4.下列__C____优化方法不是针对循环优化进行的。
A.强度削弱B.删除归纳变量
C.公共子表达式删除D.代码外提
5.代码优化的