Some of these are obvious if you’ve ever even peeked into the world of Compiler Compilers. So, I’ll list them quickly but describe some of the others.
- Yacc/Bison & lex/flex (and friends) - LALR for C.
- JavaCC - LL for Java only.
- MetaMata’s thingy? or is that javacc? for Java only.
- Parse::RecDescent (a piece of shit IMHO) for perl.
- a few other perl modules, but most try to be Yacc.
Most CCs are not worth mentioning. There are a lot out there, but Yacc is the clear winner when it comes to saturation. I think that Antlr is the best when you need to have a common tool for multiple languages. I also really like the fact that it is LL, but with syntactic and semantic predicates. It makes it very readable, but still very powerful.