1separate (T_Style)
2procedure Literals is
3   -- Integer literals
4   I1   : constant Integer := 0;
5   I2   : constant Integer := 10_000;
6   I3   : constant Integer := 1_0000;                       -- Numeric_Literal
7
8   I4   : constant Integer := 1_2_3_4_5_6;                  -- Numeric_Literal
9
10   IE1  : constant Integer := 1e9;
11   IE2  : constant Integer := 1_000e6;
12   IE3  : constant Integer := 1_0000e5;                     -- Numeric_Literal
13
14
15   -- Real literals
16   R1   : constant Float   := 0.0;
17   R2   : constant Float   := 3.141_592;
18   R3   : constant Float   := 1.61_80_33;                   -- Numeric_Literal
19
20   RE1  : constant Float   := 1.0e-9;
21   RE2  : constant Float   := 0.314_159e1;
22   RE3  : constant Float   := 16_18.03_39E-3;               -- Numeric_Literal
23
24
25   -- Based literals
26   BI1  : constant Integer :=  2#1111_1111#;
27   BI2  : constant Integer :=  8#0000_0177#;                -- OK (not specified)
28   BI3  : constant Integer := 16#0000_00FF#;
29
30   BI4  : constant Integer :=  7#0064_3502#;                -- Numeric_Literal (not allowed)
31   BI5  : constant Integer := 13#003A_5BC8#;                -- Numeric_Literal (not allowed)
32
33   BIE1 : constant Integer :=  2#0000_1010#E6;
34   BIE2 : constant Integer := 16#0000_000A#E6;
35
36   BR1  : constant Float   :=  2#1111_1111.1111_1111#;
37   BR2  : constant Float   := 16#0000_00FF.FF00_0000#;
38   BR3  : constant Float   := 16#41_89_AF_3B.FF_01_00_00#;  -- Numeric_Literal
39
40   BR4  : constant Float   :=  7#0064_3502.2053_4600#;      -- Numeric_Literal (not allowed)
41
42   BRE1 : constant Float   :=  2#0100_0001.1100_0000#E6;
43   BRE2 : constant Float   := 16#C0_AF_E3.70_06#E1;         -- Numeric_Literal
44begin
45   null;
46end Literals;
47