CFG的分析树的定义
- 根节点的标号为文法开始符号
- 内部结点表示对一个产生式 的应用,该结点的标号是此产生式左部 。该结点的子结点的标号从左到右构成了产生式的右部
- 叶结点的标号既可以是非终结符,也可以是终结符。从左到右排列叶节点得到的符号串称为是这棵树的产出(yield)或边缘(frontier)
- 分析树是推导的图形化表示。
句型的短语
- 给定一个句型,其分析树中的每一棵子树的边缘称为该句型的一个短语(phrase)
- 如果子树只有父子两代结点,那么这棵子树的边缘称为该句型的一个直接短语(immediate phrase)
举例:
对于 “提高人民生活水平” 这一句子(不含非终结符的句型),提高、人民、生活、水平是直接短语,高人、民生、活水不是直接短语。
二义性文法
如果一个文法可以为某个句子生成多棵分析树,则称这个文法是二义性的。
举例:
出现二义性时,计算机难以编译执行。因此,我们需要定义规则来消除歧义
对于任意一个上下文无关文法,不存在一个算法,判定它是无二义性的;但能给出一组充分条件,满足这组充分条件的文法是无二义性的
- 满足,肯定无二义性
- 不满足,也未必就是有二义性的
转载地址:
https://www.icourse163.org/learn/HIT-1002123007?tid=1003246005#/learn/announce