Вопросы по теме 'attoparsec'

Haskell: как остановить Data.Attoparsec.Char8.sepBy, когда входная строка пуста?
я написал следующий код Haskell import Data.Attoparsec (Parser) import qualified Data.Attoparsec.Char8 as A import qualified Data.ByteString.Char8 as B someWithSep sep p = A.sepBy p sep код должен работать следующим образом: main*>...
942 просмотров
schedule 09.04.2022

Анализ производительности сворачивания с использованием ключей map и ByteString
У меня есть небольшой скрипт для чтения, анализа и получения какой-то интересной (не совсем) статистики из файла журнала apache. Пока что я сделал два простых варианта: общее количество байтов, отправленных во всех запросах в файле журнала, и 10...
526 просмотров
schedule 02.03.2022

Разбирать текст фиксированной длины с attoparsec
Мне нужно разобрать поля фиксированной длины с помощью attoparsec, но сейчас я борюсь с компилятором. Я все еще новичок, приведенный ниже код - самое близкое решение, которое у меня есть: > {-# LANGUAGE OverloadedStrings #-} > import...
416 просмотров
schedule 20.09.2022

Haskell: переход через строковый/текстовый файл
Я пытаюсь прочитать файл сценария, затем обработать и вывести его в файл html. В моем файле сценария всякий раз, когда есть @title(это заголовок) , я добавляю тег [header] это заголовок [/header] в свой html выход. Итак, мой подход заключается в...
571 просмотров
schedule 03.01.2023

Haskell: как использовать attoparsec для чтения вложенного списка из ByteString
У меня есть текстовый файл (~ 300 МБ) с вложенным списком, похожим на этот: [[4, 9, 11, 28, 30, 45, 55, 58, 61, 62, 63, 69, 74, 76, 77, 82, 87, 92, 93, 94, 95], [4, 9, 11, 28, 30, 45, 55, 58, 61, 62, 63, 69, 74, 76, 77, 82, 87, 92, 93, 94],[4, 9,...
491 просмотров
schedule 19.05.2023

Реализация skipWhile1 в attoparsec
Attoparsec предоставляет функцию takeWhile1 , которая использует хотя бы один символ. Однако аналога для skipWhile нет. Как я могу реализовать эту функцию skipWhile1 ? Примечание. Этот вопрос намеренно не показывает никаких...
131 просмотров
schedule 21.06.2023

Haskell attoparsec: Не удалось прочитать: удовлетворяютWith
Я хочу разобрать текст, например "John","Kate","Ruddiger" , в список строк. Я попытался начать с разбора "John", в Name (псевдоним для String), но это уже не удается с Fail "\"," [","] "Failed reading: satisfyWith" . Вопрос A: Почему...
749 просмотров
schedule 28.04.2023

Разбор заголовка CSV в список парсеров
Я хочу разобрать первую строку CSV-файла и получить в результате список парсеров и с треском провалиться. После некоторых упрощений я получил код, который, я думаю, должен работать, но он не работает, и я не понимаю, почему. Вот: {-#...
123 просмотров
schedule 17.05.2022

Разобрать идентификаторы, которые не заканчиваются определенными символами в attoparsec
Я застрял в написании синтаксического анализатора attoparsec для анализа Единого кода для единиц измерения. of Measure вызывает <ATOM-SYMBOL> . Он определяется как самая длинная последовательность символов определенного класса (этот класс...
256 просмотров
schedule 27.12.2022

Необязательный парсер Attoparsec с результатом Maybe
У меня есть анализатор Attoparsec : myParser :: Parser Text myParser = char '"' *> takeWhile (not . isspace) <* char '"' Я хочу сделать этот парсер необязательным, поэтому я получаю функцию, которая возвращает Just txt , если парсер...
414 просмотров
schedule 04.09.2022

Преобразование синтаксического анализатора attoparsec в синтаксический анализатор, который дает сбой, если количество потребляемых им байтов не имеет определенной длины.
Скажем, у меня есть анализатор attoparsec, x . Я хочу создать функцию f :: Int -> Parser a -> Parser a , чтобы если y = f n x , то: y терпит неудачу, если x терпит неудачу y завершается ошибкой, если x завершается успешно, а...
89 просмотров
schedule 31.01.2023

Парсинг многострочного лога с attoparsec
Я пытаюсь разобрать многострочный журнал, подобный этому [xxx] This is 1 [xxx] This is also 1 [yyy] This is 2 Я определил эти типы {-# LANGUAGE OverloadedStrings #-} module Parser where import Prelude hiding(takeWhile) import Data.Text...
173 просмотров
schedule 21.06.2022