OSDN Git Service

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