Text.ParserCombinators.ReadPrec
| Авторские права | (c) The University of Glasgow 2002 |
|---|---|
| Лицензия | BSD-style (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | предварительный |
| Переносимость | непереносимый (использует Text.ParserCombinators.ReadP) |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Этот модуль определяет комбинаторы парсеров для разбора с учётом приоритетов.
data ReadPrec a Исходный код
Экземпляры
Приоритеты
type Prec = Int Исходный код
Операции с приоритетами
lift :: ReadP a -> ReadPrec a Исходный код
Поднимает ReadP, не зависящий от приоритета, до ReadPrec.
prec :: Prec -> ReadPrec a -> ReadPrec a Исходный код
(prec n p) проверяет, меньше ли контекст приоритета или равен n, и
- если нет — завершается неудачей
- если да — разбирает
pв контекстеn.
step :: ReadPrec a -> ReadPrec a Исходный код
Увеличивает контекст приоритета на единицу.
reset :: ReadPrec a -> ReadPrec a Исходный код
Сбрасывает контекст приоритета до нуля.
Другие операции
Все они напрямую основаны на одноимённых вариантах ReadP.
get :: ReadPrec Char Исходный код
Потребляет и возвращает следующий символ. Завершается неудачей, если ввод исчерпан.
look :: ReadPrec String Исходный код
Просмотр вперёд: возвращает оставшуюся часть ввода, не потребляя её.
(+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a Исходный код
Симметричный выбор.
(<++) :: ReadPrec a -> ReadPrec a -> ReadPrec a Исходный код
Локальный, исключающий, левосторонний выбор: если левый парсер локально выдаёт хотя бы один результат, правый парсер не используется.
pfail :: ReadPrec a Исходный код
Всегда завершается неудачей.
choice :: [ReadPrec a] -> ReadPrec a Исходный код
Объединяет все парсеры из указанного списка.
Преобразователи
readPrec_to_P :: ReadPrec a -> Int -> ReadP a Исходный код
readP_to_Prec :: (Int -> ReadP a) -> ReadPrec a Исходный код
readPrec_to_S :: ReadPrec a -> Int -> ReadS a Исходный код
readS_to_Prec :: (Int -> ReadS a) -> ReadPrec a Исходный код
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Text-ParserCombinators-ReadPrec.html