[Haskell-cafe] Wanted: composoable parsers from haskell-src-exts
S. Doaitse Swierstra
doaitse at swierstra.net
Fri Mar 18 21:45:28 CET 2011
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
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list