Although this may need a bit of work you might take the parsing code form the 
Utrecht Haskell Compiler (http://www.cs.uu.nl/wiki/bin/view/UHC/Download), 
which uses the uulib parser combinators. They are top-down parsers, and thus 
can be used to parse any prefix given a specific parser, i.e. given the 
non-terminal which describes the prefix.

The UHC contains a separate scanner, since the layout rule makes scannerless 
parsing very complicated.

The uulib should be easily replaced with the newer uu-parsing lib, but this may 
again a bit of some work. This latter library is more easily adapted, and has 
less complicated internals.

   Doaitse

 


On 14 mrt 2011, at 18:55, J. Waldmann wrote:

> Hi.
> 
> I want to use parsers from haskell-src-exts as sub-parsers,
> which does not seem to work since they insist on consuming the input 
> completely.
> 
> I would need them to parse a maximal prefix, 
> and return the (unconsumed) rest of input as well
> (cf.
> http://hackage.haskell.org/packages/archive/parsec/3.1.1/doc/html/Text-Parsec-Prim.html#v:getInput
> )
> 
> I figure that happy has the %partial directive for that, but the description
> http://www.haskell.org/happy/doc/html/sec-directives.html#sec-partial-parsers
> does not really tell me how to obtain the rest of the input.
> 
> Any hints (or code samples) appreciated. Thanks - J.W.
> 
> 
> 
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to