[Haskell-cafe] integrating Happy & Alex monads

Bernie Pope florbitous at gmail.com
Fri Dec 27 05:47:33 UTC 2013


Hi Richard,

I used Alex and Happy in my library for parsing Python. Here's some links
to the relevant parts of the code:


https://github.com/bjpop/language-python/blob/master/src/Language/Python/Version3/Parser/Lexer.x

https://github.com/bjpop/language-python/blob/master/src/Language/Python/Version3/Parser/Parser.y

It has been a while since I wrote that code (2009), so I'm a bit hazy on
the details, but hopefully you can find what you need in there.

Cheers,
Bernie.


On 27 December 2013 07:08, Richard Cobbe <cobbe at ccs.neu.edu> wrote:

> I'm working on a program in which I'd like to use Alex and Happy to parse
> the input.  I've written the scanner, and it uses Alex's "monadUserState"
> wrapper to track source location and various other things.  Now, the
> problem is to integrate it with the parser.  As far as I can tell from
> reading the Happy documentation, I need to use a monadic Parser in Happy as
> well, but the manuals don't relaly provide a lot of information about how
> to integrate the two.  And I haven't really been able to find many examples
> of this either.  Lots of folks cite "the Haskell parser", although I'm not
> sure which implementation that's referring to.  I did check out the GHC
> source, and while it contains an Alex parser specification, it doesn't look
> like anything actually *uses* this, preferring instead a handwritten
> parser.
>
> Could anyone point me to a discussion of how to integrate these two tools,
> or examples of places where folks have done this before?
>
> Thanks much,
>
> Richard
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131227/66cfa8f6/attachment.html>


More information about the Haskell-Cafe mailing list