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

Haskell проблема с парсеком
Я новичок в хаскеле и изучаю parsec lib пример: nesting :: Parser Int nesting = do{ char '(' ; n <- nesting ; char ')' ; m <- nesting ; return (max (n+1) m) } <|>...
701 просмотров
schedule 05.04.2024

Исправление плохой грамматики JSON
Я только начал изучать синтаксический анализ и написал этот простой синтаксический анализатор на Haskell (используя parsec) для чтения JSON и построить для него простое дерево. Я использую грамматику из RFC 4627 . Однако, когда я пытаюсь...
587 просмотров
schedule 22.02.2024

Как я могу использовать buildExpressionParser из Text.Parsec.Expr для анализа этого языка?
Я пытался использовать buildExpressionParser для анализа языка, и у меня это почти получилось. Благодаря Parsec.Expr повторный оператор Prefix/Postfix не поддерживается за решение одной из моих больших проблем. Этот фрагмент кода иллюстрирует...
1619 просмотров
schedule 09.01.2024

Есть ли способ заставить parsec сообщать о конфликтах сдвига-уменьшения?
Я играюсь с парсеком и понял, что у меня неоднозначная грамматика. Очевидно, это ошибка с моей стороны, но я вроде как привык к генераторам синтаксических анализаторов в стиле yacc, которые дают мне понять, что я тупой. Parsec просто поедает символы...
403 просмотров
schedule 12.12.2022

Сбой памяти при транспонировании [(K,[V])] в [(V,[K])]
У меня есть файл размером 279 МБ, который содержит ~10 миллионов пар ключ/значение с ~500 000 уникальных ключей. Он сгруппирован по ключу (каждый ключ нужно записать только один раз), поэтому все значения для данного ключа находятся вместе. Что я...
855 просмотров
schedule 05.06.2024

Haskell Parser не работает | Читать
Я работаю над парсером в Haskell, используя Parsec. Проблема заключается в чтении строки "| " . Когда я пытаюсь прочитать следующее, parseExpr = parseAtom -- | ... <|> do string "{|" args <- try...
112 просмотров
schedule 01.05.2024

Изучение Haskell Parsec и работа с необязательными парсерами
Я переделываю старое домашнее задание, чтобы развлечься, чтобы узнать, как использовать Parsec, и у меня возникли проблемы со структурированием моих синтаксических анализаторов для выходов (и включенного типа данных). Итак, сначала мы получаем файл...
1118 просмотров
schedule 29.10.2022

Parsec не может разобрать, если символы следуют за моей строкой
Я пытаюсь написать что-то для анализа моего шаблона Django, однако мой парсер дает сбой, если что-то следует за {% endblock %} Вот что у меня есть до сих пор import Control.Monad import Text.ParserCombinators.Parsec data Piece = StaticPiece...
672 просмотров
schedule 23.02.2024

Ограничение переменной без типа
Я пытаюсь использовать библиотеку Parsec для анализа списка значений Token . Я хочу использовать функцию token в тексте .Parsec.Prim для соответствия одному значению. Кажется, это должно работать: type TokenParser a = Parsec [Token] () a...
325 просмотров
schedule 28.12.2023

Парсек зависает при использовании buildExpressionParser
Я пытаюсь создать базовый синтаксический анализатор математических уравнений с помощью Parsec, и у меня возникают проблемы с использованием функции buildExpressionParser . Я создал функцию parsecParse , но она просто зависает навсегда, когда я...
196 просмотров
schedule 25.10.2023

Parsec, доступ к последнему пользовательскому состоянию после завершения синтаксического анализа
У меня есть простой синтаксический анализатор scriptParser , который использует состояние пользователя (тип и содержание здесь не важны). Он возвращает либо String для сообщения об ошибке, либо список Statement (опять же, не важно, как это...
195 просмотров
schedule 08.12.2022

Parsec: расширение работающего парсера дает странные результаты
Для проекта нам поручили создать парсер/оценщик haskell, который управляет крошечным роботом arduino. Итак, для начала я провел некоторое исследование уже реализованных настроек парсера и наткнулся на этот:...
58 просмотров
schedule 08.12.2023

Вкусное Hunit-тестирование парсера парсека?
Мне нужно настроить тестовый набор, который позволит мне определить, не нарушают ли изменения, которые я делаю в синтаксическом анализаторе, что-либо еще в дальнейшем. Я использую для этого модульные тесты tasty , и вот что у меня есть:...
300 просмотров
schedule 27.11.2023

Понимание SourceName в Parsec
У меня есть вопрос относительно значения функции SourceName в parse в Parsec . Кажется, что все книги/блоги/учебники, которые я читаю, просто пропускают то, что есть, и используют "stdin" , "(stdin)" или произвольную строку, такую ​​как...
193 просмотров
schedule 17.04.2024