表明以下语法含糊不清

时间:2017-10-29 22:47:29

标签: syntax compiler-construction context-free-grammar ambiguous parse-tree

这个语法是在我的期中考试中但是我找不到两个不同的解析树,它要求表明它的含糊不清

K -> QK | ε
Q -> Qa | aQb | ab

如果我没有看到它已经离开递归我会写的不是模糊的, 谢谢。

1 个答案:

答案 0 :(得分:0)

K -> QK -> QQK -> QQ
  -> abQ -> abaQb -> abaQab
  -> abaabab

K -> QK -> QQK -> QQQK -> QQQ
  -> QaQQ -> abaQQ -> abaabQ
  -> abaabab

编辑添加一些评论:我不确定是否有解决这些问题的好方法。寻找可以做同样事情的规则" (比如获得更长的字符串),然后从那里开始。在这种情况下,问题是我们可以通过多种方式添加Q.您也可以尝试向后工作:想象语言中的字符串以及如何在语法中完成它们。如果您正在寻找可能的最短计数器示例,这很有用,因为模糊性通常会在这些字符串中发生得相当晚。