7

ParseError在 Parsec中引发错误 () 的首选方法是什么?我在执行检查的解析器中得到了一些代码,如果检查失败,则ParseError应该返回(即Left ParseError在运行时parse)。

4

1 回答 1

5

您可以为此使用Text.ParserCombinators.Parsec.Prim.unexpected和。Control.Monad.fail两者都接受一个String表示错误消息的参数,并将返回(在这种情况下)一个 type 的值GenParser tok st a

有关更多信息,请参阅Text.ParserCombinators.Parsec.Error,特别是Message。在那里您可以阅读在哪种情况下使用哪个函数(尽管两者都表示解析错误,但它们在语义上略有不同)。

于 2009-11-18T22:51:02.653 回答