19秋《编译原理》作业 1
试卷总分:100 得分:100
一、单选题 (共 6 道试题,共 24 分)
1.汇编程序是将汇编语言程序翻译成( )。
A.高级语言程序
B.汇编语言程序
C.汇编语言或机器语言程序
D.机器语言程序
2.编译程序绝大多数时间花在_____上。
A.词法分析
B.管理表格
C.目标代码生成
D.出错处理
3.文法分为四种类型,即0型、1型、2型、3型。其中2型文法是_____。
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
4.编译程序是一种_____。
A.解释程序
B.翻译程序
C.目标程序
D.汇编程序
5.解释程序处理语言时 , 大多数采用的是_____方法。
A.源程序命令被逐个直接解释执行
B.先将源程序转化为之间代码 , 再解释执行
C.先将源程序解释转化为目标程序 , 再执行
D.以上方法都可以
6.词法分析器用于识别_____。
A.语句
B.标识符
C.字符串
D.单词
二、多选题 (共 4 道试题,共 16 分)
7.一个LR(1) 项目可以看成( )两个部分组成。
A.心
B.向前搜索符集合
C.分析表
D.分析函数
8.在编译过程中,语法分析器的任务是( )。
A.分析语句和说明是如何构成程序的
B.分析程序的结构
C.分析单词是怎样构成的
D.分析单词串是如何构成语句和说明的
9.通常编译过程分成前端和后端,其中前端包括( ),后端包括目标代码生成
A.语法分析
B.语义分析
C.词法分析
D.中间代码生成
10.编译程序从逻辑结构上,一般由( )组成,此外编译程序还包括表格处理程序、出错处理程序。
A.语法分析程序
B.语义分析程序
C.词法分析程序
D.目标代码生成程序
E.代码优化程序
F.中间代码生成程序
三、判断题 (共 15 道试题,共 60 分)
11.编译程序与具体的机器有关,与具体的语言无关。( )
12.题目见图片{图}
13.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。( )
14.所谓基本块是指程序中一个顺序执行的语句序列,其中只有一个入口语句和一个出口语句。
15.一个多遍的编译程序可以较之一遍的编译程序少占内存。
16.LR 法是自顶向下语法分析方法。( )
17.程序语言的语言处理程序是一种应用软件。( )
18.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。( )
19.预测分析方法是自底向上分析的一种方法。
20.根据优化所涉及的程序范围,可分成局部优化,全局优化2个不同的级别。
21.每个文法都能改写为 LL(1) 文法。( )
22.过程调用的实质是把程序控制转移到子程序(过程段)。
23.所谓依赖图是一个无向图,用于描述分析树中的属性和属性间的相互依赖关系。
24.最左归约也称为规范归约。( )
25.题目见图片{图}
19秋《编译原理》作业2
试卷总分:100 得分:100
一、单选题 (共 1 道试题,共 5 分)
1.审查每个算符是否具有语言规范允许的运算对象是( )的工作。
A.语法分析
B.语义分析
C.目标代码生成
D.代码优化
E.中间代码生成
二、多选题 (共 2 道试题,共 10 分)
2.一个LR分析器由( )组成。
A.驱动程序
B.向前搜索符集合
C.分析栈
D.分析函数
3.四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是( )。
A.运算结果RESULT
B.算法op
C.第二运算对象ARG2
D.第一运算对象ARG1
三、判断题 (共 17 道试题,共 85 分)
4.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。( )
5.后缀表示法表示表达式,其最大的优点是便于计算机处理表达式。
6.语法分析所依据的是语言的语法规则,即描述程序结构的规则。
7.静态分析器是在不运行程序的情况下对源程序进行静态地分析,以发现程序中潜在的错误或者异常。
8.如果一个数组所需要的存储空间的大小在编译时就已知道,则称此数组是动态数组。
9.逆波兰表示法表示表达式时无需使用括号。( )
10.一个数组是由同一类型数据所组成的某种n维矩形结构。
11.词法分析程序的功能是读入源程序,输出单词符号。
12.题目见图片{图}
13.出口语句是一种结构化的方式跳出循环而设置的语句,它的作用是引起外层循环的终止。
14.强度削弱的思想是把强度大的运算换算成强度小的运算。
15.在编译方式下执行源程序,易于查错,在程序执行中可以修改程序,但执行效率低。
16.两个正规集相等的必要条件是他们对应的正规式等价。( )
17.一个文法所有句子的集合构成该文法定义的语言。( )
18.解释程序的输入只包括源程序。
19.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。 ( )
20.非终结符可以有综合属性,但不能有继承属性。( )
19秋《编译原理》作业3
试卷总分:100 得分:100
一、多选题 (共 5 道试题,共 20 分)
1.通常编译过程分成前端和后端,其中前端包括( ),后端包括目标代码生成
A.语法分析
B.语义分析
C.词法分析
D.中间代码生成
2.一个控制流程图可以表示成一个组,它包括( )。
A.首结点
B.堆区
C.图中所有结点集
D.图中所有有向边集
3.一个LR分析器由( )组成。
A.驱动程序
B.向前搜索符集合
C.分析栈
D.分析函数
4.编译中的语义处理是指( )两个功能。
A.生成程序的一种中间表示形式(中间代码),或者生成实际的目标代码
B.审查每个语法结构的静态语义
C.向前搜索符集合
D.分析栈
5.在编译过程中,语法分析器的任务是( )。
A.分析语句和说明是如何构成程序的
B.分析程序的结构
C.分析单词是怎样构成的
D.分析单词串是如何构成语句和说明的
二、判断题 (共 20 道试题,共 80 分)
6.SLR(1)文法,其思想是基于容许LR(0)规范族中有冲突的项目集(状态)用向前查看一个符号的办法来进行处理,以解决冲突。
7.算符优先关系表不一定存在对应的优先函数。( )
8.PL/0编译程序的语法分析采用了自顶向下的递归子程序法。
9.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。( )
10.所谓数据空间的分配,本质上看,是将程序中的每个名字与一个存储位置关联起来,该存储位置用以容纳名字的值。
11.LR 法是自底向上语法分析方法。( )
12.题目见图片{图}
13.优化可在编译的不同阶段进行。
14.题目见图片{图}
15.计算机高级语言翻译成低级语言只有解释一种方式。( )
16.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。( )
17.解释程序的输入只包括源程序。
18.LR(1)分析表构造的思想和方法是构造其他LR分析表的基础。
19.产生式是用于定义词法成分的一种书写规则。( )
20.题目见图片{图}
21.题目见图片{图}
22.优先分析法可以分成简单优先分析法和算符优先分析法。
23.编译程序的任务是把源程序翻译成目标程序,二者要求语义等同。
24.词法分析和语法分析本质上都是对源程序的结构进行分析。
25.有些简单的编译程序在语法分析的同时产生目标指令代码。
19秋《编译原理》作业4
试卷总分:100 得分:100
一、判断题 (共 18 道试题,共 90 分)
1.题目见图片{图}
2.在解释方式下,解释程序将按照源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。
3.静态数据区用于可变数据以及管理过程活动的控制信息。
4.静态数组的存储空间可以在编译时确定。( )
5.简单优先文法允许任意两个产生式具有相同右部。( )
6.逆波兰法表示的表达式把运算对象放在运算符的后面。( )
7.题目见图片{图}
8.程序设计语言中的布尔表达式只有一个作用,即用做改变控制流语句中的表达式。
9.题目见图片{图}
10.所有的编译程序都要进行优化阶段。
11.对所有的LR分析器总控程序都是相同的。
12.优先分析法可以分成简单优先分析法和算符优先分析法。
13.题目见图片{图}
14.在编译中进行语法检查的目的是为了发现程序中所有错误。( )
15.预测分析方法是自底向上分析的一种方法。
16.题目见图片{图}
17.在程序中标识符的出现仅为使用性的。( )
18.递归下降分析法是自顶向下分析方法。( )
二、多选题 (共 2 道试题,共 10 分)
19.一个LR(1) 项目可以看成( )两个部分组成。
A.心
B.向前搜索符集合
C.分析表
D.分析函数
20.语言程序的测试工具有( )
A.静态分析器
B.调试工具
C.格式化工具
D.动态测试器