gpt4 book ai didi

parsing - 将错误产生式添加到语法中的策略是什么?

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

通常如何添加错误产生式?我遇到了我的错误产生式太浅的问题:当解析器开始弹出语句中的错误状态时,它会弹出直到它遇到它所在部分的错误产生式,并打印出无效错误信息。

向每个非终结符添加一些描述性错误产生是个好主意吗?

最佳答案

错误产生是关于从错误中恢复以尝试继续处理输入,而不是打印合理或有用的错误消息。因此,它们应该在语法中您可能可以正确识别和重新同步输入流的地方使用。例如,如果您的语言由一系列以 ; 结尾的结构组成。字符,一个好的错误产生是类似于 construct: error ';' ,它将从 construct 中的错误中恢复(不管那是什么)通过向前跳过输入到 ;并试图从那里继续。

放置许多错误恢复规则通常是一个坏主意,因为解析器只会恢复到最接近的一个,而且它通常是最有可能有用的顶层最全局的规则,并且尝试使用更细的粒度只会导致错误级联,因为错误恢复规则无法正确地与输入重新同步。

关于parsing - 将错误产生式添加到语法中的策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887458/

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