CFG算术优先/模糊

时间:2011-02-01 22:29:45

标签: grammar context-free-grammar ambiguity

自从我和CFG合作以来已经有一段时间了。无论如何,我有一个特定的语法正确地完成所有操作,但最后(我排除了其他标准的数学运算)。

S :: = S + T | S-T | Ť

T :: = nonterminal | ID | -S | (S)

我拥有的一切......我知道-S应该是-T。但另外......这对优先权有什么影响。它含糊不清吗?从数学上来说,我显然可能不正确..但这不应该对歧义问题产生影响。

如果是-T,它的优先级和(S)相同?

真的试图理解它是如何发生的,它循环回到Start状态。

1 个答案:

答案 0 :(得分:0)

如果将-S更改为-T,则模糊性将得到解决。 在更改之前,这是一个模糊句子的示例:-a-b。是 - (a-b),还是(-a)-b?

然而,随着变化,没有更多的歧义。

至于优先级,在您的具体示例中,不必在-T和(S)之间存在规则,因为它始终是具有优先级的内部规则,这正是您期望的行为。 / p>