自从我和CFG合作以来已经有一段时间了。无论如何,我有一个特定的语法正确地完成所有操作,但最后(我排除了其他标准的数学运算)。
S :: = S + T | S-T | Ť
T :: = nonterminal | ID | -S | (S)
我拥有的一切......我知道-S应该是-T。但另外......这对优先权有什么影响。它含糊不清吗?从数学上来说,我显然可能不正确..但这不应该对歧义问题产生影响。
如果是-T,它的优先级和(S)相同?
真的试图理解它是如何发生的,它循环回到Start状态。
答案 0 :(得分:0)
如果将-S更改为-T,则模糊性将得到解决。 在更改之前,这是一个模糊句子的示例:-a-b。是 - (a-b),还是(-a)-b?
然而,随着变化,没有更多的歧义。
至于优先级,在您的具体示例中,不必在-T和(S)之间存在规则,因为它始终是具有优先级的内部规则,这正是您期望的行为。 / p>