-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
--- ware Foundation; either version 2, or (at your option) any later ver- --
+-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
--- for more details. You should have received a copy of the GNU General --
--- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
--- MA 02111-1307, USA. --
+-- or FITNESS FOR A PARTICULAR PURPOSE. --
+-- --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception, --
+-- version 3.1, as published by the Free Software Foundation. --
-- --
--- As a special exception, if other files instantiate generics from this --
--- unit, or you link this unit with other files to produce an executable, --
--- this unit does not by itself cause the resulting executable to be --
--- covered by the GNU General Public License. This exception does not --
--- however invalidate any other reasons why the executable file might be --
--- covered by the GNU Public License. --
+-- You should have received a copy of the GNU General Public License and --
+-- a copy of the GCC Runtime Library Exception along with this program; --
+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
+-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- Definitions for Latin-1 (ISO 8859-1) --
------------------------------------------
- Fold_Latin_1 : Translate_Table := Translate_Table'(
+ Fold_Latin_1 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_E0 => X_C0, X_F0 => X_D0,
'b' => 'B', X_E1 => X_C1, X_F1 => X_D1,
-- Definitions for Latin-2 (ISO 8859-2) --
------------------------------------------
- Fold_Latin_2 : Translate_Table := Translate_Table'(
+ Fold_Latin_2 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_E0 => X_C0, X_F0 => X_D0,
'b' => 'B', X_E1 => X_C1, X_F1 => X_D1, X_B1 => X_A1,
-- Definitions for Latin-3 (ISO 8859-3) --
------------------------------------------
- Fold_Latin_3 : Translate_Table := Translate_Table'(
+ Fold_Latin_3 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_E0 => X_C0,
'b' => 'B', X_E1 => X_C1, X_F1 => X_D1, X_B1 => X_A1,
-- Definitions for Latin-4 (ISO 8859-4) --
------------------------------------------
- Fold_Latin_4 : Translate_Table := Translate_Table'(
+ Fold_Latin_4 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_E0 => X_C0, X_F0 => X_D0,
'b' => 'B', X_E1 => X_C1, X_F1 => X_D1, X_B1 => X_A1,
-- Definitions for Latin-5 (Cyrillic ISO-8859-5) --
---------------------------------------------------
- Fold_Latin_5 : Translate_Table := Translate_Table'(
+ Fold_Latin_5 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_D0 => X_B0, X_E0 => X_C0,
'b' => 'B', X_D1 => X_B1, X_E1 => X_C1, X_F1 => X_A1,
-- Definitions for Latin-9 (ISO 8859-9) --
------------------------------------------
- Fold_Latin_9 : Translate_Table := Translate_Table'(
+ Fold_Latin_9 : constant Translate_Table := Translate_Table'(
'a' => 'A', X_E0 => X_C0, X_F0 => X_D0,
'b' => 'B', X_E1 => X_C1, X_F1 => X_D1,
-- for PC's in the US, it corresponds to the original PC character set.
-- See also the definitions for code page 850.
- Fold_IBM_PC_437 : Translate_Table := Translate_Table'(
+ Fold_IBM_PC_437 : constant Translate_Table := Translate_Table'(
'a' => 'A',
'b' => 'B',
-- set to include the additional characters defined in ISO Latin-1.
-- See also the definitions for code page 437.
- Fold_IBM_PC_850 : Translate_Table := Translate_Table'(
+ Fold_IBM_PC_850 : constant Translate_Table := Translate_Table'(
'a' => 'A',
'b' => 'B',
-- The full upper half set allows all upper half characters as letters,
-- and does not recognize any upper/lower case equivalences in this half.
- Fold_Full_Upper_Half : Translate_Table := Translate_Table'(
+ Fold_Full_Upper_Half : constant Translate_Table := Translate_Table'(
'a' => 'A',
'b' => 'B',
-- thus there are no upper/lower case equivalences in this half. This set
-- corresponds to the Ada 83 rules.
- Fold_No_Upper_Half : Translate_Table := Translate_Table'(
+ Fold_No_Upper_Half : constant Translate_Table := Translate_Table'(
'a' => 'A',
'b' => 'B',
Identifier_Char ('[') := True;
-- Add entry for ESC if wide characters in use with a wide character
- -- encoding method active that uses the ESC code for encoding. Also
- -- add entry for left bracket to capture use of brackets notation.
+ -- encoding method active that uses the ESC code for encoding.
if Identifier_Character_Set = 'w'
and then Wide_Character_Encoding_Method in WC_ESC_Encoding_Method