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