如何显示以下语法有歧义?
How to show the following grammar is ambiguous?
我定义了以下语法:
S -> A|B, A -> aAb | ab, B -> aBb | epsilon;
经过一段时间的努力,我仍然找不到一个字符串来构造一个有特色的分析树来表明这个语法是有歧义的。喜欢:aaabbb、abab 等。看起来这个语法是明确的。有什么帮助吗?
这个语法有歧义。字符串 aabb
可以通过两种不同的方式导出:
S => A => aAb => aabb
S => B => aBb => aaBbb => aabb
我定义了以下语法:
S -> A|B, A -> aAb | ab, B -> aBb | epsilon;
经过一段时间的努力,我仍然找不到一个字符串来构造一个有特色的分析树来表明这个语法是有歧义的。喜欢:aaabbb、abab 等。看起来这个语法是明确的。有什么帮助吗?
这个语法有歧义。字符串 aabb
可以通过两种不同的方式导出:
S => A => aAb => aabb
S => B => aBb => aaBbb => aabb