- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理Chapter15 - 期终复习
期终复习 2011年 一、编译程序的框架图与功能块 画出编译程序的总体结构图,并简述各部分的主要功能。 七个部分 编译程序的结构分为几个阶段,各阶段的任务是什么? 五个模块 二、重要概念 编译程序 单词符号 中间代码 遍 上下文无关文法 LL(k)分析法 LR分析法 算符优先分析 三、文法与语言的转换 语言的有穷表示有两种途径 生成方式 (文法) 语言中的每个句子可以用严格定义的规则来构造 识别方式(自动机) 描述字符串的识别过程 Chomsky将文法分成四种类型 0型文法:短语文法 1型文法:上下文有关文法 2型文法:上下文无关文法 3型文法:正规文法 文法定义的语言一 文法G2:S→bA,A→aA∣a 文法定义的语言二 解答: 以c开头,后继若干个b L(G6)={c,cb,cbb,?}={cbn︱n≥1} 文法定义的语言三 文法G3:S→AB,A→aA∣a,B→bB∣b 文法定义的语言四 若已知文法G8(S): S→aSBE S→aBE EB→BE aB→ab bB→bb bE→be eE→ee 请给出G8(S)的语言? 根据语言构造文法一 构造一个文法G4使L(G4)={anbn︱n≥1} 根据语言构造文法二 给出产生语言为{anbm|1?n?m?2n}的文法 根据语言构造文法三 给出生成下述语言的上下文无关文法: (1){ anbnambm| n,m=0} (2){ 1n0m1m0n| n,m=0} 四、有限自动机 确定有限自动机(DFA) M是一个五元式 M =(S, ?, f, S0, Z) 非确定有限自动机(NFA) M是一个五元式 M =(S, ?, f, S0, Z) 确定有限自动机 确定有限自动机(DFA) M是一个五元式 M =(S, ?, f, S0, Z) 有穷状态集S 有穷的输入字母表?,每个元素称为一个输入字符 状态转换函数f,f(s,a) = s’ S0?S是唯一的初态 终态集Z,Z?S,可空 DFA的确定性 状态转换函数f是一个S???S的单值部分映射 f(s,a) = s’ 表示:输入字符a,则现行状态s将转换到下一状态s’ s’称为s的一个后继状态 f(s,a)唯一地确定了下一状态 非确定有限自动机 非确定有限自动机(NFA) M是一个五元式 M=(S, ?, f, S0, Z) S: 有穷状态集 有穷的输入字母表? f:状态转换函数 S0?S是非空的初态集 终态集Z,Z?S,可空 NFA的不确定性 状态转换函数为S??*?2S的部分映射(非单值) 题一:证明t=baab被下图的DFA所接受。 证法一: ∵a,b∈∑ ∴baab∈∑* f(S,baab) = f(f(S,b),aab) = f(V,aab) = f(f(V,a),ab) = f(U,ab) = f(f(U,a),b) = f(Q,b) = Q。 Q属于终态,故得证。 证法二: 根据上述状态转换图,可以构造确定有限自动机DFA M=〈{S,U,V,Q},{a,b},FM,S,{Q}〉。 其中,FM 是DFA M的状态转换函数,定义如下: FM (S,a)=U FM (S,b)=V FM (U,a)=Q FM (U,b)=V FM (V,a)=U FM (V,b)=Q FM (Q,a)=Q FM (Q,b)=Q ∵a,b∈∑ ∴baab∈∑* 由题意可知: 对于t=baab, DFA M存在一条经过S、V、U、Q和Q的通路,使得该通路上所有弧的标记符连接成的字等于t。 因此,t 被DFA M所接受。 题二:请将NFA的状态转换图转化为DFA。 解:采用NFA确定化算法(或子集法)。 状态集合I的ε-闭包表示为ε-closure(I)。 状态集I中任何状态S经任意条ε弧而能到达的状态集S∈ε-closure(I)。 状态集合I的a弧转换表示为move(I,a),定义为状态集合J,其中:J是所有那些可从I中的某一状态经过一条a弧而到达的状态的全体。 Ia = move(I,a) =ε-closure(J)。 因此得出上表(状态转换矩阵)。 根据上述NFA的状态转换图及其确定化过程,可以构造与它等价的DFA M。 DFA M=〈{S,A,B,C,D,E,F},{a,b},FM,S,{C,D,E,F}〉 题三:已知有限自动机DFA M = ( {0,1,2,3}, {a,b}, f, 0, {3} )。其中,f定义如下: f(0,a)=1 f(0,b)=2 f(1,a)=3 f(1,b)=2 f(2,a)=1 f(2,b)=3 f(3,a)=3 f(3,b)=3请给出这个D
文档评论(0)