Вопросы по теме '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