OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [a-swmwco.ads] - Blame information for rev 729

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 706 jeremybenn
------------------------------------------------------------------------------
2
--                                                                          --
3
--                         GNAT RUN-TIME COMPONENTS                         --
4
--                                                                          --
5
-- A D A . S T R I N G S . W I D E _ M A P S . W I D E _ 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
 
36
with Ada.Characters.Wide_Latin_1;
37
 
38
package Ada.Strings.Wide_Maps.Wide_Constants is
39
   pragma Preelaborate;
40
 
41
   Control_Set           : constant Wide_Maps.Wide_Character_Set;
42
   Graphic_Set           : constant Wide_Maps.Wide_Character_Set;
43
   Letter_Set            : constant Wide_Maps.Wide_Character_Set;
44
   Lower_Set             : constant Wide_Maps.Wide_Character_Set;
45
   Upper_Set             : constant Wide_Maps.Wide_Character_Set;
46
   Basic_Set             : constant Wide_Maps.Wide_Character_Set;
47
   Decimal_Digit_Set     : constant Wide_Maps.Wide_Character_Set;
48
   Hexadecimal_Digit_Set : constant Wide_Maps.Wide_Character_Set;
49
   Alphanumeric_Set      : constant Wide_Maps.Wide_Character_Set;
50
   Special_Graphic_Set   : constant Wide_Maps.Wide_Character_Set;
51
   ISO_646_Set           : constant Wide_Maps.Wide_Character_Set;
52
   Character_Set         : constant Wide_Maps.Wide_Character_Set;
53
 
54
   Lower_Case_Map        : constant Wide_Maps.Wide_Character_Mapping;
55
   --  Maps to lower case for letters, else identity
56
 
57
   Upper_Case_Map        : constant Wide_Maps.Wide_Character_Mapping;
58
   --  Maps to upper case for letters, else identity
59
 
60
   Basic_Map             : constant Wide_Maps.Wide_Character_Mapping;
61
   --  Maps to basic letter for letters, else identity
62
 
63
private
64
   package W renames Ada.Characters.Wide_Latin_1;
65
 
66
   subtype WC is Wide_Character;
67
 
68
   Control_Ranges           : aliased constant Wide_Character_Ranges :=
69
     ((W.NUL, W.US),
70
      (W.DEL, W.APC));
71
 
72
   Control_Set              : constant Wide_Character_Set :=
