| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
System.IO.Streams.Attoparsec
Contents
Description
This module is deprecated -- use System.IO.Streams.Attoparsec.ByteString instead (this module simply re-exports that one).
- parseFromStream :: Parser r -> InputStream ByteString -> IO r
- parserToInputStream :: Parser (Maybe r) -> InputStream ByteString -> IO (InputStream r)
- data ParseException = ParseException String
Parsing
parseFromStream :: Parser r -> InputStream ByteString -> IO r Source #
Supplies an attoparsec Parser with an InputStream, returning the
final parsed value or throwing a ParseException if parsing fails.
parseFromStream consumes only as much input as necessary to satisfy the
Parser: any unconsumed input is pushed back onto the InputStream.
If the Parser exhausts the InputStream, the end-of-stream signal is sent
to attoparsec.
Example:
ghci> import Data.Attoparsec.ByteString.Char8 ghci> is <-fromList["12345xxx" ::ByteString] ghci>parseFromStream(takeWhileisDigit) is "12345" ghci>readis Just "xxx"
parserToInputStream :: Parser (Maybe r) -> InputStream ByteString -> IO (InputStream r) Source #
Given a Parser yielding values of type , transforms an
Maybe rInputStream over byte strings to an InputStream yielding values of type
r.
If the parser yields Just x, then x will be passed along downstream, and
if the parser yields Nothing, that will be interpreted as end-of-stream.
Upon a parse error, parserToInputStream will throw a ParseException.
Example:
ghci> import Control.Applicative ghci> import Data.Attoparsec.ByteString.Char8 ghci> is <-fromList["1 2 3 4 5" ::ByteString] ghci> let parser = (endOfInput>>pureNothing) <|> (Just <$> (skipWhileisSpace*>decimal)) ghci>parserToInputStreamparser is >>=toList[1,2,3,4,5] ghci> is' <-fromList["1 2xx3 4 5" ::ByteString] >>=parserToInputStreamparser ghci>readis' Just 1 ghci>readis' Just 2 ghci>readis' *** Exception: Parse exception: Failed reading: takeWhile1
data ParseException Source #
An exception raised when parsing fails.
Constructors
| ParseException String |
Instances