编译原理阶段测试题.docx

上传人:b****9 文档编号:26237201 上传时间:2023-06-17 格式:DOCX 页数:13 大小:40.64KB
下载 相关 举报
编译原理阶段测试题.docx_第1页
第1页 / 共13页
编译原理阶段测试题.docx_第2页
第2页 / 共13页
编译原理阶段测试题.docx_第3页
第3页 / 共13页
编译原理阶段测试题.docx_第4页
第4页 / 共13页
编译原理阶段测试题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

编译原理阶段测试题.docx

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

编译原理阶段测试题.docx

编译原理阶段测试题

第一阶段测试卷

考试科目:

《编译原理》第1章至第4章(总分100分)时间:

90分钟

学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

一、选择与填充(30)

1.一个正则语言只能对应()?

A.一个正则文法B.一个最小有限状态自动机

C.一个自然语言D.一个上下文有关文法

2.对于编译程序而言,输入数据是源程序,输出数据是___________________。

3.给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:

_____________________。

4.一个句型中最左的()称为该句型的句柄。

A.简单短语B.短语C.非终结符号D.终结符号

5.Micro语言只有三种语句:

()、输入语句和输出语句。

A.GOTO语句B.赋值语句C.条件语句D.循环语句

6.描述高级语言语法的常用方法有________________和BNF范式。

二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。

(16)

三、简述DFA与NFA有何区别。

(14)

四、判断下列文法是否具有二义性:

G[P]:

P→PaP|PbP|cP|Pe|f(18)

 

五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。

(22)

(1)Z:

:

=E

(2)E:

:

=T+E(3)E:

:

=T(4)T:

:

=F*T

(5)T:

:

=F(6)F:

:

=(E)(7)F:

:

=i

附:

参考答案:

一、选择与填充(30)

1.一个正则语言只能对应(B)?

A.一个正则文法B.一个最小有限状态自动机

C.一个自然语言D.一个上下文有关文法

2.对于编译程序而言,输入数据是源程序,输出数据是____目标程序_________。

3.给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:

________(0|1)*00__________。

4.一个句型中最左的(A)称为该句型的句柄。

A.简单短语B.短语C.非终结符号D.终结符号

5.Micro语言只有三种语句:

(B)、输入语句和输出语句。

A.GOTO语句B.赋值语句C.条件语句D.循环语句

6.描述高级语言语法的常用方法有___语法图_____和BNF范式。

二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。

(16)

三、简述DFA与NFA有何区别。

(14)

解:

DFA与NFA的区别主要有两点:

1是NFA可以若干个开始状态,而DFA仅只一个开始状态。

2是DFA的映象M是从K×∑到K,而NFA的映象M是从K×∑到K的子集,即映象M将产生一个状态集合(可能为空集),而不是单个状态。

四、判断下列文法是否具有二义性:

G[P]:

P→PaP|PbP|cP|Pe|f(18)

解:

因为文法存在句型fbfbf,此句型有两棵不同的语法树,所以文法具有二义性。

五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。

(22)

(1)Z:

:

=E

(2)E:

:

=T+E(3)E:

:

=T(4)T:

:

=F*T

(5)T:

:

=F(6)F:

:

=(E)(7)F:

:

=i

解:

最左:

Z=>E=>T=>F*T=>(E)*T=>(T+E)*T=>(F*T+E)*T=>(i*T+E)*T=>(i*F+E)*T=>(i*i+E)*T

=>(i*i+T)*T=>(i*i+F)*T=>(i*i+i)*T=>(i*i+i)*F=>(i*i+i)*i

最右:

Z=>E=>T=>F*T=>F*F=>F*i=>(E)*i=>(T+E)*i=>(T+T)*i=>(T+F)*i=>(T*i)*i=>(F*T+i)*i

=>(F*F+i)*i=>(F*i+i)*i=>(i*i+i)*i

第二阶段测试卷

考试科目:

《编译原理》第4章至第7章(总分100分)时间:

90分钟

学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

一、选择与填充(30)

1.有限状态自动机能识别()。

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

2.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合都是()。

A.非终极符集B.终极符集C.字母表D.状态集

3.在自底向上的语法分析方法中,分析的关键是()。

A.寻找句柄B.寻找句型C.消除递归D.消除公共前缀

4.______________________是这样一种动作文法,即动作符只出现于产生式的末尾。

