grammar - 发现不明确的 BNF

标签 grammar bnf ambiguity

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

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

最佳答案

一些描述上下文无关语法的 BNF 也在描述状态机(在本例中为 Pushdown automata )。做到这一点的最佳方法可能是通过检查状态机。

作为起点,您可以查看 conflict 是什么?在parsers that make use of such automata内.

关于grammar - 发现不明确的 BNF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705342/

相关文章:

c++ - C++的语法歧义

parsing - 使用 Happy (Haskell) 从 yacc 语法生成 Fortran 77 解析器

ruby - 了解 Ruby 中赋值和逻辑运算符的优先级

javascript - JavaScript 函数是否调用 LeftHandSideExpression,从而调用 ExpressionStatement?

parsing - Unix 命令行选项语法

C++ 对模板结构声明歧义!

c++ - Yacc 语法产生不正确的终端

regex - 如何将正则语法转换为正则表达式?

mysql - 联合 MySQL 查询

c# - 等效的隐式运算符 : why are they legal?