Implementing High Performance Parsers in Java