Описание тега attoparsec
Быстрая библиотека Haskell для анализа ByteStrings
1
ответ
Наконец разбор без тегов и рекурсивные монадические действия
Я десериализирую структуру данных с диска в окончательно без тегов стиле. т.е. class SYM repl where a :: repl include :: FilePath -> repl myParser :: SYM r => Parser r язык, который я анализирую, включает директивы. я использую attoparsec кото…
06 июн '14 в 09:19
1
ответ
Можно ли эффективно смотреть вперед более чем на одного Чара в Аттопарсек?
Я пытаюсь дополнить библиотеку синтаксического анализатора Attoparsec на Haskell функцией takeRegex :: Regex -> Parser ByteString используя одну из реализаций регулярного выражения. (Мотивация: Хорошие библиотеки регулярных выражений могут обеспе…
03 янв '14 в 01:24
1
ответ
Attoparsec /= версия stringCI
Я анализирую файлы robots.txt и написал анализатор для успешного анализа "правильно сформированного" файла robots.txt. Я был в состоянии настроить синтаксический анализатор, чтобы пропустить строки, которые начинаются с символа (например, # или / дл…
09 апр '13 в 20:41
1
ответ
Метод attoparsec `many` не найден
Я попытался запустить тесты для анализатора HTTP на основе Attoparsec Брайана О'Салливана ( http://www.serpentine.com/blog/2010/03/03/whats-in-a-parser-attoparsec-rewired-2/), и я получил эту ошибку: > runhaskell TestRFC2616.hs TestRFC2616.hs:13:…
25 сен '13 в 23:15
1
ответ
Attoparsec: более простой способ анализа типов данных из Data.Word и Data.Int?
Я сейчас пользуюсь bytestring а также attoparsec за сериализацию и десериализацию с уважением в игровом сетевом коде. Я был изначально привлечен к использованию этих библиотек cereal так как bytestring дает довольно детальный контроль над строителям…
19 июн '16 в 01:57
1
ответ
Вручную завершить входы для Conduit Attoparsec
Я обрабатываю файл журнала системного журнала, каждую строку как отдельную запись системного журнала, и анализирую эту запись, используя синтаксический анализатор Attoparsec. Так что я использую fileToBS :: IO Handle -> C.Source (ResourceT IO) BS…
19 янв '15 в 09:28
0
ответов
Ленивый анализ больших файлов с миллионами точек данных
У меня есть парсер, который я пытаюсь написать, и я просмотрел несколько его версий, и я не могу уменьшить использование памяти. Я пытаюсь проанализировать дампы Википедии sql и в этом примере взять файл записей страницы и выбросить их все в один ги…
11 мар '17 в 03:40
2
ответа
Канализационная раковина с остатком
У меня есть раковина и я хочу сделать разбор с аттопарсек в нем. Бывает, что я получаю Partial результат. Поэтому я подумал, что я мог бы просто использовать leftover вернуть недостаточное количество контента обратно, чтобы потом было добавлено боль…
09 ноя '14 в 20:40
2
ответа
Почему этот синтаксический анализатор всегда терпит неудачу, когда последовательность конца строки - CRLF?
Этот простой синтаксический анализатор должен анализировать сообщения в форме key: value\r\nkey: value\r\n\r\nkey: value\r\nkey: value\r\n\r\n Один EOL действует как разделитель полей, а двойной EOL действует как разделитель сообщений. Он прекрасно …
03 сен '15 в 06:28
1
ответ
attoparsec или parsec в haskell
Я должен проанализировать некоторые файлы и преобразовать их в некоторые предопределенные типы данных. Похоже, что Haskell предоставляет для этого два пакета: attoparsec парсек В чем разница между ними и тем, который лучше подходит для анализа текст…
06 окт '13 в 11:12
1
ответ
Attoparsec парсинг не удаётся, но не должен при правильном возврате
Я использую Attoparsec, который, как говорят, возвращается по умолчанию. Тем не менее, следующая строка: parseOnly (string "foo" *> many1 anyChar <* string "bar") "fooxxxbar" не удается с: Left "not enough input" Почему это так? Если many1 any…
16 апр '17 в 22:11
1
ответ
Как я могу написать более общую (но эффективную) версию takeWhile1 attoparsec?
Data.Attoparsec.Text экспорт takeWhile а также takeWhile1: takeWhile :: (Char -> Bool) -> Parser Text Использовать ввод, пока возвращается предикат Trueи верните потребленный ввод. Этот парсер не подведет. Он вернет пустую строку, если предика…
30 июн '15 в 19:13
1
ответ
Conduit и Attoparsec: неожиданное завершение при ошибке разбора
Я пытаюсь преобразовать анализатор файла журнала, который я написал некоторое время назад, в канал, и я столкнулся с проблемой. Я упросту детали самого парсера, так как это не имеет отношения к вопросу. У меня есть файл журнала, который выглядит так…
09 дек '15 в 18:40
2
ответа
Почему разработчики библиотек используют ByteString там, где кажется подходящим Text?
Работая над своим приложением, я столкнулся с проблемой того, что Aeson не расшифровывает ввод UTF8. Копая глубже, я обнаружил, что он опирается на Parser ByteString Аттопарсек, который, кажется, источник проблемы для меня. Но на самом деле это не т…
29 дек '12 в 10:13
1
ответ
Разбор пользовательских типов данных в Haskell
Я пробился через Хаскелловские коаны, представленные здесь: https://github.com/roman/HaskellKoans Я застрял на последних двух Коанах, оба из которых связаны с анализом пользовательских алгебраических типов данных. Вот первое: data Atom = AInt Int | …
01 фев '13 в 21:15
4
ответа
Обобщенные анализаторы снизу вверх в Хаскеле
Меня интересует, почему в Haskell нет обобщенных синтаксических анализаторов для анализа снизу вверх, как комбинаторы Parsec для синтаксического анализа сверху вниз. (Я мог найти какую-то исследовательскую работу в 2004 году, но ничего после https:/…
05 июн '14 в 02:57
2
ответа
Попытка упростить проверку IO Bool в парсере Attoparsec
Я пытаюсь упростить приведенный ниже код, который является частью синтаксического анализатора attoparsec для сетевого пакета, и затрудняюсь найти хороший способ сделать это. Начинается с звонка atEnd :: IO Bool чтобы определить, есть ли еще что-то д…
04 дек '12 в 21:13
1
ответ
Разбор первого вхождения слова, которому не предшествует пробел
настройка Мне нужно найти первое вхождение слова в некотором файле.txt, которому не предшествует пробел. Вот возможные случаи: -- * should succed t1 = "hello\t999\nworld\t\900" t2 = "world\t\900\nhello\t999\n" t3 = "world world\t\900\nhello\t999\n" …
15 авг '16 в 20:58
2
ответа
Пропуск пробелов, исключая переводы строк в attoparsec
Аттопарсек обеспечивает функцию skipSpace, Эта функция использует все доступные пробелы. Как я могу реализовать функцию skipSpaceNoNewline который пропускает любые пробелы, кроме \n а также \r\n? Примечание. Этот вопрос намеренно не требует каких-л…
24 мар '14 в 17:55
1
ответ
Attoparsec Iteratee
Я хотел, просто чтобы немного узнать об Iteratees, переопределить простой парсер, который я сделал, используя Data.Iteratee и Data.Attoparsec.Iteratee. Я в значительной степени озадачен, хотя. Ниже у меня есть простой пример, который может проанализ…
15 июн '11 в 16:22