SAN474: Algol compiler


fail Case: 2 Phase: 1a
begin
integer i;
real i;
print 5;
end
fail Case: 3 Phase: 1a
begin
a := 5;
end
fail Case: 4 Phase: 1a
begin
integer a;
integer b;
a := 5 := b;
end
fail Case: 8 Phase: 1a
begin
integer a;
end
a := 5;
fail Case: 9 Phase: 1a
begin
integer a := 5 b := 6;
end
fail Case: 10 Phase: 1a
begin
integer a := 5 + ( ) - 2;
print a;
end
fail Case: 13 Phase: 1a
begin
integer i;
integer a;
integer i;
print 4;
end
fail Case: 1 Phase: 2a
begin
integer a;
a := 5.5;
end
fail Case: 5 Phase: 2a
begin
integer a;
a := 5 % 2.5;
end
fail Case: 6 Phase: 2a
begin
real a;
a := 9.0 mod 3.0;
end
fail Case: 7 Phase: 2a
begin
integer a;
real b;
a := 5 * 4 + 1 - 20 * 3;
b := a / 4.0 + 3 * 20.2 + a
end
fail Case: 11 Phase: 2a
begin
print 5 ** 3.5;
end
fail Case: 12 Phase: 2a
begin
real b := 6;
print 5 ** b;
end
pass Case: 1 Phase: 1a
begin
integer a;
a := 5;
print a;
end
pass Case: 2 Phase: 1a
begin
integer a;
integer b;
a := 5;
b := 6;
integer c := b := a;
print a;
print b;
print c;
end
pass Case: 3 Phase: 1a
begin
integer a := 5;
integer b := 10;
integer c;
print a;
print b;
print c;
c := a := 15;
print a;
print b;
print c;
end
pass Case: 4 Phase: 1a
begin
integer a := 4;
integer b := 5;
print a;
print b;
a := b + 5 + b - 4 * 2 + b / 3;
print a;
print b;
end
pass Case: 5 Phase: 1a
begin
integer a;
a := 5 * 1 + 4 / 8 - 4 + 20 % 3;
print a;
end
pass Case: 8 Phase: 1a
begin
integer a := 20;
integer b := 5;
print a;
print b;
b := a + b - 2 * a;
a := a + 2 * b - 2;
print a;
print b;
end
pass Case: 9 Phase: 1a
begin
integer a, b, c, d, e, f;
end
pass Case: 10 Phase: 1a
begin
integer a := 5, b,
c := -1, d := 5334, e;
print a;
print b;
print c;
print d;
print e;
end
pass Case: 11 Phase: 1a
begin
integer a := 5 * (2 + 2) /
(10 % 3) *
(2 - -3 * -4);
print a;
end
pass Case: 12 Phase: 1a
# new program
/* declare some variables */ begin
real /* embedded comment */
j; // It's j
real r; /* another generic real */
r := j := 4.0; # make them both 4
end // end the program
pass Case: 16 Phase: 1a
/*
begin
integer a := 5, b,
c := -1, d := 5334, e;
print a;
print b;
print c;
print d;
print e;
end
*/
begin
print 5;
end
pass Case: 6 Phase: 2a
begin
real a;
a := 5.3 * 1.9 + 4.2 /
8.5 - 4.1 + 20.0;
print a;
end
pass Case: 7 Phase: 2a
begin
integer a;
real b;
a := 5 * 4 + 1 - 20 * 3;
print a;
b := a / 4.0 + 3 * 20.2 + a;
print b;
end
pass Case: 13 Phase: 2a
begin
integer a;
a := 5 ** 6;
print a;
a := 2 ** 31;
print a;
end
pass Case: 14 Phase: 2a
begin
real b;
b := 3.5 ** 5;
print b;
b := 8.3 ** 6;
print b;
end
pass Case: 15 Phase: 2a
begin
print 5 ** 2 + 6 ** 2 + 7 ** 2;
end
pass Case: 17 Phase: 2a
begin
integer i:=5;
real r:=i;
print r;
real d:=5;
print d;
end
pass Case: 18 Phase: 2a
begin
integer i;
i:= 1 and 2;
i:= 2 or 3;
i:= not 1;
end