paripari-0.6.0.0: Parser combinators with fast-path and slower fallback for error reporting
Text.PariPari.Internal.Tracer
newtype Tracer k a Source #
Parser which prints trace messages, when backtracking occurs.
Constructors
Fields
Defined in Text.PariPari.Internal.Tracer
Methods
char :: Char -> Tracer k Char Source #
scan :: (Char -> Maybe a) -> Tracer k a Source #
asciiByte :: Word8 -> Tracer k Word8 Source #
asciiScan :: (Word8 -> Maybe a) -> Tracer k a Source #
getFile :: Tracer k FilePath Source #
getPos :: Tracer k Pos Source #
getRefPos :: Tracer k Pos Source #
withRefPos :: Tracer k a -> Tracer k a Source #
notFollowedBy :: Show a => Tracer k a -> Tracer k () Source #
lookAhead :: Tracer k a -> Tracer k a Source #
failWith :: Error -> Tracer k a Source #
eof :: Tracer k () Source #
label :: String -> Tracer k a -> Tracer k a Source #
hidden :: Tracer k a -> Tracer k a Source #
commit :: Tracer k a -> Tracer k a Source #
recover :: Tracer k a -> Tracer k a -> Tracer k a Source #
element :: Element k -> Tracer k (Element k) Source #
elementScan :: (Element k -> Maybe a) -> Tracer k a Source #
chunk :: k -> Tracer k k Source #
asChunk :: Tracer k () -> Tracer k k Source #
(>>=) :: Tracer k a -> (a -> Tracer k b) -> Tracer k b #
(>>) :: Tracer k a -> Tracer k b -> Tracer k b #
return :: a -> Tracer k a #
fail :: String -> Tracer k a #
fmap :: (a -> b) -> Tracer k a -> Tracer k b #
(<$) :: a -> Tracer k b -> Tracer k a #
pure :: a -> Tracer k a #
(<*>) :: Tracer k (a -> b) -> Tracer k a -> Tracer k b #
liftA2 :: (a -> b -> c) -> Tracer k a -> Tracer k b -> Tracer k c #
(*>) :: Tracer k a -> Tracer k b -> Tracer k b #
(<*) :: Tracer k a -> Tracer k b -> Tracer k a #
empty :: Tracer k a #
(<|>) :: Tracer k a -> Tracer k a -> Tracer k a #
some :: Tracer k a -> Tracer k [a] #
many :: Tracer k a -> Tracer k [a] #
mzero :: Tracer k a #
mplus :: Tracer k a -> Tracer k a -> Tracer k a #
fromString :: String -> Tracer k k #
(<>) :: Tracer k a -> Tracer k a -> Tracer k a #
sconcat :: NonEmpty (Tracer k a) -> Tracer k a #
stimes :: Integral b => b -> Tracer k a -> Tracer k a #
mempty :: Tracer k a #
mappend :: Tracer k a -> Tracer k a -> Tracer k a #
mconcat :: [Tracer k a] -> Tracer k a #
runTracer :: Chunk k => Tracer k a -> FilePath -> k -> (Maybe a, [Report]) Source #
Run Tracer on the given chunk, returning the result if successful and reports from error recoveries. In the case of an error, Nothing is returned and the Report list is non-empty.
Tracer
Nothing
Report