- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理计科05
编译原理期中试卷(计科05)(5’)设G=(VT,VN,S,P)是一个上下文无关文法,产生集合P中的任一个产生式应具有什么样的形式?若G是1型文法呢?上下文无关文法,产生式形式为:P, PVN, (VT VN)* 。1型文法:产生式形式为: 其中:|| ||,仅 S例外。(5’)何谓二义性文法?试举一例说明。答:如果一个文法的句子存在两颗分析树,称该句子是二义性的;如果一个文法包含二义性的句子则称该文法是二义性的,否则该文法无二义性。例子:有如下文法:S→if expr then S |otherS→if expr then S else S句子if e1 then if e2 then s1 else s2是二义性的。注:原因请参见提纲。(20’)给定正则表达式b*(d|ad)(b|ab)+构造DFA画出NFA:将NFA确定化为DFAIaIbId{X,4,1}{6}{4,1}{2}{6}ФФ{2}{4,1}{6}{4,1}{2}{2}{7}{3,5,Y}Ф{7}Ф{3,5,Y}Ф{3,5,Y}{8}{5,Y}Ф{8}Ф{5,Y}Ф{5,Y}{8}{5,Y}Ф根据上面状态转换举证赋予状态新的符号:IaIbIcSABCAФФCBABCCDEФDФEФEFGФFФGФGFGФE,G为终态。画出DFA:DFA最小化:首先分为非终态集{S,A,B,C,D,F}和终态集{E,G}对于集合{S,A,B,C,D,F},因为S,B,C有a条件输入这个状态转化,而A,D,F没有a条件输入这个状态转化,首先因分为{S,B,C}和{A,D,F}两个集合{S,B}b={B} {C}b={E} 不属于已划分出的同一个集合的子集,所以{S,B,C}分为{S,B}和{C} ,而{S,B}d={C}是已划分出的同一个集合的子集,所以不需再分{A,D,F}中A条件b作为输入,而{D,F}b={E,G}是同一集合的子集,并且{D,F}都没有d条件作为输入,所以{D,F}不需再分。3)对于{E,G},{E,G}a={F} {E,G}b={G} E和G都无条件d输入,所以{E,G}不需划分综上所述:所有状态分为{S,B} {C} {A} {D,F} {E,G}注:落在统一集合的元素等价,画图时只需选一个为代表,并把与它等价的元素的状态转化加到它身上即可。(10’)按指定的类型给出下列语言的文法L1={anbmc|n=0,m0}用正规文法S→aS|A A→bA|bB B→cL2={a0n1nbdm|n0,m0}用二型文法S→AB A→aT T→0T1|01 B→bD D→dD|d5、(20’)判断下面文法是不是LL(1)文法,若是请构造相应的LL(1)分析表,写出aaabd的分析过程。S→aH H→aMd|d M→Ab| A→aM|e答: 1)首先将规则分解:S→aH H→aMd H→d M→Ab M→ A→aMA→e可以判断该文法无左递归;求First和Follow集合非终结符XFirst(X)Follow(X)Sa#Ha,d#M, a,ed,bAa,eb求Select集合Select(S→aH)=First(aH)={a} Select(H→aMd)=First(aMd)={a} Select(H→d)={d} Select(M→Ab)=First(Ab)={a,e} Select(M→)=First()UFollow(M)= Follow(M)={d,b} Select(A→aM)=First{aM}={a} Select(A→e)=First(e)={e}∵Select(H→aMd) ∩ Select(H→d)= ФSelect(M→Ab) ∩Select(M→e)=ФSelect(A→aM) ∩Select(A→e)= Ф∴该文法是LL(1)文法。3LL(1)分析表如下:令输入符号串已#结尾,即aaabd#adbeSS→aHHH→aMdH→dMM→AbM→M→M→AbAA→aMA→eaaabd的分析过程如下:步骤符号栈输入串所用产生式0#Saaabd#1#Haaaabd#S→aH2#H aabd#3#dMa aabd#H→aMd4#dM abd#5#dbA abd#M→Ab6#dbMa abd#A→aM7#dbM bd#8#db bd#M→9#d d#10# #6、(15’)写出文法G[A]: A→Ba|Cb|c B→dA|Ae|f C→Bg|h消除左递归后的文法。答:(1)经分析发现文法G[A]并无直接左递归;(2)消除间接左递归:将A,B,C按照B,C,A排序(建议将A放在最后)由于出现C→Bg形式,将B代入C得:C→
文档评论(0)