Question

I'm working on a school project where I have to build an interpreter for a simple language using Alex + Happy in Haskell.

After looking through the documentation I understand most of it, but would like to see a full blown example on using the tools.

Was it helpful?

Solution

Not on building interpreters, but on building lexers and parsers, yes. See the example for a lexical analyzer in Alex, here, combined with an intro to Happy here. I found the haskell.x and haskell.y files distributed in the darcs repos for Alex and Happy useful. You can find those here and here.

OTHER TIPS

I wrote a series of posts at bjbell.wordpress.com on using Alex+Happy+LLVM to write a compiler for a simple Java like language.

The source-code is on GitHub at https://github.com/bjwbell/NewL-Compiler (I haven't touched it in a couple years).

Haddock has an Alex/Happy parser for documentation, the sources are here in the files Lex.x and Parse.y.

I wrote a post about solving a problem that you described: http://eax.me/simple-interpreter/ (in Russian). Source code is here: https://bitbucket.org/afiskon/hs-interpreter/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top