Parser and lexer for subset of Java grammar