编译原理试题及答案3复习课程.docx
- 文档编号:953311
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:23
- 大小:112.07KB
编译原理试题及答案3复习课程.docx
《编译原理试题及答案3复习课程.docx》由会员分享,可在线阅读,更多相关《编译原理试题及答案3复习课程.docx(23页珍藏版)》请在冰豆网上搜索。
编译原理试题及答案3复习课程
编译原理复习题
一、填空题:
1、编译方式与解释方式的根本区别在于(是否生成目标代码)。
2、对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。
3、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:
(编译阶段)和(运行阶段)。
4、如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分成三个阶段:
(编译阶段)、(汇编阶段)和(运行阶段)。
5、自顶向下语法分析方法会遇到的主要问题有(回溯)和((左递归带来的)无限循环)。
6、LL(k)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“k”的含义是(向输入串中查看K个输入符号)。
7、LL
(1)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“1”的含义是(向输入串中查看1个输入符号)。
8、自顶向下语法分析方法的基本思想是:
从(识别符号)出发,不断建立(直接推导),试图构造一个推导序列,最终由它推导出与输入符号相同的(符号串)。
9、自底向上语法分析方法的基本思想是:
从待输入的符号串开始,利用文法的规则步步向上进行(直接归约),试图(归约)到文法的(识别符号|开始符号)。
10、LR(0)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“0”的含义是(向貌似句柄的符号串后查看0个输入符号)。
11、LR
(1)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。
12、SLR
(1)分析法的名字中,“S”的含义是(简单的),“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。
13、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。
14、在编译程序中安排中间代码生成的目的是(便于代码优化)和(便于目标程序的移植)。
15、表达式-a+b*(-c+d)的逆波兰表示为(a-bc-d+*+)。
16、表达式a+b*(c+d/e)的逆波兰表示为(abcde/+*+)。
17、表达式a:
=a+b*c↑(d/e)/f的逆波兰表示为(aabcde/↑*f/+:
=)。
18、文法符号的属性有(继承属性)和(综合属性)两种。
19、一个文法符号的继承属性是通过语法树中它的(兄弟结点与父)结点的相应文法符号的属性来计算的。
20、一个文法符号的综合属性是通过语法树中它的(子)结点的属性来计算的。
21、语法制导的编译程序能同时进行(语法)分析和(语义)分析。
22、编译过程中扫描器所完成的任务是从(源程序)中识别出一个个具有(独立语法意义的单词)。
23、确定的有穷自动机是一个(五元组),通常表示为(DFA=(K,∑,M,S,Z))。
24、已知文法G(E):
E->T|E+T|E-T
T->F|T*F|T/F
F->(E)|i
该文法的开始符号是(E),终结符号集合VT是({+,-,*./,(,),i}),非终结符号集合VN是({E,T,F}),句型T+T*F+i的短语有(T+T*F+I,T*F第一个T,i)。
25、已知文法G(E):
E->T|E+T|E-T
T->F|T*F|T/F
F->(E)|i
改写该文法以消除直接左递归,改写后的文法为:
E->(+TE‘|-TE‘|ε),T->(FT‘),(T‘->*FT‘|ε),F->((E)|i)。
26、已知文法G(Z):
Z->U0|V1
U->Z1|1
V->Z0|0
请写出全部由此文法描述的只含四个符号的句子:
(0101,1010,1001,0110)。
该文法是Chomsky(3)型文法。
27、Chomsky定义的四种形式语言文法分别为:
(0型)文法--又称(短语文法)文法,(1型)文法--又称(上下文有关)文法,(2型)文法--又称(上下文无关)文法,(3型)文法--又称(正则)文法。
28、文法G(S):
S->AB
A->aAb|ab
B->Bc|ε
其描述的语言L(G[S])=(anbncm,n≥1,m≥0)。
29、文法G(S):
S->SAS|b|c
A->aaA|a
其描述的语言L(G[S])=(b,C,或者是以b开头、以c结尾的、中间是任意个由b或c间隔开的奇数个a组成的符号串)。
30、过程与过程引用中信息交换的方法是(全局变量的使用)和(参数传递)。
31、形式参数和实在参数之间的对应关系通常按(它们在源程序中的位置)来确定。
32、按传结果的方式进行形实参数结合,是一种把(传地址)和(传值)的特点相结合的参数传递方式。
33、在PASCAL中,由于允许用户动态申请与释放内存空间,所以必须采用(堆)存储分配方式。
34、编译程序进行数据流分析的目的是(为了进行全局优化)。
35、根据所涉及程序的范围,优化可分为(局部优化)、(循环优化)和(全局优化)三种。
36、局部优化是局限于一个(基本块)范围内的一种优化。
37、词法分析阶段的错误主要是(拼写错误),可通过(最小距离匹配)的办法去纠正错误。
38、对错误的处理方法一般有(校正法)和(局部优化法)。
39、源程序中的错误一般有(词法错误)、(语法错误)、(语义错误)和(违反环境限制的错误)四种。
40、翻译程序是这样一种程序,它能够将(用甲语言书写的程序)转换成与其等价的(用乙语言书写的程序)。
41、编译程序的工作过程一般可以划分成(词法分析、语法分析、语义分析、中间代码生成、代码优化)等五个基本阶段。
42、编译程序的工作过程还会伴有(表格处理)和(出错处理)。
二、选择题:
1、在使用高级语言编程时,首先可通过编译程序发现源程序的全部(A)错误和部分(B)错误。
A、语法B、语义C、语用D、运行
2、程序语言的处理程序是一种(A)。
A、系统软件B、应用软件C、实时系统D、分布式系统
3、(B)是两类程序语言处理程序,它们的主要区别在于是否生成目标代码。
A、高级语言和低级语言B、解释程序和编译程序C、编译程序和操作系统D、系统程序和应用程序
4、汇编语言是将(A)翻译成(B);编译程序是将(C)翻译成(D)。
A、汇编语言程序B、机器语言程序C、高级语言程序D、汇编或机器语言程序e、汇编或高级语言程序F、机器或高级语言程序
5、编译程序与具体的机器(A),与具体的语言(B)。
A、有关B、无关
6、编译程序生成的目标程序(B)是可执行的程序。
A、一定B、不一定
7、编译程序生成的目标程序(B)是机器语言程序。
A、一定B、不一定
8、把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。
A、编译器B、汇编器C、解释器D、预处理器
9、编译过程中,语法分析器的任务是(B)。
(1)分析单词是怎样构成的;
(2)分析单词串是如何构成语句和说明的;(3)分析语句和说明是如何构成程序的;(4)分析程序的结构
A、
(2)(3)B、
(2)(3)(4)C、
(1)
(2)(3)D、
(1)
(2)(3)(4)
10、文法G所描述的语言是(D)的集合
A、文法G的字母表V中所有符号组成的符号串;B、文法G的字母表V的闭包V*中的所有符号串;
C、由文法的识别符号推出的所有符号串;D、由文法的识别符号推出的所有终结符符号串;
11、描述语言L={ambn|n>m>1}的文法为( D)。
A、Z->Abb,A->aA|a,B->bB|bB、Z->ABb,A->Aa|a,B->aBb|b
C、Z->Ab,A->aAb|aD、Z->aAb,A->Ab|aAb|@
12、一个句型中的最左( B )称为该句型的句柄。
A、短语B、简单短语C、素短语D、终结符号
13、文法的二义性和语言的二义性是两个( A )的概念。
A、不同B、相同C、无法判断
14、上下文无关文法(A )产生语言L={ambnci|i>1,n>1}
A、可以 B、不可以
15、( B )正规文法能产生下面的语言:
L={ambn|n>1}
A、存在一个 B、不存在任何 c、无法判断
16、编译程序中的语法分析器接受以( C )为单位的输入,并产生有关信息供以后各阶段使用。
A、表达式 B、产生式 C、单词 D、语句
17、高级语言编译程序常用的语法分析方法中,递归下降分析法属于(B)分析方法。
A、自左至右B、自顶向下C、自底向上D、自右至左
18、算符优先分析法每次都是对(E)进行归约,简单优先分析法每次都是对(C)进行归约。
A、最左短语B、简单短语C、句柄D、素短语E、最左素短语
19、文法G(S):
S—>aTb|,,T->R,R—>R/S|S的句型aR/aSb/aTb,b的最左素短语为(B)。
A、aTbB、aSbC、SD、R/E、,
20、LR语法分析栈中存放的状态是识别(B)的DFA状态。
A、前缀B、可归前缀C、项目D、句柄
21、已知文法G[S]:
s->LaR|R,L->bR|c,R->L该文法是(B)。
(1)LR(0)文法;
(2)SLR
(1)文法;(3)LR
(1)文法;(4)LALR
(1)文法;(5)都不是
A、
(1)
(2)B、(3)(4)C、
(1)
(2)(3)(4)D、(5)E、(6)
22、若一个句型中出现了某一产生式的右部,则此右部(B)是该句型的句柄。
A、一定B、不一定
23、LR(K)方法是(D)。
A、从左到右分析,每次走K步的一种编译方法B、从左到右分析,共经过K步的一种编译方法C、从左到右分析,每次向前预测K步的一种编译方法D、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法
24、文法G[S]:
S->AA,A->Aa|a不是LR
(1)文法的理由是(D)
A、FIRST(S)NFIRST(A)≠фB、FIRST(A)NFOLLLOW(A)≠фC、FIRST(Aa)NFIRST(a)≠фD、都不是
25、下列关于标识符和名字的叙述中,正确的是(C)。
A、标识符有一定的含义B、名字是一个没有意义的字符序列C、名字有确切的属性D、都不对
26、编译程序在其工作过程中使用最多的数据结构是(C)。
它记录着源程序中的各种信息,以便查询或修改。
A、线性表B、链表C、表D、符号表
27、在编译程序在其工作过程中使用的各种表中,以(D)最重要,其生存期最长,使用也最频繁。
A、线性表B、链表C、表D、符号表
28、编译程序使用(B)区别标识符的作用域。
A、说明标识符的过程或函数名B、说明标识符的过程或函数的静态层次C、说明标识符的过程或函数的动态层次D、标识符的行号
29、动态存储分配时,可以采用的分配方法有(C)。
(1)以过程为单位的栈式动态存储分配;
(2)堆存储分配;(3)最佳分配方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 试题 答案 复习 课程