-- simple.adb: simple example of array declarations and access procedure Simple is -- Array type declarations: -- * index range can be any discrete type -- * lower and upper bound can be arbitrary -- * components can have any type type AT1 is array (1..50) of Integer; type AT2 is array (4..457) of Integer; type AT3 is array (0..9) of Boolean; -- type AT4 is array (0..9) of String(1..5); type Complex is record X, Y: Float; end record; type AT5 is array (0..9) of Complex; type AT6 is array (1..8) of AT4; type AT7 is array (Character range 'A'..'Z') of Float; type Color is (Red, Orange, Yellow, Green, Blue, Violet); type AT8 is array (Orange..Blue) of Boolean; type AT9 is array (Color'Range) of Character; A:AT1; B:AT2; C:AT3; D:AT4; E:AT5; F:AT6; G:AT7; H:AT8; I:AT9; N : constant Integer := 1; begin A(2*N+5) := 4_567; B(N+4) := 4_567; C(N) := True; D(3*N) := "ABCDE"; E(0) := Complex' (X=>6.7, Y=>5.6); F(3) := AT4' (AT4'Range => "XXXXX"); F(3)(1)(5) := 'E'; G(Character'Succ('E')) := 2.9; H(Color'Pred(Yellow)) := True; I(Red) := 'Q'; end Simple;