1package Discr37 is 2 3 subtype Index is Integer range 0 .. 100; 4 5 type Root; 6 type Frame_Ptr is access all Root'Class; 7 8 type Arr is array (Index range <>) of Frame_Ptr; 9 10 type Root (Level : Index) is tagged record 11 S : Arr (0 .. Level); 12 end record; 13 14 type Derived (Level : Index) is new Root (Level) with null record; 15 16 type Child is new Derived (0) with record 17 F : Arr (0 .. 100); 18 end record; 19 20 procedure Proc (A : access Child); 21 22end Discr37; 23