没有合适的资源?快使用搜索试试~ 我知道了~
编译原理期末复习题
5星 · 超过95%的资源 需积分: 17 8 下载量 129 浏览量
2013-08-19
19:30:02
上传
评论 6
收藏 401KB PDF 举报
温馨提示
试读
29页
包括选择题、填空题、简答题、计算题等等,非常好的学习、复习资料。
资源推荐
资源详情
资源评论
编译原理复习题
一、填空题:
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])=( a
n
b
n
c
m
,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 )。
剩余28页未读,继续阅读
资源评论
- 本本纲目2023-07-24:这份文件讲解简明扼要,对于理解难点的解析非常有帮助,让人茅塞顿开。
- 嗨了伐得了2023-07-24:文件的格式整齐美观,排版工整,使得学生能够更加清晰地阅读与理解。
- 金山文档2023-07-24:这份《编译原理期末复习题》提供了全面的复习资料,适用于不同水平的学生。
- 我就是月下2023-07-24:文件内容详实,涵盖了编译原理的主要知识点,有利于学生系统性地巩固知识。
- 陈莽昆2023-07-24:这份复习题不仅提供了理论知识,还包含了大量的练习题,有助于学生巩固所学知识并提升应用能力。
aa1847889543
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功