当前课程知识点:软件理论基础 >  第七章 上下文无关文法和推导 >  7.3 语法分析树 >  Video

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

Video在线视频

Video

下一节:Video

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

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

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

现在介绍上下文无关文法的第三节内容

也就是语法分析树

在上一节里面

我们介绍了上下文无关文法它的推导

从上下文无关文法它的推导

它的句型有两种方法

要么是规约 要么是推导

规约一个过程

我们说它是自下而上的

它可以构造一棵树

我们还是按我们之前的一个上下文法

看这么一个句子

(v+d)×d

它的规约过程

首先我们用到了第六个产生式

就是×规约到O

得到的是这样一个分支×规约到O

然后用第五个产生式+规约到O

得到的是+规约到O

第四个产生式 d规约到E

得到d规约到E

用的第四个产生式也是d规约到E

那得到的是d规约到E

用第三个产生式V规约到E

V规约到E

再用第一个产生式是EOE规约到E

这里有EOE规约到E

再用第二个产生式 这个(E)规约到E

那这是个E

这两个加括号规约到E

最后利用第一个产生式

这个EOE规约到E

就从(v+d)×d这么一个串

最后规约到这个文法的开始变量

那得到了从下面这一个串

我们最后规约到这个E这个过程

你看生成了一棵树了

这棵树的归结点就是E

就是规约过程 它可以构造一棵树

那同样推导

推导过程它是自上而下的

它也可以构造一棵树

我们还是对这个上下文法

还是对这个串

从开始变量开始

E第一次用的是第一个产生式E

产生EOE

那得到的是E产生EOE

再用第二个产生式E产生(E)

再E产生(E)

再用第一个产生式E产生EOE

这个E要产生EOE

再用第三个产生式E产生v

E产生v

再用第四个产生式E产生d

E产生d

还用第四个产生式E产生d

再用第五个产生式O产生+

这是O产生+

再用第六个产生式O产生×

这是O产生×

这样就得到了这个字符串(v+d)×d

这是从开始变量自上而下也得到一棵树

这个树就把它命一个名字

叫做语法分析树

那语法分析树它是这样定义的

这个树的内部结点都是变量

终结符不能做内部结点的

内部结点都是非终结符

而叶结点它可以是变量

也可以是终结符

还可以是空串ε

只不过它为ε的时候

它是父结点的唯一的一个子结点

在第三个特征时

假如有一个内部结点是A

它的子结点从左到右标记的是X1、X2、XK

那在这个文法当中

一定有这么一个产生式A产生X1、X2、XK

这两个是一一对应的

在这里面我们再强调一下叶结点

如果是空串的话

那它是它的父结点唯一的一个子结点

我们给了这样一个上下文无关文法

这个文法我们现在由这个推导

S推导AB

也是用第一个产生式

那我们可以得到这样的一个S对应的AB

我们再用这个产生式A产生abA

我们得到这个串

也就是这个A它可以产生出abA

再利用这个a产生空串

这是a产生空串

这个时候空串是它唯一的一个子结点

B B可以产生Ba

所以这个产生式就有一个Ba

那B还可以产生B

那这样得到B产生b

这样从这个文法

它就可以生成一个语法分析树

在语法分析树里面得到了从左到右

就给出了一个串

这个串叫做语法分析树的产物

产物这个串里面可以有变量

可以有终结符

如果这个树里面的产物

都是终结符的时候

那实际上就是一个句子

文法它就可以由这些句子构成它的语言

下面我们看刚才给了这个文法

得到了语法分析树

它的叶结点从左到右得到了这样一个串

ab空串ba

这个就是这个语法分析树的产物

也可以写成abba

因为空串 可以不需要

这是语法分析树

这也就是我们讨论的子树

你像再给了 用了这一个产生式

那它本身就可以看作是一个树

那这个看作是分析树的一个子树

这个A产生aba

这样得到一个子树

它构成了整个也是

算一个语法分析树的子树

得到了叶结点

从左到右排成了一个串

也是这个子树的一个句型

它们也可以是各种各样的句型

这节里面我们也介绍了

上下文无关文法里面的

另外的一种表示形式

就是语法分析树

语法分析树里面 我们可以看出

任何一个句型或者一个句子

它都对应文法当中的一棵语法分析树

这个在我们后面的推导

或者语法分析树它们之间

它们都有一种密切的关系

这就是我们下一节要讲的内容

这节内容介绍完毕

谢谢大家

软件理论基础课程列表:

第一章 基础知识

-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笔记与讨论

也许你还感兴趣的课程:

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