Parsing library
Derek Elkins
ddarius at hotpop.com
Fri Jan 2 03:17:50 EST 2004
On Thu, 1 Jan 2004 23:19:26 +0000 (GMT)
James Ealing <jamesealing2000 at yahoo.co.uk> wrote:
> I'm trying to make use of the combinatorial parsing
> library to process strings. However, I can't figure
> out the correct syntax for the (|||) (^^^) (>>>) (<^^)
> and (^^>) functions. Can anyone see how to do it?
The utility functions, e.g. many, give examples. Nevertheless, an
untested example would be,
parseThreeVars
= parseVar ^^^ white ^^> parseVar ^^^ white ^^> parseVar >>>
\(a,(b,c)) -> (a,b,c)
However, if possible, I'd recommend a different parser library, e.g.
Parsec. Failing that, I would make the parser an instance of Monad
(which Parsec parsers are), so the above would be,
parseThreeVars = do
a <- parseVar; white
b <- parseVar; white
c <- parseVar
return (a,b,c)
More information about the Haskell-Cafe
mailing list