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-- Copyright (C) 1992-2009, 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 3, 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. -- 21-- -- 22-- As a special exception under Section 7 of GPL version 3, you are granted -- 23-- additional permissions described in the GCC Runtime Library Exception, -- 24-- version 3.1, as published by the Free Software Foundation. -- 25-- -- 26-- You should have received a copy of the GNU General Public License and -- 27-- a copy of the GCC Runtime Library Exception along with this program; -- 28-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- 29-- <http://www.gnu.org/licenses/>. -- 30-- -- 31-- GNAT was originally developed by the GNAT team at New York University. -- 32-- Extensive contributions were provided by Ada Core Technologies Inc. -- 33-- -- 34------------------------------------------------------------------------------ 35 36with Ada.Characters.Latin_1; 37 38package Ada.Strings.Maps.Constants is 39 pragma Preelaborate; 40 pragma Pure_05; 41 -- In accordance with Ada 2005 AI-362 42 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; 54 55 Lower_Case_Map : constant Character_Mapping; 56 -- Maps to lower case for letters, else identity 57 58 Upper_Case_Map : constant Character_Mapping; 59 -- Maps to upper case for letters, else identity 60 61 Basic_Map : constant Character_Mapping; 62 -- Maps to basic letters for letters, else identity 63 64private 65 package L renames Ada.Characters.Latin_1; 66 67 Control_Set : constant Character_Set := 68 (L.NUL .. L.US => True, 69 L.DEL .. L.APC => True, 70 others => False); 71 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); 76 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); 84 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); 90 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); 96 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); 108 109 Decimal_Digit_Set : constant Character_Set := 110 ('0' .. '9' => True, 111 others => False); 112 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); 118 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); 127 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); 137 138 ISO_646_Set : constant Character_Set := 139 (L.NUL .. L.DEL => True, 140 others => False); 141 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 399 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 657 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 915 916end Ada.Strings.Maps.Constants; 917