中国大学mooc编译原理作业答案查询-威尼斯人最新

时间:2023-09-18 14:54:44

第一章 引论

第一章

1、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目 标代码生成等五个部分,还应包括( )
    a、表格处理和出错处理
    b、解释器
    c、模拟执行器
    d、符号执行器

2、下面哪个语言不能编写编译程序?
    a、algol
    b、c
    c、c
    d、java

3、含有优化部分的编译程序的执行效率高

4、fortran语言是一种系统程序设计语言,可用来编写编译程序。

5、编译程序与具体的机器有关。

6、编编译程序与具体的语言无关。

7、编译程序生成的目标程序一定是可执行的程序。

8、编译程序与解释程序的根本区别在于是否生成目标代码。

9、编译程序是一种常用的应用软件

10、对编译程序而言,中间代码生成是不可缺少的一部分。

第一章作业

1、利用t型图描述在a机器上,利用c语言编写c 语言翻译程序产生b机器的目标代码的交叉编译过程。

第一章课前作业

1、先阅读程序,分析该程序可能存在的错误。利用编译器对下面c语言程序进行编译,将编译结果截图上传作为作业(并备注使用了什么编译器),并思考编译器给出的分析与你的分析是否一致。 int f (int i, char a) { if (a=‘x’) i=i 5; else i=i 10; return i; } void main() { int s=0; s=f(5, “abc”); }

第二章 形式语言的基础知识

第2章测试

1、文法 g 所描述的语言是 的集合。
    a、文法 g 的字母表 v 中所有符号组成的符号串
    b、文法 g 的字母表 v 的闭包 v* 中的所有符号串
    c、由文法的开始符号推出的所有符号串
    d、由文法的开始符号推出的所有终结符串

2、文法 g[n]= ( {n , b} ,{b}, {n→b│ bb , b→bn} ,n ),该文法所描述 的语言是 。
    a、l(g[n])={│ i ≥ 0}
    b、l(g[n])={ │ i≥ 0}
    c、l(g[n])={│ i ≥ 0}
    d、l(g[n])={│ i ≥ 1}

3、以下各项是0型文法但不是1型文法的一项是 。
    a、s::=ab a::=a b::=bc b::=b c::=c
    b、s::=aab aa::=ab aa::=aaa b::=b a::=a
    c、s::=ab b::=bc c::=c c::=ε
    d、s::=acd ac::=b ac::=aaa b::=b

4、文法g[s]:s→xsx | y所产生的语言是 。
    a、{xyx}
    b、(xyx)*
    c、x*yx*
    d、{|n≥0}

5、设文法g[s]规则为:s→ab b→a|sb|b a a→aa|bb 句型baabb的句柄为
    a、ba
    b、a
    c、ab
    d、b

6、扩充bnf范式[t]表示
    a、t不出现或者出现任意多次
    b、t只出现一次
    c、t不出现或出现一次
    d、t至少出现一次

7、一个文法产生的( )的全体,是该文法所描述的语言。
    a、句型
    b、短语
    c、句柄
    d、句子

8、广义推导的长度( )
    a、大于等于0
    b、大于0
    c、大于1
    d、等于1

9、已知文法g[z],其产生规则p为: z→be|ab|zc a→ae|e b →ce|af c→cf d→f,其压缩过文法为:
    a、z→be|ab a∷=ae|e b∷=af
    b、z→be|ab a∷=ae|e b →ce|af
    c、z→be|ab a∷=ae|e
    d、z→be|ab|zc z→be|ab a∷=ae|e b →ce|af

10、由递归文法产生的语言集合一定是无限集合。

11、文法g[s]: s::=acd ac::=b ac::=aac b::=b 是上下文有关文法。

12、直接推导“=>”的长度为1,推导“=> ”的长度≥1,而广义推导“=>*”的长度≥0。

13、某文法是二义性的,该文法对应的语言一定是二义性的。

14、字汇表中的某个符号不可能既是终结符又是非终结符。

15、规范归约又称为最右归约。

16、一个语言可以有多个文法来描述。

17、g[a]: a::=[b b::=d]c c::=ac | ε d::=ac | bc | ε 的非终结符号集合 vt={a, b, [, ], ε}

18、如果在进行归约时,文法的某些规范句型的句柄不唯一,则称该文法是二义性文法。

