1package Discr32_Pkg is 2 3 type Enum is (One, Two, Three); 4 5 type R (D : Enum) is record 6 case D is 7 when One => B : Boolean; 8 when Two => I : Integer; 9 when Three => F : Float; 10 end case; 11 end record; 12 13 for R use record 14 D at 0 range 0 .. 1; 15 B at 1 range 0 .. 0; 16 I at 4 range 0 .. 31 + 128; 17-- F at 4 range 0 .. 31; 18 end record; 19 20 subtype R1 is R (One); 21 subtype R2 is R (Two); 22 subtype R3 is R (Three); 23 24end Discr32_Pkg; 25