(22)第三章 第五讲 上下文无关文法与下推自动机(简介)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

END
RETURN
三、上下文无关语言的判定问题 1. 空问题 上下文无关语言的空问题是可以判定的。
2. 成员问题
上下文无关语言的成员问题也是可以判定的。 3. 等价问题 上下文无关语言的等价问题是不可以判定的。
四、上下文无关文法的二义性
1. 定义
若对于上下文无关文法G产生的语言L(G),如果有句子 w∈L(G),存在两个不同的推导树,或者说对w存在两个不 同的最左或最右推导,那么就称文法G是二义的。
2={ 2 k a |k≥1}
都不是
二、上下文无关语言的性质
1.上下文无关语言的封闭性 定理21:若L1和L2是上下文无关语言,则L1∪L2也是上下 文无关语言。
(证明略) 定理22:若L1和L2是上下文无关语言,则L1L2也是上下文 无关语言。 (证明略) 定理23:若L是上下文无关语言,则L的闭包L*也是上下文 无关语言。 (证明略)
特例:在定义中只要取w2=ε,则生成式的形式变为: A→w1C , A→w3 。这显然是右线性文法。因此,右线性 文法是线性文法的特例。
五、受限型上下文无关文法
2. 顺序文法
定义:对于上下文无关文法G , 如果非终结符可以排序为: A1,A2,A3,......,An ,当P中有生成式Ak→β时,若β内不含有l < k的Al,则称G是顺序文法。 实例:设文法G=({A2},{a,b},P,A2),其中生成式P如下: A2→aA2b , A2→ε 由定义可知,该文法G是顺序文法,由它产生的语 言为: L(G)={anbn | n≥0}。(参考书第181页的例2有错) 结论:线性文法总可以设法转换为顺序文法。利用顺序文 法进行文法分析是比较方便的。这样一来,前面所有的有 关右线性文法的分析都可以转换为对顺序文法的分析。
第三章
上下文无关文法与下推自动机
第五讲
上下文无关文法与下推自动机 (简介)
一、上下文无关文法与下推自动机的关系
1.上下文无关文法与下推自动机的等价性
注意:由上一讲我们已经知道下推自动机的终止状态接受 和空栈接受是可以互换的,所以下面的两条定理就只强调 了下推自动机的空栈接受与上下文无关文法的关系。 定理18 (P161):设上下文无关文法G=(N,T,P,S),产生语言 L(G),则存在一个下推自动机M,以空栈方式接受语言 LФ(M),使得有LФ(M)=L(G) (证明略: P162~P164)
二、上下文无关语言的性质
1.上下文无关语言的封闭性
定理24:若L1和L2是上下文无关语言,则L1∩L2不是上下 文无关语言,即对交运算不封闭。 证明思路:用反证法,找两个上下文无关语言的特例 L1和L2,使得L1∩L2不是上下文无关文法即可。 定理25:若L是上下文无关语言,则L的补不是上下文无关 语言,即对补运算不封闭。 证明思路:用反证法。设有两个上下文无关语言L1和L2 是上下文无关语言,若对补运算是封闭的,则有: L1∪L2=L1∩L2也应当是上下文无关语言,这于对交运 算不封闭是矛盾的。
பைடு நூலகம்
2. 结论
上下文无关文法的二义性问题是不可判定的。
3. 常见的几种具有二义性的情况分析
(1)含有生成式S→SS|β的文法具有二义性。 (2)含有生成式S→SbS|β的文法具有二义性。 (3)含有生成式S→αS|Sβ的文法具有二义性。
五、受限型上下文无关文法
1. 线性文法
定义:对于上下文无关文法G , 如果每个生成式的形式都 是:A→w1Cw2 或:A→w3 。 其中,A,C是非终结符, w1、w2、w3是终结符串,则称G是线性文法。 实例:设文法G=({S},{a,b},{S→aSb,S→ε},{S}),显然G产生 的语言L(G)={anbn | n≥0}。 此处只要分别取w1=a , w2=b , w3=ε,则由定义可知,G是 一个线性文法。
定理19 (P166):设下推自动机M以空栈方式接受语言 LФ(M),则存在一个上下文无关文法G产生语言L(G) , 使得有: L (G)=LФ (M) (证明略: P 166~P169)
一、上下文无关文法与下推自动机的关系
2.上下文无关语言的泵浦引理 也即中间部分不会很长。 定理20:设L是上下文无关语言,存在常数p,如果w∈L且 |w|≥p,则w可写为w=w1w2w0w3w4,使w2w3≠ε(即w2,w3不同时 为ε),|w2w0w3|≤p及对于i≥0,有w1w2iw0w3iw4∈L。 注意:利用泵浦引理只能证明某些语言不是上下文无关语 言,而不能足以证明某语言一定是上下文无关语言。因 为泵浦引理所给出的条件只是上下文无关语言的必要条 件而不是充分条件。 例如:可以证明:L1 上下文无关语言。 ={anbncn|n≥1}和L
相关文档
最新文档