说语法推导树的短语,直接短语,句柄之前还是要回顾一下语法推导树的特征,只有了解了什么样的与是语法推导树后边的工作才能继续
语法推导树是在文法的基础上产生的,文法是由一个四元祖组成的G={VN,VT,P,S},对于文法的一些详细介绍请参照用例子来区分四种文法
书上是这么说的
用自己的话结合着例子逐条解释以上特征。如:
1.每个结点都是终结符或非终结符(图中a,A,S,b即是定义中提到的)
2.根结点的标记是S
3.有孩子结点的结点一定是非终结符(图中S和A和S都有孩子结点,它们都在非终结符那个集合中,满足)
4.拿图中以A为根结点的子树举例,它的直接子孩子从左到右的顺序是SbA,那么A->SbA这个式子一定是一个文法的产生式
这么一说就容易理解了,接下来再说什么是短语,什么是直接短语,什么是句柄?还是像上边一样先给大家一个课本上的概念,然后我再用例子解释一下,自认为这样比较好理解
短语,直接短语,句柄
书上的说法
我的理解
- 短语:任意一颗子树中,如果根结点经过若干步才推导出了叶子结点,则这些叶子结点组成的序列就是相对于这棵子树的短语
- 直接短语:属于短语,只不过不能经过若干步的推导了,必须一步就能推导出来叶子结点来,这些叶子结点组成的序列才是相对于这颗子树的直接短语
- 句柄:属于直接短语,它是这些有直接短语的子树中最左边的那颗子树的直接短语
例子:找出下面的这颗语法推导树的短语,直接短语,句柄。
(1).找出这棵树的所有子树
(2).找出每一颗子树的短语
第1棵:a1ɛb1b2a2a3
第2棵:ɛb1b2
第3棵:a2a3
第4棵:a1
第5棵:ɛ
第6棵:b1
第7棵:b2
第8棵:a2
(3).找出每一颗子树的直接短语
第1棵:因为这棵树的叶子结点是经过若干步推导出来的没有一步就推导出来的,所以没有直接短语
第2棵:同上
第3棵:同上,虽然a3是直接推导出来的,但是a2不是,
所以它们组成的序列不能说是直接短语
第4棵:a1
第5棵:ɛ
第6棵:b1
第7棵:b2
第8棵:a2
(4).从这些直接短语中找那个排在最左边的直接短语,即句柄,这道题的句柄就是a1
分析完了,不知道说明白没有,如果学习中遇到了问题希望大家帮忙指出。