《编译原理》训练题1

2020-04-14 02:07

《编译原理》训练题

第一章

一.填空题

1.一个编译程序是一个 ① ,编译程序完成从 ② 语言 所写的源程序到 ③ 语言所写的目标程序的翻译工作。

2.编译程序的整个工作划分成阶段进行的,典型的划分方法,将编译过程分成六 个阶段: ① , ② , ③ , ④ , ⑤ , ⑥ 。 3.对编译程序而言,输入数据是 ① ,输出结果是 ② 。 4.编译方式与解释方式的根本区别在于 。

二 判断题

( ) 1.汇编程序是一个编译程序,它把汇编语言程序翻译成机器语言执行。 ( ) 2.编译程序是一个语言翻译程序,它把汇编语言程序翻译成机器语言执

行。

三.选择题

1.汇编程序是将 (1) 翻译成 (2) ;编译程序是将(3) 翻译成(4) 。

可选项有:

a.汇编语言程序 b.机器语言程序

c.高级语言程序 d.汇编语言程序或机器语言程序

e.汇编语言程序或高级语言程序 f.机器语言程序或高级语言程序

2.用高级语言编写的程序经编译后产生的程序叫(1) 。用不同语言编写的程序产生(1)

后,可用(2)连接在一起生成机器可执行的程序。在机器中真正执行的是(3)。 可选项有:

a.源程序 b.目标程序 c.函数 d.过程 e.机器指令代码 f.模块 g.连接程序 h..程序库 3.编译程序与具体的机器(1),与具体的语言(2)。

可选项有: a.有关 b.无关

4.编译程序是一种常用的 软件。 可选项有:

a.应用 b.系统

5.编译程序生成的目标程序 是机器语言的程序。 可选项有:

a.一定 b.不一定

四、思考题

1.给出一个典型的编译程序的结构框图。

2.什么是前端和后端?设想相同的前端不同的后端,相同的后端不同的前端生成的编译程序分别有何特征?

第二章

一.填空题

1. INT O A在每个过程目标程序的入口都有这样一条指令,用以完成 ① 的

工作,A域的值为 ② 。

2. OPR O O在每个过程目标程序的 ① 都有这样一条指令,用以完成 ② 的工作。

3.PL/0编译程序运行时的存储分配策略采用栈式动态分配,用 ① 链和 ②

链的方式解决递归调用和非局部变量的引用问题。

4. 是构成语言文法的单词,是语法成分的最小单位。

二、思考题

1. 若PL/0编译程序运行时的存储分配策略采用栈式动态分配,并用动态链和静态链的方

式分别解决递归调用和非局部变量的引用问题,试写出下列程序执行到赋值语句b:=10时运行栈的布局示意图。 var x,y procedure p;

var a; procedure q; var b; begin (q) b:=10; end(q); procedure s; var c,d; procedure r; var e,f; begin(r)

call q; end(r); begin(s) call r; end(s); begin(p)

call s; end(p);

begin(main) call p; end(main).

2. PL/0编译程序所产生的目标代码是一种假想栈式计算机的汇编语言,请说明该汇编语言

中下列指令各自的功能和所完成的操作。

INT o A OPR o o CAL o A

第三章

一.填空题

1.设A是符号串,且A=CD,则X= 。 2、产生式是用于定义 的一种书写规则。

3、一个上下文无关文法所含四个组成部分是一组 ① 、一组 ② 、

一组 ③ 、一组 ④ 、。

4.假设G是一个文法,S是文法的开始符号,如果S?*X,则称X是 。 5.文法G产生的 的全体是该文法描述的语言。

6.文法G[S]:S→Ac|aB A→ab B→bc描述的语言L(G[S])= { }。 7.已知文法G[E]:

E::=T|E+T|E-T T::=F|T*F|T/F F::=(E)|i

该文法的开始符号(识别符号)是① 终结符号集合VT是{② },非终结符号集合VN是{③ },句型T+T*F+i的简单短语有④. ,句柄为 ⑤ 。

8.实际使用中,我们将限制文法中不能含有 ① 和 ② 规则。 9.G[E]为: E->E+T|E-T T->T*F|T/F|F F->(E)|i

因为存在推导序列: E=>E+T=>E+T*F 所以句型E+T*F 的短语有:

① 直接短语有: ② 句柄为: ③

n

10.三型文法为: S->aS|a 所描述的语言是{ a| n>= }11.文法

S->a|^|(T) T->T,S|S

(1) 下面对(a,(a,a)的推导为 推导:

S=>(T)=>(T,S)=>(S,S)=>(a,S)=>(a,(T))=>(a,(T,S)) =>(a,(S,S))=>(a,(a,S))=>(a,(a,a))

二 判断题

( ) 1. 设G=(VN,VT,P,S),若P中的每一个产生式α→β满足|β|≥|α|,仅

仅S→ε除外,则文法G是上下文无关的或2型文法。

( ) 2. 设G=({S,A,B},{a,b},P,S),其中P由下列产生式组成: S→aB∣bA A→a∣aS∣bAA B→b∣bS∣aBB

文法G是上下文无关的或2型文法。

( ) 3. 设G=(VN,VT,P,S),若P中的每一个产生式α→β满足α是一非 终结符,则文法G是上下文有关的或2型文法。

3

( ) 4.若一文法G=(VN,VT,P,S)是上下文无关文法,则该文法G一定是上下文有关文法。

( ) 5.若一文法G=(VN,VT,P,S)是3型文法,则该文法G一定是上下文有关文法。( )6.如果一个文法存在某个句子对应两棵不同的语法树,则这个文法一定是二义的。 ( )7.∑具有可数的无穷数量的元素,ε∈∑。

*

*

( )8.文法G描述的语言是由文法的识别符号推出的所有符号串的集合 ( )9.一个句型中的最右直接推导称为该句型的句柄。

( )10.已知语言L={anbn|n>=1},则文法A::=aAb|ε,可以产生语言L。

( )11.文法G[E]为: E->E+T|E-T T->T*F|T/F|F F->(E)|i不是二义的.

三.选择题

1.在编译中产生语法树是为了( ) 可选项有:

a.语法分析 b.语义分析 c.词法分析 d.产生目标代码 2.文法G描述的语言是 的集合。 可选项有:

a 文法G 的字汇表V中所有符号组成的符号串 b 文法G的字汇表V 的闭包V*中的所有符号串 c 由文法的识别符号推出的所有符号串

d 由文法的识别符号推出的所有终结符号串 3.一个语言的文法是 。 可选项有: a 唯一的 b 不唯一的 c个数有限的

4.已知语言L={anbbn|n>=1},则下述文法中, 可以产生语言L。 可选项有:

a Z::=aZb|aAb|b A::=aAb|b b Z::=aAb A::= aAb|b

c Z::=AbB A::=Aa|a B::=Bb|b d A::=aAb A::=b 5.设有文法G[I]:

I→I1|I0|Ia|Ic|a|b|c

下列符号串中是该文法的句子的有 。 1.Ab0 2.a0c01 3.aaa 4.cb10 可选项有:

a.1 b.2 3 c.3 4 d.1 2 3 4

6.给定文法A→Bc|cc,B→c|b下面的符号串中,为该文法句子的是 。


《编译原理》训练题1.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Java实训报告 - greenfoot游戏制作

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: