I was using % (residue operator in Java) in an action block and got: error(146): invalid StringTemplate % shorthand syntax: '%' What gives?? Why does ANTLR even try to parse the code within an action block? It has no business to: target is target code. -- O.L.