发现一个不明确的BNF

时间:2010-09-14 00:22:31

标签: grammar bnf ambiguity

我有一项任务来纠正一个含糊不清的BNF,但我完全迷失了。我知道这不是一个真正的编程问题,如果对于这些电路板来说这不是一个合适的问题,我会很乐意删除它。有什么好的网站我可以了解更多有关BNF的信息吗?我正在处理的那个看起来很简单,但我找不到关于BNF的任何例子或好的解释。我有一些经验可以发现模糊的解析树和其他类型的语法,但我完全迷失在这个。

由于这是一项学校作业,我不确定是否应该发布有问题的BNF,但如果有人知道一个好的网站,我可以查看,或许可以更好地了解如何攻击我的问题。我真的不知道从哪里开始。

2 个答案:

答案 0 :(得分:1)

描述无上下文语法的一些BNF也在描述状态机(在本例中为Pushdown automata)。最好的方法是检查状态机。

作为起点,您可以查看conflictparsers that make use of such automata的内容。

答案 1 :(得分:0)

如果句子右侧有两个或两个以上相同的非终结符,则不明确。例如:< expr> - > < expr> +< expr> | <事实>。右侧的expr可以在树中以不同的方式导出,因此可以绘制不同的树并且它是不明确的。