语法推导树

语法推导树

语法推导树必须具有的特征:
首先理解此处和文法有关,文法公式G={Vn,Vt,P,S}
1.每个结点都有一个标记,此标记是V的一个符号。(这个标记必须是终结符或者非终结符中的一个)
2.根的标记是S(开始符)
3.若一结点n至少有一个它自己除外的子孙,并且有标记A,则A肯定在Vn中。(如果一个结点有子孩子,则这个结点肯定不是终结符)
4.如果结点n的直接子孙,从左到右的次序是结点n1,n2,。。。nk,其标记分别是A1,A2,。。。Ak。那么A->A1,A2.。。Ak。一定是P中的一个产生式。(父亲结点推出子结点值得序列必须包含在P中)
判断是否符合文法推到树

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 推到树种所有节点(SaAb)都属于V中的元素 (符合)
  2. 根的标记为S (符合)
  3. 如果一个节点存在除自己以外的子孙 ,则这个节点一定在VN中,也就是非终结符(符合)
  4. S->aAS,A->SbA出现在文法中 (符合)
    所以这个推导树是文法推到树
    例题:
    在这里插入图片描述

第一步:拆分文法
S->aAs,
S->a,
A->SbA,
A->SS,
A->ba
第二步:对照句型aabAa,根节点为S,S->a不符合只能选择S->aAs
在这里插入图片描述

第三步:选择A的子节点A->SbA符合aabAa,S->a符合aabAa
在这里插入图片描述

第四步:S->a符合aabAa
在这里插入图片描述

短语、简单短语、句柄、素短语、最左推导、句子概念:
令G是一文法,S是文法的开始符号,abc是文法G的一个句型。

短语:如果S经过若干步骤推导出aAc且A经过1或者多步推出b,则称b是句型abc相对于非终结符A的短语;
如果有了一棵语法推导树,则这棵推导树上任意一棵子树的叶子结点的序列就是一个短语。
简单短语:如果A直接推出b,则b是句型abc相对于规则A→b的直接短语(简单短语)
句柄:一个句型的最左直接短语称为该项句型的句柄;
素短语:是个短语,并且至少含有一个终结符,并且,除它自身之外不再含任何更小的素短语。
最左推导:对句型右部的最左非终结符进行推导。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桀骜浮沉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值