编译原理b.docx

上传人:b****4 文档编号:3931367 上传时间:2022-11-26 格式:DOCX 页数:10 大小:68.47KB
下载 相关 举报
编译原理b.docx_第1页
第1页 / 共10页
编译原理b.docx_第2页
第2页 / 共10页
编译原理b.docx_第3页
第3页 / 共10页
编译原理b.docx_第4页
第4页 / 共10页
编译原理b.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

编译原理b.docx

《编译原理b.docx》由会员分享,可在线阅读,更多相关《编译原理b.docx(10页珍藏版)》请在冰豆网上搜索。

编译原理b.docx

编译原理b

题号

总分

得分

得分

一、填空题(每空1分,总计20分)

1.编译程序是源程序的一个系统,其输出是。

2.一个句型的叫做该句型的句柄。

3.二义性文法中,有的文法的二义性是不能消除的,这类文法被称为。

4.算符优先分析方法和LR分析方法都是自下而上的分析方法,算符优先分析方法是通

过刻画可规约串的,而LR分析方法是通过刻画可规约串的。

5.编译过程中常见的中间语言形式有、   、   和    。

6.语法制导翻译的方法就是为每个产生式配上一个,并在语法分析的同时执行之。

7.过程的DISPLAY表中记录了过程的。

8.原程序中的错误通常分为和两类。

9.编译程序所生成的目标代码通常三类,有能够机器语言代码、机器语言模块和。

10.程序语言中参数传递的方式主要有,,三种。

得分

二.选择题(每题1分,总计10分)

1.编译程序是对()。

A.汇编程序的翻译B.高级语言程序的解释执行

C.机器语言的执行D.高级语言的翻译

2.正规表达式M1和M2等价是指()。

A.M1和M2的状态数相等B.M1和M2的有向边条数相等

C.M1和M2所识别的语言集相等D.M1和M2的状态数和有向边条数都相等

3.文法G:

SxSx|y所识别的语言是()。

A.xyxB.(xyx)*C.xnyxn(n≥0)D.x*yx*

4.homaky把文法分为四种类型,即0型,1型,2型,3型其中2型文法又叫做()。

A.上下无关文法B.上下有关文法C.正规文法D.短语文法

5.在通常的语法分析中,()特别适用于表达式的分析。

A.算符优先分析法B.LR分析法C.递归下降分析法D.LL

(1)分析法

6.间接三元式的执行顺序通过()反映出来的。

A.指示器B.间接码表C.符号表D.程序变量

7.有一语法制导翻译程序如下所示:

G[S]:

SbAb{print”x”}

A(B{print”y”}

Aa{print”u”}

BAa){print”v”}

若输入序列为b(((aa)a)a)b,且采用自下而上的分析方法,则输出序列为()。

A.uyyyvvvxB.uvyvyvxC.xyvyvyvuD.uvvvyyxy

8.程序的基本块是指()。

A.没有循环的程序段B.没有分支的程序段

C.一组顺序执行的程序段,仅有一个入口和一个出口

D.没有嵌套的程序段

9.下列优化方法中不是针对循环优化进行的是()。

A.复写传播B.删除归纳变量C.强度削弱D.代码外提

10.在目标代码生成阶段,符号表用于()。

A.目标代码生成B.语义检查C.语法检查D.地址分配

得分

三.简答题(每题4分,总计20分)

1.什么是非确定有限自动机(五元组及其含义)

 

2.什么是规范规约

 

3.在LL

(1)分析方法中,为什么要求文法无左递归无回溯

 

4.C语言中有inta[5][6][7];数组说明语句,画出数组的内情向量表。

 

5.画出c语言的活动记录

 

得分

四.综合题(总计50分)

1.填写编译程序结构示意图,包括编译程序的每个功能模块,及其输出信息写在箭头左侧(10分)

 

2、构造正规式((a|b)*|aa)*b的最简DFA。

(10分)

 

