编译原理习题集.docx

上传人:b****6 文档编号:7105497 上传时间:2023-01-17 格式:DOCX 页数:19 大小:389.97KB
下载 相关 举报
编译原理习题集.docx_第1页
第1页 / 共19页
编译原理习题集.docx_第2页
第2页 / 共19页
编译原理习题集.docx_第3页
第3页 / 共19页
编译原理习题集.docx_第4页
第4页 / 共19页
编译原理习题集.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

编译原理习题集.docx

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

编译原理习题集.docx

编译原理习题集编译原理习题集第二章2.构造产生下列语言的文法

(2)anbmcp|n,m,p0解:

G(S):

SaS|X,XbX|Y,YcY|(3)an#bn|n0cn#dn|n0解:

G(S):

SX,SY,XaXb|#,YcYd|#(5)任何不是以0打头的所有奇整数所组成的集合解:

G(S):

SJ|IBJ,B0B|IB|,IJ|2|4|6|8,J1|3|5|7|9(6)(思考题)所有偶数个0和偶数个1所组成的符号串集合解:

对应文法为S0A|1B|,A0S|1CB0C|1SC1A|0B3.描述语言特点

(2)SSSS1A0A1A0A解:

L(G)=1n10n11n20n21nm0nm|n1,n2,nm0;且n1,n2,nm不全为零该语言特点是:

产生的句子中,0、1个数相同,并且若干相接的1后必然紧接数量相同连续的0。

(5)SaSSSa解:

L(G)=a(2n-1)|n1可知:

奇数个a5.

(1)解:

由于此文法包含以下规则:

AA,所以此文法是0型文法。

7.解:

(1)aacb是文法GS中的句子,相应语法树是:

最右推导:

S=aAcB=aAcb=aacb最左推导:

S=aAcB=aacB=aacb(3)aacbccb不是文法GS中的句子aacbccb不能从S推导得到时,它仅是文法GS的一个句型的一部分,而不是一个句子。

11.解:

最右推导:

(1)S=AB=AaSb=Aacb=bAacb=bbAacb=bbaacb上面推导中,下划线部分为当前句型的句柄。

对应的语法树为:

短语直接短语句柄a1对A1b1a1对A2b2b1a1对A3c对S1a2cb3对Bbbaacb对S2第三章3假设M:

人W:

载狐狸过河,G:

载山羊过河,C:

载白菜过河6根据文法知其产生的语言是L=ambnci|m,n,i1可以构造如下的文法VN=S,A,B,C,VT=a,b,cP=SaA,AaA,AbB,BbB,BcC,CcC,Cc其状态转换图如下:

7

(1)其对应的右线性文法是:

A0D,B0A,B1C,C1|1F,C1|0A,F0|0E|1A,D0B|1C,E1C|0B

(2)最短输入串011(3)任意接受的四个串:

011,0110,0011,000011(4)任意以1打头的串.9对于矩阵(iii)

(1)状态转换图:

(2)3型文法(正规文法)SaA|a|bBAbA|b|aC|aBaB|bC|bCaC|a|bC|b(3)用自然语言描述输入串的特征以a打头,中间有任意个(包括0个)b,再跟a,最后由一个a,b所组成的任意串结尾或者以b打头,中间有任意个(包括0个)a,再跟b,最后由一个a,b所组成的任意串结尾。

12

(1)确定化:

abSSS,AAS,AAS,AAA,BA,BBA,BBB-以上为第一次作业最小化:

0S,AB,C因为Sb=Ab=B所以S,A=SA因为Cb=Bb=B所以B,C=BC1SABC原DFA已为最小DFA。

10

(1)G1的状态转换图:

(2)G1等价的左线性文法G1F:

FDd|Bb,DC,BS|Ab|Db,ASa|a,CBc,SEb,EAa或G1F:

FDd|Bb,DC,BS|Ab|Db,ASa|a,CBc,SAab21求出描述习题3-12中图

(2)(3)所给出有限自动机所识别语言的正规式

(2)a(ba)*b或(ab)*ab(3)a(b|aa)*a-以上为第二次作业22

(1)(0*|1)(1*0)*NFA:

确定化:

Q01S,A,BSS,A,B,CABBS,A,B,CAS,A,B,CABBBBS,A,B,CABB第四章1

(2)将间接左递归转换成直接左递归,将A-SAA-a代入S-AS由原文法得S-SAS|aS|b消除左递归:

S-aSS|bSS-ASS|4又属于First(S),First(S)Follow(S)=又属于First(A),First(A)Follow(A)=又属于First(B),First(A)Follow(A)=所以此文法为LL

(1)文法。

8.

(1)(a)消除左递归:

S-Sb|Ab|b=S-AbS|bSS-bS|A-Aa|a=A-aAA-aA|文法G:

S-AbS|bSS-bS|A-aAA-aA|(b)判断G是否为LL

(1)文法FirstFollowS-AbSa#S-bSbS-bSb#S-A-aAabA-aAabA-没有冲突,所以文法G为LL

