paripari-0.5.0.0: Parser combinators with fast-path and slower fallback for error reporting

Safe HaskellNone
LanguageHaskell2010

Text.PariPari.Internal.Run

Synopsis

Documentation

runCharParser :: CharChunk k => (forall p. CharParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run fast Acceptor and slower Reporter on the given chunk **in parallel**. The FilePath is used for error reporting. When the acceptor does not return successfully, the result from the reporter is awaited.

runSeqCharParser :: CharChunk k => (forall p. CharParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run fast Acceptor and slower Reporter on the given chunk **sequentially**. The FilePath is used for error reporting. When the acceptor does not return successfully, the result from the reporter is awaited.

runCharParserWithOptions :: CharChunk k => ReportOptions -> (forall p. CharParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run parsers **in parallel** with additional ReportOptions.

runSeqCharParserWithOptions :: CharChunk k => ReportOptions -> (forall p. CharParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run parsers **sequentially** with additional ReportOptions.

runChunkParser :: CharChunk k => (forall p. ChunkParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run fast Acceptor and slower Reporter on the given chunk **in parallel**. The FilePath is used for error reporting. When the acceptor does not return successfully, the result from the reporter is awaited.

runSeqChunkParser :: Chunk k => (forall p. ChunkParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run fast Acceptor and slower Reporter on the given chunk **sequentially**. The FilePath is used for error reporting. When the acceptor does not return successfully, the result from the reporter is awaited.

runChunkParserWithOptions :: Chunk k => ReportOptions -> (forall p. ChunkParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run parsers **in parallel** with additional ReportOptions.

runSeqChunkParserWithOptions :: Chunk k => ReportOptions -> (forall p. ChunkParser k p => p a) -> FilePath -> k -> (Maybe a, [Report]) Source #

Run parsers **sequentially** with additional ReportOptions.