【问题标题】:Parsec's satisfy equivalent in uu-parsinglibParsec 在 uu-parsinglib 中满足等价
【发布时间】:2014-11-28 16:12:55
【问题描述】:

我正在寻找像 Parsec 那样的 satisfy 函数。比如:

--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,它需要Insertion 作为参数。我不明白为什么这是必要的......我只是希望解析器在谓词不满足的情况下失败!

我怎样才能做到这一点?

【问题讨论】:

    标签: haskell parser-combinators uu-parsinglib


    【解决方案1】:

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

    这意味着您应该使用普通的pSatisfy 函数并提供Insertion 元素。如果您不确定成本应该是多少,您可以使用 5,如 pSymbol 等其他解析器的实现中所见。

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多