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
