diff options
| author | ross <unknown> | 2005-01-27 14:38:05 +0000 |
|---|---|---|
| committer | ross <unknown> | 2005-01-27 14:38:05 +0000 |
| commit | c721dd8fd48fe5bad047ce68d70621cd17eb9021 (patch) | |
| tree | fda9a77f4bf6793a683361985b10a1b0944c32c6 /libraries/base/Text/ParserCombinators | |
| parent | fa67e705160010f08aad419a4c4b8c0f8ff7860d (diff) | |
| download | haskell-c721dd8fd48fe5bad047ce68d70621cd17eb9021.tar.gz | |
[project @ 2005-01-27 14:38:05 by ross]
doc tweaks
Diffstat (limited to 'libraries/base/Text/ParserCombinators')
| -rw-r--r-- | libraries/base/Text/ParserCombinators/ReadPrec.hs | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/libraries/base/Text/ParserCombinators/ReadPrec.hs b/libraries/base/Text/ParserCombinators/ReadPrec.hs index 17e4025736..26e3b76734 100644 --- a/libraries/base/Text/ParserCombinators/ReadPrec.hs +++ b/libraries/base/Text/ParserCombinators/ReadPrec.hs @@ -28,7 +28,7 @@ module Text.ParserCombinators.ReadPrec reset, -- :: ReadPrec a -> ReadPrec a -- * Other operations - -- All are based directly on their similarly-naned 'ReadP' counterparts. + -- | All are based directly on their similarly-named 'ReadP' counterparts. get, -- :: ReadPrec Char look, -- :: ReadPrec String (+++), -- :: ReadPrec a -> ReadPrec a -> ReadPrec a @@ -95,43 +95,55 @@ minPrec = 0 -- Operations over ReadPrec lift :: ReadP a -> ReadPrec a --- ^ Lift a precedence-insensitive 'ReadP' to a 'ReadPrec' +-- ^ Lift a precedence-insensitive 'ReadP' to a 'ReadPrec'. lift m = P (\_ -> m) step :: ReadPrec a -> ReadPrec a --- ^ Increases the precedence context by one +-- ^ Increases the precedence context by one. step (P f) = P (\n -> f (n+1)) reset :: ReadPrec a -> ReadPrec a --- ^ Resets the precedence context to zero +-- ^ Resets the precedence context to zero. reset (P f) = P (\n -> f minPrec) prec :: Prec -> ReadPrec a -> ReadPrec a --- ^ @(prec n p)@ checks that the precedence context is --- less than or equal to n, +-- ^ @(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 +-- +-- * if so, parses @p@ in context @n@. prec n (P f) = P (\c -> if c <= n then f n else ReadP.pfail) -- --------------------------------------------------------------------------- -- Derived operations get :: ReadPrec Char +-- ^ Consumes and returns the next character. +-- Fails if there is no input left. get = lift ReadP.get look :: ReadPrec String +-- ^ Look-ahead: returns the part of the input that is left, without +-- consuming it. look = lift ReadP.look (+++) :: ReadPrec a -> ReadPrec a -> ReadPrec a +-- ^ Symmetric choice. P f1 +++ P f2 = P (\n -> f1 n ReadP.+++ f2 n) (<++) :: ReadPrec a -> ReadPrec a -> ReadPrec a +-- ^ Local, exclusive, left-biased choice: If left parser +-- locally produces any result at all, then right parser is +-- not used. P f1 <++ P f2 = P (\n -> f1 n ReadP.<++ f2 n) pfail :: ReadPrec a +-- ^ Always fails. pfail = lift ReadP.pfail choice :: [ReadPrec a] -> ReadPrec a +-- ^ Combines all parsers in the specified list. choice ps = foldr (+++) pfail ps -- --------------------------------------------------------------------------- |
