Mira en esta web:
http://www.cs.princeton.edu/~appel/modern/java/
Ahí puedes bajarte el JLex y el CUP, que son generadores de analizadores léxicos y sintácticos, respectivamente. Si conoces Lex y Bison/Yacc, son muy parecidos.
En el JLex especificas expresiones regulares para el léxico, en CUP pones la gramática y te genera un parser LALR. También dispones de manuales ahí.
Suerte