鉴于语法模糊与否?

时间:2015-02-12 20:55:00

标签: programming-languages grammar context-free-grammar language-theory

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

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

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

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

让我们调用这个扩展语法BEXP2。我怎样才能证明它含糊不清?

1 个答案:

答案 0 :(得分:2)

你可以通过找到一个包含两个解析的字符串来证明它是不明确的:)

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