FSF GCC merge 02/23/03
[official-gcc.git] / gcc / ada / a-stmaco.ads
blob1038dc214871bea138b9eabcf04a8d90bc56f003
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUNTIME COMPONENTS --
4 -- --
5 -- A D A . S T R I N G S . M A P S . C O N S T A N T S --
6 -- --
7 -- S p e c --
8 -- --
9 -- --
10 -- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
11 -- --
12 -- This specification is derived from the Ada Reference Manual for use with --
13 -- GNAT. The copyright notice above, and the license provisions that follow --
14 -- apply solely to the contents of the part following the private keyword. --
15 -- --
16 -- GNAT is free software; you can redistribute it and/or modify it under --
17 -- terms of the GNU General Public License as published by the Free Soft- --
18 -- ware Foundation; either version 2, or (at your option) any later ver- --
19 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
20 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
21 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
22 -- for more details. You should have received a copy of the GNU General --
23 -- Public License distributed with GNAT; see file COPYING. If not, write --
24 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
25 -- MA 02111-1307, USA. --
26 -- --
27 -- As a special exception, if other files instantiate generics from this --
28 -- unit, or you link this unit with other files to produce an executable, --
29 -- this unit does not by itself cause the resulting executable to be --
30 -- covered by the GNU General Public License. This exception does not --
31 -- however invalidate any other reasons why the executable file might be --
32 -- covered by the GNU Public License. --
33 -- --
34 -- GNAT was originally developed by the GNAT team at New York University. --
35 -- Extensive contributions were provided by Ada Core Technologies Inc. --
36 -- --
37 ------------------------------------------------------------------------------
39 with Ada.Characters.Latin_1;
41 package Ada.Strings.Maps.Constants is
42 pragma Preelaborate (Constants);
44 Control_Set : constant Character_Set;
45 Graphic_Set : constant Character_Set;
46 Letter_Set : constant Character_Set;
47 Lower_Set : constant Character_Set;
48 Upper_Set : constant Character_Set;
49 Basic_Set : constant Character_Set;
50 Decimal_Digit_Set : constant Character_Set;
51 Hexadecimal_Digit_Set : constant Character_Set;
52 Alphanumeric_Set : constant Character_Set;
53 Special_Set : constant Character_Set;
54 ISO_646_Set : constant Character_Set;
56 Lower_Case_Map : constant Character_Mapping;
57 -- Maps to lower case for letters, else identity
59 Upper_Case_Map : constant Character_Mapping;
60 -- Maps to upper case for letters, else identity
62 Basic_Map : constant Character_Mapping;
63 -- Maps to basic letters for letters, else identity
65 private
66 package L renames Ada.Characters.Latin_1;
68 Control_Set : constant Character_Set :=
69 (L.NUL .. L.US => True,
70 L.DEL .. L.APC => True,
71 others => False);
73 Graphic_Set : constant Character_Set :=
74 (L.Space .. L.Tilde => True,
75 L.No_Break_Space .. L.LC_Y_Diaeresis => True,
76 others => False);
78 Letter_Set : constant Character_Set :=
79 ('A' .. 'Z' => True,
80 L.LC_A .. L.LC_Z => True,
81 L.UC_A_Grave .. L.UC_O_Diaeresis => True,
82 L.UC_O_Oblique_Stroke .. L.LC_O_Diaeresis => True,
83 L.LC_O_Oblique_Stroke .. L.LC_Y_Diaeresis => True,
84 others => False);
86 Lower_Set : constant Character_Set :=
87 (L.LC_A .. L.LC_Z => True,
88 L.LC_German_Sharp_S .. L.LC_O_Diaeresis => True,
89 L.LC_O_Oblique_Stroke .. L.LC_Y_Diaeresis => True,
90 others => False);
92 Upper_Set : constant Character_Set :=
93 ('A' .. 'Z' => True,
94 L.UC_A_Grave .. L.UC_O_Diaeresis => True,
95 L.UC_O_Oblique_Stroke .. L.UC_Icelandic_Thorn => True,
96 others => False);
98 Basic_Set : constant Character_Set :=
99 ('A' .. 'Z' => True,
100 L.LC_A .. L.LC_Z => True,
101 L.UC_AE_Diphthong .. L.UC_AE_Diphthong => True,
102 L.LC_AE_Diphthong .. L.LC_AE_Diphthong => True,
103 L.LC_German_Sharp_S .. L.LC_German_Sharp_S => True,
104 L.UC_Icelandic_Thorn .. L.UC_Icelandic_Thorn => True,
105 L.LC_Icelandic_Thorn .. L.LC_Icelandic_Thorn => True,
106 L.UC_Icelandic_Eth .. L.UC_Icelandic_Eth => True,
107 L.LC_Icelandic_Eth .. L.LC_Icelandic_Eth => True,
108 others => False);
110 Decimal_Digit_Set : constant Character_Set :=
111 ('0' .. '9' => True,
112 others => False);
114 Hexadecimal_Digit_Set : constant Character_Set :=
115 ('0' .. '9' => True,
116 'A' .. 'F' => True,
117 L.LC_A .. L.LC_F => True,
118 others => False);
120 Alphanumeric_Set : constant Character_Set :=
121 ('0' .. '9' => True,
122 'A' .. 'Z' => True,
123 L.LC_A .. L.LC_Z => True,
124 L.UC_A_Grave .. L.UC_O_Diaeresis => True,
125 L.UC_O_Oblique_Stroke .. L.LC_O_Diaeresis => True,
126 L.LC_O_Oblique_Stroke .. L.LC_Y_Diaeresis => True,
127 others => False);
129 Special_Set : constant Character_Set :=
130 (L.Space .. L.Solidus => True,
131 L.Colon .. L.Commercial_At => True,
132 L.Left_Square_Bracket .. L.Grave => True,
133 L.Left_Curly_Bracket .. L.Tilde => True,
134 L.No_Break_Space .. L.Inverted_Question => True,
135 L.Multiplication_Sign .. L.Multiplication_Sign => True,
136 L.Division_Sign .. L.Division_Sign => True,
137 others => False);
139 ISO_646_Set : constant Character_Set :=
140 (L.NUL .. L.DEL => True,
141 others => False);
143 Lower_Case_Map : constant Character_Mapping :=
144 (L.NUL & -- NUL 0
145 L.SOH & -- SOH 1
146 L.STX & -- STX 2
147 L.ETX & -- ETX 3
148 L.EOT & -- EOT 4
149 L.ENQ & -- ENQ 5
150 L.ACK & -- ACK 6
151 L.BEL & -- BEL 7
152 L.BS & -- BS 8
153 L.HT & -- HT 9
154 L.LF & -- LF 10
155 L.VT & -- VT 11
156 L.FF & -- FF 12
157 L.CR & -- CR 13
158 L.SO & -- SO 14
159 L.SI & -- SI 15
160 L.DLE & -- DLE 16
161 L.DC1 & -- DC1 17
162 L.DC2 & -- DC2 18
163 L.DC3 & -- DC3 19
164 L.DC4 & -- DC4 20
165 L.NAK & -- NAK 21
166 L.SYN & -- SYN 22
167 L.ETB & -- ETB 23
168 L.CAN & -- CAN 24
169 L.EM & -- EM 25
170 L.SUB & -- SUB 26
171 L.ESC & -- ESC 27
172 L.FS & -- FS 28
173 L.GS & -- GS 29
174 L.RS & -- RS 30
175 L.US & -- US 31
176 L.Space & -- ' ' 32
177 L.Exclamation & -- '!' 33
178 L.Quotation & -- '"' 34
179 L.Number_Sign & -- '#' 35
180 L.Dollar_Sign & -- '$' 36
181 L.Percent_Sign & -- '%' 37
182 L.Ampersand & -- '&' 38
183 L.Apostrophe & -- ''' 39
184 L.Left_Parenthesis & -- '(' 40
185 L.Right_Parenthesis & -- ')' 41
186 L.Asterisk & -- '*' 42
187 L.Plus_Sign & -- '+' 43
188 L.Comma & -- ',' 44
189 L.Hyphen & -- '-' 45
190 L.Full_Stop & -- '.' 46
191 L.Solidus & -- '/' 47
192 '0' & -- '0' 48
193 '1' & -- '1' 49
194 '2' & -- '2' 50
195 '3' & -- '3' 51
196 '4' & -- '4' 52
197 '5' & -- '5' 53
198 '6' & -- '6' 54
199 '7' & -- '7' 55
200 '8' & -- '8' 56
201 '9' & -- '9' 57
202 L.Colon & -- ':' 58
203 L.Semicolon & -- ';' 59
204 L.Less_Than_Sign & -- '<' 60
205 L.Equals_Sign & -- '=' 61
206 L.Greater_Than_Sign & -- '>' 62
207 L.Question & -- '?' 63
208 L.Commercial_At & -- '@' 64
209 L.LC_A & -- 'a' 65
210 L.LC_B & -- 'b' 66
211 L.LC_C & -- 'c' 67
212 L.LC_D & -- 'd' 68
213 L.LC_E & -- 'e' 69
214 L.LC_F & -- 'f' 70
215 L.LC_G & -- 'g' 71
216 L.LC_H & -- 'h' 72
217 L.LC_I & -- 'i' 73
218 L.LC_J & -- 'j' 74
219 L.LC_K & -- 'k' 75
220 L.LC_L & -- 'l' 76
221 L.LC_M & -- 'm' 77
222 L.LC_N & -- 'n' 78
223 L.LC_O & -- 'o' 79
224 L.LC_P & -- 'p' 80
225 L.LC_Q & -- 'q' 81
226 L.LC_R & -- 'r' 82
227 L.LC_S & -- 's' 83
228 L.LC_T & -- 't' 84
229 L.LC_U & -- 'u' 85
230 L.LC_V & -- 'v' 86
231 L.LC_W & -- 'w' 87
232 L.LC_X & -- 'x' 88
233 L.LC_Y & -- 'y' 89
234 L.LC_Z & -- 'z' 90
235 L.Left_Square_Bracket & -- '[' 91
236 L.Reverse_Solidus & -- '\' 92
237 L.Right_Square_Bracket & -- ']' 93
238 L.Circumflex & -- '^' 94
239 L.Low_Line & -- '_' 95
240 L.Grave & -- '`' 96
241 L.LC_A & -- 'a' 97
242 L.LC_B & -- 'b' 98
243 L.LC_C & -- 'c' 99
244 L.LC_D & -- 'd' 100
245 L.LC_E & -- 'e' 101
246 L.LC_F & -- 'f' 102
247 L.LC_G & -- 'g' 103
248 L.LC_H & -- 'h' 104
249 L.LC_I & -- 'i' 105
250 L.LC_J & -- 'j' 106
251 L.LC_K & -- 'k' 107
252 L.LC_L & -- 'l' 108
253 L.LC_M & -- 'm' 109
254 L.LC_N & -- 'n' 110
255 L.LC_O & -- 'o' 111
256 L.LC_P & -- 'p' 112
257 L.LC_Q & -- 'q' 113
258 L.LC_R & -- 'r' 114
259 L.LC_S & -- 's' 115
260 L.LC_T & -- 't' 116
261 L.LC_U & -- 'u' 117
262 L.LC_V & -- 'v' 118
263 L.LC_W & -- 'w' 119
264 L.LC_X & -- 'x' 120
265 L.LC_Y & -- 'y' 121
266 L.LC_Z & -- 'z' 122
267 L.Left_Curly_Bracket & -- '{' 123
268 L.Vertical_Line & -- '|' 124
269 L.Right_Curly_Bracket & -- '}' 125
270 L.Tilde & -- '~' 126
271 L.DEL & -- DEL 127
272 L.Reserved_128 & -- Reserved_128 128
273 L.Reserved_129 & -- Reserved_129 129
274 L.BPH & -- BPH 130
275 L.NBH & -- NBH 131
276 L.Reserved_132 & -- Reserved_132 132
277 L.NEL & -- NEL 133
278 L.SSA & -- SSA 134
279 L.ESA & -- ESA 135
280 L.HTS & -- HTS 136
281 L.HTJ & -- HTJ 137
282 L.VTS & -- VTS 138
283 L.PLD & -- PLD 139
284 L.PLU & -- PLU 140
285 L.RI & -- RI 141
286 L.SS2 & -- SS2 142
287 L.SS3 & -- SS3 143
288 L.DCS & -- DCS 144
289 L.PU1 & -- PU1 145
290 L.PU2 & -- PU2 146
291 L.STS & -- STS 147
292 L.CCH & -- CCH 148
293 L.MW & -- MW 149
294 L.SPA & -- SPA 150
295 L.EPA & -- EPA 151
296 L.SOS & -- SOS 152
297 L.Reserved_153 & -- Reserved_153 153
298 L.SCI & -- SCI 154
299 L.CSI & -- CSI 155
300 L.ST & -- ST 156
301 L.OSC & -- OSC 157
302 L.PM & -- PM 158
303 L.APC & -- APC 159
304 L.No_Break_Space & -- No_Break_Space 160
305 L.Inverted_Exclamation & -- Inverted_Exclamation 161
306 L.Cent_Sign & -- Cent_Sign 162
307 L.Pound_Sign & -- Pound_Sign 163
308 L.Currency_Sign & -- Currency_Sign 164
309 L.Yen_Sign & -- Yen_Sign 165
310 L.Broken_Bar & -- Broken_Bar 166
311 L.Section_Sign & -- Section_Sign 167
312 L.Diaeresis & -- Diaeresis 168
313 L.Copyright_Sign & -- Copyright_Sign 169
314 L.Feminine_Ordinal_Indicator & -- Feminine_Ordinal_Indicator 170
315 L.Left_Angle_Quotation & -- Left_Angle_Quotation 171
316 L.Not_Sign & -- Not_Sign 172
317 L.Soft_Hyphen & -- Soft_Hyphen 173
318 L.Registered_Trade_Mark_Sign & -- Registered_Trade_Mark_Sign 174
319 L.Macron & -- Macron 175
320 L.Degree_Sign & -- Degree_Sign 176
321 L.Plus_Minus_Sign & -- Plus_Minus_Sign 177
322 L.Superscript_Two & -- Superscript_Two 178
323 L.Superscript_Three & -- Superscript_Three 179
324 L.Acute & -- Acute 180
325 L.Micro_Sign & -- Micro_Sign 181
326 L.Pilcrow_Sign & -- Pilcrow_Sign 182
327 L.Middle_Dot & -- Middle_Dot 183
328 L.Cedilla & -- Cedilla 184
329 L.Superscript_One & -- Superscript_One 185
330 L.Masculine_Ordinal_Indicator & -- Masculine_Ordinal_Indicator 186
331 L.Right_Angle_Quotation & -- Right_Angle_Quotation 187
332 L.Fraction_One_Quarter & -- Fraction_One_Quarter 188
333 L.Fraction_One_Half & -- Fraction_One_Half 189
334 L.Fraction_Three_Quarters & -- Fraction_Three_Quarters 190
335 L.Inverted_Question & -- Inverted_Question 191
336 L.LC_A_Grave & -- UC_A_Grave 192
337 L.LC_A_Acute & -- UC_A_Acute 193
338 L.LC_A_Circumflex & -- UC_A_Circumflex 194
339 L.LC_A_Tilde & -- UC_A_Tilde 195
340 L.LC_A_Diaeresis & -- UC_A_Diaeresis 196
341 L.LC_A_Ring & -- UC_A_Ring 197
342 L.LC_AE_Diphthong & -- UC_AE_Diphthong 198
343 L.LC_C_Cedilla & -- UC_C_Cedilla 199
344 L.LC_E_Grave & -- UC_E_Grave 200
345 L.LC_E_Acute & -- UC_E_Acute 201
346 L.LC_E_Circumflex & -- UC_E_Circumflex 202
347 L.LC_E_Diaeresis & -- UC_E_Diaeresis 203
348 L.LC_I_Grave & -- UC_I_Grave 204
349 L.LC_I_Acute & -- UC_I_Acute 205
350 L.LC_I_Circumflex & -- UC_I_Circumflex 206
351 L.LC_I_Diaeresis & -- UC_I_Diaeresis 207
352 L.LC_Icelandic_Eth & -- UC_Icelandic_Eth 208
353 L.LC_N_Tilde & -- UC_N_Tilde 209
354 L.LC_O_Grave & -- UC_O_Grave 210
355 L.LC_O_Acute & -- UC_O_Acute 211
356 L.LC_O_Circumflex & -- UC_O_Circumflex 212
357 L.LC_O_Tilde & -- UC_O_Tilde 213
358 L.LC_O_Diaeresis & -- UC_O_Diaeresis 214
359 L.Multiplication_Sign & -- Multiplication_Sign 215
360 L.LC_O_Oblique_Stroke & -- UC_O_Oblique_Stroke 216
361 L.LC_U_Grave & -- UC_U_Grave 217
362 L.LC_U_Acute & -- UC_U_Acute 218
363 L.LC_U_Circumflex & -- UC_U_Circumflex 219
364 L.LC_U_Diaeresis & -- UC_U_Diaeresis 220
365 L.LC_Y_Acute & -- UC_Y_Acute 221
366 L.LC_Icelandic_Thorn & -- UC_Icelandic_Thorn 222
367 L.LC_German_Sharp_S & -- LC_German_Sharp_S 223
368 L.LC_A_Grave & -- LC_A_Grave 224
369 L.LC_A_Acute & -- LC_A_Acute 225
370 L.LC_A_Circumflex & -- LC_A_Circumflex 226
371 L.LC_A_Tilde & -- LC_A_Tilde 227
372 L.LC_A_Diaeresis & -- LC_A_Diaeresis 228
373 L.LC_A_Ring & -- LC_A_Ring 229
374 L.LC_AE_Diphthong & -- LC_AE_Diphthong 230
375 L.LC_C_Cedilla & -- LC_C_Cedilla 231
376 L.LC_E_Grave & -- LC_E_Grave 232
377 L.LC_E_Acute & -- LC_E_Acute 233
378 L.LC_E_Circumflex & -- LC_E_Circumflex 234
379 L.LC_E_Diaeresis & -- LC_E_Diaeresis 235
380 L.LC_I_Grave & -- LC_I_Grave 236
381 L.LC_I_Acute & -- LC_I_Acute 237
382 L.LC_I_Circumflex & -- LC_I_Circumflex 238
383 L.LC_I_Diaeresis & -- LC_I_Diaeresis 239
384 L.LC_Icelandic_Eth & -- LC_Icelandic_Eth 240
385 L.LC_N_Tilde & -- LC_N_Tilde 241
386 L.LC_O_Grave & -- LC_O_Grave 242
387 L.LC_O_Acute & -- LC_O_Acute 243
388 L.LC_O_Circumflex & -- LC_O_Circumflex 244
389 L.LC_O_Tilde & -- LC_O_Tilde 245
390 L.LC_O_Diaeresis & -- LC_O_Diaeresis 246
391 L.Division_Sign & -- Division_Sign 247
392 L.LC_O_Oblique_Stroke & -- LC_O_Oblique_Stroke 248
393 L.LC_U_Grave & -- LC_U_Grave 249
394 L.LC_U_Acute & -- LC_U_Acute 250
395 L.LC_U_Circumflex & -- LC_U_Circumflex 251
396 L.LC_U_Diaeresis & -- LC_U_Diaeresis 252
397 L.LC_Y_Acute & -- LC_Y_Acute 253
398 L.LC_Icelandic_Thorn & -- LC_Icelandic_Thorn 254
399 L.LC_Y_Diaeresis); -- LC_Y_Diaeresis 255
401 Upper_Case_Map : constant Character_Mapping :=
402 (L.NUL & -- NUL 0
403 L.SOH & -- SOH 1
404 L.STX & -- STX 2
405 L.ETX & -- ETX 3
406 L.EOT & -- EOT 4
407 L.ENQ & -- ENQ 5
408 L.ACK & -- ACK 6
409 L.BEL & -- BEL 7
410 L.BS & -- BS 8
411 L.HT & -- HT 9
412 L.LF & -- LF 10
413 L.VT & -- VT 11
414 L.FF & -- FF 12
415 L.CR & -- CR 13
416 L.SO & -- SO 14
417 L.SI & -- SI 15
418 L.DLE & -- DLE 16
419 L.DC1 & -- DC1 17
420 L.DC2 & -- DC2 18
421 L.DC3 & -- DC3 19
422 L.DC4 & -- DC4 20
423 L.NAK & -- NAK 21
424 L.SYN & -- SYN 22
425 L.ETB & -- ETB 23
426 L.CAN & -- CAN 24
427 L.EM & -- EM 25
428 L.SUB & -- SUB 26
429 L.ESC & -- ESC 27
430 L.FS & -- FS 28
431 L.GS & -- GS 29
432 L.RS & -- RS 30
433 L.US & -- US 31
434 L.Space & -- ' ' 32
435 L.Exclamation & -- '!' 33
436 L.Quotation & -- '"' 34
437 L.Number_Sign & -- '#' 35
438 L.Dollar_Sign & -- '$' 36
439 L.Percent_Sign & -- '%' 37
440 L.Ampersand & -- '&' 38
441 L.Apostrophe & -- ''' 39
442 L.Left_Parenthesis & -- '(' 40
443 L.Right_Parenthesis & -- ')' 41
444 L.Asterisk & -- '*' 42
445 L.Plus_Sign & -- '+' 43
446 L.Comma & -- ',' 44
447 L.Hyphen & -- '-' 45
448 L.Full_Stop & -- '.' 46
449 L.Solidus & -- '/' 47
450 '0' & -- '0' 48
451 '1' & -- '1' 49
452 '2' & -- '2' 50
453 '3' & -- '3' 51
454 '4' & -- '4' 52
455 '5' & -- '5' 53
456 '6' & -- '6' 54
457 '7' & -- '7' 55
458 '8' & -- '8' 56
459 '9' & -- '9' 57
460 L.Colon & -- ':' 58
461 L.Semicolon & -- ';' 59
462 L.Less_Than_Sign & -- '<' 60
463 L.Equals_Sign & -- '=' 61
464 L.Greater_Than_Sign & -- '>' 62
465 L.Question & -- '?' 63
466 L.Commercial_At & -- '@' 64
467 'A' & -- 'A' 65
468 'B' & -- 'B' 66
469 'C' & -- 'C' 67
470 'D' & -- 'D' 68
471 'E' & -- 'E' 69
472 'F' & -- 'F' 70
473 'G' & -- 'G' 71
474 'H' & -- 'H' 72
475 'I' & -- 'I' 73
476 'J' & -- 'J' 74
477 'K' & -- 'K' 75
478 'L' & -- 'L' 76
479 'M' & -- 'M' 77
480 'N' & -- 'N' 78
481 'O' & -- 'O' 79
482 'P' & -- 'P' 80
483 'Q' & -- 'Q' 81
484 'R' & -- 'R' 82
485 'S' & -- 'S' 83
486 'T' & -- 'T' 84
487 'U' & -- 'U' 85
488 'V' & -- 'V' 86
489 'W' & -- 'W' 87
490 'X' & -- 'X' 88
491 'Y' & -- 'Y' 89
492 'Z' & -- 'Z' 90
493 L.Left_Square_Bracket & -- '[' 91
494 L.Reverse_Solidus & -- '\' 92
495 L.Right_Square_Bracket & -- ']' 93
496 L.Circumflex & -- '^' 94
497 L.Low_Line & -- '_' 95
498 L.Grave & -- '`' 96
499 'A' & -- 'a' 97
500 'B' & -- 'b' 98
501 'C' & -- 'c' 99
502 'D' & -- 'd' 100
503 'E' & -- 'e' 101
504 'F' & -- 'f' 102
505 'G' & -- 'g' 103
506 'H' & -- 'h' 104
507 'I' & -- 'i' 105
508 'J' & -- 'j' 106
509 'K' & -- 'k' 107
510 'L' & -- 'l' 108
511 'M' & -- 'm' 109
512 'N' & -- 'n' 110
513 'O' & -- 'o' 111
514 'P' & -- 'p' 112
515 'Q' & -- 'q' 113
516 'R' & -- 'r' 114
517 'S' & -- 's' 115
518 'T' & -- 't' 116
519 'U' & -- 'u' 117
520 'V' & -- 'v' 118
521 'W' & -- 'w' 119
522 'X' & -- 'x' 120
523 'Y' & -- 'y' 121
524 'Z' & -- 'z' 122
525 L.Left_Curly_Bracket & -- '{' 123
526 L.Vertical_Line & -- '|' 124
527 L.Right_Curly_Bracket & -- '}' 125
528 L.Tilde & -- '~' 126
529 L.DEL & -- DEL 127
530 L.Reserved_128 & -- Reserved_128 128
531 L.Reserved_129 & -- Reserved_129 129
532 L.BPH & -- BPH 130
533 L.NBH & -- NBH 131
534 L.Reserved_132 & -- Reserved_132 132
535 L.NEL & -- NEL 133
536 L.SSA & -- SSA 134
537 L.ESA & -- ESA 135
538 L.HTS & -- HTS 136
539 L.HTJ & -- HTJ 137
540 L.VTS & -- VTS 138
541 L.PLD & -- PLD 139
542 L.PLU & -- PLU 140
543 L.RI & -- RI 141
544 L.SS2 & -- SS2 142
545 L.SS3 & -- SS3 143
546 L.DCS & -- DCS 144
547 L.PU1 & -- PU1 145
548 L.PU2 & -- PU2 146
549 L.STS & -- STS 147
550 L.CCH & -- CCH 148
551 L.MW & -- MW 149
552 L.SPA & -- SPA 150
553 L.EPA & -- EPA 151
554 L.SOS & -- SOS 152
555 L.Reserved_153 & -- Reserved_153 153
556 L.SCI & -- SCI 154
557 L.CSI & -- CSI 155
558 L.ST & -- ST 156
559 L.OSC & -- OSC 157
560 L.PM & -- PM 158
561 L.APC & -- APC 159
562 L.No_Break_Space & -- No_Break_Space 160
563 L.Inverted_Exclamation & -- Inverted_Exclamation 161
564 L.Cent_Sign & -- Cent_Sign 162
565 L.Pound_Sign & -- Pound_Sign 163
566 L.Currency_Sign & -- Currency_Sign 164
567 L.Yen_Sign & -- Yen_Sign 165
568 L.Broken_Bar & -- Broken_Bar 166
569 L.Section_Sign & -- Section_Sign 167
570 L.Diaeresis & -- Diaeresis 168
571 L.Copyright_Sign & -- Copyright_Sign 169
572 L.Feminine_Ordinal_Indicator & -- Feminine_Ordinal_Indicator 170
573 L.Left_Angle_Quotation & -- Left_Angle_Quotation 171
574 L.Not_Sign & -- Not_Sign 172
575 L.Soft_Hyphen & -- Soft_Hyphen 173
576 L.Registered_Trade_Mark_Sign & -- Registered_Trade_Mark_Sign 174
577 L.Macron & -- Macron 175
578 L.Degree_Sign & -- Degree_Sign 176
579 L.Plus_Minus_Sign & -- Plus_Minus_Sign 177
580 L.Superscript_Two & -- Superscript_Two 178
581 L.Superscript_Three & -- Superscript_Three 179
582 L.Acute & -- Acute 180
583 L.Micro_Sign & -- Micro_Sign 181
584 L.Pilcrow_Sign & -- Pilcrow_Sign 182
585 L.Middle_Dot & -- Middle_Dot 183
586 L.Cedilla & -- Cedilla 184
587 L.Superscript_One & -- Superscript_One 185
588 L.Masculine_Ordinal_Indicator & -- Masculine_Ordinal_Indicator 186
589 L.Right_Angle_Quotation & -- Right_Angle_Quotation 187
590 L.Fraction_One_Quarter & -- Fraction_One_Quarter 188
591 L.Fraction_One_Half & -- Fraction_One_Half 189
592 L.Fraction_Three_Quarters & -- Fraction_Three_Quarters 190
593 L.Inverted_Question & -- Inverted_Question 191
594 L.UC_A_Grave & -- UC_A_Grave 192
595 L.UC_A_Acute & -- UC_A_Acute 193
596 L.UC_A_Circumflex & -- UC_A_Circumflex 194
597 L.UC_A_Tilde & -- UC_A_Tilde 195
598 L.UC_A_Diaeresis & -- UC_A_Diaeresis 196
599 L.UC_A_Ring & -- UC_A_Ring 197
600 L.UC_AE_Diphthong & -- UC_AE_Diphthong 198
601 L.UC_C_Cedilla & -- UC_C_Cedilla 199
602 L.UC_E_Grave & -- UC_E_Grave 200
603 L.UC_E_Acute & -- UC_E_Acute 201
604 L.UC_E_Circumflex & -- UC_E_Circumflex 202
605 L.UC_E_Diaeresis & -- UC_E_Diaeresis 203
606 L.UC_I_Grave & -- UC_I_Grave 204
607 L.UC_I_Acute & -- UC_I_Acute 205
608 L.UC_I_Circumflex & -- UC_I_Circumflex 206
609 L.UC_I_Diaeresis & -- UC_I_Diaeresis 207
610 L.UC_Icelandic_Eth & -- UC_Icelandic_Eth 208
611 L.UC_N_Tilde & -- UC_N_Tilde 209
612 L.UC_O_Grave & -- UC_O_Grave 210
613 L.UC_O_Acute & -- UC_O_Acute 211
614 L.UC_O_Circumflex & -- UC_O_Circumflex 212
615 L.UC_O_Tilde & -- UC_O_Tilde 213
616 L.UC_O_Diaeresis & -- UC_O_Diaeresis 214
617 L.Multiplication_Sign & -- Multiplication_Sign 215
618 L.UC_O_Oblique_Stroke & -- UC_O_Oblique_Stroke 216
619 L.UC_U_Grave & -- UC_U_Grave 217
620 L.UC_U_Acute & -- UC_U_Acute 218
621 L.UC_U_Circumflex & -- UC_U_Circumflex 219
622 L.UC_U_Diaeresis & -- UC_U_Diaeresis 220
623 L.UC_Y_Acute & -- UC_Y_Acute 221
624 L.UC_Icelandic_Thorn & -- UC_Icelandic_Thorn 222
625 L.LC_German_Sharp_S & -- LC_German_Sharp_S 223
626 L.UC_A_Grave & -- LC_A_Grave 224
627 L.UC_A_Acute & -- LC_A_Acute 225
628 L.UC_A_Circumflex & -- LC_A_Circumflex 226
629 L.UC_A_Tilde & -- LC_A_Tilde 227
630 L.UC_A_Diaeresis & -- LC_A_Diaeresis 228
631 L.UC_A_Ring & -- LC_A_Ring 229
632 L.UC_AE_Diphthong & -- LC_AE_Diphthong 230
633 L.UC_C_Cedilla & -- LC_C_Cedilla 231
634 L.UC_E_Grave & -- LC_E_Grave 232
635 L.UC_E_Acute & -- LC_E_Acute 233
636 L.UC_E_Circumflex & -- LC_E_Circumflex 234
637 L.UC_E_Diaeresis & -- LC_E_Diaeresis 235
638 L.UC_I_Grave & -- LC_I_Grave 236
639 L.UC_I_Acute & -- LC_I_Acute 237
640 L.UC_I_Circumflex & -- LC_I_Circumflex 238
641 L.UC_I_Diaeresis & -- LC_I_Diaeresis 239
642 L.UC_Icelandic_Eth & -- LC_Icelandic_Eth 240
643 L.UC_N_Tilde & -- LC_N_Tilde 241
644 L.UC_O_Grave & -- LC_O_Grave 242
645 L.UC_O_Acute & -- LC_O_Acute 243
646 L.UC_O_Circumflex & -- LC_O_Circumflex 244
647 L.UC_O_Tilde & -- LC_O_Tilde 245
648 L.UC_O_Diaeresis & -- LC_O_Diaeresis 246
649 L.Division_Sign & -- Division_Sign 247
650 L.UC_O_Oblique_Stroke & -- LC_O_Oblique_Stroke 248
651 L.UC_U_Grave & -- LC_U_Grave 249
652 L.UC_U_Acute & -- LC_U_Acute 250
653 L.UC_U_Circumflex & -- LC_U_Circumflex 251
654 L.UC_U_Diaeresis & -- LC_U_Diaeresis 252
655 L.UC_Y_Acute & -- LC_Y_Acute 253
656 L.UC_Icelandic_Thorn & -- LC_Icelandic_Thorn 254
657 L.LC_Y_Diaeresis); -- LC_Y_Diaeresis 255
659 Basic_Map : constant Character_Mapping :=
660 (L.NUL & -- NUL 0
661 L.SOH & -- SOH 1
662 L.STX & -- STX 2
663 L.ETX & -- ETX 3
664 L.EOT & -- EOT 4
665 L.ENQ & -- ENQ 5
666 L.ACK & -- ACK 6
667 L.BEL & -- BEL 7
668 L.BS & -- BS 8
669 L.HT & -- HT 9
670 L.LF & -- LF 10
671 L.VT & -- VT 11
672 L.FF & -- FF 12
673 L.CR & -- CR 13
674 L.SO & -- SO 14
675 L.SI & -- SI 15
676 L.DLE & -- DLE 16
677 L.DC1 & -- DC1 17
678 L.DC2 & -- DC2 18
679 L.DC3 & -- DC3 19
680 L.DC4 & -- DC4 20
681 L.NAK & -- NAK 21
682 L.SYN & -- SYN 22
683 L.ETB & -- ETB 23
684 L.CAN & -- CAN 24
685 L.EM & -- EM 25
686 L.SUB & -- SUB 26
687 L.ESC & -- ESC 27
688 L.FS & -- FS 28
689 L.GS & -- GS 29
690 L.RS & -- RS 30
691 L.US & -- US 31
692 L.Space & -- ' ' 32
693 L.Exclamation & -- '!' 33
694 L.Quotation & -- '"' 34
695 L.Number_Sign & -- '#' 35
696 L.Dollar_Sign & -- '$' 36
697 L.Percent_Sign & -- '%' 37
698 L.Ampersand & -- '&' 38
699 L.Apostrophe & -- ''' 39
700 L.Left_Parenthesis & -- '(' 40
701 L.Right_Parenthesis & -- ')' 41
702 L.Asterisk & -- '*' 42
703 L.Plus_Sign & -- '+' 43
704 L.Comma & -- ',' 44
705 L.Hyphen & -- '-' 45
706 L.Full_Stop & -- '.' 46
707 L.Solidus & -- '/' 47
708 '0' & -- '0' 48
709 '1' & -- '1' 49
710 '2' & -- '2' 50
711 '3' & -- '3' 51
712 '4' & -- '4' 52
713 '5' & -- '5' 53
714 '6' & -- '6' 54
715 '7' & -- '7' 55
716 '8' & -- '8' 56
717 '9' & -- '9' 57
718 L.Colon & -- ':' 58
719 L.Semicolon & -- ';' 59
720 L.Less_Than_Sign & -- '<' 60
721 L.Equals_Sign & -- '=' 61
722 L.Greater_Than_Sign & -- '>' 62
723 L.Question & -- '?' 63
724 L.Commercial_At & -- '@' 64
725 'A' & -- 'A' 65
726 'B' & -- 'B' 66
727 'C' & -- 'C' 67
728 'D' & -- 'D' 68
729 'E' & -- 'E' 69
730 'F' & -- 'F' 70
731 'G' & -- 'G' 71
732 'H' & -- 'H' 72
733 'I' & -- 'I' 73
734 'J' & -- 'J' 74
735 'K' & -- 'K' 75
736 'L' & -- 'L' 76
737 'M' & -- 'M' 77
738 'N' & -- 'N' 78
739 'O' & -- 'O' 79
740 'P' & -- 'P' 80
741 'Q' & -- 'Q' 81
742 'R' & -- 'R' 82
743 'S' & -- 'S' 83
744 'T' & -- 'T' 84
745 'U' & -- 'U' 85
746 'V' & -- 'V' 86
747 'W' & -- 'W' 87
748 'X' & -- 'X' 88
749 'Y' & -- 'Y' 89
750 'Z' & -- 'Z' 90
751 L.Left_Square_Bracket & -- '[' 91
752 L.Reverse_Solidus & -- '\' 92
753 L.Right_Square_Bracket & -- ']' 93
754 L.Circumflex & -- '^' 94
755 L.Low_Line & -- '_' 95
756 L.Grave & -- '`' 96
757 L.LC_A & -- 'a' 97
758 L.LC_B & -- 'b' 98
759 L.LC_C & -- 'c' 99
760 L.LC_D & -- 'd' 100
761 L.LC_E & -- 'e' 101
762 L.LC_F & -- 'f' 102
763 L.LC_G & -- 'g' 103
764 L.LC_H & -- 'h' 104
765 L.LC_I & -- 'i' 105
766 L.LC_J & -- 'j' 106
767 L.LC_K & -- 'k' 107
768 L.LC_L & -- 'l' 108
769 L.LC_M & -- 'm' 109
770 L.LC_N & -- 'n' 110
771 L.LC_O & -- 'o' 111
772 L.LC_P & -- 'p' 112
773 L.LC_Q & -- 'q' 113
774 L.LC_R & -- 'r' 114
775 L.LC_S & -- 's' 115
776 L.LC_T & -- 't' 116
777 L.LC_U & -- 'u' 117
778 L.LC_V & -- 'v' 118
779 L.LC_W & -- 'w' 119
780 L.LC_X & -- 'x' 120
781 L.LC_Y & -- 'y' 121
782 L.LC_Z & -- 'z' 122
783 L.Left_Curly_Bracket & -- '{' 123
784 L.Vertical_Line & -- '|' 124
785 L.Right_Curly_Bracket & -- '}' 125
786 L.Tilde & -- '~' 126
787 L.DEL & -- DEL 127
788 L.Reserved_128 & -- Reserved_128 128
789 L.Reserved_129 & -- Reserved_129 129
790 L.BPH & -- BPH 130
791 L.NBH & -- NBH 131
792 L.Reserved_132 & -- Reserved_132 132
793 L.NEL & -- NEL 133
794 L.SSA & -- SSA 134
795 L.ESA & -- ESA 135
796 L.HTS & -- HTS 136
797 L.HTJ & -- HTJ 137
798 L.VTS & -- VTS 138
799 L.PLD & -- PLD 139
800 L.PLU & -- PLU 140
801 L.RI & -- RI 141
802 L.SS2 & -- SS2 142
803 L.SS3 & -- SS3 143
804 L.DCS & -- DCS 144
805 L.PU1 & -- PU1 145
806 L.PU2 & -- PU2 146
807 L.STS & -- STS 147
808 L.CCH & -- CCH 148
809 L.MW & -- MW 149
810 L.SPA & -- SPA 150
811 L.EPA & -- EPA 151
812 L.SOS & -- SOS 152
813 L.Reserved_153 & -- Reserved_153 153
814 L.SCI & -- SCI 154
815 L.CSI & -- CSI 155
816 L.ST & -- ST 156
817 L.OSC & -- OSC 157
818 L.PM & -- PM 158
819 L.APC & -- APC 159
820 L.No_Break_Space & -- No_Break_Space 160
821 L.Inverted_Exclamation & -- Inverted_Exclamation 161
822 L.Cent_Sign & -- Cent_Sign 162
823 L.Pound_Sign & -- Pound_Sign 163
824 L.Currency_Sign & -- Currency_Sign 164
825 L.Yen_Sign & -- Yen_Sign 165
826 L.Broken_Bar & -- Broken_Bar 166
827 L.Section_Sign & -- Section_Sign 167
828 L.Diaeresis & -- Diaeresis 168
829 L.Copyright_Sign & -- Copyright_Sign 169
830 L.Feminine_Ordinal_Indicator & -- Feminine_Ordinal_Indicator 170
831 L.Left_Angle_Quotation & -- Left_Angle_Quotation 171
832 L.Not_Sign & -- Not_Sign 172
833 L.Soft_Hyphen & -- Soft_Hyphen 173
834 L.Registered_Trade_Mark_Sign & -- Registered_Trade_Mark_Sign 174
835 L.Macron & -- Macron 175
836 L.Degree_Sign & -- Degree_Sign 176
837 L.Plus_Minus_Sign & -- Plus_Minus_Sign 177
838 L.Superscript_Two & -- Superscript_Two 178
839 L.Superscript_Three & -- Superscript_Three 179
840 L.Acute & -- Acute 180
841 L.Micro_Sign & -- Micro_Sign 181
842 L.Pilcrow_Sign & -- Pilcrow_Sign 182
843 L.Middle_Dot & -- Middle_Dot 183
844 L.Cedilla & -- Cedilla 184
845 L.Superscript_One & -- Superscript_One 185
846 L.Masculine_Ordinal_Indicator & -- Masculine_Ordinal_Indicator 186
847 L.Right_Angle_Quotation & -- Right_Angle_Quotation 187
848 L.Fraction_One_Quarter & -- Fraction_One_Quarter 188
849 L.Fraction_One_Half & -- Fraction_One_Half 189
850 L.Fraction_Three_Quarters & -- Fraction_Three_Quarters 190
851 L.Inverted_Question & -- Inverted_Question 191
852 'A' & -- UC_A_Grave 192
853 'A' & -- UC_A_Acute 193
854 'A' & -- UC_A_Circumflex 194
855 'A' & -- UC_A_Tilde 195
856 'A' & -- UC_A_Diaeresis 196
857 'A' & -- UC_A_Ring 197
858 L.UC_AE_Diphthong & -- UC_AE_Diphthong 198
859 'C' & -- UC_C_Cedilla 199
860 'E' & -- UC_E_Grave 200
861 'E' & -- UC_E_Acute 201
862 'E' & -- UC_E_Circumflex 202
863 'E' & -- UC_E_Diaeresis 203
864 'I' & -- UC_I_Grave 204
865 'I' & -- UC_I_Acute 205
866 'I' & -- UC_I_Circumflex 206
867 'I' & -- UC_I_Diaeresis 207
868 L.UC_Icelandic_Eth & -- UC_Icelandic_Eth 208
869 'N' & -- UC_N_Tilde 209
870 'O' & -- UC_O_Grave 210
871 'O' & -- UC_O_Acute 211
872 'O' & -- UC_O_Circumflex 212
873 'O' & -- UC_O_Tilde 213
874 'O' & -- UC_O_Diaeresis 214
875 L.Multiplication_Sign & -- Multiplication_Sign 215
876 'O' & -- UC_O_Oblique_Stroke 216
877 'U' & -- UC_U_Grave 217
878 'U' & -- UC_U_Acute 218
879 'U' & -- UC_U_Circumflex 219
880 'U' & -- UC_U_Diaeresis 220
881 'Y' & -- UC_Y_Acute 221
882 L.UC_Icelandic_Thorn & -- UC_Icelandic_Thorn 222
883 L.LC_German_Sharp_S & -- LC_German_Sharp_S 223
884 L.LC_A & -- LC_A_Grave 224
885 L.LC_A & -- LC_A_Acute 225
886 L.LC_A & -- LC_A_Circumflex 226
887 L.LC_A & -- LC_A_Tilde 227
888 L.LC_A & -- LC_A_Diaeresis 228
889 L.LC_A & -- LC_A_Ring 229
890 L.LC_AE_Diphthong & -- LC_AE_Diphthong 230
891 L.LC_C & -- LC_C_Cedilla 231
892 L.LC_E & -- LC_E_Grave 232
893 L.LC_E & -- LC_E_Acute 233
894 L.LC_E & -- LC_E_Circumflex 234
895 L.LC_E & -- LC_E_Diaeresis 235
896 L.LC_I & -- LC_I_Grave 236
897 L.LC_I & -- LC_I_Acute 237
898 L.LC_I & -- LC_I_Circumflex 238
899 L.LC_I & -- LC_I_Diaeresis 239
900 L.LC_Icelandic_Eth & -- LC_Icelandic_Eth 240
901 L.LC_N & -- LC_N_Tilde 241
902 L.LC_O & -- LC_O_Grave 242
903 L.LC_O & -- LC_O_Acute 243
904 L.LC_O & -- LC_O_Circumflex 244
905 L.LC_O & -- LC_O_Tilde 245
906 L.LC_O & -- LC_O_Diaeresis 246
907 L.Division_Sign & -- Division_Sign 247
908 L.LC_O & -- LC_O_Oblique_Stroke 248
909 L.LC_U & -- LC_U_Grave 249
910 L.LC_U & -- LC_U_Acute 250
911 L.LC_U & -- LC_U_Circumflex 251
912 L.LC_U & -- LC_U_Diaeresis 252
913 L.LC_Y & -- LC_Y_Acute 253
914 L.LC_Icelandic_Thorn & -- LC_Icelandic_Thorn 254
915 L.LC_Y); -- LC_Y_Diaeresis 255
917 end Ada.Strings.Maps.Constants;