@c+
module test12_5 -- twoDimensions with assignment
-- test of arrays (2 dimension )
private
 integer i,j;
 const max = 3;
 const mlo = 2;
 typedef integer range [0..mlo] zero_mlo;
 typedef integer array [zero_mlo][zero_mlo] twodim;
 twodim a, b;
 begin
 i := 0;
 do i < max -> read a[0][i]; i := i+1; od; -- use data 1 2 3
 a[1] := a[0]; -- array assignment
 a[2] := a[1]; -- array assignment
 b := a; -- array assignment
 i := 0;
 j := 0;
do i < max & j < max ->
	write b[i][j]; j := j+1;
	if j >= max -> 
		i := i+1;
		j := 0;
	 [] j < max -> skip;
	fi;
od;
 -- output
 -- 1  2  3  1  2  3  1  2  3
 end.
