In my experience ANTLR is a good tool to cover most of usage, so I would not say it is used "occasionally", for me it is the first choice
ANTLR can technically generate C or C++ code, but IME it's very bad, and I've never seen anybody use it "for real".
Although JVM languages like Jython and JRuby don't use ANTLR; they use the same techniques as the C implementation of the language (the custom pgen language, and yacc, respectively)