ANTLR4 does all recognition analysis at runtime, while ANTLR3 does most analysis prior to parser generation. If you have a complex recognition problem, parsing will be slow, and multi-level recursion makes for complex recognition problems. I suspect that that is why ST4 has not been ported to ANTLR4. ANTLR4 has a switch to do SLL recognition analysis (faster, less accurate), and you might be able to do something with that.
ANTLR Yggdrasil should solve your problem, but I am still about 3 weeks away from an early access release (in part because I ran into a bug while porting my StringTemplate compiler, and I expect it to take me about a week to fix that and retest).
--Loring