(1)文法。

补充题:

若有文法GS:

S-AB|cCA-b|B-aC|C-aS|c判断文法G是否为LL

(1)文法,写出理由;分别求所有非终结符的First和Follow集;若为LL

(1)文法,给出其预测分析表;分析句子caac是否符合该文法。

答案:

无左递归,无左公因子。

First(A)=(b,),First(B)=a,因First(A)含,First(AB)=First(A)First(B)=a,b,,First(cC)=cFollow(S)=#Follow(C)=#Follow(A)=First(B)Follow(S)-=a,#Follow(B)=Follow(S)=#Follow(C)=Follow(B)Follow(S)=#对S,First(AB)First(cC)=对A,First(b)First()=,因First(A)含,First(A)Follow(A)=b,a,#=对B,First(aC)First()=,因First(B)含,First(B)Follow(B)=a,#=对C,First(aS)First(c)=所以,文法G是LL

(1)文法First集:

abcSABCFollow集:

abcSABC预测分析表abcSS-ABS-ABS-cCS-ABAA-A-bA-BB-aCB-CC-aSC-c分析句子caac栈输入缓冲区动作#Scaac#Cccaac#S-cC#Caac#Saaac#C-aS#Sac#BAac#S-AB#Bac#A-#Caac#B-aC#Cc#cc#C-c#成功-以上为第三次作业16对于如下文法G:

-VAR:

;-,|-i-real|integer|Boolean|char

(1)将G改造为等价的算符优先文法G;令:

S,VAR:

v,:

A,:

B,:

Creal:

rinteger:

gBoolean:

bchar:

c文法G可改写为:

S-vA:

B;A-A,C|CC-iB-r|g|b|c该文法是算符文法

(2)求出G的全部优先关系。

求FirstVT,得:

virgbc:

;SACB求LastVT,得:

virgbc:

;SACB优先关系表:

virgbc:

;#v=rgbc:

=,;#cAS-ccBA-cAA-aB-ccBB-b解:

拓展文法得文法列表:

(1)S-S

(1)S-cA

(2)S-ccB(3)A-cA(4)A-a(5)B-ccB(6)B-b37判断下面的文法是哪一类LR文法,并构造LR分析表。

S-(SRS-aR-,SRR-)解:

拓展文法得文法列表:

(1)S-S

(1)S-(SR

(2)S-a(3)R-,SR(4)R-)项目集规范族:

分析表:

ActionGOTOa(,)#SR0S211Acc2S3S243r2r2r2r2r24S6S755r1r1r1r1r16S3S287r4r4r4r4r48S6S799r3r3r3r3r3无冲突,为LR(0)文法。

补充题1:

对下列文法G:

SD(R)RR;P|PPS|iDi求出每个非终结符的FIRSTVT集和LASTVT集,并构造算符优先关系矩阵。

解:

文法G每个非终结符的FIRSTVT集合FIRSTVT(S)=(,iFIRSTVT(R)=;,(,IFIRSTVT(P)=i,(FIRSTVT(D)=i文法G的每个非终结符的LASTVT集合LASTVT(S)=)LASTVT(R)=;,),iLASTVT(P)=i,)LASTVT(D)=i优先关系矩阵();i#(=;#S1.SA2.AAB3.A4.BaB5.Bb构造LR

(1)项目集族:

LR

(1)分析表:

ActionGOTOab#SAB0R3R3R3121acc2S4S5R133R2R2R24S4S565R5R5R56R4R4R4分析符号串abab:

序号栈输入动作00abab#R3,A#102abab#S4#A2024bab#S5#Aa30245ab#R5,Bb#Aab40246ab#R4,BaB#AaB5023ab#R2,AAB#AB602ab#S4#A7024b#S5#Aa80245#R5,Bb#Aab90246#R4,BaB#AaB10023#R2,AAB#AB1102#R1,SA#A1201#acc#S-以上为第四、五次作业5.4解:

(1)A-BC+*DE-

(2)ad*c+d/e+f*g+(3)ax+4cd3*(4)abcdef*0a+b0a0(4)if(ab)x=(a-b)c;elseg=h5.8解:

(1)(+,B,C,T1)(*,A,T1,T2)(+,T2,D,T3)(=,T3,_,X)

(2)(jnz,A,_,)(j,_,_,f)(jnz,B,_,t)(j,_,_,)(jnz,C,_,t)(j,_,_,)(jnz,D,_,)(j,_,_,f)(jnz,F,_,f)(j,_,_,t)t:

f:

(3)(j,B,0,)(j,_,_,)(j=,a,1,)(j,_,_,)(+,C,1,T1)(:

=,T1,_,C)(j,_,_,)(j=,A,D,)(j,_,_,)(+,A,2,T2)(:

=,T2,_,A)(j,_,_,)(j,_,_,)-以上为第六次作业

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

当前位置:首页 > 高中教育 > 初中教育

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

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