1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT RUN-TIME COMPONENTS                         --
4--                                                                          --
5--               A D A . C H A R A C T E R S . L A T I N _ 1                --
6--                                                                          --
7--                                 S p e c                                  --
8--                                                                          --
9-- This specification is derived from the Ada Reference Manual for use with --
10-- GNAT.  In accordance with the copyright of that document, you can freely --
11-- copy and modify this specification,  provided that if you redistribute a --
12-- modified version,  any changes that you have made are clearly indicated. --
13--                                                                          --
14------------------------------------------------------------------------------
15
16pragma Warnings (Off);
17pragma Compiler_Unit;
18pragma Warnings (On);
19
20package Ada.Characters.Latin_1 is
21   pragma Pure;
22
23   ------------------------
24   -- Control Characters --
25   ------------------------
26
27   NUL                  : constant Character := Character'Val (0);
28   SOH                  : constant Character := Character'Val (1);
29   STX                  : constant Character := Character'Val (2);
30   ETX                  : constant Character := Character'Val (3);
31   EOT                  : constant Character := Character'Val (4);
32   ENQ                  : constant Character := Character'Val (5);
33   ACK                  : constant Character := Character'Val (6);
34   BEL                  : constant Character := Character'Val (7);
35   BS                   : constant Character := Character'Val (8);
36   HT                   : constant Character := Character'Val (9);
37   LF                   : constant Character := Character'Val (10);
38   VT                   : constant Character := Character'Val (11);
39   FF                   : constant Character := Character'Val (12);
40   CR                   : constant Character := Character'Val (13);
41   SO                   : constant Character := Character'Val (14);
42   SI                   : constant Character := Character'Val (15);
43
44   DLE                  : constant Character := Character'Val (16);
45   DC1                  : constant Character := Character'Val (17);
46   DC2                  : constant Character := Character'Val (18);
47   DC3                  : constant Character := Character'Val (19);
48   DC4                  : constant Character := Character'Val (20);
49   NAK                  : constant Character := Character'Val (21);
50   SYN                  : constant Character := Character'Val (22);
51   ETB                  : constant Character := Character'Val (23);
52   CAN                  : constant Character := Character'Val (24);
53   EM                   : constant Character := Character'Val (25);
54   SUB                  : constant Character := Character'Val (26);
55   ESC                  : constant Character := Character'Val (27);
56   FS                   : constant Character := Character'Val (28);
57   GS                   : constant Character := Character'Val (29);
58   RS                   : constant Character := Character'Val (30);
59   US                   : constant Character := Character'Val (31);
60
61   --------------------------------
62   -- ISO 646 Graphic Characters --
63   --------------------------------
64
65   Space                : constant Character := ' ';  -- Character'Val(32)
66   Exclamation          : constant Character := '!';  -- Character'Val(33)
67   Quotation            : constant Character := '"';  -- Character'Val(34)
68   Number_Sign          : constant Character := '#';  -- Character'Val(35)
69   Dollar_Sign          : constant Character := '$';  -- Character'Val(36)
70   Percent_Sign         : constant Character := '%';  -- Character'Val(37)
71   Ampersand            : constant Character := '&';  -- Character'Val(38)
72   Apostrophe           : constant Character := ''';  -- Character'Val(39)
73   Left_Parenthesis     : constant Character := '(';  -- Character'Val(40)
74   Right_Parenthesis    : constant Character := ')';  -- Character'Val(41)
75   Asterisk             : constant Character := '*';  -- Character'Val(42)
76   Plus_Sign            : constant Character := '+';  -- Character'Val(43)
77   Comma                : constant Character := ',';  -- Character'Val(44)
78   Hyphen               : constant Character := '-';  -- Character'Val(45)
79   Minus_Sign           : Character renames Hyphen;
80   Full_Stop            : constant Character := '.';  -- Character'Val(46)
81   Solidus              : constant Character := '/';  -- Character'Val(47)
82
83   --  Decimal digits '0' though '9' are at positions 48 through 57
84
85   Colon                : constant Character := ':';  -- Character'Val(58)
86   Semicolon            : constant Character := ';';  -- Character'Val(59)
87   Less_Than_Sign       : constant Character := '<';  -- Character'Val(60)
88   Equals_Sign          : constant Character := '=';  -- Character'Val(61)
89   Greater_Than_Sign    : constant Character := '>';  -- Character'Val(62)
90   Question             : constant Character := '?';  -- Character'Val(63)
91   Commercial_At        : constant Character := '@';  -- Character'Val(64)
92
93   --  Letters 'A' through 'Z' are at positions 65 through 90
94
95   Left_Square_Bracket  : constant Character := '[';  -- Character'Val (91)
96   Reverse_Solidus      : constant Character := '\';  -- Character'Val (92)
97   Right_Square_Bracket : constant Character := ']';  -- Character'Val (93)
98   Circumflex           : constant Character := '^';  -- Character'Val (94)
99   Low_Line             : constant Character := '_';  -- Character'Val (95)
100
101   Grave                : constant Character := '`';  -- Character'Val (96)
102   LC_A                 : constant Character := 'a';  -- Character'Val (97)
103   LC_B                 : constant Character := 'b';  -- Character'Val (98)
104   LC_C                 : constant Character := 'c';  -- Character'Val (99)
105   LC_D                 : constant Character := 'd';  -- Character'Val (100)
106   LC_E                 : constant Character := 'e';  -- Character'Val (101)
107   LC_F                 : constant Character := 'f';  -- Character'Val (102)
108   LC_G                 : constant Character := 'g';  -- Character'Val (103)
109   LC_H                 : constant Character := 'h';  -- Character'Val (104)
110   LC_I                 : constant Character := 'i';  -- Character'Val (105)
111   LC_J                 : constant Character := 'j';  -- Character'Val (106)
112   LC_K                 : constant Character := 'k';  -- Character'Val (107)
113   LC_L                 : constant Character := 'l';  -- Character'Val (108)
114   LC_M                 : constant Character := 'm';  -- Character'Val (109)
115   LC_N                 : constant Character := 'n';  -- Character'Val (110)
116   LC_O                 : constant Character := 'o';  -- Character'Val (111)
117   LC_P                 : constant Character := 'p';  -- Character'Val (112)
118   LC_Q                 : constant Character := 'q';  -- Character'Val (113)
119   LC_R                 : constant Character := 'r';  -- Character'Val (114)
120   LC_S                 : constant Character := 's';  -- Character'Val (115)
121   LC_T                 : constant Character := 't';  -- Character'Val (116)
122   LC_U                 : constant Character := 'u';  -- Character'Val (117)
123   LC_V                 : constant Character := 'v';  -- Character'Val (118)
124   LC_W                 : constant Character := 'w';  -- Character'Val (119)
125   LC_X                 : constant Character := 'x';  -- Character'Val (120)
126   LC_Y                 : constant Character := 'y';  -- Character'Val (121)
127   LC_Z                 : constant Character := 'z';  -- Character'Val (122)
128   Left_Curly_Bracket   : constant Character := '{';  -- Character'Val (123)
129   Vertical_Line        : constant Character := '|';  -- Character'Val (124)
130   Right_Curly_Bracket  : constant Character := '}';  -- Character'Val (125)
131   Tilde                : constant Character := '~';  -- Character'Val (126)
132   DEL                  : constant Character := Character'Val (127);
133
134   ---------------------------------
135   -- ISO 6429 Control Characters --
136   ---------------------------------
137
138   IS4 : Character renames FS;
139   IS3 : Character renames GS;
140   IS2 : Character renames RS;
141   IS1 : Character renames US;
142
143   Reserved_128         : constant Character := Character'Val (128);
144   Reserved_129         : constant Character := Character'Val (129);
145   BPH                  : constant Character := Character'Val (130);
146   NBH                  : constant Character := Character'Val (131);
147   Reserved_132         : constant Character := Character'Val (132);
148   NEL                  : constant Character := Character'Val (133);
149   SSA                  : constant Character := Character'Val (134);
150   ESA                  : constant Character := Character'Val (135);
151   HTS                  : constant Character := Character'Val (136);
152   HTJ                  : constant Character := Character'Val (137);
153   VTS                  : constant Character := Character'Val (138);
154   PLD                  : constant Character := Character'Val (139);
155   PLU                  : constant Character := Character'Val (140);
156   RI                   : constant Character := Character'Val (141);
157   SS2                  : constant Character := Character'Val (142);
158   SS3                  : constant Character := Character'Val (143);
159
160   DCS                  : constant Character := Character'Val (144);
161   PU1                  : constant Character := Character'Val (145);
162   PU2                  : constant Character := Character'Val (146);
163   STS                  : constant Character := Character'Val (147);
164   CCH                  : constant Character := Character'Val (148);
165   MW                   : constant Character := Character'Val (149);
166   SPA                  : constant Character := Character'Val (150);
167   EPA                  : constant Character := Character'Val (151);
168
169   SOS                  : constant Character := Character'Val (152);
170   Reserved_153         : constant Character := Character'Val (153);
171   SCI                  : constant Character := Character'Val (154);
172   CSI                  : constant Character := Character'Val (155);
173   ST                   : constant Character := Character'Val (156);
174   OSC                  : constant Character := Character'Val (157);
175   PM                   : constant Character := Character'Val (158);
176   APC                  : constant Character := Character'Val (159);
177
178   ------------------------------
179   -- Other Graphic Characters --
180   ------------------------------
181
182   --  Character positions 160 (16#A0#) .. 175 (16#AF#)
183
184   No_Break_Space              : constant Character := Character'Val (160);
185   NBSP                        : Character renames No_Break_Space;
186   Inverted_Exclamation        : constant Character := Character'Val (161);
187   Cent_Sign                   : constant Character := Character'Val (162);
188   Pound_Sign                  : constant Character := Character'Val (163);
189   Currency_Sign               : constant Character := Character'Val (164);
190   Yen_Sign                    : constant Character := Character'Val (165);
191   Broken_Bar                  : constant Character := Character'Val (166);
192   Section_Sign                : constant Character := Character'Val (167);
193   Diaeresis                   : constant Character := Character'Val (168);
194   Copyright_Sign              : constant Character := Character'Val (169);
195   Feminine_Ordinal_Indicator  : constant Character := Character'Val (170);
196   Left_Angle_Quotation        : constant Character := Character'Val (171);
197   Not_Sign                    : constant Character := Character'Val (172);
198   Soft_Hyphen                 : constant Character := Character'Val (173);
199   Registered_Trade_Mark_Sign  : constant Character := Character'Val (174);
200   Macron                      : constant Character := Character'Val (175);
201
202   --  Character positions 176 (16#B0#) .. 191 (16#BF#)
203
204   Degree_Sign                 : constant Character := Character'Val (176);
205   Ring_Above                  : Character renames Degree_Sign;
206   Plus_Minus_Sign             : constant Character := Character'Val (177);
207   Superscript_Two             : constant Character := Character'Val (178);
208   Superscript_Three           : constant Character := Character'Val (179);
209   Acute                       : constant Character := Character'Val (180);
210   Micro_Sign                  : constant Character := Character'Val (181);
211   Pilcrow_Sign                : constant Character := Character'Val (182);
212   Paragraph_Sign              : Character renames Pilcrow_Sign;
213   Middle_Dot                  : constant Character := Character'Val (183);
214   Cedilla                     : constant Character := Character'Val (184);
215   Superscript_One             : constant Character := Character'Val (185);
216   Masculine_Ordinal_Indicator : constant Character := Character'Val (186);
217   Right_Angle_Quotation       : constant Character := Character'Val (187);
218   Fraction_One_Quarter        : constant Character := Character'Val (188);
219   Fraction_One_Half           : constant Character := Character'Val (189);
220   Fraction_Three_Quarters     : constant Character := Character'Val (190);
221   Inverted_Question           : constant Character := Character'Val (191);
222
223   --  Character positions 192 (16#C0#) .. 207 (16#CF#)
224
225   UC_A_Grave                  : constant Character := Character'Val (192);
226   UC_A_Acute                  : constant Character := Character'Val (193);
227   UC_A_Circumflex             : constant Character := Character'Val (194);
228   UC_A_Tilde                  : constant Character := Character'Val (195);
229   UC_A_Diaeresis              : constant Character := Character'Val (196);
230   UC_A_Ring                   : constant Character := Character'Val (197);
231   UC_AE_Diphthong             : constant Character := Character'Val (198);
232   UC_C_Cedilla                : constant Character := Character'Val (199);
233   UC_E_Grave                  : constant Character := Character'Val (200);
234   UC_E_Acute                  : constant Character := Character'Val (201);
235   UC_E_Circumflex             : constant Character := Character'Val (202);
236   UC_E_Diaeresis              : constant Character := Character'Val (203);
237   UC_I_Grave                  : constant Character := Character'Val (204);
238   UC_I_Acute                  : constant Character := Character'Val (205);
239   UC_I_Circumflex             : constant Character := Character'Val (206);
240   UC_I_Diaeresis              : constant Character := Character'Val (207);
241
242   --  Character positions 208 (16#D0#) .. 223 (16#DF#)
243
244   UC_Icelandic_Eth            : constant Character := Character'Val (208);
245   UC_N_Tilde                  : constant Character := Character'Val (209);
246   UC_O_Grave                  : constant Character := Character'Val (210);
247   UC_O_Acute                  : constant Character := Character'Val (211);
248   UC_O_Circumflex             : constant Character := Character'Val (212);
249   UC_O_Tilde                  : constant Character := Character'Val (213);
250   UC_O_Diaeresis              : constant Character := Character'Val (214);
251   Multiplication_Sign         : constant Character := Character'Val (215);
252   UC_O_Oblique_Stroke         : constant Character := Character'Val (216);
253   UC_U_Grave                  : constant Character := Character'Val (217);
254   UC_U_Acute                  : constant Character := Character'Val (218);
255   UC_U_Circumflex             : constant Character := Character'Val (219);
256   UC_U_Diaeresis              : constant Character := Character'Val (220);
257   UC_Y_Acute                  : constant Character := Character'Val (221);
258   UC_Icelandic_Thorn          : constant Character := Character'Val (222);
259   LC_German_Sharp_S           : constant Character := Character'Val (223);
260
261   --  Character positions 224 (16#E0#) .. 239 (16#EF#)
262
263   LC_A_Grave                  : constant Character := Character'Val (224);
264   LC_A_Acute                  : constant Character := Character'Val (225);
265   LC_A_Circumflex             : constant Character := Character'Val (226);
266   LC_A_Tilde                  : constant Character := Character'Val (227);
267   LC_A_Diaeresis              : constant Character := Character'Val (228);
268   LC_A_Ring                   : constant Character := Character'Val (229);
269   LC_AE_Diphthong             : constant Character := Character'Val (230);
270   LC_C_Cedilla                : constant Character := Character'Val (231);
271   LC_E_Grave                  : constant Character := Character'Val (232);
272   LC_E_Acute                  : constant Character := Character'Val (233);
273   LC_E_Circumflex             : constant Character := Character'Val (234);
274   LC_E_Diaeresis              : constant Character := Character'Val (235);
275   LC_I_Grave                  : constant Character := Character'Val (236);
276   LC_I_Acute                  : constant Character := Character'Val (237);
277   LC_I_Circumflex             : constant Character := Character'Val (238);
278   LC_I_Diaeresis              : constant Character := Character'Val (239);
279
280   --  Character positions 240 (16#F0#) .. 255 (16#FF)
281   LC_Icelandic_Eth            : constant Character := Character'Val (240);
282   LC_N_Tilde                  : constant Character := Character'Val (241);
283   LC_O_Grave                  : constant Character := Character'Val (242);
284   LC_O_Acute                  : constant Character := Character'Val (243);
285   LC_O_Circumflex             : constant Character := Character'Val (244);
286   LC_O_Tilde                  : constant Character := Character'Val (245);
287   LC_O_Diaeresis              : constant Character := Character'Val (246);
288   Division_Sign               : constant Character := Character'Val (247);
289   LC_O_Oblique_Stroke         : constant Character := Character'Val (248);
290   LC_U_Grave                  : constant Character := Character'Val (249);
291   LC_U_Acute                  : constant Character := Character'Val (250);
292   LC_U_Circumflex             : constant Character := Character'Val (251);
293   LC_U_Diaeresis              : constant Character := Character'Val (252);
294   LC_Y_Acute                  : constant Character := Character'Val (253);
295   LC_Icelandic_Thorn          : constant Character := Character'Val (254);
296   LC_Y_Diaeresis              : constant Character := Character'Val (255);
297
298end Ada.Characters.Latin_1;
299