OK. In that case, I would probably suggest switching to a different parsing model. The current generated parser just commonly has too much overhead. The grammar is small and straightforward enough that the current parsing infrastructure is almost certainly overkill. (It also seems like it could probably be made into a "linear" language, without syntactic nesting, which would obviate both the stack depth concerns and the parser complexity concerns.)
I agree that a fairly simplistic parser might work. I've been coding an ElasticPL parser in C to use with the cpuminer fork I've been using for my FPGAs. Even though I have no experience with coding a parser from scratch, I've already got it doing most of the basic EPL parsing correctly....and if I can code this then I'm sure you guys with more experience in this could put together something pretty robust.
Yes it's a complete hack job, but I'm really just doing it as a learning experience as I don't even have a mining rig. I just find all the posts in this thread around ElasticPL really interesting and wanted to learn more about what it takes to build a vm.