- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理简单复习2
编译简单复习 第二章形式语言与文法 1.语言 a. 定义:L(G[S])={x|S x,x∈VT } b. 推导中的概念:推导,短语,简单短语,素短语,句柄,最 左素短语,句子,句型等。用语法树求解。 c.已知文法怎样写出定义的语言? 基本方法是推导,综合组成句子特点,用通式写出。特点:句子由哪些终结符组成,它们的顺序关系怎样,个数怎样,初始值是什么。 例:G[S]: S→AC A →aAb| ε C →Cc|ε L(G[S])=? 2. 文法 a. 概念:四元式: (VN,VT,P,S) b.分类:短语文法(0),上下文有关文法(1),上下文,无关文法(2),正规文法(3) c.已知语言怎样设计文法? 常用的递归式: (1)单个符号的递归式:A→Aɑ|ɑ 或者: A→ɑA|ɑ 定义的语言: L(G[A])={ɑn|n≥1} (2)成对符号的递归式:A→ɑA?|ɑ? 定义的语言: L(G[A])={ɑn?n|n≥1} 例:求定义语言L={anbncm|n≥0,m ≥0}的文法 特点:字符:a,b,c;顺序:a前c后b中间;个数:a,b相同,c不同;初值:0开始的整数。 例:设计定义L={a n | n为偶数}的文法 例:设计定义L={a n | n为奇数}的文法 例:设计定义L={a nbm | n为奇数,m为大于0的偶数}的文法 例:设计定义L={a nbmcn| n为奇数,m为大于0的偶数}的文法 例:设计定义L={anbn+1|n>0 }的文法 例:设计定义L={a nbm| n>m>0}的文法 例:求定义语言L={anbmambn|n≥0,m ≥0}的文法 3.用语法树求解 求:短语,简单短语,素短语,句柄,最左素短语。 证明:文法二义性。 例:有文法G[E]: E::=E+T|E-T|T T::=T*F|T/F|F F::=(E)|i 求句型(F+i)-T*(E-T)的短语,简单短语和句柄。 解:画句型(F+i)-T*(E-T)的语法树: 第三章 词法分析 单词结构描述机制 有穷自动机(识别机制),正规文法,正规式 a.三者之间的转换关系 单词5种。 b.概念 (1)有穷自动机:五元组: M=(S, ∑,f,S0,F) ; 分类:确定和非确定; 表示:函数式,状态图和状态矩阵。三者等价表示。 最小化的DFA视为词法分析程序的框图。 练习: 确定化→最小化 例:已知有穷自动机M=({A,B},{0,1},f,A.{B}),其中:f为: f(A,0)={A}, f(A,1)={A,B}, f(B,0)={B}, f(B,1)={B}. 求最小化的DFA。 确定化: (2)正规文法到正规式转换 关键式:A→xA|y A= x*y 例:S→aA|a 写成:S=aA+a……(1) A →aA|dA|a|d 写成:A=aA+dA+a+d……(2) 将(2)式简化为:A=(a+d)A+(a+d) 使用求解规则:A=(a|d)*(a|d) ……(3) 将(3)的A代入(1)式:S=a(a|d)*(a|d)|a =a((a|d)*(a|d) |ε) ∴a((a|d)*(a|d)| ε)= a(a|d)*即为所求的正规式。 正规式到正规文法转换 例: S=a(a|d)* S→aA , A→(a|d)*, A→ (a|d)A| ε A→ aA|dA| ε 最后: S→aA , A→ aA|dA| ε (3)有穷自动机确定化和最小化 利用最小化的自动机可以证明:两个正规式或正规文法等价。 例:已知正规式:0*1(0|1)* 或者已知正规文法: A→0A|1B|1,B→0B|1B|0|1
文档评论(0)