短语,直接短语,句柄、最左素短语

一、关于短语
书上的定义如下:

书上写的比较抽象,我这里简单解释一下,有两个文法,分别是:

1 S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替)
2 A=+=>b
我们由此可以画出他的抽象语法树,如下:

在这里插å
¥å›¾ç‰‡æè¿°

那么,abp,b为此句型的短语 。

总结来说:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,由这概念,那么我们自然可以想到,b也应该是该句型的一个短语。

二、关于直接短语
子树中不再包含其他的子树,即A只能推导出b,而b不能再推出其他的式子,则b为此句型的直接短语。

三、关于句柄

直接短语中的最左直接短语为该句型的句柄。

四、小练习

  1. S -> a|b|(T)

  2. T -> TdS|S

  3. 证明(Sd(T)db)是S的一个句型,并求出短语,直接短语,句柄。

  4. 此文法的抽象语法树为:img

由此可得S=(Sd(T)db)为此文法的一个句型:

短语:S,(T),b,Sd(T),Sd(T)db,(Sd(T)db)
直接短语:S,(T),b
句柄:S


重点从这看

如何找直接短语呢?

画出语法树,从左至右把所有子树的叶子结点写出来,就是短语,直接短语就是找深度为1的的子树的叶子结点

img

这道题中:从左至右的子树有T,T,S,S,T,S

  1. 短语:S,Sd(T),(T),(Sd(T)db),Sd(T)db,b

分别对应:

  • T->S

  • T->Sd(T)

  • S->(T)

  • S->(Sd(T)db)

  • T->Sd(T)db

  • S->b
    在这里插入图片描述

    2.直接短语找深度为1的子树

    • 直接短语:S,(T),b

    在这里插入图片描述看图

  1. 直接短语中的最左直接短语为该句型的句柄。

    • 句柄:S
  2. 素短语:首先是短语,至少包含一个终结符,并且除自身外不包含其他素短语,最左边的素短语就是最左素短语

    素短语:(T),b

    最左素短语:(T)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值