Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Parser a
- data Reg (r :: Type) a
- class ParserOps rep where
- _pure :: Defunc a -> Parser a
- _satisfy :: Defunc (Char -> Bool) -> Parser Char
- _conditional :: [(Defunc (a -> Bool), Parser b)] -> Parser a -> Parser b -> Parser b
- (<*>) :: Parser (a -> b) -> Parser a -> Parser b
- (<*) :: Parser a -> Parser b -> Parser a
- (*>) :: Parser a -> Parser b -> Parser b
- empty :: Parser a
- (<|>) :: Parser a -> Parser a -> Parser a
- lookAhead :: Parser a -> Parser a
- notFollowedBy :: Parser a -> Parser ()
- try :: Parser a -> Parser a
- branch :: Parser (Either a b) -> Parser (a -> c) -> Parser (b -> c) -> Parser c
- chainPre :: Parser (a -> a) -> Parser a -> Parser a
- chainPost :: Parser a -> Parser (a -> a) -> Parser a
- loop :: Parser () -> Parser a -> Parser a
- newRegister :: Parser a -> (forall r. Reg r a -> Parser b) -> Parser b
- get :: Reg r a -> Parser a
- put :: Reg r a -> Parser a -> Parser ()
- line :: Parser Int
- col :: Parser Int
- debug :: String -> Parser a -> Parser a
Documentation
data Reg (r :: Type) a Source #
This is an opaque representation of a parsing register. It cannot be manipulated as a user, and the
type parameter r
is used to ensure that it cannot leak out of the scope it has been created in.
It is the abstracted representation of a runtime storage location.
Since: 0.1.0.0
class ParserOps rep where Source #
pure :: rep a -> Parser a Source #
satisfy :: rep (Char -> Bool) -> Parser Char Source #
conditional :: [(rep (a -> Bool), Parser b)] -> Parser a -> Parser b -> Parser b Source #
notFollowedBy :: Parser a -> Parser () Source #