西工大17春《编译原理》在线作业
- 格式:doc
- 大小:51.00 KB
- 文档页数:6
西交《编译原理》在线作业( )是一种典型的解释型语言。
A:BASIC
B:C
C:FORTRAN
D:PASCAL
答案:A
算符优先分析法每次都是对( )进行归约:
A:句柄
B:最左素短语
C:素短语
D:简单短语
答案:B
不是编译程序的组成部分。
A:词法分析程序
B:代码生成程序
C:设备管理程序
D:语法分析程序
答案:C
构造编译程序应掌握()。
A:源程序
B:目标语言
C:编译方法
D:其他三项都是
答案:D
Pascal的if语句满足( )。
A:最远匹配原则
B:动态作用域规则
C:静态作用域规则
D:最近匹配原则
答案:D
语义分析与中间代码产生所依循的是( )。
A:正规式
B:上下文无关文法。
东师编译原理17春在线作业2
一、单选题
1、B
2、A
3、C
4、A
5、B
一、单选题(共 20 道试题,共 60 分。
)V 1. 将形如A→αX•β的项目称为A→α•Xβ的什么项目()。
A. 移入
B. 后继
C. 接受
D. 归约
正确答案:B
2. 所谓冲突,是指在一个项目集中,出现什么并存的情况()。
A. 移进项目和归约项目
B. 移进项目和待约项目
C. 移进项目和移进项目
D. 待约项目和待约项目
正确答案:A
3. 当一文法具有左递归的非终结符号A,且A出现在某产生式右部时其左侧有符号B,则在B和A之间的简单优先关系是什么关系()。
A. 等于
B. 低于
C. 等于和低于
D. 没有
正确答案:C
4. 由右线性文法构造状态转换图时,对于G中每一形如A→a的产生式,从结点A引一条矢线到哪个结点,并用符号a标记这条矢线()。
A. 终态
B. 初态
C. 既非初态亦非终态
D. 任意
正确答案:A
5. 项目A→α•称为什么项目,其中A∈VN,A不是开始符()。
A. 移进
B. 归约
C. 待约
D. 接受
正确答案:B
6. 已知文法G[S]:S→A0|Bl,A→S1|1,B→S0|0;该文法属于乔姆斯基定义的哪类文法()。
A. 0型
B. 1型
C. 2型
D. 3型
正确答案:D。
东师编译原理17春在线作业1一、单选题1、A2、B3、C4、B5、B一、单选题(共 20 道试题,共 60 分。
)V 1. 在编译中产生语法树是为了什么()。
A. 语法分析B. 语义分析C. 词法分析D. 产生目标代码正确答案:A2. 对于文法S→Ab|c,A→Sa,消除左递归性后,与原文法等价的文法是什么()。
A. S→Sab|cB. S→cS′,S′→abS′|εC. S→Sab|c,A→SaD. S→cS′,S′→abS′|ε,A→Sa正确答案:B3. LL(l)文法的条件是什么()。
A. 对形如U→x1|x2|…|xn 的产生式,要求FIRST(xi)∩FIRST(xj)= (i≠j)B. 对形如U→x1|x2|…|xn 的产生式,若xiÞε,则要求FIRST(xj)∩FOLLOW(U)=C. 前两条D. 都不是正确答案:C4. 在一个规范句型中,位于句柄右边的符号(如果有的话)必然是什么()。
A. 非终结符号B. 终结符号C. 开始符号D. 空符号串正确答案:B5. 汇编程序是将什么程序改造成目标语言程序的翻译程序()。
A. 机器语言B. 汇编语言C. 高级语言D. 低级语言正确答案:B6. 文法Z→ABb|c,A→Ba,B→Za中含有什么样的非终结符号()。
A. 直接左递归B. 直接右递归C. 间接左递归D. 间接右递归正确答案:C7. 能将汇编语言翻译为机器语言的程序是什么()。
A. 汇编程序B. 编译程序C. 解释程序。
第一章测试题一.解答题1:试述标识符与名字的区别。
答案标识符是由字母和数字(有些语言中还允许含一些其他符号)组成的以字母(及其他符号)打头的字符串。
若给某个标识符赋予确切的含义,这个标识符就称为名字。
标识符只是抽象的字符序列,无确切的意义,而名字则是由标识符表示,且具有语义属性(如类型、种属等)的实体。
2:将高级语言程序翻译为计算机可执行的目标程序有哪些途径?答案主要途径有两种:解释与编译。
解释程序的特点是不先将高级语言程序全部翻译成机器代码,而是每读人一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读人下一条语句继续进行解释、执行,如此反复,即边解释边执行,翻译所得的指令序列并不保存。
编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的存储空间中,在用户箱要时再执行之,即先翻译后执行。
3:何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?答案源程序是指以某种程序设计语言编写并供加工处理的程序。
目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。
翻译程序是将用某种语言编写的程序翻译成另一种语言形式的程序的系统软件。
编译程序与解释程序均为翻译程序,但二者工作方法不同。
解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读人下一条语句继续进行解释、执行,如此反复。
即边解释边执行,翻译所得的指令序列并不保存。
编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的存储空间中,在用户需要时再执行之。
即先翻译后执行。
第二章测试题一.解答题1:已给文法G[<表达式>]:试给出句子的规范推导,指出每步推导所得句型的句柄,并画出相应的语法树,指出树中的所有短语。
答案规范推导(有下划线的子串为该句型的句柄):相应的语法树如图解2.1所示。
编译原理17春在线作业1
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1. 词法分析器的输出是什么()。
A. 字符串
B. 二元式
C. 三元式
D. 四元式
满分:3 分
正确答案:B
2. 编译过程中,语法分析器的任务是什么()。
A. 分析单词是怎样构成的
B. 分析单词串是如何构成语句和说明的
C. 分析各语法成分的含义和用途
D. 分析各语法成分应进行的运算和操作
满分:3 分
正确答案:B
3. 在状态转换图中,结点代表什么()。
A. 输入缓冲区
B. 向前搜索
C. 状态
D. 字符串
满分:3 分
正确答案:C
4. 不属于Chomsky观点分类的文法是什么()。
A. 上下文无关文法
B. 算符优先文法
C. 上下文有关文法
D. 正规文法
满分:3 分
正确答案:B
5. 自底向上分析开始时,首先在栈底放置什么符号,然后将输入符号逐个推入栈内()。
A. 界符#及开始符号S
B. 开始符号S
C. 界符#号
D. 当前的输入符号。
第3章作业【编辑人:陈芳芳】1.写一文法,使其语言是偶正整数的集合。
要求:(1)允许0打头;(2)不允许0打头。
【解】:(1)允许0打头且含0的偶正整数集合的文法为:N—>(0|D|E)N|(E|0)D—>1|3|5|7|9E—>2|4|6|8(2) 不允许0打头的偶正整数集合的文法为:R—>(D|E)N|EN—>(0|D|E)N|(E|0)D—>1|3|5|7|9E—>2|4|6|82.一个上下文无关文法生成句子abbaa的推导树如下:SA B Sa S B B A aƐ b b a(1)给出该句子的相应的最左推导,最右推导。
(2)该文法的产生式集合P可能有哪些元素?(3)找出该句子的所有短语,简单短语,句柄。
【解】:(1)最左推导:S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa最右推导:S=>ABS=>ABAa=>ABaa=>ASBBaa=>ASBbaa=>ASbbaa=>Abbaa=>abbaa (2) 产生式集合P:S—>ABS | Aa| ƐA—>aB—>SBB | b(3) 短语:a , Ɛ , b , bb , aa , abbaa直接短语:a , Ɛ , b句柄:a3、给出生成下述语言的上下文无关文法:(1){a n b n a m b m | n, m >= 0}(2){1n0m1m0n | n, m >= 0}【解】:(1)S—>AAA—>aAb | Ɛ(2)S—>1S0 | AA—>0A1 | Ɛ第4章课后作业1. 构造一个状态数最小的DFA,它接受∑={0,1}上所有倒数第二个字符为1的字符串。
【编辑人:胡志高】【解】:(1)构造相应的正规式:(0|1)* 1(0|1)(2)由正规式构造NFA,如下图:(3)NFA转化DFA① T0=ε-closure({0})={0}②运用子集构造法求DFA状态,如下表,其中T0为初态,T2、T3为终态:ε-closure(move(Ti,0))ε-closure(move(Ti,1)) T0={0}{0} {0,1}T1={0,1} {0,2} {0,1,2}T2={0,2} {0} {0,1}T3={0,1,2} {0,2} {0,1,2}③分别用0,1,2,3代表T0,T1,T2,T3,得DFA如下图:(4)最小化DFA①找DFA中等价状态,分析过程如下:P0=({0,1},{2,3})P1=({0},{1},{2},{3})经以上分析可知:0无等价状态。
东师编译原理17春在线作业2
一、单选题
1、B
2、D
3、B
4、A
5、C
一、单选题(共 20 道试题,共 60 分。
)V 1. 词法分析器的输出是什么()。
A. 字符串
B. 二元式
C. 三元式
D. 四元式
正确答案:B
2. 如果一个产生式的左部或右部含有无用符号,则此产生式称为()产生式。
A. 非法
B. 多余
C. 非确定
D. 无用
正确答案:D
3. 词法分析器的输入是什么()。
A. 单词串
B. 源程序
C. 语法单位
D. 目标程序
正确答案:B
4. 在编译中产生语法树是为了什么()。
A. 语法分析
B. 语义分析
C. 词法分析
D. 产生目标代码
正确答案:A
5. 对于含有冲突的项目集I,在构造分析表时,如果能根据不同的什么符号a,将I中各项目所对应的分析动作加以区分,那么就有可能使冲突得到解决()。
A. 输入
B. 栈顶
C. 向前
D. 栈底
正确答案:C
6. 下述语句类中,什么在编译时通常不产生可执行代码()。
A. 赋值语句
B. 流程控制语句
C. 复合语句
D. 说明语句
正确答案:D
7. 编译过程的核心部分是什么()。
A. 语法结构
B. 语法分析。
东师编译原理17春在线作业2一、单选题1、B2、D3、B4、D5、B一、单选题(共 20 道试题,共 60 分。
)V 1. 对于状态转换图中用矢线连接的任意两个结点,把靠箭尾一侧的结点称为该矢线的什么结点()。
A. 进入B. 射出C. 初态D. 终态正确答案:B2. 在自底向上的语法分析方法中,分析的关键是什么()。
A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式正确答案:D3. LR分析表中的哪一个元素指明,当栈顶状态为I且正扫视的输入符号为a时要完成的分析动作()。
A. GOTO[I,a]B. ACTION[I,a]C. CLOSURE[I,a]D. GO[I,a]正确答案:B4. 如果一个DFA的两个不同的状态s和t具有什么关系,则称s和t等价()。
A. 已区分B. 待区分C. 可区分D. 不可区分正确答案:D5. 将不含形如A→A的产生式和不含无用符号及无用产生式的文法称为什么文法()。
A. 有用的B. 已化简的C. 已改造的D. 确定的正确答案:B6. 若用临时变量T1表示CONSTPART部分,用临时变量T表示VARPART部分,则变址存数四元式的形式是什么()。
A. ([ ]=,X,0,T[T1])B. (=[ ],T[T1],0,X)C. ([ ]=,X,0,T1[T])D. (=[ ],T1[T],0,X)正确答案:C7. 在编译程序采用的优化方法中,什么是在循环语句范围内进行的()。
西交《编译原理》在线作业
文法G产生的( )的全体是该文法描述的语言。
A:句型
B:终结符集
C:非终结符集
D:句子
答案:D
正则文法( )二义性的。
A:可以是
B:一定不是
C:一定是
D:没有正确答案
答案:A
用高级语言编写的程序经编译后产生的程序叫( )
A:源程序
B:目标程序
C:连接程序
D:解释程序
答案:B
在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。
A:该行必定填满rj
B:该行未填满rj
C:其他行也有rj
D:goto子表中也有rj
答案:A
程序语言的单词符号一般可以分为5种,下面( )不需要超前搜索
A:关键字
B:标识符
C:常数
D:算符和界符
答案:B
使用()可以定义一个程序的意义。
A:语义规则
B:词法规则
C:产生规则
D:词法规则
答案:A
现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A:重定位程序;
B:解释程序;
C:连接装配程序;
D:诊断程序;
答案:C
编译程序使用( )区别标识符的作用域。
A:说明标识符的过程或函数名。
编译原理17春在线作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1. 算符优先文法的特点是文法的产生式中不含什么()。
A. 不含右递归
B. 不含两个相邻的终结符
C. 不含ε-产生式
D. 不含左递归
满分:3 分
正确答案:C
2. 不属于Chomsky观点分类的文法是什么()。
A. 上下文无关文法
B. 算符优先文法
C. 上下文有关文法
D. 正规文法
满分:3 分
正确答案:B
3. DFA中定义了一个从K×Σ到K的单值映射f,指明若当前的状态为P,而输入字符为a 时,则下一个状态是Q,f记为什么()。
A. f(P,Q)=a
B. f(P,a)=Q
C. f(Q,a)=P
D. f(a,P)=Q
满分:3 分
正确答案:B
4. 文法Z→Bb|c,A→Aa,B→Bc中含有什么样的非终结符号()。
A. 直接左递归
B. 直接右递归
C. 间接左递归
D. 间接右递归
满分:3 分
正确答案:A
5. 假定数组按行存放,若仅考虑静态数组,则计算数组下标变量地址时的不变部分是什么()。
A. a
B. C。
奥鹏2017秋西工大17春《编译原理》在线作业
一、单选题(共20 道试题,共50 分。
)
1. 文法分为四种类型,即0型、1型、2型、3型。
其中3型文法是()。
A. 短语文法
B. 正则文法
C. 上下文有关文法
D. 上下文无关文法
正确答案:
2. 线性表的构造时,应该按照关键字()顺序填写各个项。
A. 后来者先填,先来者最后填
B. 按照关键字的多少
C. 先来者先填
D. 随机
正确答案:
3. 在自下而上的语法分析方法中,分析的关键是()。
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
正确答案:
4. 堆式动态分配申请和释放存储空间遵守()原则。
A. 先请先放
B. 先请后放
C. 后请先放
D. 任意
正确答案:
5. 在整理和查找操作时,下列哪项的效果最高()。
A. 杂凑
B. 二叉树
C. 线性表
D. 图
正确答案:
6. 过程P1调用P2时,连接数据不包含()。
A. 嵌套层次显示表
B. 老SP
C. 返回地址
D. 全局DISPLAY地址
正确答案:
7. 将高级语言程序翻译为计算机可执行的目标程序有哪些途径()。
A. 解释与编译
B. 解释与翻译
C. 解释
D. 编译
正确答案:
8. 处理冲突的方法不包括以下哪种方法()。
A. 开放定址法
B. 再哈希法
C. 链地址法
D. 建立一个私有溢出区
正确答案:
9. 下列()优化方法不是针对循环优化进行的。
A. 强度削弱
B. 删除归纳变量
C. 删除多余运算
D. 代码外提
正确答案:
10. 下列哪一项不是与机器有关的代码优化()。
A. 寄存器优化
B. 多处理优化
C. 特殊的指令优化
D. 有用的指令消除
正确答案:
11. 栈式动态分配与管理在过程返回时应做的工作有()。
A. 保护SP
B. 恢复SP
C. 保护TOP
D. 恢复TOP
正确答案:
12. 下列关于标识符与名字的区别的描述中,正确的是()。
A. 标识符和名字都是抽象的字符序列,没有确切的意义
B. 标识符只是抽象的字符序列,无确切的意义;名字则是由标识符表示,且具有语义属性
C. 名字是抽象的字符序列,无确切的意义;名标识符具有语义属性
D. 标识符和名字都具有语义属性
正确答案:
13. 一个上下文无关文法G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。
A. 句子
B. 句型
C. 单词
D. 产生式
正确答案:
14. 在语法分析处理中,FIRST 集合、FOLLOW 集合、SELECT 集合均是()。
A. 非终极符集
B. 终极符集
C. 字母表
D. 状态集
正确答案:
15. 编译过程中,语法分析器的任务就是()。
(1) 分析单词是怎样构成的(2) 分析单词串是如何构成语句和说明的(3) 分析语句和说明是如何构成程序的(4) 分析程序的结构
A. (2)(3)
B. (2)(3)(4)
C. (1)(2)(3)
D. (1)(2)(3)(4)
正确答案:
16. 过程的DISPLAY表中记录了()。
A. 过程的连接数据
B. 过程的嵌套层次
C. 过程的返回地址
D. 过程的入口地址
正确答案:
17. 优化可生成()的目标代码。
A. 运行时间较短
B. 占用存储空间较小
C. 运行时间短但占用内存空间大
D. 运行时间短且占用存储空间小
正确答案:
18. 语法分析器可以发现源程序中的()。
A. 语义错误
B. 语法和语义错误
C. 错误并校正
D. 语法错误
正确答案:
19. 一个文法是递归的,则它产生的语言的句子个数()。
A. 必定无穷
B. 必定有限
C. 可能无穷,也可能有限
D. 说不准
正确答案:
20. 以下陈述完全正确的是:()。
①LR(K)文法是无二义性文法②LR(K)文法可能是左递归文法③LL(K)文法是无二义性文法④LL(K)文法可能是左递归文法⑤简单优先文法是无二义性文法⑥简单优先文法肯定是无左递归文法
A. ①②⑥
B. ③④
C. ①②③⑤
D. ②④⑥
正确答案:
2017秋西工大17春《编译原理》在线作业
二、判断题(共20 道试题,共50 分。
)
1. 表达式-(a+b)*(c+d)-(a+b+c)表示成三元式为100 (+,a,b),101 (+,c,d),102 (*,(1),(2))。
(当前序号为100)。
()
A. 错误
B. 正确
正确答案:
2. 根据优化所涉及的程序范围,可将优化分成为局部优化,循环优化,全局优化三个级别。
()
A. 错误
B. 正确
正确答案:
3. 设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈VT*),则称x是句法的一个句子。
()
A. 错误
B. 正确
正确答案:
4. 采用三元式实现三地址代码时,不利于对中间代码进行优化。
()
A. 错误
B. 正确
正确答案:
5. 一个优先表一定存在相应的优先函数。
()
A. 错误
B. 正确
正确答案:
6. 语法分析最常用的两类方法是自上而下和自下而上分析法。
()
A. 错误
B. 正确
正确答案:
7. 一张符号表的每一项都包含两大栏,即名字栏和信息栏。
()
A. 错误
B. 正确
正确答案:
8. 符号表的组织方式只能采用直接填写式,在符号表主栏放一个指示器和整数。
()
A. 错误
B. 正确
正确答案:
9. 符号表的信息栏中登记了每个名字的有关性质,如类型、种属、大小以及相对数。
()
A. 错误
B. 正确
正确答案:
10. 3型文法一定是2型文法。
()
A. 错误
B. 正确
正确答案:
11. 如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。
()
A. 错误
B. 正确
正确答案:
12. 翻译程序是指将用某种语言编写的程序翻译成另一种语言形式的程序的系统软件。
()
A. 错误
B. 正确
正确答案:
13. 文法G产生的语言是无穷的,当且仅当文法是递归的。
()
A. 错误
B. 正确
正确答案:
14. 源程序指以某种程序设计语言编写并供加工处理的程序。
()
A. 错误
B. 正确
正确答案:
15. 能够进行不带回溯的自顶向下语法分析的文法称为LL(1)文法。
()
A. 错误
B. 正确
正确答案:
16. 编译程序与解释程序的根本区别在于是否生成目标代码。
()
A. 错误
B. 正确
正确答案:
17. 符号表使用的基本操作包括查表、填表、访表信息、更新和删除等。
()
A. 错误
B. 正确
正确答案:
18. 局部优化是在基本块范围内进行的一种优化。
()
A. 错误
B. 正确
正确答案:
19. 堆式动态存储分配变量生存期具有随机交叉特性,即非后进先出的特性。
()
A. 错误
B. 正确
正确答案:
20. 产生式是用于定义语法成分的一种书写规则。
()
A. 错误
B. 正确
正确答案:。