You might be interested by the first steps that I have taken to generate llvm IR from boost::spirit (for the peg parser) even if the languages where too simple to warrant an ast.
https://github.com/scientific-coder/Computer-Languages
I'm in the process of rewriting it to use peg though, as I was using a parser generator that is not open source, and it started to bug me that it wasn't.