gpt4 book ai didi

parsing - 使用 BISON 等解析器生成器,同时仍然优雅地处理错误输入

转载 作者:行者123 更新时间:2023-12-02 21:08:27 25 4
gpt4 key购买 nike

我需要一个不太复杂的语言的解析器。唯一的问题是,我不希望解析器在收到格式错误的输入时引发错误。相反,我希望它继续下去,尽可能地理解输入,类似于 Web 浏览器中的 HTML 解析器所做的事情。

我很自然地想到使用解析器生成器,但我对它们没有太多经验,而且我见过的 Bison 和 Antlr 的所有示例都具有脆弱的解析器,一旦遇到语法就会放弃错误。这对他们来说可行吗,还是我应该考虑手动滚动?考虑到语言,这可能(我认为)不会那么困难。

最佳答案

我不确定在一般情况下您是否能够使用解析器生成器来完成此操作。至少,不是以完全自动的方式。考虑以下格式错误的表达式:

a - b + c ) * d

解析器应该对此做什么?当它遇到第一个非法标记(右括号)时,它可能会以某种方式猜测用户打算在某个地方有一个左括号,但是在哪里呢?它可以放在任何地方都会产生不同的值。

相反,它可以假装之前发生的一切从未发生过。最终结果是

* d

这仍然是畸形的。

关于parsing - 使用 BISON 等解析器生成器,同时仍然优雅地处理错误输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/827797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com