| Copyright | (c) drlkf 2024 |
|---|---|
| License | GPL-3 |
| Maintainer | drlkf@drlkf.net |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Text.Megaparsec.Utils
Description
Generic utilities and common parsers.
Synopsis
- boolParser :: Ord e => Parsec e String Bool
- numParser :: (Ord e, Num a, Read a) => Parsec e String a
- posDecNumParser :: (Ord e, Read a) => Parsec e String a
- posNumParser :: (Ord e, Read a) => Parsec e String a
- uuidParser :: Ord e => Parsec e String UUID
- commaSeparated :: Ord e => Parsec e String a -> Parsec e String (NonEmpty a)
- occurrence :: Ord e => Parsec e String a -> Parsec e String a
- occurrences :: Ord e => Parsec e String a -> Parsec e String [a]
- boundedEnumShowParser :: forall a e. (Ord e, Bounded a, Enum a, Show a) => Parsec e String a
- parsecToReadsPrec :: Parsec e String a -> ReadS a
- parsecToJSONParser :: ShowErrorComponent e => String -> Parsec e String a -> Value -> Parser a
Scalar parsers
boolParser :: Ord e => Parsec e String Bool Source #
Parse a case-insensitive human-readable boolean, including C-style numbers,
English yes-no and on / off.
numParser :: (Ord e, Num a, Read a) => Parsec e String a Source #
Parse an integer, without any space between minus sign and digits.
posDecNumParser :: (Ord e, Read a) => Parsec e String a Source #
Parse a positive number, with or without decimals prefixed by a ..
Combinators
commaSeparated :: Ord e => Parsec e String a -> Parsec e String (NonEmpty a) Source #
Parse a comma-separated list of items.
occurrence :: Ord e => Parsec e String a -> Parsec e String a Source #
Parse any occurrence of a given parser. Consumes any input before occurrence.
occurrences :: Ord e => Parsec e String a -> Parsec e String [a] Source #
Parse all occurrences of a given parser.
Compatibility utilities
boundedEnumShowParser :: forall a e. (Ord e, Bounded a, Enum a, Show a) => Parsec e String a Source #
parsecToReadsPrec :: Parsec e String a -> ReadS a Source #
Convert a Parsec parser into a ReadS parser. Useful for defining Read
instances with Megaparsec.