previous ToC next


2. Source language


The source language for the compiler is mjava, a subset of Java which mainly differs from the standard language in the following points:

 all classes in a program are declared in a single file (linking is not needed)

 multiple inheritance is not supported (interface declarations are not allowed)

 abstract classes are not admitted

 static fields and static methods are not allowed

 overloading is not supported

 basic only flow-of-control statements ( if, if-else and while ) are implemented

 basic input/output operations on the I/O standard devices are performed by invoking the C-like functions printf and scanf.


This is an example of mjava source program:




























previous ToC next


Sample mjava source program



public class String{

} //end of class String


public class Int{

int n;

public Int(int i){

n = i;


public int f(){

return fact(n);


int fact(int n){

return n > 2 ? n * fact(n -1) : n;


} //end of class Int


public class Test{

public void main(){

int n, f;

Int t;

n = 0;

while(n < 1 || n > 16) {

printf ("Enter an integer greater than 0 and less than 17: ");

scanf ("%d", &n);


t = new Int(n);

f = t.f();

printf("factorial(%d)= %d\n", n, f);


} //end of class Test