Hi Till, My guess is that you want to break up a text file into a list of lines with Parsec. (ie. "lines" functionality). A text file consists of non-newline characters seperated by newline characters:
import Parsec
plines :: Parser [String] plines = (many (noneOf "\n")) `sepBy` newline
You don't need any "try" or "manyTill" here. It seems to work on my system but I haven't tested it exhaustively.
TestLine> parseTest linep ("hi\nTill") ["hi","Till"]
TestLine> parseTest linep ("hi\nTill\n") ["hi","Till",""]
TestLine> parseTest linep ("hi\n\nTill\n") ["hi","","Till",""]
I hope this helps, All the best, Daan. ----- Original Message ----- From: "Till Doerges" <till@doerges.net> To: <haskell@haskell.org> Sent: Sunday, April 07, 2002 11:04 PM Subject: Re: Parsec: No newline after last line and 'many'
On Sun, Apr 07, 2002 at 07:44:42PM +0200, Till Doerges wrote:
Eventually I want to be able to use my parser 'linep' with 'many' on no matter which text-files.
'manyTill linep eof' and is what I wanted (looking at my first name, I should have gotten that one earlier... ;-)
Bye -- Till _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell