Safe Haskell | None |
---|
a PrinterParser
library for working with a String
- type StringPrinterParser = PrinterParser StringError String
- type StringError = ParserError MajorMinorPos
- alpha :: StringPrinterParser r (Char :- r)
- anyChar :: StringPrinterParser r (Char :- r)
- char :: Char -> StringPrinterParser r (Char :- r)
- digit :: StringPrinterParser r (Char :- r)
- int :: StringPrinterParser r (Int :- r)
- integer :: StringPrinterParser r (Integer :- r)
- lit :: String -> StringPrinterParser r r
- satisfy :: (Char -> Bool) -> StringPrinterParser r (Char :- r)
- space :: StringPrinterParser r (Char :- r)
- isComplete :: String -> Bool
- parseString :: StringPrinterParser () (r :- ()) -> String -> Either StringError r
- unparseString :: StringPrinterParser () (r :- ()) -> r -> Maybe String
Types
Combinators
alpha :: StringPrinterParser r (Char :- r)Source
matches alphabetic Unicode characters (lower-case, upper-case and title-case letters,
plus letters of caseless scripts and modifiers letters). (Uses isAlpha
)
anyChar :: StringPrinterParser r (Char :- r)Source
any character
digit :: StringPrinterParser r (Char :- r)Source
ascii digits '0'..'9'
lit :: String -> StringPrinterParser r rSource
a constant string
space :: StringPrinterParser r (Char :- r)Source
matches white-space characters in the Latin-1 range. (Uses isSpace
)
Running the PrinterParser
isComplete :: String -> BoolSource
Predicate to test if we have parsed all the strings.
Typically used as argument to parse1
see also: parseStrings
parseString :: StringPrinterParser () (r :- ()) -> String -> Either StringError rSource
run the parser
Returns the first complete parse or a parse error.
parseString (rUnit . lit "foo") ["foo"]
unparseString :: StringPrinterParser () (r :- ()) -> r -> Maybe StringSource
run the printer
unparseString (rUnit . lit "foo") ()