利用依赖图消除上下文无关文法中的不可达符号

前言

上下文无关文法中一个符号无用有两个原因,其一是无法从开始符号到达它,其二是无法从其推导出一个终结字符串。本文重点介绍一种用来消除第一种无用符号的简便方法——依赖图

正文

在介绍消除方法之前,先介绍一下依赖图的概念。

  • 依赖图

对于上下文无关文法中的依赖图,其中的顶点表示符号,而从顶点 C C C D D D 之间存在边当且仅当存在如下形式的生成式 C → x D y C\rightarrow xDy CxDy

  • 判断方法

如果一个符号是有用的,仅当在依赖图中存在一条路径,它从以 S S S 为标记的顶点出发能够到达以该符号标记的顶点。

示例
设文法 G = { N , T , P , S } G=\{ N,T,P,S\} G={N,T,P,S} N = { S , A , B } N=\{ S,A,B\} N={S,A,B} T = { a } T=\{ a\} T={a}。生成式 P P P 如下: S → a S ∣ A A → a B → a a S\rightarrow aS|A\\A\rightarrow a\\B\rightarrow aa SaSAAaBaa消除其不可达符号。
解答
做出依赖图:
在这里插入图片描述
可知符号 B B B 不可达,故删去。此时生成式 P P P 如下: S → a S ∣ A A → a S\rightarrow aS|A\\A\rightarrow a SaSAAa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值