Copyright | (c) The University of Glasgow 2002 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | libraries@haskell.org |
Stability | provisional |
Portability | non-portable (uses Text.ParserCombinators.ReadP) |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
This library defines parser combinators for precedence parsing.
- data ReadPrec a
- type Prec = Int
- minPrec ∷ Prec
- lift ∷ ReadP a → ReadPrec a
- prec ∷ Prec → ReadPrec a → ReadPrec a
- step ∷ ReadPrec a → ReadPrec a
- reset ∷ ReadPrec a → ReadPrec a
- 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
Documentation
Precedences
Precedence operations
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 contextn
.
Other operations
All are based directly on their similarly-named ReadP
counterparts.
Look-ahead: returns the part of the input that is left, without consuming it.
(<++) ∷ 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.
Converters
readPrec_to_P ∷ ReadPrec a → Int → ReadP a Source
readP_to_Prec ∷ (Int → ReadP a) → ReadPrec a Source
readPrec_to_S ∷ ReadPrec a → Int → ReadS a Source
readS_to_Prec ∷ (Int → ReadS a) → ReadPrec a Source