1-- Copyright 2020 Free Software Foundation, Inc. 2-- 3-- This program is free software; you can redistribute it and/or modify 4-- it under the terms of the GNU General Public License as published by 5-- the Free Software Foundation; either version 3 of the License, or 6-- (at your option) any later version. 7-- 8-- This program is distributed in the hope that it will be useful, 9-- but WITHOUT ANY WARRANTY; without even the implied warranty of 10-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11-- GNU General Public License for more details. 12-- 13-- You should have received a copy of the GNU General Public License 14-- along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16package Pck is 17 18 type Rec_Type (C : Character := 'd') is record 19 case C is 20 when Character'First => X_First : Integer; 21 when Character'Val (127) => X_127 : Integer; 22 when Character'Val (128) => X_128 : Integer; 23 when Character'Last => X_Last : Integer; 24 when others => null; 25 end case; 26 end record; 27 28 type Second_Type (I : Integer) is record 29 One: Integer; 30 case I is 31 when -5 .. 5 => 32 X : Integer; 33 when others => 34 Y : Integer; 35 end case; 36 end record; 37 38 type Nested_And_Variable (One, Two: Integer) is record 39 Str : String (1 .. One); 40 case One is 41 when 0 => 42 null; 43 when others => 44 OneValue : Integer; 45 Str2 : String (1 .. Two); 46 case Two is 47 when 0 => 48 null; 49 when others => 50 TwoValue : Integer; 51 end case; 52 end case; 53 end record; 54end Pck; 55