The problem with elsa (which is an alkhound-based parser) is if you look at the source, it's absolutely huge. It looks like getting elkhound to work with a new desired parser (say to parse java or python or whatever) would be a lot of work. Plus it uses external tools like ast to produce the abstract syntax tree. This looks all very complex and not modular and pluggable for anything other than c++.
The antlr compiler compiler looks like it might be a better bet. The tutorials show that's it's easy to specify both the lexer, the parser, and an AST walker all with antlr. This would make adding different parsers much more painless as it does it all (including generating the AST instead of using a seperate tool for that).
There's already a c++, java, c#, etc specifications for antlr as well. So, it looks overall like a better fit.