当前课程知识点:软件理论基础 >  第七章 上下文无关文法和推导 >  7.4 规约、推导和语法分析树之间的关系 >  Video

返回《软件理论基础》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《软件理论基础》慕课在线视频列表

Video课程教案、知识点、字幕

欢迎同学们来到《软件理论基础》的MOOC课堂

现在介绍

上下文无关文法和推导的第四节

就是规约 推导

和语法分析树之间的关系

在前面两节当中我们介绍了

上下无关文法

它可以推导出一些字符串

这个推导的方法有规约

有推导 还有语法分析树

那它们之间有些什么关系呢

我们有下面这么一个命题

给了一个上下文无关文法

下面这些命题是等价的

第一个字符串W

这是终结符构成串

它可以归结到变量A

这是一个命题

A可以若干步能够推出W

A可以若干步最左推导 推出是W

A可以若干步最右推导 推出W

还有存在一个

以A为根结点的语法分析树

它的产物就是W

这五个命题它们相互之间是等价的

五个命题证明它们相互等价

你这个排列组合的话要证明很多步

我们采用另外一种证明方法

首先我们从第五个推理

能够推出这个语法分析树

那从语法分析树得到最左推导

也可以得到最右推导

当然最左推导和最右推导

它们都是推导

那以它做前提

可以得到推导

那从这个做前提

可以推出这个递归推理

我们只要证明了这样一个环

实际上就证明了

这五个命题它们是相互等价的

那么我们下面来做一证明

首先是从规约到语法分析树

也就是说给了一个上下文无关文法

这个串W

它能够规约到变量A

那一定存在一个

以A为根结点的语法分析树

它的产物就是W

我们要证明这个结论

通过对规约的步数作归纳

如果这个规约 一步它能够规约出来的话

实际上它就有这么一个产生式

那这个产生式

实际上它就很容易

搭建一个这样的语法分析树

这就是结论很明显的

假如 它的规约步数是大于1

考虑最后的一步的

它的规约用了这个产生式

因为它的规约的话

都是用产生式来做规约的

最后用了一个这个X1、X2、XK这个串

规约到A

那从这个产生式

我们实际上

就得到这样的一个子数了

它们的叶结点分别为X1、X2、XK

这个规约它是从W规约到A的

下面分别对应的是W1规约到X1

W2规约到X2等等

又到WK规约到XK

这个规约的步数在整个这个规约来说

它是少了一步

我们可以用归纳假设

那就存在这么一个指数

以X1为根结点它的产物是W1

以X2为根结点产物是W2

以XK为根结点它的产物是WK

这样不就达成了一个以A为根结点

它的产物是W1、W2、WK构成的

也就是我们的W

这个结论就这样可以证明出来

下面我们再看从分析树到推导

存在一个语法分析树 它的根结点为A

产物是W

那它一定存在这样的推导

A推导出W 或者A最左推导出W

或者A最右推导 推导出W

我们这里这个证明这些推导

我们只证一个这种推导

就是A这种推导出W

对语法分析树 它的高度我们做归纳

如果是语法分析树的高度为1的时候

A当然很容易得到它的最左推导

能够推导出W

因为它只有这一个产生式

那假如这个语法分析树的高度是大于1

我们看第一个结构

它肯定是有这样一个产生式

A产生X1、X2、XK

但从这里我们就分别可以得到

X1的产物是W1

X2的产物是W2

XK的产物是WK

这里面树的高度

它就是叫整个这个树的话

它是高度减1

X1假如它的产物是W1

那我们通过关类假设

X1一定能够推出W1

类似的X1能够推出W2

XK一定

应该说还是最左推导推出WK

那我们通过这样的归纳

我们就可以得到通过这个A

能够最左推导 能够推出这个W

这里就是利用归纳就会得出我们的结论

下面我们再看从推导到规约

假如从A能够推导出终结符串W

那在这个W一定能够规约到A

那下面我们就对这个推导的步数做归纳

这个跟我们前面

整个证明思路是很类似的

如果是这个推导步数为1的话

这一步能够推导出来的话

那它就是用了这个产生式吧

这个规约当然是很显然了

那如果推导的步数是大于1

你看它第一步的推导

第一步的推导一定用了这个产生式

再然后再推推推 推导出W

那从X1能够推出它这样一个子串

X2推出子串

我们分别把W对应着X1、X2、XK

分成W1、W2、WK

当然Wi可能等于Xi

也可能是Xi推出W

不管是哪一种情况 这个推导的步数

它比原来的步数是少一步的

那么我们就可以用归纳

X可以推出W

W就可以规约到X

因为就是步数较之前少一步

我们就用归纳假设

这样我们就证明了所有的结论

因为我们证明的是采用了这样一个循环

所以我们刚才的这种方法就证明了

