北语21秋《编译原理》作业3[答案]答案
21秋《编译原理》作业3题目 试卷总分:100 得分:100 一、单选题 (共 1 道试题,共 5 分) 1.表达式(┐AB)(CD)的逆波兰表示为_____。 A.┐ABCD B.A┐BCD C.AB┐CD D.A┐BCD 二、多选题 (共 2 道试题,共 10 分) 2.一个LR(1) 项目可以看成( )两个部分组成。 A.心 B.向前搜
正确答案:-----
21秋《编译原理》作业3题目
试卷总分:100 得分:100
一、单选题 (共 1 道试题,共 5 分)
1.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。
正确答案:-----
A.┐AB∨∧CD∨
正确答案:-----
B.A┐B∨CD∨∧
正确答案:-----
正确答案:-----
C.AB∨┐CD∨∧
D.A┐B∨∧CD∨
正确答案:-----
北语21秋《编译原理》作业3[答案]多选题答案
二、多选题 (共 2 道试题,共 10 分)
2.一个LR(1) 项目可以看成( )两个部分组成。
A.心
B.向前搜索符集合
C.分析表
D.分析函数
正确答案:-----
3.一个LR分析器由( )组成。
A.驱动程序
B.分析函数
C.分析栈
D.向前搜索符集合
正确答案:-----
三、判断题 (共 17 道试题,共 85 分)
4.在编译方式下执行源程序,易于查错,在程序执行中可以修改程序,但执行效率低。
5.两个正规集相等的必要条件是他们对应的正规式等价。( )
6.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。( )
7.一个LR分析器由3个部分组成,其中分析表或分析函数,也可以称为驱动程序。
8.题目见图片{图}
9.静态数据区用于可变数据以及管理过程活动的控制信息。
10.LR 法是自顶向下语法分析方法。( )
11.一个算符优先文法可能不存在算符优先函数与之对应。( )
12.逆波兰表示法表示表达式时无需使用括号。( )
13.若一个文法中存在某个句子,它有两个不同的最左(最右)推导,则这个文法是二义。
14.题目见图片{图}
15.栈式存储分配策略是指运行时每当进入一个过程,就在栈顶为该过程分配所需的数据空间,当一个过程工作完毕返回时,它在栈顶的数据空间也释放。
16.全局优化是在整个程序范围内进行的优化。
17.编译程序是对高级语言程序的解释执行。( )
21.符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。( )
19.题目见图片{图}
20.一个句型的句柄一定是文法某产生式的右部。( )
------分隔线----------------------------
北语21秋《编译原理》作业3[答案]历年参考题目如下:
编译原理19秋在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.词法分析器用于识别什么()。
A.句柄
B.句型
C.单词
D.产生式
2.把用一组数学符号和规则来描述语言的方式称为什么()。
A.推演
B.推导
C.形式语言
D.形式描述
3.逆波兰式ab+c+d*e-所对应的表达式是什么()。
A.a+b+c*d-e
B.a+(b+c)*d-e
C.(a-b+c)*d+e
D.(a+b+c)*d-e
4.设有文法G[I]:I::=I1|I0|Ia|Ic|a|b|c,下列符号串中是该文法的句子的是哪个()。
A.ab0
B.a0c01
C.1aba
D.0bc10
5.由右线性文法构造状态转换图时,要令G的开始符号S所标记的结点是什么结点()。
A.终态
B.既非初态亦非终态
C.初态
D.任意
6.赋值语句X:=-(a+b)/(c-d)-(a+b*c)的逆波兰表示是什么()。
A.Xab+cd-/abc*+--:=
B.Xab+cd-/-bc*a+-:=
C.Xab+/cd--bc*a+--:=
D.Xab+-cd-/abc*+-:=
7.文法S→aAa|aBb|bAb|bBa,A→x,B→x是哪一类文法()。
A.都不是
B.SLR(1)文法
C.LR(1)文法
D.LR(0)文法
8.NFA的要素中不包含哪个成分()。
A.终止状态集合
B.有限状态集合
C.有穷字母表
D.初始状态集合
9.Σ={0,1}上的正规式(0|1)*表示什么()。
A.由0、1组成的任意串
B.有一个0和一个1的串
C.1开头的串
D.0开头的串
10.算符优先分析法每次都是对什么进行归约()。
A.素短语
B.简单短语
C.最左素短浯
D.最左短语
11.一个状态转换图是由一组矢线连接的有限个结点所组成的什么()。
A.有向图
B.无回路有向图
C.无向图
D.强连通的有向图
12.数组的存储通常有几种方式()。
A.两种
B.4种
C.3种
D.1种
13.状态转换矩阵的行标题表示状态转换图中的什么部分()。
A.输入符号
B.终态
C.矢线
D.状态
14.中间代码产生是依据语言的什么规则进行的()。
A.运行
B.语用
C.语法
D.语义
15.LL(1)分析法的名字中,第二个“L”的含义是什么()。
A.最左推导
B.最左归约
C.最右推导
D.最右归约
16.规范推导的每一步总是用产生式右边符号串替换句型中什么位置的非终结符号()。
A.最左
B.最右
C.最中
D.任意
17.合并表达式中的常量运算的目的是什么()。
A.合并常量,使表达式的运算强度减弱。
B.合并常量,使表达式尽可能简短
C.合并常量,使表达式中的常量尽可能少
D.合并常量,使得生成的代码指令尽可能少
18.最常用的中间代码形式是什么()。
A.树形表示
B.四元式
C.P-代码
D.C-代码
19.设有文法G[S]:S→SaT|T,T→TbR|R,R→PdR|P,P→fSg|e, 考察该文法的句型SaTbfSgde,其中哪个是句柄()。
A.fSg
B.e
C.b
D.SaT
20.文法G[E]:E→T|E+T,T→F|T*F,F→a|(E),下列符号串中是该文法句型E+F*(E+T)的简单短语的是哪个()。
A.F*(E+T)
B.E+T
C.E+F
D.(E+T)
二、判断题 (共 20 道试题,共 40 分)
21.两个正规式等价,当且仅当它们所描述的正规集相同。
22.有的编译程序可以没有目标代码生成部分。
23.一个有穷自动机有且只有一个终态。
24.由左线性文法构造状态转换图时,与右线性文法的情况一样,也要用G的开始符号来标记初态结点。
25.若在某项目集中,既含有移进项目,又含有归约项目,则反映到LR(0)分析表中就会出现具有多重定义的元素。
26.非LL(1)语言 (即不能由任何LL(1)文法产生的前后文无关语言)是存在的。
27.对于规模较大的文法,采用手工的方式来计算各个FIRST集和FOLLOW集几乎是不可能的。
28.上下文无关文法比正规文法具有更强的描述能力。
29.对程序语言来说,关键字、标识符、各种常数、各种运算符及分隔符都是单词。
30.对于非LL(1)文法G,无法为G构造一个预测分析表。
31.文法G[E]:E→E+T|T,T→T*F|F,F→(E)|i是简单优先文法。
32.回溯不会降低语法分析的效率,故不需要避免。
33.编译程序的特点是先将高级语言程序翻译成机器语言程序,即先翻译、后执行。
34.对于含有冲突的项目集,没有使冲突得到解决的办法。
35.一个状态转换图实际上是相应的确定有限自动机的一种形式描述。
36.对于具有二义性的文法,其规范句型的句柄也是惟一的。
37.数组元素的地址计算与数组的存储方式有关。
38.一个上下文无关文法的开始符号可以是终结符或非终结符。
39.编译程序中的语法分析器接受以语句为单位的输入,并产生有关信息供以后各阶段使用。
40.对于给定的文法G,若按SLR(1)规则构造的分析表不含多重定义的元素,则文法G为SLR(1)文法。