CS 6848 - Principles of Programming Languages
Java Subsets
MiniJava
MINIJAVA SPECIFICATION
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
e1 & e2
is of type boolean, and both e1 and e2 must be of type boolean.
MicroJava
grammar
|
microjava.jj
|
programs
|
MICROJAVA SPECIFICATION
MicroJava is a subset of Java. The meaning of a MicroJava program is
given by its meaning as a Java program. Overloading is not allowed
in MicroJava. The MicroJava statement System.out.println( ... ); can
only print integers. The dot notation supports both access to fields
of objects and to the length of arrays. In MicroJava, it is not
allowed to assign to method arguments. For example,
void m(A a) {
a = ...
}
is not allowed.
Interface
SPECIFICATION
Interface.jj contains a set of interface specifications for Java and some predicates specifying the subtyping queries.
MiniScheme
SPECIFICATION
MiniScheme is a subset of Scheme. The meaning of a MiniScheme program is
given by its meaning as a Scheme program.
NanoJava
SPECIFICATION
NanoJava is a subset of Java. The meaning of a NanoJava program is
given by its meaning as a Java program. Overloading is not allowed
in NanoJava. The NanoJava statement System.out.println( ... ); can
only print integers. The dot notation supports both access to fields
of objects and to the length of arrays. In NanoJava, it is not
allowed to assign to method arguments. For example,
void m(A a) {
a = ...
}
is not allowed.