5.文法要满足两个条件:

_____________________和_________________________才可以使用自顶向下的语法分析方法。

6.文法G[E]:

E→E+T|T,T→T*P|P,P→(E)|I,则句型P+T+i的短语有()。

A.i,P+TB.P,P+T,i,P+T+iC.P+T+iD.P,P+T,i

二、若有文法G[S]为:

S->Ac|aBA->dfB->be,请写出语言L(G[S])的全部元素。

(12)

三、文法G[S]为:

(18)

  S→V

  V→T|ViT

  T→F|T+F

  F→)V*|(

试给出句型ViFi(的短语,简单(直接)短语,句柄。

四、写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。

(15)

五、下面的文法是不是LL

(1)文法?

若是,请构造相应的LL

(1)分析表。

(25)

S→aDD→STe|ε  T→bH|H  H→d|ε

 

附:

参考答案:

一、选择与填充(30)

1.有限状态自动机能识别(C)

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

2.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合都是(B)。

A.非终极符集B.终极符集C.字母表D.状态集

3.在自底向上的语法分析方法中,分析的关键是(A)。

A.寻找句柄B.寻找句型C.消除递归D.消除公共前缀

4._______尾动作文法________是这样一种动作文法,即动作符只出现于产生式的末尾。

5.文法要满足两个条件:

________没有左递归_____和______没有公共前缀_____才可以使用自顶向下的语法分析方法。

6.文法G[E]:

E→E+T|T,T→T*P|P,P→(E)|I,则句型P+T+i的短语有(B)。

A.i,P+TB.P,P+T,i,P+T+iC.P+T+iD.P,P+T,i

二、若有文法G[S]为:

S->Ac|aBA->dfB->be,请写出语言L(G[S])的全部元素。

(12)

解:

因为S=>Ac=>dfc

S=>aB=>abe

所以L(G[S])={abcdef}

三、文法G[S]为:

(18)

  S→V

  V→T|ViT

  T→F|T+F

  F→)V*|(

试给出句型ViFi(的短语,简单(直接)短语,句柄。

解:

句型ViFi(的语法树如下:

F是句型ViFi(相对于T的短语、简单短语、句柄

(是句型ViFi(相对于F的短语、简单短语

(是句型ViFi(相对于T的短语

ViF是句型ViFi(相对于V的短语

ViFi(是句型ViFi(相对于V的短语

ViFi(是句型ViFi(相对于S的短语

四、写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。

(15)

解:

逆波兰表示:

abc*+ab+/d-

三元式序列:

(1)(*,b,c)

(2)(+,a,

(1))

(3)(+,a,b)

(4)(/,

(2),(3))

(5)(-,(4),d)

五、下面的文法是不是LL

(1)文法?

若是,请构造相应的LL

(1)分析表。

(25)

S→aDD→STe|ε  T→bH|H  H→d|ε

解:

Predict(S→aD)=first(aD)={a}

Predict(D→STe)=first(STe)={a}

Predict(D→ε)=follow(D)={#,b,d,e}

Predict(T→bH)=first(bH)={b}

Predict(T→H)=first(H)∪follow(T)={d,e}

Predict(H→d)=first(d)={d}

Pridict(H→ε)=follow(H)={e}

所以该文法是LL

(1)文法,LL

(1)分析表如下表:

a

e

b

d

#

S

1

D

2

3

3

3

3

T

5

4

5

H

7

6

第三阶段测试卷

考试科目:

《编译原理》第8章至第10章(总分100分)时间:

90分钟

学习中心(教学点)批次:

层次:

专业:

学号:

身份证号:

姓名:

得分:

一、选择与填充(30)

1.四元式之间的联系是通过()来实现的。

A.指示器B.临时变量C.符号表D.程序变量

2.优化可生成()的目标代码。

A.运行时间较短B.运行时间短但占用内存空间大

C.占用存储空间较小D.运行时间短且占用存储空间小

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

A.强度削弱B.删除归纳变量C.删除多余运算D.代码外提

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

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

5.语法分析是依据语言的__________规则进行的,中间代码产生是依据语言的_________规进行的。

6.优化可分为局部优化、_____________和全局优化三种。

二、写出表达式A*(B/C-D)+E/F的逆波兰中间代码。

(15)

三、什么是活动记录?

它主要由哪些内容构成?

(15)

四、试写出算术表达式a+b*c-(c*b+a-e)/(b*c+d)优化后的四元式序列。

(15)

五、文法G[M]及其LR分析表如下,请给出对串dada#的分析过程。

(30)

  G[M]:

1)S→VdB    2)V→e

     3)V→ε    4)B→a

     5)B→Bda   6)B→ε

状态

ACTION

GOTO

d

e

a

#

S

B

V

0

r3

S3

 

 

1

 

2

1

 

 

 

acc

 

 

 

2

S4

 

 

 

 

 

 

3

r2

 

 

 

 

 

 

4

r6

 

S5

r6

 

6

 

5

r4

 

 

r4

 

 

 

6

S7

 

 

r1

 

 

 

7

 

 

S8

 

 

 

 

8

r5

 

 

r5

 

 

 

附:

参考答案:

一、选择与填充(30)

1.四元式之间的联系是通过(B)来实现的。

A.指示器B.临时变量C.符号表D.程序变量

2.优化可生成(D)的目标代码。

A.运行时间较短B.运行时间短但占用内存空间大

C.占用存储空间较小D.运行时间短且占用存储空间小

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

A.强度削弱B.删除归纳变量C.删除多余运算D.代码外提

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

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

5.语法分析是依据语言的___语法__规则进行的,中间代码产生是依据语言的__语义___规进行的。

6.优化可分为局部优化、____循环优化____和全局优化三种。

二、写出表达式A*(B/C-D)+E/F的逆波兰中间代码。

(15)

解:

ABC/D-*EF/+

三、什么是活动记录?

它主要由哪些内容构成?

(15)

解:

一个过程的一次执行所需信息的管理,是通过称为活动记录的连续存储块来实现的。

活动记录的主要内容有:

(1)临时变量域存放目标程序临时变量的值;

(2)局部数据域存放过程本次执行时的局部数据、简单变量及数组内情向量等;

(3)机器状态域保存在调用过程前有关机器状态的信息,包括各寄存器的当前值及返回地址等;

(4)存取链为访问其它活动记录中所存放的非局部数据所提供的链地址;

(5)控制链指向主调过程的活动记录;

(6)实参存放主调过程为被调用过程所提供的实参信息;

(7)返回值为主调过程存放被调过程的返回值

四、试写出算术表达式a+b*c-(c*b+a-e)/(b*c+d)优化后的四元式序列。

(15)

解:

该表达式的四元式序列为:

(1)(*,b,c,T1)

(2)(+,a,T1,T2)

(3)(*,c,b,T3)

(4)(+,T3,a,T4)

(5)(-,T4,e,T5)

(6)(*,b,c,T6)

(7)(+,T6,d,T7)

(8)(/,T5,T7,T8)

(9)(-,T2,T8,T9)

可以对该表达式进行删除公共子表达式的优化。

优化后的四元式序列为:

(1)(*,b,c,T1)

(2)(+,a,T1,T2)

(3)(-,T2,e,T5)

(4)(+,T1,d,T7)

(5)(/,T5,T7,T8)

(6)(-,T2,T8,T9)

五、文法G[M]及其LR分析表如下,请给出对串dada#的分析过程。

(30)

  G[M]:

1)S→VdB    2)V→e

     3)V→ε    4)B→a

     5)B→Bda   6)B→ε

状态

ACTION

GOTO

d

e

a

#

S

B

V

0

r3

S3

 

 

1

 

2

1

 

 

 

acc

 

 

 

2

S4

 

 

 

 

 

 

3

r2

 

 

 

 

 

 

4

r6

 

S5

r6

 

6

 

5

r4

 

 

r4

 

 

 

6

S7

 

 

r1

 

 

 

7

 

 

S8

 

 

 

 

8

r5

 

 

r5

 

 

 

解:

状态栈

符号栈

输入流

动作

S0

#

dada#

r3

S0S2

#V

dada#

S4

S0S2S4

#Vd

ada#

S5

S0S2S4S5

#Vda

da#

r4

S0S2S4S6

#VdB

da#

S7

S0S2S4S6S7

#VdBd

a#

S8

S0S2S4S6S7S8

#VdBda

#

r5

S0S2S4S6

#VdB

#

r1

S0S1

#S

#

acc

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

当前位置:首页 > 法律文书 > 辩护词

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

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