解释TOC中推导的概念


推导是一系列产生式规则。它用于获取输入字符串。在解析过程中,我们必须做出两个决定,如下所示

  • 我们必须确定要替换的非终结符。
  • 我们必须确定用于替换非终结符的产生式规则。

确定哪个非终结符需要用产生式规则替换有两个选项,如下所示:

  • 最左推导
  • 最右推导。

让我们详细了解这两个选项。

最左推导

在最左推导中,输入被扫描,然后从左到右用产生式规则替换。因此,我们必须从左到右读取该输入字符串。

示例

产生式规则

E=E+E rule1
E=E-E rule2
E=a|b rule3

假设输入为a-b+a

现在,当我们执行最左推导时,结果如下:

E=E+E
E=E-E+E from rule2
E=a-E+E from rule3
E=a-b+E from rule3
E=a-b+a from rule3
Finally, the given string is parsed

最右推导

在最右推导中,输入被扫描并从右到左用产生式规则替换。因此,我们必须从右到左读取输入字符串。

示例

产生式规则

E=E+E rule1
E=E-E rule2
E=a|b rule3

假设输入为a-b+a

现在,当我们执行最右推导时,我们得到以下结果:

E=E-E
E=E-E+E from rule1
E=E-E+a from rule3
E=E-b+a from rule3
E=a-b+a from rule3

更新于: 2021年6月11日

5K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.