@hackage / attoparsec-enumerator

Pass input from an enumerator to an Attoparsec parser.

Version Deprecated package0.3.4

About

Metadata

  • Last updated , by JohnMillikin
  • License MIT
  • Categories Parsers, Text Processing
  • Maintained by: John Millikin <jmillikin@gmail.com>

  • Lottery factor: 0

Links

Installation

This package has been deprecated

Readme

This library allows an Attoparsec parser to receive input incrementally from an enumerator. This could be used for parsing large files, or implementing binary network protocols.

(-# LANGUAGE OverloadedStrings #-)

import Control.Applicative
import Data.Attoparsec
import Data.Attoparsec.Enumerator
import Data.Enumerator
import Data.Enumerator.Binary (enumHandle)
import Data.Enumerator.List
import System.IO

parser = string "foo" <|> string "bar"

main = do
    xy <- run_ (enumHandle 1 stdin $$ do
        x <- iterParser parser
        y <- iterParser parser
        return (x, y))
    print xy