📜  派生

📅  最后修改于: 2020-12-06 06:40:21             🧑  作者: Mango

推导

推导是一系列生产规则。它用于通过这些生产规则获取输入字符串。在解析期间,我们必须做出两个决定。这些如下:

  • 我们必须确定要替换的非终端。
  • 我们必须确定将替换非终端设备的生产规则。

我们有两个选择来决定用生产规则替换哪个非终端。

最左边的导数

在最左侧的派生中,将扫描输入,并用生产规则从左到右替换输入。因此,在大多数派生语言中,我们从左到右读取输入字符串。

例:

生产规则:

S = S + S
S = S - S
S = a | b |c

输入:

a - b + c

最左边的推导是:

S = S + S
S = S - S + S
S = a - S + S
S = a - b + S
S = a - b + c

最右派生

在最右边的派生中,将扫描输入,并用从右到左的生产规则替换输入。因此,在大多数派生词中,我们从右到左读取输入字符串。

例:

S = S + S
S = S - S
S = a | b |c

输入:

a - b + c

最右边的推导是:

S = S - S
S = S - S + S
S = S - S + c
S = S - b + c
S = a - b + c