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