3.给出文法G[S]:

SaSb|P

PbPc|bQc

QQa|a

(1)消除文法G[S]的左递归和回溯(5分)

(2)构造LL

(1)分析表(10分)

 

4.在该程序流图中求出所有节点的必经节点集,找出所有回边和循环。

(10分)

 

5.考察下面求最大公因子的三地址代码程序,划分基本块,并且在划分好的基本块基础上给出程序流图。

(5分)

(1)readX

(2)readY

(3)R=X%Y

(4)IfR=0goto(8)

(5)X=Y

(6)Y=R

(7)goto(3)

(8)writeY

(9)halt

 

一、填空题(每空1分,计20分)

1、翻译目标代码

2、最左直接短语

3、先天二义性文法

4、最左素短语句柄

5、逆波兰式抽象语法树四元式三元式间接三元式

6、语义子程序或语义动作

7、嵌套过程的层次关系

8、语法错误语义错误

9、可直接运行的机器语言代码待装配的机器语言模块汇编语言

10、传值传名传地址

二、选择题(每题1分,计10分)

1.D2.C3.C4.A5.A6.B7.B8.C9.A10.D

三、简答题(每题4分,计20分)

1、NFA是个五元组Mn=(S,∑,f,Q,Z)

(1)S是一个有限状态集,它的每个元素称为一个状态

(2)∑是一个有穷输入字母表,它的每一个元素称为一个输入字符

(3)f多值映射

(4)Q初始状态集

(5)Z终止状态集

2、规约过程中每一步把当前句型的句柄用相应产生式的左部进行替换。

3、左递归导致程序无法执行,回溯会大大降低程序的执行效率

 

4、

0

4

5

0

5

6

0

6

7

3

0

int

a

5、

 

四.综合题

1.

源程序

单词序列

语法单位

四元式

四元式

 

目标程序

2.

I

Ia

Ib

{X,1,2,4}

{1,2,3,4}

{1,2,4,Y}

{1,2,3,4}

{1.2,3,4}

{1,2,4,Y}

{1,2,4,Y}

{1,2,3,4}

{1,2,4,Y}

S

a

b

1

2

3

2

2

3

3

2

3

3.

(1)消除文法的左递归:

(3分)

SaSb|P

PbPc|bQc

QaQ`

Q`aQ`|ε

消除回溯之后得到文法G`[S]:

(2分)

SaSb|P

PbP`

P`Pc|Qc

QaQ`

Q`aQ`|ε

(2)对每个非终结符构造FIRST集和FOLLOW集:

(5)

FIRST(S)={a,b}FIRST(P)={b}

FIRST(P`)={a,b}FIRST(Q)={a0}

FIRST(Q`)={a,ε}

FOLLOW(S)={b,#}FOLLOW(P)={b,c,#}

FOLLOW(P`)={b,c,#}FOLLOW(Q)={c}

FOLLOW(Q`)={c}

LL

(1)分析表如下:

(5分)

a

b

c

#

S

SaSb

SP

P

PbP`

P`

P`Qc

P`Pc

Q

QaQ`

Q`

Q`aQ`

Q`ε

4.

必经结点集

D

(1)={1}

D

(2)={1,2}

D(3)={1,2,3}

D(4)={1,2,4}

D(5)={1,2,4,5}

D(6)={1,2,4,6}

D(7)={1,2,4,7}

回边

(1)已知D(6)={1,2,4,6},因存在6→6且6DOM6,故6→6是回边;

(2)已知D(7)={1,2,4,7},因存在7→4且4DOM7,故7→4是回边;

(3)已知D(4)={1,2,4},因存在4→2且2DOM4,故4→2是回边。

循环

{6}

{2,3,4,5,6,7}

{4,5,6,7}

 

5.

基本块(10分)

A:

(1)

(2)B:

(3)(4)C:

(5)(6)(7)D:

(8)(9)

程序流图:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1