计算引论2章文法与语言2.pptVIP

  • 10
  • 0
  • 约4.66千字
  • 约 33页
  • 2017-05-28 发布于江苏
  • 举报
计算引论2章文法与语言2

2.3.2 下推自动机 格局序列C0,C1,…,Cn满足: Ci┣M Ci+1(i=0,…,n-1) , C0是初始格局,Cn接受格局。 C0,C1,…,Cn称为M进行的计算(computation),其中n称为计算的长度或步骤。 2.3.2 下推自动机 下推自动机等价定理: 给定两个确定 PDA A 和 B,L(A)与L(B)是否等价是可判定的。 对非确定 PDA NA和NB,L(NA)与L(NB)是否等价是不可判定的。 2.3.2 下推自动机 定理: 语言是上下文无关的,当且仅当它可以 被一台下推自动机识别。 * * * 计算引论 第二章 文法与语言 2.3 上下文无关语言 主要内容: 上下文无关文法 下推自动机 2.3.1 上下文无关文法 上下文无关文法定义: G(V, T, P, S), P中的产生式形如: A??? . A∈V,??(V?T)*. 例: 上下文无关文法G = ( V, T, P, S), 其中: V={S}, T={a, b}, P={S ?aSb, S?e} 2.3.1 上下文无关文法 识别:对给定的字符串是否能由文法的开始符和产生式推导出。 例:上例中的文法G,是否能识别字符串aaaebbb. 语法树 2.3.1 上下文无关文法 例:文法 G = (V, T, P, E) ,其中: V = {E} T = {a, +, ×,(,)} P = { E ? E + E , E ? E×E, E ?(E), E?a } 判断字符串a+a×a是否能被G识别。 2.3.1 上下文无关文法 根据指定文法推导(证明)目标串的推导过程不唯一,结论唯一。 文法的二义性 如果文法G对同一字符串的识别具有不同的推导过程,则称该文法具有二义性。 消除二义性 2.3.1 上下文无关文法 乔姆斯基范式 如果一个上下文无关文法中产生式形如: A ? BC 或 A ? a , 其中a?T,A,B,C?V,且B,C不允许是文法的开始符,允许有空产生式S ??(S是文法的开始符),则称该文法为乔姆斯基范式。 2.3.1 上下文无关文法 定理: 任一上下文无关文法都可等价转换为乔 姆斯基范式形式。 2.3.1 上下文无关文法 证明: 替换开始符S。 增加一个新开始符S’和新产生式S’? S。 消除空产生式A ? ?。 对所有A的出现产生式形如R ? ?A?,增加产生式R ???。 若有R ?A,增加R ? ?,重复前一动作。 2.3.1 上下文无关文法 消除单元产生式A ? B。 对所有B的出现产生式形如B ?? ,增加产生式 A??。 替换:对A ? u1 u2 …un,n?3。 替换为A ? u1A1,A1 ? u2 …un,n?3。 对A1 ? u2 …un,继续前一动作。 2.3.1 上下文无关文法 上下文无关语言 上下文无关文法G(V,T,P,S)生成的语言: L(G) = {ω|ω∈T*且S ?+ω} 上下文无关语言的识别 对文法G(V,T,P,S),任给串ω∈T*,S ?+ω成立否。 2.3.1 上下文无关文法 相关定义:ω=x1x2…xn ωij :ω的子串ωij = xi…xi+j-1 ,j?i,j?n,i表示子串的起始位置,j表示串的长度。 如: ω11=x1 ,ω21=x2,…,ωi1=xi … ω1n=x1x2…xi…xi+j-1…xn=ω 2.3.1 上下文无关文法 Vij: Vij={A|A ?+ ωij},该集合中的任何一个非终极符均可以推导出ωij。 如:V11={A|A ?+ ω11}={A|(A? x1)∈P} … Vj1={A|(A ?Xj)∈P} … Vn1={A|(A ?Xn)∈P} 2.3.1 上下文无关文法 识别算法:对字符串ω=x1x2…xn 若n=1,判断S ?x1是否在该文法的P中; 若n ≥2,判断(S?BC)?P,且BC?+ ω; 即存在k(k≥1,k≤n-1),有: B ?+ ω1k,C ?+ ω(k+1)(n-k) 求Vij ={A|(A ? BC)∈P,且B∈Vi

文档评论(0)

1亿VIP精品文档

相关文档