Modern Compiler Implementation in Java: the MiniJava Project
Grammar | Sample MiniJava
Programs | Framework | Software
| Java Reference
What is Mini-Java?
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. The MiniJava statement System.out.println( ... ); can
only print integers. The MiniJava expression e.length only applies
to expressions of type int .
The Grammar link has the formal BNF for MiniJava. You can also
view some sample MiniJava programs under the Programs link. The
Framework link provides a helpful interface to write a MiniJava
Compiler. The software link has links to software and tools that
may be helpful to write and test your compiler. The Java Reference
is a helpful resource to learn the language. And the MiniJava Reference
is a miniJava reference manual from the appendix of the book.
(C) MiniJava project by Joao Cangussu, Jens Palsberg and Vidyut
Sample MiniJava Programs
The following are some sample MiniJava programs that you may use
to test the correctness of your compiler. All of these programs
can be compiled with javac and output compared with your results.
The links below provide a helpful framework for writing a MiniJava
compiler, and are organized according to the chapters in the book.
The following links provide a good resource for learning Java: