1

我正在寻找satisfy像 Parsec 那样的功能。就像是:

--The parser satisfy f succeeds for any character for which the supplied
--function f returns True.
--Returns the character that is actually parsed.
satisfy :: (Char -> Bool) -> Parser Char

我发现的唯一东西是pSatisfy,它需要一个Insertionas 参数。我不明白为什么这是必要的......我只是希望解析器在谓词不满足的情况下失败!

我怎样才能做到这一点?

4

1 回答 1

1

最后,我设法破解了一个satisfy满足我需求的功能。但是,uu-parsinglib 是一个纠错解析器,如果您不提供更正替代方案,它将引发异常。

这意味着您应该使用普通pSatisfy函数并提供一个Insertion元素。如果您不确定成本应该是多少,您可以使用 5,如在其他解析器(如pSymbol.

于 2014-12-09T11:46:57.553 回答