OSDN Git Service

New Language: Ada
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-cwila1.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT RUNTIME COMPONENTS                          --
4 --                                                                          --
5 --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 1           --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 --                            $Revision: 1.11 $
10 --                                                                          --
11 --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
12 --                                                                          --
13 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
14 -- terms of the  GNU General Public License as published  by the Free Soft- --
15 -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
16 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
17 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
18 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
19 -- for  more details.  You should have  received  a copy of the GNU General --
20 -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
21 -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
22 -- MA 02111-1307, USA.                                                      --
23 --                                                                          --
24 -- As a special exception,  if other files  instantiate  generics from this --
25 -- unit, or you link  this unit with other files  to produce an executable, --
26 -- this  unit  does not  by itself cause  the resulting  executable  to  be --
27 -- covered  by the  GNU  General  Public  License.  This exception does not --
28 -- however invalidate  any other reasons why  the executable file  might be --
29 -- covered by the  GNU Public License.                                      --
30 --                                                                          --
31 -- GNAT was originally developed  by the GNAT team at  New York University. --
32 -- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
33 --                                                                          --
34 ------------------------------------------------------------------------------
35
36 --  This package provides definitions analogous to those in the RM defined
37 --  package Ada.Characters.Latin_1 except that the type of the constants
38 --  is Wide_Character instead of Character. The provision of this package
39 --  is in accordance with the implementation permission in RM (A.3.3(27)).
40
41 package Ada.Characters.Wide_Latin_1 is
42 pragma Pure (Wide_Latin_1);
43
44    ------------------------
45    -- Control Characters --
46    ------------------------
47
48    NUL                  : constant Wide_Character := Wide_Character'Val (0);
49    SOH                  : constant Wide_Character := Wide_Character'Val (1);
50    STX                  : constant Wide_Character := Wide_Character'Val (2);
51    ETX                  : constant Wide_Character := Wide_Character'Val (3);
52    EOT                  : constant Wide_Character := Wide_Character'Val (4);
53    ENQ                  : constant Wide_Character := Wide_Character'Val (5);
54    ACK                  : constant Wide_Character := Wide_Character'Val (6);
55    BEL                  : constant Wide_Character := Wide_Character'Val (7);
56    BS                   : constant Wide_Character := Wide_Character'Val (8);
57    HT                   : constant Wide_Character := Wide_Character'Val (9);
58    LF                   : constant Wide_Character := Wide_Character'Val (10);
59    VT                   : constant Wide_Character := Wide_Character'Val (11);
60    FF                   : constant Wide_Character := Wide_Character'Val (12);
61    CR                   : constant Wide_Character := Wide_Character'Val (13);
62    SO                   : constant Wide_Character := Wide_Character'Val (14);
63    SI                   : constant Wide_Character := Wide_Character'Val (15);
64
65    DLE                  : constant Wide_Character := Wide_Character'Val (16);
66    DC1                  : constant Wide_Character := Wide_Character'Val (17);
67    DC2                  : constant Wide_Character := Wide_Character'Val (18);
68    DC3                  : constant Wide_Character := Wide_Character'Val (19);
69    DC4                  : constant Wide_Character := Wide_Character'Val (20);
70    NAK                  : constant Wide_Character := Wide_Character'Val (21);
71    SYN                  : constant Wide_Character := Wide_Character'Val (22);
72    ETB                  : constant Wide_Character := Wide_Character'Val (23);
73    CAN                  : constant Wide_Character := Wide_Character'Val (24);
74    EM                   : constant Wide_Character := Wide_Character'Val (25);
75    SUB                  : constant Wide_Character := Wide_Character'Val (26);
76    ESC                  : constant Wide_Character := Wide_Character'Val (27);
77    FS                   : constant Wide_Character := Wide_Character'Val (28);
78    GS                   : constant Wide_Character := Wide_Character'Val (29);
79    RS                   : constant Wide_Character := Wide_Character'Val (30);
80    US                   : constant Wide_Character := Wide_Character'Val (31);
81
82    -------------------------------------
83    -- ISO 646 Graphic Wide_Characters --
84    -------------------------------------
85
86    Space                : constant Wide_Character := ' ';  -- WC'Val(32)
87    Exclamation          : constant Wide_Character := '!';  -- WC'Val(33)
88    Quotation            : constant Wide_Character := '"';  -- WC'Val(34)
89    Number_Sign          : constant Wide_Character := '#';  -- WC'Val(35)
90    Dollar_Sign          : constant Wide_Character := '$';  -- WC'Val(36)
91    Percent_Sign         : constant Wide_Character := '%';  -- WC'Val(37)
92    Ampersand            : constant Wide_Character := '&';  -- WC'Val(38)
93    Apostrophe           : constant Wide_Character := ''';  -- WC'Val(39)
94    Left_Parenthesis     : constant Wide_Character := '(';  -- WC'Val(40)
95    Right_Parenthesis    : constant Wide_Character := ')';  -- WC'Val(41)
96    Asterisk             : constant Wide_Character := '*';  -- WC'Val(42)
97    Plus_Sign            : constant Wide_Character := '+';  -- WC'Val(43)
98    Comma                : constant Wide_Character := ',';  -- WC'Val(44)
99    Hyphen               : constant Wide_Character := '-';  -- WC'Val(45)
100    Minus_Sign           : Wide_Character renames Hyphen;
101    Full_Stop            : constant Wide_Character := '.';  -- WC'Val(46)
102    Solidus              : constant Wide_Character := '/';  -- WC'Val(47)
103
104    --  Decimal digits '0' though '9' are at positions 48 through 57
105
106    Colon                : constant Wide_Character := ':';  -- WC'Val(58)
107    Semicolon            : constant Wide_Character := ';';  -- WC'Val(59)
108    Less_Than_Sign       : constant Wide_Character := '<';  -- WC'Val(60)
109    Equals_Sign          : constant Wide_Character := '=';  -- WC'Val(61)
110    Greater_Than_Sign    : constant Wide_Character := '>';  -- WC'Val(62)
111    Question             : constant Wide_Character := '?';  -- WC'Val(63)
112
113    Commercial_At        : constant Wide_Character := '@';  -- WC'Val(64)
114
115    --  Letters 'A' through 'Z' are at positions 65 through 90
116
117    Left_Square_Bracket  : constant Wide_Character := '[';  -- WC'Val (91)
118    Reverse_Solidus      : constant Wide_Character := '\';  -- WC'Val (92)
119    Right_Square_Bracket : constant Wide_Character := ']';  -- WC'Val (93)
120    Circumflex           : constant Wide_Character := '^';  -- WC'Val (94)
121    Low_Line             : constant Wide_Character := '_';  -- WC'Val (95)
122
123    Grave                : constant Wide_Character := '`';  -- WC'Val (96)
124    LC_A                 : constant Wide_Character := 'a';  -- WC'Val (97)
125    LC_B                 : constant Wide_Character := 'b';  -- WC'Val (98)
126    LC_C                 : constant Wide_Character := 'c';  -- WC'Val (99)
127    LC_D                 : constant Wide_Character := 'd';  -- WC'Val (100)
128    LC_E                 : constant Wide_Character := 'e';  -- WC'Val (101)
129    LC_F                 : constant Wide_Character := 'f';  -- WC'Val (102)
130    LC_G                 : constant Wide_Character := 'g';  -- WC'Val (103)
131    LC_H                 : constant Wide_Character := 'h';  -- WC'Val (104)
132    LC_I                 : constant Wide_Character := 'i';  -- WC'Val (105)
133    LC_J                 : constant Wide_Character := 'j';  -- WC'Val (106)
134    LC_K                 : constant Wide_Character := 'k';  -- WC'Val (107)
135    LC_L                 : constant Wide_Character := 'l';  -- WC'Val (108)
136    LC_M                 : constant Wide_Character := 'm';  -- WC'Val (109)
137    LC_N                 : constant Wide_Character := 'n';  -- WC'Val (110)
138    LC_O                 : constant Wide_Character := 'o';  -- WC'Val (111)
139    LC_P                 : constant Wide_Character := 'p';  -- WC'Val (112)
140    LC_Q                 : constant Wide_Character := 'q';  -- WC'Val (113)
141    LC_R                 : constant Wide_Character := 'r';  -- WC'Val (114)
142    LC_S                 : constant Wide_Character := 's';  -- WC'Val (115)
143    LC_T                 : constant Wide_Character := 't';  -- WC'Val (116)
144    LC_U                 : constant Wide_Character := 'u';  -- WC'Val (117)
145    LC_V                 : constant Wide_Character := 'v';  -- WC'Val (118)
146    LC_W                 : constant Wide_Character := 'w';  -- WC'Val (119)
147    LC_X                 : constant Wide_Character := 'x';  -- WC'Val (120)
148    LC_Y                 : constant Wide_Character := 'y';  -- WC'Val (121)
149    LC_Z                 : constant Wide_Character := 'z';  -- WC'Val (122)
150    Left_Curly_Bracket   : constant Wide_Character := '{';  -- WC'Val (123)
151    Vertical_Line        : constant Wide_Character := '|';  -- WC'Val (124)
152    Right_Curly_Bracket  : constant Wide_Character := '}';  -- WC'Val (125)
153    Tilde                : constant Wide_Character := '~';  -- WC'Val (126)
154    DEL                  : constant Wide_Character := Wide_Character'Val (127);
155
156    --------------------------------------
157    -- ISO 6429 Control Wide_Characters --
158    --------------------------------------
159
160    IS4 : Wide_Character renames FS;
161    IS3 : Wide_Character renames GS;
162    IS2 : Wide_Character renames RS;
163    IS1 : Wide_Character renames US;
164
165    Reserved_128         : constant Wide_Character := Wide_Character'Val (128);
166    Reserved_129         : constant Wide_Character := Wide_Character'Val (129);
167    BPH                  : constant Wide_Character := Wide_Character'Val (130);
168    NBH                  : constant Wide_Character := Wide_Character'Val (131);
169    Reserved_132         : constant Wide_Character := Wide_Character'Val (132);
170    NEL                  : constant Wide_Character := Wide_Character'Val (133);
171    SSA                  : constant Wide_Character := Wide_Character'Val (134);
172    ESA                  : constant Wide_Character := Wide_Character'Val (135);
173    HTS                  : constant Wide_Character := Wide_Character'Val (136);
174    HTJ                  : constant Wide_Character := Wide_Character'Val (137);
175    VTS                  : constant Wide_Character := Wide_Character'Val (138);
176    PLD                  : constant Wide_Character := Wide_Character'Val (139);
177    PLU                  : constant Wide_Character := Wide_Character'Val (140);
178    RI                   : constant Wide_Character := Wide_Character'Val (141);
179    SS2                  : constant Wide_Character := Wide_Character'Val (142);
180    SS3                  : constant Wide_Character := Wide_Character'Val (143);
181
182    DCS                  : constant Wide_Character := Wide_Character'Val (144);
183    PU1                  : constant Wide_Character := Wide_Character'Val (145);
184    PU2                  : constant Wide_Character := Wide_Character'Val (146);
185    STS                  : constant Wide_Character := Wide_Character'Val (147);
186    CCH                  : constant Wide_Character := Wide_Character'Val (148);
187    MW                   : constant Wide_Character := Wide_Character'Val (149);
188    SPA                  : constant Wide_Character := Wide_Character'Val (150);
189    EPA                  : constant Wide_Character := Wide_Character'Val (151);
190
191    SOS                  : constant Wide_Character := Wide_Character'Val (152);
192    Reserved_153         : constant Wide_Character := Wide_Character'Val (153);
193    SCI                  : constant Wide_Character := Wide_Character'Val (154);
194    CSI                  : constant Wide_Character := Wide_Character'Val (155);
195    ST                   : constant Wide_Character := Wide_Character'Val (156);
196    OSC                  : constant Wide_Character := Wide_Character'Val (157);
197    PM                   : constant Wide_Character := Wide_Character'Val (158);
198    APC                  : constant Wide_Character := Wide_Character'Val (159);
199
200    -----------------------------------
201    -- Other Graphic Wide_Characters --
202    -----------------------------------
203
204    --  Wide_Character positions 160 (16#A0#) .. 175 (16#AF#)
205
206    No_Break_Space       : constant Wide_Character := Wide_Character'Val (160);
207    NBSP                 : Wide_Character renames No_Break_Space;
208    Inverted_Exclamation : constant Wide_Character := Wide_Character'Val (161);
209    Cent_Sign            : constant Wide_Character := Wide_Character'Val (162);
210    Pound_Sign           : constant Wide_Character := Wide_Character'Val (163);
211    Currency_Sign        : constant Wide_Character := Wide_Character'Val (164);
212    Yen_Sign             : constant Wide_Character := Wide_Character'Val (165);
213    Broken_Bar           : constant Wide_Character := Wide_Character'Val (166);
214    Section_Sign         : constant Wide_Character := Wide_Character'Val (167);
215    Diaeresis            : constant Wide_Character := Wide_Character'Val (168);
216    Copyright_Sign       : constant Wide_Character := Wide_Character'Val (169);
217    Feminine_Ordinal_Indicator
218                         : constant Wide_Character := Wide_Character'Val (170);
219    Left_Angle_Quotation : constant Wide_Character := Wide_Character'Val (171);
220    Not_Sign             : constant Wide_Character := Wide_Character'Val (172);
221    Soft_Hyphen          : constant Wide_Character := Wide_Character'Val (173);
222    Registered_Trade_Mark_Sign
223                         : constant Wide_Character := Wide_Character'Val (174);
224    Macron               : constant Wide_Character := Wide_Character'Val (175);
225
226    --  Wide_Character positions 176 (16#B0#) .. 191 (16#BF#)
227
228    Degree_Sign          : constant Wide_Character := Wide_Character'Val (176);
229    Ring_Above           : Wide_Character renames Degree_Sign;
230    Plus_Minus_Sign      : constant Wide_Character := Wide_Character'Val (177);
231    Superscript_Two      : constant Wide_Character := Wide_Character'Val (178);
232    Superscript_Three    : constant Wide_Character := Wide_Character'Val (179);
233    Acute                : constant Wide_Character := Wide_Character'Val (180);
234    Micro_Sign           : constant Wide_Character := Wide_Character'Val (181);
235    Pilcrow_Sign         : constant Wide_Character := Wide_Character'Val (182);
236    Paragraph_Sign       : Wide_Character renames Pilcrow_Sign;
237    Middle_Dot           : constant Wide_Character := Wide_Character'Val (183);
238    Cedilla              : constant Wide_Character := Wide_Character'Val (184);
239    Superscript_One      : constant Wide_Character := Wide_Character'Val (185);
240    Masculine_Ordinal_Indicator
241                         : constant Wide_Character := Wide_Character'Val (186);
242    Right_Angle_Quotation
243                         : constant Wide_Character := Wide_Character'Val (187);
244    Fraction_One_Quarter : constant Wide_Character := Wide_Character'Val (188);
245    Fraction_One_Half    : constant Wide_Character := Wide_Character'Val (189);
246    Fraction_Three_Quarters
247                         : constant Wide_Character := Wide_Character'Val (190);
248    Inverted_Question    : constant Wide_Character := Wide_Character'Val (191);
249
250    --  Wide_Character positions 192 (16#C0#) .. 207 (16#CF#)
251
252    UC_A_Grave           : constant Wide_Character := Wide_Character'Val (192);
253    UC_A_Acute           : constant Wide_Character := Wide_Character'Val (193);
254    UC_A_Circumflex      : constant Wide_Character := Wide_Character'Val (194);
255    UC_A_Tilde           : constant Wide_Character := Wide_Character'Val (195);
256    UC_A_Diaeresis       : constant Wide_Character := Wide_Character'Val (196);
257    UC_A_Ring            : constant Wide_Character := Wide_Character'Val (197);
258    UC_AE_Diphthong      : constant Wide_Character := Wide_Character'Val (198);
259    UC_C_Cedilla         : constant Wide_Character := Wide_Character'Val (199);
260    UC_E_Grave           : constant Wide_Character := Wide_Character'Val (200);
261    UC_E_Acute           : constant Wide_Character := Wide_Character'Val (201);
262    UC_E_Circumflex      : constant Wide_Character := Wide_Character'Val (202);
263    UC_E_Diaeresis       : constant Wide_Character := Wide_Character'Val (203);
264    UC_I_Grave           : constant Wide_Character := Wide_Character'Val (204);
265    UC_I_Acute           : constant Wide_Character := Wide_Character'Val (205);
266    UC_I_Circumflex      : constant Wide_Character := Wide_Character'Val (206);
267    UC_I_Diaeresis       : constant Wide_Character := Wide_Character'Val (207);
268
269    --  Wide_Character positions 208 (16#D0#) .. 223 (16#DF#)
270
271    UC_Icelandic_Eth     : constant Wide_Character := Wide_Character'Val (208);
272    UC_N_Tilde           : constant Wide_Character := Wide_Character'Val (209);
273    UC_O_Grave           : constant Wide_Character := Wide_Character'Val (210);
274    UC_O_Acute           : constant Wide_Character := Wide_Character'Val (211);
275    UC_O_Circumflex      : constant Wide_Character := Wide_Character'Val (212);
276    UC_O_Tilde           : constant Wide_Character := Wide_Character'Val (213);
277    UC_O_Diaeresis       : constant Wide_Character := Wide_Character'Val (214);
278    Multiplication_Sign  : constant Wide_Character := Wide_Character'Val (215);
279    UC_O_Oblique_Stroke  : constant Wide_Character := Wide_Character'Val (216);
280    UC_U_Grave           : constant Wide_Character := Wide_Character'Val (217);
281    UC_U_Acute           : constant Wide_Character := Wide_Character'Val (218);
282    UC_U_Circumflex      : constant Wide_Character := Wide_Character'Val (219);
283    UC_U_Diaeresis       : constant Wide_Character := Wide_Character'Val (220);
284    UC_Y_Acute           : constant Wide_Character := Wide_Character'Val (221);
285    UC_Icelandic_Thorn   : constant Wide_Character := Wide_Character'Val (222);
286    LC_German_Sharp_S    : constant Wide_Character := Wide_Character'Val (223);
287
288    --  Wide_Character positions 224 (16#E0#) .. 239 (16#EF#)
289
290    LC_A_Grave           : constant Wide_Character := Wide_Character'Val (224);
291    LC_A_Acute           : constant Wide_Character := Wide_Character'Val (225);
292    LC_A_Circumflex      : constant Wide_Character := Wide_Character'Val (226);
293    LC_A_Tilde           : constant Wide_Character := Wide_Character'Val (227);
294    LC_A_Diaeresis       : constant Wide_Character := Wide_Character'Val (228);
295    LC_A_Ring            : constant Wide_Character := Wide_Character'Val (229);
296    LC_AE_Diphthong      : constant Wide_Character := Wide_Character'Val (230);
297    LC_C_Cedilla         : constant Wide_Character := Wide_Character'Val (231);
298    LC_E_Grave           : constant Wide_Character := Wide_Character'Val (232);
299    LC_E_Acute           : constant Wide_Character := Wide_Character'Val (233);
300    LC_E_Circumflex      : constant Wide_Character := Wide_Character'Val (234);
301    LC_E_Diaeresis       : constant Wide_Character := Wide_Character'Val (235);
302    LC_I_Grave           : constant Wide_Character := Wide_Character'Val (236);
303    LC_I_Acute           : constant Wide_Character := Wide_Character'Val (237);
304    LC_I_Circumflex      : constant Wide_Character := Wide_Character'Val (238);
305    LC_I_Diaeresis       : constant Wide_Character := Wide_Character'Val (239);
306
307    --  Wide_Character positions 240 (16#F0#) .. 255 (16#FF)
308
309    LC_Icelandic_Eth     : constant Wide_Character := Wide_Character'Val (240);
310    LC_N_Tilde           : constant Wide_Character := Wide_Character'Val (241);
311    LC_O_Grave           : constant Wide_Character := Wide_Character'Val (242);
312    LC_O_Acute           : constant Wide_Character := Wide_Character'Val (243);
313    LC_O_Circumflex      : constant Wide_Character := Wide_Character'Val (244);
314    LC_O_Tilde           : constant Wide_Character := Wide_Character'Val (245);
315    LC_O_Diaeresis       : constant Wide_Character := Wide_Character'Val (246);
316    Division_Sign        : constant Wide_Character := Wide_Character'Val (247);
317    LC_O_Oblique_Stroke  : constant Wide_Character := Wide_Character'Val (248);
318    LC_U_Grave           : constant Wide_Character := Wide_Character'Val (249);
319    LC_U_Acute           : constant Wide_Character := Wide_Character'Val (250);
320    LC_U_Circumflex      : constant Wide_Character := Wide_Character'Val (251);
321    LC_U_Diaeresis       : constant Wide_Character := Wide_Character'Val (252);
322    LC_Y_Acute           : constant Wide_Character := Wide_Character'Val (253);
323    LC_Icelandic_Thorn   : constant Wide_Character := Wide_Character'Val (254);
324    LC_Y_Diaeresis       : constant Wide_Character := Wide_Character'Val (255);
325
326 end Ada.Characters.Wide_Latin_1;