FUNCTION make_array_of_array
(lis : LIST [1:?] OF LIST [1:?] OF GENERIC:t, low1 : INTEGER, u1 : INTEGER, low2 : INTEGER, u2 : INTEGER) : ARRAY [low1:u1] OF ARRAY [low2:u2] OF GENERIC:t;
LOCAL res : ARRAY[low1:u1] OF ARRAY [low2:u2] OF GENERIC : T; END_LOCAL;
(* Check input dimensions FOR consistency *) IF (u1-low1+1) <> SIZEOF(lis) THEN RETURN (?); END_IF; IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN RETURN (?) ; END_IF; (* Initialise res WITH values FROM lis[1] *) res := [list_to_array(lis[1], low2, u2) : (u1-low1 + 1)]; REPEAT i := 2 TO HIINDEX(lis); IF (u2-low2+1) <> SIZEOF(lis[i]) THEN RETURN (?); END_IF; res[low1+i-1] := list_to_array(lis[i], low2, u2); END_REPEAT; RETURN (res); END_FUNCTION; -- make_array_of_array
|