19、下推自动机所对应的文法为0型文法。

20、句子也是句型。

第二章作业

1、证明文法g[a]: a::= iaea | ia | i是二义性的。

第三章 词法分析

第三章测试

1、( )不是nfa的成分。
    a、有穷输入字母表
    b、文法符号集合
    c、终止状态集合
    d、有限状态集合

2、通常程序设计语言的词法规则可以用正规表达式描述,词法分析器可以用()来实现
    a、语法树
    b、有穷自动机
    c、栈
    d、堆

3、正规表达式的运算符“*”读作()
    a、或
    b、连接
    c、闭包
    d、乘

4、正规表达式(a|b)(a|b|0|1)*对应的文法是()
    a、s::=aa|ba a::=0a|1a|ε
    b、s::=aa|ba a::=0a|1a|aa|ba|ε
    c、s::=aa|ba a::=0a|1a|aa|ba
    d、s::=a a::=0a|1a|aa|ba|ε

5、编译程序中词法分析器从源程序中识别出一个一个具有独立意义的()。
    a、表达式
    b、语句
    c、单词符号
    d、过程

6、由正规文法构造状态转换图,其右线性文法识别符号对应是状态转换图的初始状态。

7、由正规文法构造状态转换图,其左线性文法识别符号对应是状态转换图的终止状态。

8、某一个左线性文法必然能找到与之等价的右线性文法。

9、正规表达式m1和m2等价是指m1和m2所识别的语言集相等。

10、正规表达式(a|b)*和(a*b*)*不等价

11、文法z::=a0 a::=a0|z1|0 其所对应的自动机是确定的。

12、a是正规表达式,则a* = ε| aa*

13、确定的有穷自动机只有唯一的初始状态。

14、确定的有穷自动机只有唯一的终止状态

第三章作业

1、构造下列正规式相应的dfa:(0 | 11*0)*

第四章

第四章测验

1、递归下降分析法属于()分析方法
    a、自顶向下
    b、自底向上
    c、自左到右
    d、从右到左

2、假设有一文法,如果文法g中没有形如a::=....bc....这样的规则,其中a、b和c都为非终结符号,则称该文法为()
    a、算符优先文法
    b、算符文法
    c、简单优先文法
    d、ll(1)文法

3、简单优先分析法进行分析时,当栈顶出现()时进行归约
    a、素短语
    b、简单短语
    c、最左素短语
    d、句柄

4、已知文法g[a]: a∷=bcc | gdb b∷=ε| bcde c∷=dab | ca d∷=ε| dd e∷=gaf | c 求first(a)=()。
    a、{ a,b,c,d,g}
    b、{ a,b,c,g}
    c、{ b,c,d,g}
    d、{ a,b,c,d,g,ε}

