0

考虑下面的语法......

bexp -> bterm | bterm ‘||’ bexp
bterm -> bfact | bfact ‘&&’ bterm
bfact -> true | false | id | ‘(‘ bexp ‘)’

假设我们用 '!' 扩展 BEXP 通过更改 bfact 规则来进行否定运算符如下:-

bfact -> true | false | id | '(' bexp ')' | '!' bexp

让我们将此扩展语法称为 BEXP2。我如何证明它是模棱两可的?

4

1 回答 1

2

您可以通过查找具有两个解析的字符串来证明它是模棱两可的:)

在这种情况下,请尝试!id&&id. 那是(!id)&&id还是!(id&&id)

于 2015-02-12T21:11:36.123 回答