JPlex
Java lexical analyzer generator
JPlex is an unconventional lexical analyzer generator for Java. JPlex lexers are NIO-based, DFA-powered, push-driven, and fully decoupled and reusable. Their state machines are precompiled and serialized, so run time initialization is fast no matter how large the rule set.
JPlex is not a parser generator; it only generates an interface for its parsers, and it does not build a parse tree. When the lexer identifies a token that has a named event associated with it, it passes the token to the parser method associated with that event. A lexer can dispatch token events to any number of parsers.
JPlex is steadily being improved, and the Subversion repo will almost always be newer and better than the binary download.