Pergunta

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.

Foi útil?

Solução

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.

Outras dicas

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/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top