base-4.16.0.0: Basic libraries
Copyright(c) The University of Glasgow 2002
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityprovisional
Portabilitynon-portable (uses Text.ParserCombinators.ReadP)
Safe HaskellTrustworthy
LanguageHaskell2010

Text.ParserCombinators.ReadPrec

Description

This library defines parser combinators for precedence parsing.

Synopsis

Documentation

data ReadPrec a Source #

Instances

Instances details
Monad ReadPrec #

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadPrec

Methods

(>>=) :: ReadPrec a -> (a -> ReadPrec b) -> ReadPrec b Source #

(>>) :: ReadPrec a -> ReadPrec b -> ReadPrec b Source #

return :: a -> ReadPrec a Source #

Functor ReadPrec #

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadPrec

Methods

fmap :: (a -> b) -> ReadPrec a -> ReadPrec b Source #

(<$) :: a -> ReadPrec b -> ReadPrec a Source #

MonadFail ReadPrec #

Since: base-4.9.0.0

Instance details

Defined in Text.ParserCombinators.ReadPrec

Methods

fail :: String -> ReadPrec a Source #

Applicative ReadPrec #

Since: base-4.6.0.0

Instance details

Defined in Text.ParserCombinators.ReadPrec

Methods

pure :: a -> ReadPrec a Source #

(<*>) :: ReadPrec (a -> b) -> ReadPrec a -> ReadPrec b Source #

liftA2 :: (a -> b -> c) -> ReadPrec a -> ReadPrec b -> ReadPrec c Source #

(*>) :: ReadPrec a -> ReadPrec b -> ReadPrec b Source #

(<*) :: ReadPrec a -> ReadPrec b -> ReadPrec a Source #

Alternative ReadPrec #

Since: base-4.6.0.0

Instance details

Defined in Text.ParserCombinators.ReadPrec

MonadPlus ReadPrec #

Since: base-2.1

Instance details

Defined in Text.ParserCombinators.ReadPrec

Precedences

type Prec = Int Source #

Precedence operations

lift :: ReadP a -> ReadPrec a Source #

Lift a precedence-insensitive ReadP to a ReadPrec.

prec :: Prec -> ReadPrec a -> ReadPrec a Source #

(prec n p) checks whether the precedence context is less than or equal to n, and

  • if not, fails
  • if so, parses p in context n.

step :: ReadPrec a -> ReadPrec a Source #

Increases the precedence context by one.

reset :: ReadPrec a -> ReadPrec a Source #

Resets the precedence context to zero.

Other operations

All are based directly on their similarly-named ReadP counterparts.

get :: ReadPrec Char Source #

Consumes and returns the next character. Fails if there is no input left.

look :: ReadPrec String Source #

Look-ahead: returns the part of the input that is left, without consuming it.

(+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a Source #

Symmetric choice.

(<++) :: ReadPrec a -> ReadPrec a -> ReadPrec a Source #

Local, exclusive, left-biased choice: If left parser locally produces any result at all, then right parser is not used.

pfail :: ReadPrec a Source #

Always fails.

choice :: [ReadPrec a] -> ReadPrec a Source #

Combines all parsers in the specified list.

Converters