构建字符串 aabbabba 的推导树。
问题
针对给定的上下文无关文法 (CFG),推导出字符串 aabbabba 的推导树。
S->aB|bA A->a|aS|bAA B->b|bS|aBB
解决方案
推导是一系列产生式规则,用于获取输入字符串。
推导树
它是给定 CFG 的给定产生式规则推导的图形表示。它也称为语法树。
属性
推导树包含一些属性,如下所示:
- 根节点始终是表示起始符号的节点。
- 推导是从左到右读取的。
- 叶节点始终是终结符节点。
- 内部节点始终是非终结符节点。
给定的 CFG 如下:
S->aB|bA A->a|aS|bAA B->b|bS|aBB
要绘制语法树,首先尝试获取字符串 aabbabba 的推导。
让我们以如下所示的最左推导为例:
S-> aB ->aaBB ->aabSB ->aabbAB ->aabbaB ->aabbabS ->aabbabbA ->aabbabba which is our final string
现在,为给定的语法构建推导树。
如果语法生成多种类型的树,则称给定的语法为二义性语法。
广告