73
     (AF.Controlled with
74
      Control_Ranges'Unrestricted_Access);
75
 
76
   Graphic_Ranges           : aliased constant Wide_Character_Ranges :=
77
     ((W.Space,       W.Tilde),
78
      (WC'Val (256), WC'Last));
79
 
80
   Graphic_Set              : constant Wide_Character_Set :=
81
     (AF.Controlled with
82
      Graphic_Ranges'Unrestricted_Access);
83
 
84
   Letter_Ranges            : aliased constant Wide_Character_Ranges :=
85
     (('A',                   'Z'),
86
      (W.LC_A,                W.LC_Z),
87
      (W.UC_A_Grave,          W.UC_O_Diaeresis),
88
      (W.UC_O_Oblique_Stroke, W.LC_O_Diaeresis),
89
      (W.LC_O_Oblique_Stroke, W.LC_Y_Diaeresis));
90
 
91
   Letter_Set               : constant Wide_Character_Set :=
92
     (AF.Controlled with
93
      Letter_Ranges'Unrestricted_Access);
94
 
95
   Lower_Ranges             : aliased constant Wide_Character_Ranges :=
96
     (1 => (W.LC_A,                 W.LC_Z),
97
      2 => (W.LC_German_Sharp_S,   W.LC_O_Diaeresis),
98
      3 => (W.LC_O_Oblique_Stroke, W.LC_Y_Diaeresis));
99
 
100
   Lower_Set                : constant Wide_Character_Set :=
101
     (AF.Controlled with
102
      Lower_Ranges'Unrestricted_Access);
103
 
104
   Upper_Ranges             : aliased constant Wide_Character_Ranges :=
105
     (1 => ('A',                   'Z'),
106
      2 => (W.UC_A_Grave,          W.UC_O_Diaeresis),
107
      3 => (W.UC_O_Oblique_Stroke, W.UC_Icelandic_Thorn));
108
 
109
   Upper_Set                : constant Wide_Character_Set :=
110
     (AF.Controlled with
111
      Upper_Ranges'Unrestricted_Access);
112
 
113
   Basic_Ranges             : aliased constant Wide_Character_Ranges :=
114
     (1 => ('A',                   'Z'),
115
      2 => (W.LC_A,                W.LC_Z),
116
      3 => (W.UC_AE_Diphthong,     W.UC_AE_Diphthong),
117
      4 => (W.LC_AE_Diphthong,     W.LC_AE_Diphthong),
118
      5 => (W.LC_German_Sharp_S,   W.LC_German_Sharp_S),
119
      6 => (W.UC_Icelandic_Thorn,  W.UC_Icelandic_Thorn),
120
      7 => (W.LC_Icelandic_Thorn,  W.LC_Icelandic_Thorn),
121
      8 => (W.UC_Icelandic_Eth,    W.UC_Icelandic_Eth),
122
      9 => (W.LC_Icelandic_Eth,    W.LC_Icelandic_Eth));
123
 
124
   Basic_Set                : constant Wide_Character_Set :=
125
     (AF.Controlled with
126
      Basic_Ranges'Unrestricted_Access);
127
 
128
   Decimal_Digit_Ranges     : aliased constant Wide_Character_Ranges :=
129
     (1 => ('0', '9'));
130
 
131
   Decimal_Digit_Set        : constant Wide_Character_Set :=
132
     (AF.Controlled with
133
      Decimal_Digit_Ranges'Unrestricted_Access);
134
 
135
   Hexadecimal_Digit_Ranges : aliased constant Wide_Character_Ranges :=
136
     (1 => ('0', '9'),
137
      2 => ('A', 'F'),
138
      3 => (W.LC_A, W.LC_F));
139
 
140
   Hexadecimal_Digit_Set    : constant Wide_Character_Set :=
141
     (AF.Controlled with
142
      Hexadecimal_Digit_Ranges'Unrestricted_Access);
143
 
144
   Alphanumeric_Ranges      : aliased constant Wide_Character_Ranges :=
145
     (1 => ('0',                   '9'),
146
      2 => ('A',                   'Z'),
147
      3 => (W.LC_A,                W.LC_Z),
148
      4 => (W.UC_A_Grave,          W.UC_O_Diaeresis),
149
      5 => (W.UC_O_Oblique_Stroke, W.LC_O_Diaeresis),
150
      6 => (W.LC_O_Oblique_Stroke, W.LC_Y_Diaeresis));
151
 
152
   Alphanumeric_Set         : constant Wide_Character_Set :=
153
     (AF.Controlled with
154
      Alphanumeric_Ranges'Unrestricted_Access);
155
 
156
   Special_Graphic_Ranges   : aliased constant Wide_Character_Ranges :=
157
     (1 => (Wide_Space,            W.Solidus),
158
      2 => (W.Colon,               W.Commercial_At),
159
      3 => (W.Left_Square_Bracket, W.Grave),
160
      4 => (W.Left_Curly_Bracket,  W.Tilde),
161
      5 => (W.No_Break_Space,      W.Inverted_Question),
162
      6 => (W.Multiplication_Sign, W.Multiplication_Sign),
163
      7 => (W.Division_Sign,       W.Division_Sign));
164
 
165
   Special_Graphic_Set      : constant Wide_Character_Set :=
166
     (AF.Controlled with
167
      Special_Graphic_Ranges'Unrestricted_Access);
168
 
169
   ISO_646_Ranges           : aliased constant Wide_Character_Ranges :=
170
     (1 => (W.NUL, W.DEL));
171
 
172
   ISO_646_Set              : constant Wide_Character_Set :=
173
     (AF.Controlled with
174
      ISO_646_Ranges'Unrestricted_Access);
175
 
176
   Character_Ranges         : aliased constant Wide_Character_Ranges :=
177
     (1 => (W.NUL, WC'Val (255)));
178
 
179
   Character_Set            : constant Wide_Character_Set :=
180
     (AF.Controlled with
181
      Character_Ranges'Unrestricted_Access);
182
 
183
   Lower_Case_Mapping : aliased constant Wide_Character_Mapping_Values :=
184
     (Length => 56,
185
 
186
      Domain =>
187
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ" &
188
         W.UC_A_Grave                &
189
         W.UC_A_Acute                &
190
         W.UC_A_Circumflex           &
191
         W.UC_A_Tilde                &
192
         W.UC_A_Diaeresis            &
193
         W.UC_A_Ring                 &
194
         W.UC_AE_Diphthong           &
195
         W.UC_C_Cedilla              &
196
         W.UC_E_Grave                &
197
         W.UC_E_Acute                &
198
         W.UC_E_Circumflex           &
199
         W.UC_E_Diaeresis            &
200
         W.UC_I_Grave                &
201
         W.UC_I_Acute                &
202
         W.UC_I_Circumflex           &
203
         W.UC_I_Diaeresis            &
204
         W.UC_Icelandic_Eth          &
205
         W.UC_N_Tilde                &
206
         W.UC_O_Grave                &
207
         W.UC_O_Acute                &
208
         W.UC_O_Circumflex           &
209
         W.UC_O_Tilde                &
210
         W.UC_O_Diaeresis            &
211
         W.UC_O_Oblique_Stroke       &
212
         W.UC_U_Grave                &
213
         W.UC_U_Acute                &
214
         W.UC_U_Circumflex           &
215
         W.UC_U_Diaeresis            &
216
         W.UC_Y_Acute                &
217
         W.UC_Icelandic_Thorn,
218
 
219
      Rangev =>
220
        "abcdefghijklmnopqrstuvwxyz" &
221
         W.LC_A_Grave                &
222
         W.LC_A_Acute                &
223
         W.LC_A_Circumflex           &
224
         W.LC_A_Tilde                &
225
         W.LC_A_Diaeresis            &
226
         W.LC_A_Ring                 &
227
         W.LC_AE_Diphthong           &
228
         W.LC_C_Cedilla              &
229
         W.LC_E_Grave                &
230
         W.LC_E_Acute                &
231
         W.LC_E_Circumflex           &
232
         W.LC_E_Diaeresis            &
233
         W.LC_I_Grave                &
234
         W.LC_I_Acute                &
235
         W.LC_I_Circumflex           &
236
         W.LC_I_Diaeresis            &
237
         W.LC_Icelandic_Eth          &
238
         W.LC_N_Tilde                &
239
         W.LC_O_Grave                &
240
         W.LC_O_Acute                &
241
         W.LC_O_Circumflex           &
242
         W.LC_O_Tilde                &
243
         W.LC_O_Diaeresis            &
244
         W.LC_O_Oblique_Stroke       &
245
         W.LC_U_Grave                &
246
         W.LC_U_Acute                &
247
         W.LC_U_Circumflex           &
248
         W.LC_U_Diaeresis            &
249
         W.LC_Y_Acute                &
250
         W.LC_Icelandic_Thorn);
251
 
252
   Lower_Case_Map : constant Wide_Character_Mapping :=
253
     (AF.Controlled with
254
      Map => Lower_Case_Mapping'Unrestricted_Access);
255
 
256
   Upper_Case_Mapping : aliased constant Wide_Character_Mapping_Values :=
257
     (Length => 56,
258
 
259
      Domain =>
260
        "abcdefghijklmnopqrstuvwxyz" &
261
         W.LC_A_Grave                &
262
         W.LC_A_Acute                &
263
         W.LC_A_Circumflex           &
264
         W.LC_A_Tilde                &
265
         W.LC_A_Diaeresis            &
266
         W.LC_A_Ring                 &
267
         W.LC_AE_Diphthong           &
268
         W.LC_C_Cedilla              &
269
         W.LC_E_Grave                &
270
         W.LC_E_Acute                &
271
         W.LC_E_Circumflex           &
272
         W.LC_E_Diaeresis            &
273
         W.LC_I_Grave                &
274
         W.LC_I_Acute                &
275
         W.LC_I_Circumflex           &
276
         W.LC_I_Diaeresis            &
277
         W.LC_Icelandic_Eth          &
278
         W.LC_N_Tilde                &
279
         W.LC_O_Grave                &
280
         W.LC_O_Acute                &
281
         W.LC_O_Circumflex           &
282
         W.LC_O_Tilde                &
283
         W.LC_O_Diaeresis            &
284
         W.LC_O_Oblique_Stroke       &
285
         W.LC_U_Grave                &
286
         W.LC_U_Acute                &
287
         W.LC_U_Circumflex           &
288
         W.LC_U_Diaeresis            &
289
         W.LC_Y_Acute                &
290
         W.LC_Icelandic_Thorn,
291
 
292
      Rangev =>
293
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ" &
294
         W.UC_A_Grave                &
295
         W.UC_A_Acute                &
296
         W.UC_A_Circumflex           &
297
         W.UC_A_Tilde                &
298
         W.UC_A_Diaeresis            &
299
         W.UC_A_Ring                 &
300
         W.UC_AE_Diphthong           &
301
         W.UC_C_Cedilla              &
302
         W.UC_E_Grave                &
303
         W.UC_E_Acute                &
304
         W.UC_E_Circumflex           &
305
         W.UC_E_Diaeresis            &
306
         W.UC_I_Grave                &
307
         W.UC_I_Acute                &
308
         W.UC_I_Circumflex           &
309
         W.UC_I_Diaeresis            &
310
         W.UC_Icelandic_Eth          &
311
         W.UC_N_Tilde                &
312
         W.UC_O_Grave                &
313
         W.UC_O_Acute                &
314
         W.UC_O_Circumflex           &
315
         W.UC_O_Tilde                &
316
         W.UC_O_Diaeresis            &
317
         W.UC_O_Oblique_Stroke       &
318
         W.UC_U_Grave                &
319
         W.UC_U_Acute                &
320
         W.UC_U_Circumflex           &
321
         W.UC_U_Diaeresis            &
322
         W.UC_Y_Acute                &
323
         W.UC_Icelandic_Thorn);
324
 
325
   Upper_Case_Map : constant Wide_Character_Mapping :=
326
     (AF.Controlled with
327
      Upper_Case_Mapping'Unrestricted_Access);
328
 
329
   Basic_Mapping : aliased constant Wide_Character_Mapping_Values :=
330
     (Length => 55,
331
 
332
      Domain =>
333
        W.UC_A_Grave          &
334
        W.UC_A_Acute          &
335
        W.UC_A_Circumflex     &
336
        W.UC_A_Tilde          &
337
        W.UC_A_Diaeresis      &
338
        W.UC_A_Ring           &
339
        W.UC_C_Cedilla        &
340
        W.UC_E_Grave          &
341
        W.UC_E_Acute          &
342
        W.UC_E_Circumflex     &
343
        W.UC_E_Diaeresis      &
344
        W.UC_I_Grave          &
345
        W.UC_I_Acute          &
346
        W.UC_I_Circumflex     &
347
        W.UC_I_Diaeresis      &
348
        W.UC_N_Tilde          &
349
        W.UC_O_Grave          &
350
        W.UC_O_Acute          &
351
        W.UC_O_Circumflex     &
352
        W.UC_O_Tilde          &
353
        W.UC_O_Diaeresis      &
354
        W.UC_O_Oblique_Stroke &
355
        W.UC_U_Grave          &
356
        W.UC_U_Acute          &
357
        W.UC_U_Circumflex     &
358
        W.UC_U_Diaeresis      &
359
        W.UC_Y_Acute          &
360
        W.LC_A_Grave          &
361
        W.LC_A_Acute          &
362
        W.LC_A_Circumflex     &
363
        W.LC_A_Tilde          &
364
        W.LC_A_Diaeresis      &
365
        W.LC_A_Ring           &
366
        W.LC_C_Cedilla        &
367
        W.LC_E_Grave          &
368
        W.LC_E_Acute          &
369
        W.LC_E_Circumflex     &
370
        W.LC_E_Diaeresis      &
371
        W.LC_I_Grave          &
372
        W.LC_I_Acute          &
373
        W.LC_I_Circumflex     &
374
        W.LC_I_Diaeresis      &
375
        W.LC_N_Tilde          &
376
        W.LC_O_Grave          &
377
        W.LC_O_Acute          &
378
        W.LC_O_Circumflex     &
379
        W.LC_O_Tilde          &
380
        W.LC_O_Diaeresis      &
381
        W.LC_O_Oblique_Stroke &
382
        W.LC_U_Grave          &
383
        W.LC_U_Acute          &
384
        W.LC_U_Circumflex     &
385
        W.LC_U_Diaeresis      &
386
        W.LC_Y_Acute          &
387
        W.LC_Y_Diaeresis,
388
 
389
      Rangev =>
390
        'A'        &  -- UC_A_Grave
391
        'A'        &  -- UC_A_Acute
392
        'A'        &  -- UC_A_Circumflex
393
        'A'        &  -- UC_A_Tilde
394
        'A'        &  -- UC_A_Diaeresis
395
        'A'        &  -- UC_A_Ring
396
        'C'        &  -- UC_C_Cedilla
397
        'E'        &  -- UC_E_Grave
398
        'E'        &  -- UC_E_Acute
399
        'E'        &  -- UC_E_Circumflex
400
        'E'        &  -- UC_E_Diaeresis
401
        'I'        &  -- UC_I_Grave
402
        'I'        &  -- UC_I_Acute
403
        'I'        &  -- UC_I_Circumflex
404
        'I'        &  -- UC_I_Diaeresis
405
        'N'        &  -- UC_N_Tilde
406
        'O'        &  -- UC_O_Grave
407
        'O'        &  -- UC_O_Acute
408
        'O'        &  -- UC_O_Circumflex
409
        'O'        &  -- UC_O_Tilde
410
        'O'        &  -- UC_O_Diaeresis
411
        'O'        &  -- UC_O_Oblique_Stroke
412
        'U'        &  -- UC_U_Grave
413
        'U'        &  -- UC_U_Acute
414
        'U'        &  -- UC_U_Circumflex
415
        'U'        &  -- UC_U_Diaeresis
416
        'Y'        &  -- UC_Y_Acute
417
        'a'        &  -- LC_A_Grave
418
        'a'        &  -- LC_A_Acute
419
        'a'        &  -- LC_A_Circumflex
420
        'a'        &  -- LC_A_Tilde
421
        'a'        &  -- LC_A_Diaeresis
422
        'a'        &  -- LC_A_Ring
423
        'c'        &  -- LC_C_Cedilla
424
        'e'        &  -- LC_E_Grave
425
        'e'        &  -- LC_E_Acute
426
        'e'        &  -- LC_E_Circumflex
427
        'e'        &  -- LC_E_Diaeresis
428
        'i'        &  -- LC_I_Grave
429
        'i'        &  -- LC_I_Acute
430
        'i'        &  -- LC_I_Circumflex
431
        'i'        &  -- LC_I_Diaeresis
432
        'n'        &  -- LC_N_Tilde
433
        'o'        &  -- LC_O_Grave
434
        'o'        &  -- LC_O_Acute
435
        'o'        &  -- LC_O_Circumflex
436
        'o'        &  -- LC_O_Tilde
437
        'o'        &  -- LC_O_Diaeresis
438
        'o'        &  -- LC_O_Oblique_Stroke
439
        'u'        &  -- LC_U_Grave
440
        'u'        &  -- LC_U_Acute
441
        'u'        &  -- LC_U_Circumflex
442
        'u'        &  -- LC_U_Diaeresis
443
        'y'        &  -- LC_Y_Acute
444
        'y');         -- LC_Y_Diaeresis
445
 
446
   Basic_Map : constant Wide_Character_Mapping :=
447
     (AF.Controlled with
448
      Basic_Mapping'Unrestricted_Access);
449
 
450
end Ada.Strings.Wide_Maps.Wide_Constants;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.