0

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

S ::= S+T | 意法半导体 | 吨

T ::= 非终结符 | 身份证 | -S | (S)

根据我所拥有的一切.. 我知道 -S 应该是 -T。但另外......这对优先级有什么影响。是模棱两可的吗?从数学上讲,我可以它显然是不正确的..但这不应该对歧义问题产生影响。

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

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

4

1 回答 1

0

如果将 -S 更改为 -T,歧义就解决了。在更改之前,这里是一个模棱两可的句子的示例:-ab。是 -(ab) 还是 (-a)-b?

然而,随着变化,不再有歧义。

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

于 2011-09-28T13:23:28.120 回答