[Haskell-cafe] An irritating Parsec problem

Philippa Cowderoy flippa at flippac.org
Wed Oct 15 15:27:44 EDT 2008


On Wed, 15 Oct 2008, Andrew Coppin wrote:

> Suppose this is the top-level parser for my language.

<snip>

> Does anybody know how to fix this irratiting quirk? I can see why it happens,
> but not how to fix it.
> 

One of:

expressions = many1 (try expression <|> myFail)
  where myFail = {- eat your way to the next expression -}

or do a prepass splitting your input up into expressions and feed the 
individual expressions into Parsec.

Parsec's not designed to do error recovery as such, so it's something you 
need to work out how to handle if you need it.

-- 
flippa at flippac.org

'In Ankh-Morpork even the shit have a street to itself...
 Truly this is a land of opportunity.' - Detritus, Men at Arms


More information about the Haskell-Cafe mailing list