Описание тега uu-parsinglib

NoneUu-parsinglib is a Haskell combinator parsing library with `Applicative` interface.
1 ответ

Удовлетворение эквивалентно Парсеку в uu-parsinglib

Я ищу satisfy функционировать как тот, который имеет Parsec. Что-то вроде: --The parser satisfy f succeeds for any character for which the supplied --function f returns True. --Returns the character that is actually parsed. satisfy :: (Char -> Bo…
28 ноя '14 в 16:12
2 ответа

Сочетание лексера и парсера в комбинаторе парсера

Я использую uu-parsinglib, но я думаю, что следующий вопрос является универсальным синтаксического анализатора. Давайте рассмотрим следующий пример: У меня есть лексер с комбинатором pLex, который производит список токенов (типа MyToken). Теперь я х…
1 ответ

Незапланированное жадное поведение в uu-parsinglib

Эта проблема Сегодня я столкнулся с проблемой и не знаю, как ее решить. Это очень странно для меня, потому что код, который я написал, должен (согласно моим текущим знаниям) быть правильным. Так что ниже вы можете найти пример парсера комбинаторов. …
1 ответ

Парсек или счастлив (с Алексом) или uu-parsinglib

Я собираюсь написать синтаксический анализатор языка verilog (или vhdl) и сделаю много манипуляций (рода преобразований) проанализированных данных. Я собираюсь проанализировать действительно большие файлы (полный дизайн Verilog, размером до 10 000 с…
08 фев '13 в 13:17
1 ответ

Правильно разбирать отступы строки в uu-parsinglib в Haskell

Я хочу создать комбинатор синтаксического анализатора, который будет собирать все строки ниже текущего места, уровни отступов которых будут больше или равны некоторым i, Я думаю, что идея проста: Поглотить строку - если ее отступ равен: хорошо -> сд…
14 авг '13 в 16:45
2 ответа

Разбор грамматики выражения с применением функции с помощью комбинаторов синтаксического анализа (левая рекурсия)

В качестве упрощенной подзадачи парсера для реального языка я пытаюсь реализовать парсер для выражений вымышленного языка, который похож на стандартные императивные языки (такие как Python, JavaScript и т. Д.). Его синтаксис имеет следующую конструк…
1 ответ

Парсер UU, распознающий только ввод пустой строки?

Мне нужно значение типа Parser () который преуспеет (и вернется ()) на пустом (длина 0) входе и не работает во всех остальных случаях. pSatisfy (const False) не совсем делает то, что требуется. pEnd даже не кажется подходящим для этой цели. pExact 0…
15 янв '15 в 13:52
1 ответ

Как сохранить состояние в uu-parsinglib Haskell парсер комбинатор

Я хотел бы иметь возможность использовать get а также put функции от State Monad во время записи uu-parsinglib парсер комбинатор. Как это может быть сделано? Можно ли как-то создать анализатор состояний с помощью этой библиотеки?
13 авг '13 в 20:48
3 ответа

Вставить символ в поток символов комбинатора парсера в Haskell

Этот вопрос связан с обоими Parsec а также uu-parsinglib, Когда мы пишем синтаксические анализаторы, они обрабатывают потоки символов из компилятора. Можно ли как-то проанализировать символ и вернуть его (или вернуть другой символ обратно) во входно…
1 ответ

Настроить обработку ошибок в uu-parsinglib в Haskell

Это возможно: генерировать собственные ошибки парсера используя uu-parsinglib в Хаскеле? (Я хочу специально напечатать пользовательское сообщение об ошибке с информацией о позиции) настроить способ отображения ошибок для пользователя? каким-то образ…
14 авг '13 в 12:58
1 ответ

Монадический парсинг с uu-parsinglib

Я пытаюсь создать монадический парсер с помощью uu_parsinglib. Я думал, что это покрыто, но я получаю некоторые неожиданные результаты в тестировании Сокращенный пример моего парсера: pType :: Parser ASTType pType = addLength 0 $ do (Amb n_list) &lt…
16 авг '13 в 08:55
1 ответ

UU-Parsinglib резко замедляется при включении некоторых правил

Я пишу компилятор, используя uu-parsinglib и я увидел очень странную вещь Я определил pChoice комбинатор типа: pChoice = foldr (<<|>) pFail (обратите внимание, я использую жадный <<|>). Давайте рассмотрим следующий код: pFactor i =…
3 ответа

Невозможно вычислить минимальную длину парсера - uu-parsinglib в Haskell

Давайте посмотрим на фрагмент кода: pSegmentBegin p i = pIndentExact i *> ((:) <$> p i <*> ((pEOL *> pSegment p i) <|> pure [])) если я изменю этот код в моем парсере на: pSegmentBegin p i = do pIndentExact i ((:) <$> p…
2 ответа

Производительность uu-parsinglib по сравнению с "try" в Parsec

Вопрос я знаю Parsec а также uu-parsinglib и я написал парсеры в них обоих. Недавно я обнаружил, что есть проблема в uu-parsinglib, что может существенно повлиять на его производительность, и я не вижу пути ее решения. Рассмотрим следующие парсеры P…
1 ответ

Профилирующие парсеры, написанные с использованием библиотек парсера-комбинатора в Haskell

Каковы стандартные методы профилирования парсера, написанные в библиотеках комбинатора парсера в Haskell? Я сейчас пользуюсь uu-parsinglib но мне было бы очень интересно узнать методы профилирования и других библиотек синтаксического анализатора, та…
19 авг '13 в 04:16
1 ответ

Использование uu-parsinglib для разбора последовательности Word8

Я пытаюсь использовать uu-parsinglib для работы на [Word8] а не [Чар]. (Я хочу использовать uu-parsinglib для сообщения об ошибках.) Мне нужен парсер, который будет вызывать меня в следующий раз Word8 в последовательности, что бы это ни было. Как то…
21 июл '15 в 14:04
1 ответ

Ад зависимостей в Haskell (cabal, uu-parsinglib)

Я пытаюсь скомпилировать программу на Haskell, которой несколько лет, и она больше не поддерживается. У него длинный список зависимостей, которые потребовали от меня установить старую версиюuu-parsinglib. В частности, он подсчитал, что хочетuu-parsi…