Files
exercise06/MicroJava Compiler/TestProgram.mj
2025-11-18 17:31:44 +01:00

76 lines
1.0 KiB
Plaintext

program Test
class Inner {
int i;
char[] a;
char ch;
}
int ii, jj;
int[] arr;
char a, b;
char[] arr2;
final int const1 = 3;
final char const2 = 'w';
{
int Func (int i) { return i*2; }
void Math ()
int i, j, k, l, m;
Inner in;
Inner[] arr;
{
arr = new Inner[12];
arr[7] = new Inner;
arr[7].i = 17;
in = new Inner;
in.i = 5;
i = 2; j=3; k=4;
l = i*j*k*4*Func(2)*Func(k);
m = l+i-k+(const1%ord(const2))*in.i;
i = m+arr[7].i;
i += ii;
if (i == 3119) print(1);
}
void Structs ()
int i;
{
while (i<17) {
if (i>10) ii++;
else if (i<5) ii--;
else ii+=8;
i++;
}
ii++;
if (ii == 67) print(2);
i = 3;
while (i<15) {
ii*=2;
if (i == 10) break;
i++;
}
if(ii == 17152) print(3);
}
int Call(int val)
int i;
{
if (val<10) val = Call(val+1)-1;
else val = -2;
return val;
}
void main () {
ii = 17;
Math();
Structs();
ii = 1;
ii = Call(ii);
if (ii == -11) print(4);
print('\n');
}
}