program t1 is constant c = 5; type t1 = array (5..9) of array (1..c, 2..5) of integer; t3 = t1; var ar : array (1..2, 2..3, 3..4) of t1; b : boolean; r : record a,bbbb: integer endrec; procedure p1(var v:t1; value:t3) is forward; function f1(var fv:t1; value:string) return integer is begin fv := value; end; Begin b := ar(1, c, 3)(2)(1, 2); r.a := 9; r.bbbb := f1(1,ar) End.