5、已知文法 a∷=bcc | gdb b∷=ε| bcde c∷=dab | ca d∷=ε| dd e∷=gaf | c follow(b)={}
    a、{ a,c,d,g}
    b、{ a,c,d,g,f,#}
    c、{ a,c,b,d,g,f,#}
    d、{ a,g,f,#}

6、lr分析栈中存放的状态是识别文法规范句型()的dfa的状态。
    a、前缀
    b、活前缀
    c、项目
    d、句柄

7、下面文法不是算符优先文法: s∷=a[ ] | [ a∷=aa | b] b∷=a

8、下面文法不是简单优先文法 s∷=beb e∷=f | f t | t | i t∷=i | (e)

9、该项目b ::= abb· 是移进项目。

10、文法: e∷=ee | ee* | a follow(e)={ ,*,#}

11、ll(1)文法无左递归、无二义性。

12、lr分析法是一种规范归约分析法

13、算符优先分析法是一种一种规范归约分析法

14、简单优先分析法是一种一种规范归约分析法

15、s∷=aaa | abb| bab| bba a∷=x b∷=x 该文法不是lalr(1)文法

第四章作业1

1、消除下列文法的间接左递归 g[z]: z::=az | b a::=z a | a

2、构建下面文法的ll(1)分析表 s∷=aad a∷=bc b∷=b |ε c∷=c |ε

第四章作业2

1、已知文法z::= bmb m::= (l|a l::= ma) 利用简单优先分析法分析符号串((aa)a)#

2、证明下述文法不是简单优先文法: (1) s∷=beb e∷=e t | t

期末测试

期末测试

1、以下各项是0型文法但不是1型文法的一项是 。
    a、s::=ab a::=a b::=bc b::=b c::=c
    b、s::=aab aa::=ab aa::=aaa b::=b a::=a
    c、s::=ab b::=bc c::=c c::=ε
    d、s::=acd ac::=b ac::=aaa b::=b

2、设文法g[s]规则为:s→ab b→a|sb|b a a→aa|bb 句型baabb的句柄为
    a、ba
    b、a
    c、ab
    d、b

3、文法 g 所描述的语言是 的集合。
    a、文法 g 的字母表 v 中所有符号组成的符号串
    b、文法 g 的字母表 v 的闭包 v* 中的所有符号串
    c、由文法的开始符号推出的所有符号串
    d、由文法的开始符号推出的所有终结符串

4、文法g[s]:s→xsx | y所产生的语言是 。
    a、{xyx}
    b、(xyx)*
    c、x*yx*
    d、{|n≥0}

5、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目 标代码生成等五个部分,还应包括( )
    a、表格处理和出错处理
    b、解释器
    c、模拟执行器
    d、符号执行器

6、下面哪个语言不能编写编译程序?
    a、algol
    b、c
    c、c
    d、java

7、已知文法g[s]: s∷=s(s) s∷=ε 在文法中引入新的开始符号s’,并将s’::=s作为规则0, 已知 i={[s’::= ·s,#]},求closure(i)。
    a、s’->•s,# s->•s(s),#,( s->• #,(
    b、s’->•s,# s->•s(s),#,( s->•ε #,(
    c、s’->•s,# s->•s(s),# s->• #
    d、s’->•s,# s->•s(s),# s->•ε #

8、简单优先分析法进行分析时,当栈顶出现()时进行归约
    a、素短语
    b、简单短语
    c、最左素短语
    d、句柄

9、已知文法g[a]: a∷=bcc | gdb b∷=ε| bcde c∷=dab | ca d∷=ε| dd e∷=gaf | c 求first(bcc)=()。
    a、{ a,b,c,d,g}
    b、{ a,b,c,d}
    c、{ b,c,d,g}
    d、{ a,b,c,d,g,ε}

10、已知文法 a∷=bcc | gdb b∷=ε| bcde c∷=dab | ca d∷=ε| dd e∷=gaf | c follow(e)={}
    a、{ a,c,d,g}
    b、{ a,c,d,g,f,#}
    c、{ a,c,b,d,g,f,#}
    d、{ a,g,f,#}

11、对于文法g(s'): (0) s' → s (1) s → as (2) s → bs (3) s → a 该文法的lr分析表如下: 下面是输入串aba#的lr分析过程的0~4步的格局,第5步的格局是
    a、
    b、
    c、
    d、

12、有一文法g[t],语法制导翻译如下所示: t→ada {print “4”} d→(a) {print “5”} d→d {print “6”} a→dd {print “7”} 若输入字符序列为a(dd)a,且采用规范归约的分析方法,则输出序列为
    a、4567
    b、6754
    c、4576
    d、7654

13、一个句型的直接短语(简单短语)是唯一的。

14、正规表达式(a|b)*和(a*b*)*不等价

15、确定的有穷自动机只有唯一的终止状态

16、算符优先分析法是一种一种规范归约分析法

17、由正规文法构造状态转换图,其右线性文法识别符号对应是状态转换图的初始状态。

18、规范归约又称为最右归约。

19、如果在进行归约时,文法的某些规范句型的句柄不唯一,则称该文法是二义性文法。

20、文法g[s]: s::=acd ac::=b ac::=aac b::=b 是上下文有关文法。

21、由递归文法产生的语言集合一定是无限集合。

22、由文法的开始符经0步或多步推导产生文法符号序列是句子。

23、编译程序与具体的机器有关。

24、表达式(a b)/(a-b)-(b*c)的四元式序列为: ⑴.( ,a,b,t1) ⑵.(-,a,b,t2) ⑶.(/,t1,t2,t3) ⑷.(*,b,c,t4) ⑸.(-,t3,t4,t5)

猜你喜欢:

    网站地图