I made this example specifically to help people with this problem (the problem being that the documentation is spotty here).

It's the expression parser from the happy documentation using the monad that alex can generate for you. It's the cleanest and simplest way (and simplest example) that I found to merge the two. I should really submit this as a documentation fix to happy.

https://github.com/dagit/happy-plus-alex

Enjoy!
Jason


On Thu, Dec 26, 2013 at 12:08 PM, Richard Cobbe <cobbe@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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe