attoparsec

    1热度

    1回答

    使用Attoparsec,我试图匹配包含正好1'x',1'y'和1'z'的字符串以及任意数量的'a','b'或'c',而不会对每个字符的顺序有任何约束。 例如, “AB | BB ž交流Ÿ AAA X CBA” 和 “AB | BB ž交流X AAA Ÿ CBA” 应该是一个比赛,但下面不应该: “ABBB ž交流ý aaacba”(原因:没有 'X') “AB | BB ž交流Ÿ AAA X C

    1热度

    1回答

    说我有一个attoparsec解析器,x。 我希望创造一个功能f :: Int -> Parser a -> Parser a,这样如果y = f n x,则: y如果x失败 y如果x成功,x不消耗n字节 y失败,失败否则成功 我该如何去做这件事?

    3热度

    1回答

    我被困在写一个attoparsec解析器来解析什么Uniform Code for Units of Measure称为<ATOM-SYMBOL>。它被定义为某个类中字符的最长序列(该类包含所有数字0-9),它不以数字结尾。 所以给我希望消费和返回foo,为237bar26我想消费并返回237bar,为19我想不消耗任何失败的输入foo27。 我无法弄清楚如何建立该方案的takeWhile1或ta

    3热度

    1回答

    我使用Attoparsec据说这是在默认情况下原路返回。但是,下面的一行: parseOnly (string "foo" *> many1 anyChar <* string "bar") "fooxxxbar" 失败: Left "not enough input" 为什么会这样呢?如果many1 anyChar决定只解析三个字符(xxx),它应该是成功的。它应该考虑在某个时候这样做,

    0热度

    1回答

    我有一个Attoparsec解析器是这样的: myParser :: Parser Text myParser = char '"' *> takeWhile (not . isspace) <* char '"' 我想使这个解析器可选的,所以我得到一个返回Just txt的函数,如果解析器比赛和Nothing否则,即功能的签名: myMaybeParser :: Parser (Maybe

    0热度

    1回答

    设置 我需要找到一些.txt文件一个字不是由空格前的第一次出现precded。下面是可能情况: -- * should succed t1 = "hello\t999\nworld\t\900" t2 = "world\t\900\nhello\t999\n" t3 = "world world\t\900\nhello\t999\n" -- * should fail t4 = "w

    2热度

    2回答

    在https://www.fpcomplete.com/school/starting-with-haskell/libraries-and-frameworks/text-manipulation/attoparsec处给出的解析器似乎可行,但存在问题。 的代码(这里不再重复)是: {-# LANGUAGE OverloadedStrings #-} -- This attoparsec m

    3热度

    1回答

    假设有一个数据结构代表里面有注释的文本。 data TWC = T Text TWC -- text | C Text TWC -- comment | E -- end deriving Show 因此字符串如 "Text, {-comment-}, and something else" 可以编码为 T "Text, " (C "comment"

    4热度

    2回答

    上我偶然发现了一个奇怪的内存前一个问题(haskell-data-hashset-from-unordered-container-performance-for-large-sets)上的一些意见工作泄漏 module Main where import System.Environment (getArgs) import Control.Monad.Trans.Resource (ru

    2热度

    1回答

    我正在开发一个程序,我需要从USB连接解析数据并将其写入循环缓冲区。 我一直遇到的问题是解析器没有使用输入。我是否需要使用另一个操作员将解析器管道连接到ByteString s流? 如果我删除了两个'过滤器'dropC和dropWhileC,解析器会消耗一些输入,但会失败,因为前几个数据块是垃圾。不知何故(我从来没有用过它)显然我的心理模型是如何运作的。 我也想知道空字符串是否被conduitPa