编译原理作业集第二章Word文档下载推荐.docx
《编译原理作业集第二章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《编译原理作业集第二章Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
9,ae(VTUVN)\则称a是一个。
a.句子b.句型c.推导d.语言
4.一个数据类型通常包括的三种要素中,没有下面的-
a.用于区别这种类型的数据对象的属性:
b.这种类型的数据对象可以具有的值;
c.对这种类型的数据对象的内存分配:
d.可以作用于这种类型的数据对象的操作:
5.Chomsky把文法分成四种类型,其中,也称正规文法
a.0型b.1型c.2型d.3型
6.语言的词法规则一般用Chomsky的型文法来描述:
a.0b.1c.2d.3
7.文法
S—(L)|a
L—L,SIS
中,下而—是该文法中的终结符号。
a.Sb.,c.Ld.I
8.文法G所描述的语言是的集合。
a.文法G的字母表为中的所有符号组成的符号串:
b.文法G的字母表工的闭包工中的所有符号串;
c.文法G的识别符号推出的所有符号串;
d.文法G的识别符号推出的所有终结符号串;
9.语言L={acaIae(alb)4},该语言是语言。
a.3型语言,b.2型语言,C.1型语言,d.O型语言
10.设有文法G:
I-*I1110IlaIIcIaIbIcI
下面符号串中不是该文法的句子是:
a.abO,b.aOcOl,c.aaa,d.bclO
11.给泄文法A-bAlcc,下而的符号串中,是该文法句子的是。
a.bcbc,b.bbbcc,c.bcbcc,d.bccbcc:
12.Chomsky义的四种形式语言文法中,2型文法可由(G)识别。
a.图灵机:
b.确泄性有限自动机;
c.下推自动机:
d.非确左性有限自动机:
13.若文法G立义的语言是无限集,则文法必然是
a.上下文无关的b.递归的c.二义性的d.无二义性的
14.文法S-aaSlabc定义的语言是。
a.{a2kbclk>
0)b.{akbclk>
0}
c.{a'
kJbcIloO}d.{akakbclk>
15.
)o
d.xnyxn(n^O)
文法:
G:
S—xSxly所识别的语言是(
a.xyxb.(xyx)*c.x*yx*
1.答案:
1.c.:
2.a.;
3.b;
4.c:
5.d:
6.d:
7.b:
&
d:
9.d;
10.a;
11.b;
12.c:
13.b:
14.c:
15.d;
填空丿
1.假设G是一个文法,a是由终结符和非终结符组成的串,S是文法的开始符号,如果S=>
a,
则称a是。
2.在赋值语句中,赋值号'
:
='
左右两边的变量劣扮演着两种不同的角色,为了区分一个划
字的这两种特征,我们把一个名字所代表的称为该名的左值,把一个名字的称
为该名字的右值。
3.对于文法G,仅含终结符号的句型称为。
4.设有文法G[S],其部分产生式:
E-E+TIT
T-*T*FIF
F-*(E)la
则%={}.Vt={}。
5.由文法产生的集合是文法产生的语言。
6.Chomsky语法定义的3型文法又可以分为,
7.一个上下文文法G的四个组成部分分别是:
8.已知语言:
{a"
b"
ambmln,m^O},其语法定义为:
G=({a,b},{S,A,B},S,P),其中
P为:
o
9.已知某语言的语法定义为:
G=({a},{S}S.P),且P:
S-aSI£
则该语言
为°
10.已知某语言为{3cwRloe(a,b}・},其语法定义为G=({a,b,c},{S},S,P),其中P
为:
“
11.所谓最右推导是指O
12.已知文法G(Z):
E-ET+IT
T-*TF*IF
F-FPtIP
P-*Eli
试写出其识别的一个句子:
3
13.文法G[S]:
S-aAla,A-aS为型文法,其确定的语言的为:
。
14.在一棵语法树生长过程中的任何时刻,就是
一个句型。
15.我们说G=(Vt,Vn,S,P)是一个0型文法,如果它的每一个产生式a-卩是这样一种结
构:
2.答案:
1.句型;
2.单元的地址(或者:
单元、存储单元的地址),值(或者:
单元的内容)3.句子:
4.Vn={E,T,F},Vi={+,*,(,),a):
5.句子:
6.右线性文法和左线性文法:
7.开始符号,产生式集合,终结符集合,非终结符集合:
&
S-AB:
A—aAbb:
B-aBbb:
9.{anln^0};
10.S—aSalbSble:
11.任何一步an卩都是对a中的最右非终结符进行替换。
12.
13.{a2n+,ln>
0};
14.所有那些没有后代的末端结点从左到右排列起来;
15.a£
(VNUVt)♦且至少含有一个非终结符,而0G(VnUVT)\
三、判断题:
1.一棵语•法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。
()
2.可能有两个不同的文法G和G,期中一个是二义的而另一个是无二义的,但是却有L(G)=L(Gf)0()
3.变量既持有左值又持有右值,而常数和带有算符的表达式一般认为只持有右值。
4.文法G:
S-*bA
A-*aAla
泄义的语言是所有以b开头的后跟至少一个a的字符串的集合。
5.设有文法G:
S-*S*SIS+SI(S)la
该文法是二义的。
6.正则文法一定不是二义的。
7.上下文无关文法可以产生语言L={anbnc'
li>
=l,n>
=l}o()
8.不存在任何正规文法能产生语言L={anbnIn>
=l}o()
9.对于每一个左线性文法Gi,都存在一个右线性文法G2,使得L(Gi)=L(G2)6()
10.正规文法产生的语言都可以用上下文无关文法来描述。
11.上下文无关文法比正规文法有更强的描述能力。
12.文法的二义性和语言的二义性在概念上是相同的,也就是说,对于某个语言,不可能存在两个以上的文法来描述它。
13.二义性是可以判泄的,也就是说,可以编这么一个程序,输入该文法后,该程序能确切地给出该文法是否二义的答案。
14•说明语句旨在左义名字的性质。
编译程序把这些性质登记在符号表中,并检查程序中名字的引用和说明是否一致。
实际上,许多说明语句并不能翻译成相应的目标代码。
15.C语言是一个允许子程序嵌套定义的语言。
3.答案:
1.7:
2.7:
3.7:
4.7:
5.7:
6.X;
7.Q:
7:
9.Q:
10.7:
11.7:
12.X;
13.X;
14.>
1:
15.X;
四、名词解
q-r•
(按照组卷方案,至少3道小题)
2.推导和直接推导:
3.句型,句子和语言;
4.上下文无关文法;
5.语法;
6.正规文法(左线性文法和右线性文法):
4.答案:
1.如果一个文法存在某个句子对应两棵以上不同的语法树,则称这个文法是是二义性文法。
2.设A-y是一个产生式,且cc、pe(VToVN)*,若aAp=>
ayp,则称aA卩直接推出。
祁:
或者说,旳卩是aA0的一个直接推导。
如果ai=>
a2=>
……=>
an,则称这个序列是从a】到*的一个推导。
3.设G是一个文法,S是它的开始符号。
如果S=>
*a,则称a是一个句型。
仅含终结符的句型叫句子。
文法G所产生的句子的全体叫文法G的语言,记为L(G),L(G)={alS=>
a,aGVT*)o
4.上下文无关文法G是一个四元式(Vt,Vn,S,P),其中:
Vt是一个非空有限集合,其中的每一个元素称为终结符:
Vn是一个非空有限集合,其中的每一个元素称为非终结符,vNnv-^0:
S是一个非终结符,称为开始符号:
P是一个产生式有限集合,每个产生式的形式是P-*a,英中PgVn,<
xG(V2Vn)*。
开始符号S至少必须在某个产生式的左部出现一次。
5.若文法G=(Vt,Vn.S,P)的任何产生式为A-aB或A-a,其中,aeVT\A,BGVn,则称G是右线性文法:
若文法G=(Vr,Vn,S,P)的任何产生式为A-*Ba或A-a,其中,aeVT\A,BGVN,则称G是左线性文法:
左线性文法和右线性文法均为正规文法。
五、简答题:
(按照组卷方案,至少3逍小题)
1.作为描述程序i马言的上下文无关文法,对它有哪些限制?
答:
第一点:
文法中不含任何下而形式的产生式:
P-P;
第二点:
每个非终结符P都必须有用处。
也就是说,必须存在含P的句型;
或者说,对P不存在永不终结的回路。
2.什么是二义性文法?
从输入串abab来说明下而文法二义吗?
S—>
aSbS[bSaS|£
该文法产生的语言是什么?
如果一个文法存在某个句子对应两棵以上不同的语法树,则称这个文法是二义的。
例如输入串abab,它有两棵语法树如下:
所以,该文法是二义的。
此文法产生的语言是:
所有a的个数与b的个数相等的由a和b组成的字符串。
3.文法G[S]为:
S-*AclaB
A—ab
B-*bc
该文法是否为二义的?
为什么?
对于串abc
(1)S=>
Ac=>
abc
(2)S=>
aB=>
abc
即存在两不同的最右推导。
或者:
对输入字符串abc,能构造两棵不同的语法树,所以它是二义的。
4已知文法G=({A,B,C},{abc},P,A),P由以下产生式组成:
A—abc
A-*aBbc
Bb-bB
Be—Cbcc
bC-Cb
aC-*aaB
aC-*aa
此文法所表示的语言是什么?
分析文法的规则:
每使用一次Bc-Cbcc,b、c的个数各增加一个:
每使用一次aC-*aaB或aC-*aa,a的个数就增加一个:
产生式Bb-bB、bC-Cb起连接转换作用。
由于A是开始符号,由产生式A-abc推导得到终结符号串abc;
由产生式A-aBbe推导得到B后,每当使用产生式Bb-bB、Be-Cbcc、bC-Cb、aC-aaB就会递归调用B一次,所产生的a、b、c的个数分别增加一个,因此推导所得的终结符号串为abc、aabbcc、aaabbbccc^…所以文法描述的语言为{anbncnln>
0}.
5已知文法G[Z]:
Z-0UI1V
U-1ZI