这五个命题它们彼此是等价的

这节我们讨论了规约 推导 语法分析树

它们之间的关系

这种关系实际上它们是等价的

以后我们在分析我们的文法

它产生的树型或者句子的时候

用哪一种实际上都是一样的

好 这节内容介绍完毕

谢谢大家

软件理论基础课程列表:

第一章 基础知识

-1.1 概要

--第一节

-1.2 数学基础

--Video

-1.3 图

--Video

-1.4 证明方法

--Video

-1.5 语言基础

--Video

-1.6 语言运算

--Video

-习题--作业

第二章 确定有限自动机

-2.1 确定有限自动机的概念

--Video

-2.2 确定有限自动机的定义

--Video

-2.3 扩展转移函数

--Video

-2.4 正则语言

--Video

-2.5 DFA构造

--Video

-习题--作业

第三章 非确定有限自动机

-3.1 非确定有限自动机的概念

--Video

-3.2 e转移

--Video

-3.3 非确定有限自动机的定义

--Video

-3.4 扩展转移函数

--Video

-3.5 等价性证明

--Video

-3.6 文本搜索

--Video

-习题--作业

第四章 正则表示

-4.1 单一终结状态的NFA

--Video

-4.2 正则语言的运算性质

--Video

-4.3 正则表示和语言

--Video

-4.4 正则表示和正则语言

--Video

-4.5 正则语言的同态

--Video

-4.6 正则表示的代数定律

--Video

-习题--作业

第五章 正则文法和正则语言

-5.1 文法

--Video

-5.2 线性文法

--Video

-5.3 正则文法与正则语言

--Video

-5.4 自动机的积

--Video

-习题--作业

第六章 正则语言的性质与DFA优化

-6.1 基本问题

--Video

-6.2 泵引理

--Video

-6.3 非正则语言的判定 1

--Video

-6.4 非正则语言的判定 2

--Video

-6.5 DFA的优化 1

--Video

-6.6 DFA的优化 2

--Video

-习题--作业

第七章 上下文无关文法和推导

-7.1 上下文无关文法

--Video

-7.2 规约和推导

--Video

-7.3 语法分析树

--Video

-7.4 规约、推导和语法分析树之间的关系

--Video

-7.5 上下文无关语言

--Video

-习题--作业

第八章 CFG的应用与文法的二义性

-8.1 CFG的应用

--Video

-8.2 CFG的转化

--Video

-8.3 文法二义性

--Video

-8.4 二义性的消除方法

--Video

-8.5 CFG的构造方法

--Video

-8.6 CFG的构造实例

--Video

-第八章 CFG的应用与文法的二义性--习题

第九章 下推自动机

-9.1 PDA介绍

--Video

-9.2 PDA的定义

--Video

-9.3 PDA的即时描述

--Video

-9.4 PDA的语言

--Video

-9.5 PDA与CFG的关系

--Video

-习题--作业

第十章 下推自动机与CFG化简规范

-10.1 确定下推自动机

--Video

-10.2 DPDA与其他语言的关系

--Video

-10.3 终态型DPDA和空栈型DPDA

--Video

-10.4 消除无用符号

--Video

-10.5 消除e产生式

--Video

-10.6 消除单一产生式

--Video

-10.7 CFG的化简与Chomsky范式

--Video

-习题--作业

第十一章 上下文无关语言的性质

-11.1 CFL的必要条件

--Video

-11.2 CFL的Pumping引理

--Video

-11.3 CFL的闭运算性质

--Video

-11.4 CFL的同态性质

--Video

-11.5 CFL的交运算

--Video

-11.6 CFL的判定性质

--Video

-习题--作业

第十二章 Turing机

-12.1 图灵机的介绍

--Video

-12.2 图灵机的定义

--Video

-12.3 图灵机的即时描述

--Video

-12.4 图灵机的计算

--Video

-12.5 图灵机的编程技术

--Video

-习题--作业

第十三章 图灵机的扩展

-13.1 Turing理论

--Video

-13.2 图灵机带的扩展

--Video

-13.3 图灵机移动的扩展

--Video

-13.4 受限图灵机

--Video

-13.5 图灵机与其他自动机

--Video

-习题--作业

第十四章 不可判定问题

-14.1 图灵机编码

--Video

-14.2 对角线语言与通用语言

--Video

-14.3 图灵机语言的性质

--Video

-14.4 判定问题和语言

--Video

-14.5 计算复杂性问题

--Video

-第十四章 不可判定问题--习题

第十五章 自动机及应用

-15.1 时间自动机

--Video

-15.2 Buchi自动机

--Video

-15.3 软件形式化验证

--Video

-15.4 模型检测方法

--Video

-15.5 M3C模型检测系统

--Video

-习题--作业

期中考试

-期中考试

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。