| 显示联大系统信阳师范编译原理所有答案 |
|
并行编译程序
|
答案是:适合于SIMD和MIMD结构计算机,具有并行处理功能的编译程序
|
|
串行编译程序
|
答案是:适合于SISD结构计算机的编译程序
|
|
采用方法
|
答案是:程序转换,知识工程等
|
|
目标语言
|
答案是:是自动程序设计系统用以表示最后生成的程序的语言
|
|
[简答题,10分] 写一文法,使其语言是偶正整数的集合,要求: (1)允许0打头; (2) 不允许0打头
|
答案是:(1)G[S]=({S,P,D,N},{0,1,2,,,9},P,S) P: S->PD|D P->NP|N D->0|2|4|6|8 N->0|1|2|3|4|5|6|7|8|9 (2)G*S+=(,S,P,R,D,N,Q -,,0,1,2,…,9-,P,S) P: S->PD|P0|D P->NR|N R->QR|Q D->2|4|6|8 N->1|2|3|4|5|6|7|8|9 Q->0|1|2|3|4|5|6|7|8|9
|
|
[简答题,10分] 什么是句子? 什么是语言 ?
|
答案是:(1)设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈VT*),则称x是文 法的一个句子。 (2)设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为: L(G)={x│S x,x∈VT*}
|
|
[简答题,10分] 已知文法 A->aAd| aAb|ε 判断该文法是否SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程
|
答案是:(1)拓广文法 (0)S->A (1) A->aAd (2)A-> aAb (3)A->ε (2)构造识别活前缀的DFA FOLLOW(A)={d,b,#} 对于状态I0:FOLLOW(A)∩{a}=Ф 对于状态I1:FOLLOW(A)∩{a}=Ф 因为,在DFA中无冲突的现象,所以该文法是SLR(1)文法。 (3)SLR(1)分析表 状态 ACTION GOTO a B d # A 0 S2 r3 r3 r3 1 1 acc 2 S2 r3 r3 r3 3 3 S5 S4 4 r1 r1 r1 5 r2 r2 r2 (4)串ab#的分析过程 步骤 状态栈 符号栈 当前字符 剩余字符串 动作 1 0 # a b# 移进 2 02 #a b # 归约A->ε 3 023 #aA b # 移进 4 0235 #aAb # 归约A-> aAb 5 01 #A # 接受
|
|
[填空题,10分] 编译方式与解释方式的根本区别在于()
|
答案是:是否生成目标代码
|
|
[填空题,10分] 若源程序是用高级语言编写的,()是机器语言程序或汇编程序, 则其翻译程序称为()
|
答案是:目标程序|编译程序
|
|
[填空题,10分] 编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码 生成,代码优化等几个基本阶段,同时还会伴有(),()
|
答案是:表格处理|出错处理
|
|
规格说明
|
答案是:以某种方式告知计算机所需要的是什么样的程序,要求这一程序干什么
|
|
解释程序
|
答案是:按解释方式进行翻译的翻译程序
|
|
继承属性
|
答案是:若产生式右部符号B的属性值是根据左部非终结符的属性值或者右部其它符号的属性值决定的, 则B的属性为继承属性
|
|
综合属性
|
答案是:若产生式左部的单非终结符A的属性值由右部各非终结符的属性值决定,则A的属性称为综合属
|
|
[简答题,10分] 设文法G(S): S→(L)|a S|a L→L,S|S (1) 消除左递归和回溯;(2) 计算每个非终结符的FIRST和FOLLOW; (3) 构造预测分析表
|
答案是:(1) S→(L)|aS’ S’→S|ε L→SL’ L’→SL’|ε 评分细则:消除左递归2分,提公共因子2分。 (2) FIRST和FOLLOW FIRST)S)={(,a} FOLLOW(S)={#,,,)} FIRST(S’)={,a,ε} FOLLOW(S’)={#,,,)} FIRST(L)={(,a} FOLLOW(L)={ )} FIRST(L’)={,,ε} FOLLOW(L’〕={ )}
|
|
[简答题,10分] 已知文法G[E]: E→ET+|T T→TF* | F F→F^ | a 试证:FF^^*是文法的句型,指出该句型的短语、简单短语和句柄
|
答案是:该句型对应的语法树如下:该句型相对于E的短语有FF^^*;相对于T的短语有FF^^*,F; 相对于F的短语有F^;F^^;简单短语有F;F^;句柄为F.
|
|
[简答题,10分] 已知文法 G(E) E →T|E+T T→F|T *F F →(E)|i (1)给出句型(T *F+i)的最右推导; (2)给出句型(T *F+i)的短语、简单短语、句柄、素短语、最左素短语。
|
答案是:1) 最右推导:E ->T->F->(E)->(E + T)->(E + F)->(E + i)->(T+i)->(T*F+i) (2) 短语:(T*F+i) ,T*F+i ,T*F,i 简单短语:T*F,i 句柄:T*F 素短语:T*F,i 最左素短语:T*F
|
|
对编译程序所用到的符号表,涉及的操作有
A.填写或更新信息栏内容
B.填入新名
C.给定名字,访问它的有关信息
D.杂凑技术
|
答案是:参考答案:ABC
|
|
符号表的每一项均包含
A.名字栏
B.类型栏
C.信息栏
D. 值栏
|
答案是:参考答案:AC
|
|
三地址代码语句具体实现通常有 表示方法
A.逆波兰表示
B.三元式
C.间接三元式
D.树形表示
|
答案是:参考答案:BC
|
|
在编译程序中安排中间代码生成的目的 是
A.便于进行存储空间的组织
B.利于目标代码的优化
C.利于编译程序的移植
D.利 于目标代码的移植
|
答案是:参考答案:BD
|
|
程序所需的数据空间在程序运行前可确定,称为 () 管理技术
A.动态存储
B.栈式存储
C.静态存储
D.堆式存储
|
答案是:参考答案:C
|
|
在目标代码生成阶段,符号表用于
A.目标代码生成
B.语义检查
C.语法检查
D.地址分配
|
答案是:参考答案:D
|
|
编译程序使用 区别标识符的作用域
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
|
答案是:参考答案:B
|
|
下列关于标识符和名字叙述中,正确的是
A.标识符有一定的含义
B.名字是一个没有意义的字符序列
C.名字有确切的属性
D. a~c都不正确
|
答案是:参考答案:C
|
|
过程信息表不包含
A.过程入口地址
B.过程的静态层次
C.过程名
D.过程参数信息
|
答案是:参考答案:B
|
|
终结符具有 属性
A.传递
B.继承
C.抽象
D.综合
|
答案是:参考答案:D
|
|
下列 中间代码形式有益于优化处理
A.三元式
B.四元式
C.间接三元式
D.逆波兰表示法
|
答案是:参考答案:BC
|
|
自上而下的语法分析方法有
A.算符优先分析法
B.LL(1)分析法
C.SLR(1)分析法
D.LR(0)分析法
|
答案是:参考答案:ACD
|
|
对LR分析器来说,存在 等分析表的构造方法
A.LALR
B.LR(0)
C.SLR(1)
D.SLR(0)
|
答案是:参考答案:ABCD
|
|
就文法的描述能力来说,有
A.SLR(1))LR(1
B.LR(1))SLR(1
C.LR(0))LR(1
D.LR(1))无二义文
|
答案是:参考答案:ABCD
|
|
四元式表示法的优点为
A.不便于优化处理,但便于表的更动
B.不便于优化处理,但节省存储空间
C.便于优化处理,也便于表的更动
D.便于表的更动,也节省存储空间
|
答案是:参考答案:C
|
|
表达式(┓A∨B)∧(C∨D)的逆波兰表示为
A.┓AB∨∧CD∨
B.A┓B∨CD∨∧
C.AB∨┓CD∨∧
D. A┓B∨∧CD∨
|
答案是:参考答案:D
|
|
后缀式ab+cd+/可用表达式 来表示
A.a+b/c+d
B.(a+b)/(c+d)
C.a+b/(c+d)
D.a+b+c/d
|
答案是:参考答案:B
|
|
四元式之间的联系是通过 实现的
A.指示器
B.临时变量
C.符号表
D.程序变量
|
答案是:参考答案:B
|
|
中间代码生成所依据的是
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
|
答案是:参考答案:C
|
|
一个 () 指明了在分析过程中的某时刻所能看到产生式多大一部分
A.活前缀
B.前缀
C.项目
D.项目集
|
答案是:参考答案:C
|
|
对LR分析表的构造,有可能存在 动作冲突
A.移进
B.归约
C.移进/归约
D.归约/归约
|
答案是:参考答案:CD
|
|
每一项ACTION[S,a]所规定的动作包括
A.移进
B.比较
C.接受
D.归约
|
答案是:参考答案:ABCD
|
|
LR分析器核心部分是一张分析表,该表包括 等子表
A.LL(1)分析
B.优先关系
C.GOTO
D.ACTION
|
答案是:参考答案:CD
|
|
一个LR分析器包括
A.一个总控程序
B.一个项目集
C.一个活前缀
D.一张分析表
|
答案是:参考答案:AD
|
|
在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则
A.该行必定填满rj
B.该行未填满rj
C.其他行也有rj
D.goto子表中也有rj
|
答案是:参考答案:A
|
|
若项目集Ik含有A→α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α·”动作的一定是
A.LALR文法
B.LR(0)文法
C.LR(1)文法
D.SLR(1)文法
|
答案是:参考答案:D
|
|
若a为终结符,则A→α·aβ为 () 项目
A.归约
B.移进
C.接受
D.待约
|
答案是:参考答案:B
|
|
词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,
A.词法分析器应作为独立的一遍
B.词法分析器作为子程序较好
C.词法分析器分解为多个过程,由语法分析器选择使用
D.词法分析器并不作为一个独立的阶段
|
答案是:参考答案:B
|
|
词法分析器的输出结果是
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
|
答案是:参考答案:C 您
|
|
词法分析所依据的是
A.语义规则
B.构词规则
C.语法规则
D.等价变换规则
|
答案是:参考答案:B
|
|
在下面的 语法制导翻译中,采用拉链-回填技术
A.赋值语句
B..goto语句
C.条件语句
D.循环语句
|
答案是:参考答案:BCD
|
|
中间代码主要有
A.四元式
B.二元式
C.三元式
D.后缀式
|
答案是:参考答案:ACD
|
|
对正规文法描述的语言,以下 ()有能力描述它。
A.0型文法
B.1型文法
C.上下文无关文法
D.右线性文法
|
答案是:参考答案:ABCD
|
|
自下而上的语法分析中,应从 开始分析。
A.句型
B.句子
C.以单词为单位的程序
D.文法的开始符
|
答案是:参考答案:BC
|
|
规范归约指
A.最左推导的逆过程
B.最右推导的逆过程
C.规范推导
D.最左归约的逆过程
|
答案是:参考答案:B
|
|
有文法G:E→E*T|T T→T+i|i 句子1+2*8+6按该文法G归约,其值为
A.23
B.42
C.30
D.17
|
答案是:参考答案:B
|
|
在规范归约中,用 () 来刻画可归约串
A.直接短语
B.句柄
C.最左素短语
D.素短语
|
答案是:参考答案:B
|
|
采用自上而下分析,必须
A.消除左递归
B.消除右递归
C.消除回溯
D.提取公共左因子
|
答案是:参考答案:C
|
|
产生正规语言的文法为
A.0型
B.1型
C.2型
D.3型
|
答案是:参考答案:D
|
|
有一文法G:S→AB A→aAb|ε B→cBd|ε 它不产生下面 () 集合
A.{anbmcndm |n,m≥0}
B.{anbncmdm |n,m>0}
C.{anbmcmdn |n,m≥0}
D.{anbncmdm |n,m
|
答案是:参考答案:AC
|
|
如果文法G存在一个句子,满足下列条件 ()之一时,则称该文法是二义文法
A.该句子的最左推导与最右推导相同
B.该句子有两个不同的最左推导
C.该句子有两棵不同的最右推导
D.该句子有两棵不同的语法树
|
答案是:参考答案:BCD
|
|
对无二义性文法来说,一棵语法树往往代表了
A.多种推导过程
B.多种最左推导过程
C.一种最左推导过程
D.仅一种推导过程
|
答案是:参考答案:AC
|
|
下面哪些说法是错误的
A.有向图是一个状态转换图
B.状态转换图是一个有向图
C.有向图是一个DFA
D.DFA可以用状态转换图表示
|
答案是:参考答案:AC
|
|
目前为:
3/4
页
首页 上页 下页 尾页
|