Joao Cangussu, Jens Palsberg and Vidyut Samanta gave a BNF grammar for a very simple subset of Java in the MiniJava project. They wrote:
MiniJava is a subset of Java. The meaning of a MiniJava program is given by its meaning as a Java program. Overloading is not allowed in MiniJava. […]
MiniJava is a very simple subset of Java. Its CBS illustrates the funcons for classes and objects. The start of the specification of MiniJava in CBS is at MiniJava-Start.