文档详情

第三章:上下文无关文法与下推自动机.pdf

发布:2017-06-15约6.37万字共81页下载文档
文本预览下载声明
形式语言与自动机 主讲:方 敏 西安电子科技大学 1 第三章 上下文无关文法 与下推自动机 3.1 推导树与二义性 3.2 上下文无关文法的改写 3.3 Chomsky范式和Greibach范式 3.4 CFL的泵引理 3.5 下推自动机 3.6 上下文无关文法与下推自动机 3.7 上下文无关语言的性质 3.8 CFG中的ε规则 2 上下文无关文法和它所描述的上下文无关语言,在定 义程序设计语言、语法分析、简化程序设计语言的翻译 等方面有重要的意义. 内容:1、上下文无关文法 2、两个范式:Chomsky 范式,Greibach范式 3、确定的下推自动机、非确定下推自动机(PA) (Pushdown Automaton) 4、对任何CFA都能找到一种具有特有形式的 等价的CFG (Context-Free Grammar) 与上下文无关文法相应的识别器是下推自动机. 确定的下推自动机对应于上下文无关语言的一个子集(大 部分程序设计语言) 例如:程序设计语言中的嵌套结构,用CFG描述而RG不行 上一页 下一页 退 出 3 3.1 推导树与二义性(语法树) 树中的一个枝结点A ,有直接子孙x x … x , 1 2 K 有产生式A→x x … x 1 2 K 定义:tree是CFG G=(N,T,P,S)语法树,是有序树 树根:S 枝结点是非终结符 叶子结点是终结符或ε 枝特点A有直接子孙x x… x,则A→x x… x 1 2 i 1 2 i 例:G =( {E },{+ ,*,i, (,), },P,E) i E→E+E |E *E |(E) | 句子:( α*α+α) 定义:CFG G =(N,T,P,S)如果存在 * S⇒ ω⇔G是有一棵叶子为ω的语法树 上一页 下一页 退 出 4 定义:CFG G是二义的⇔ ∃ ω∈L(G),有两棵不同的语法树(叶子为ω) 定义:CFG G是二义的⇔∃ ω∈L(G),有两T不同的最 左(右)推导 文法二义的⇒语言二义⇒表示其文法均二义 上一页 下一页 退 出 5 3.2上下文无关文法的改写 不改变文法描述能力前提下改写文法满足一定要求. 改写目标:将CFG改写成某种标准形式. (1) 改写成Chomsky范式: A→BC |a A,B,C ∈N a ∈T (2)Greibach范式 A→a α α ∈N*, a ∈T
显示全部
相似文档