diff options
Diffstat (limited to 'gcc/ada/a-strfix.ads')
-rw-r--r-- | gcc/ada/a-strfix.ads | 263 |
1 files changed, 126 insertions, 137 deletions
diff --git a/gcc/ada/a-strfix.ads b/gcc/ada/a-strfix.ads index 6b0c147e1ed..bf1a496828d 100644 --- a/gcc/ada/a-strfix.ads +++ b/gcc/ada/a-strfix.ads @@ -6,32 +6,10 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-1997 Free Software Foundation, Inc. -- --- -- --- This specification is derived from the Ada Reference Manual for use with -- --- GNAT. The copyright notice above, and the license provisions that follow -- --- apply solely to the contents of the part following the private keyword. -- --- -- --- 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- -- --- 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. -- --- -- --- 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. -- --- -- --- GNAT was originally developed by the GNAT team at New York University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- This specification is adapted from the Ada Reference Manual for use with -- +-- GNAT. In accordance with the copyright of that document, you can freely -- +-- copy and modify this specification, provided that if you redistribute a -- +-- modified version, any changes that you have made are clearly indicated. -- -- -- ------------------------------------------------------------------------------ @@ -46,63 +24,86 @@ pragma Preelaborate (Fixed); -------------------------------------------------------------- procedure Move - (Source : in String; + (Source : String; Target : out String; - Drop : in Truncation := Error; - Justify : in Alignment := Left; - Pad : in Character := Space); + Drop : Truncation := Error; + Justify : Alignment := Left; + Pad : Character := Space); ------------------------ -- Search Subprograms -- ------------------------ function Index - (Source : in String; - Pattern : in String; - Going : in Direction := Forward; - Mapping : in Maps.Character_Mapping := Maps.Identity) - return Natural; + (Source : String; + Pattern : String; + Going : Direction := Forward; + Mapping : Maps.Character_Mapping := Maps.Identity) return Natural; + + function Index + (Source : String; + Pattern : String; + Going : Direction := Forward; + Mapping : Maps.Character_Mapping_Function) return Natural; function Index - (Source : in String; - Pattern : in String; - Going : in Direction := Forward; - Mapping : in Maps.Character_Mapping_Function) - return Natural; + (Source : String; + Set : Maps.Character_Set; + Test : Membership := Inside; + Going : Direction := Forward) return Natural; function Index - (Source : in String; - Set : in Maps.Character_Set; - Test : in Membership := Inside; - Going : in Direction := Forward) - return Natural; + (Source : String; + Pattern : String; + From : Positive; + Going : Direction := Forward; + Mapping : Maps.Character_Mapping := Maps.Identity) return Natural; + pragma Ada_05 (Index); + + function Index + (Source : String; + Pattern : String; + From : Positive; + Going : Direction := Forward; + Mapping : Maps.Character_Mapping_Function) return Natural; + pragma Ada_05 (Index); + + function Index + (Source : String; + Set : Maps.Character_Set; + From : Positive; + Test : Membership := Inside; + Going : Direction := Forward) return Natural; + pragma Ada_05 (Index); + + function Index_Non_Blank + (Source : String; + Going : Direction := Forward) return Natural; function Index_Non_Blank - (Source : in String; - Going : in Direction := Forward) - return Natural; + (Source : String; + From : Positive; + Going : Direction := Forward) return Natural; + pragma Ada_05 (Index_Non_Blank); function Count - (Source : in String; - Pattern : in String; - Mapping : in Maps.Character_Mapping := Maps.Identity) - return Natural; + (Source : String; + Pattern : String; + Mapping : Maps.Character_Mapping := Maps.Identity) return Natural; function Count - (Source : in String; - Pattern : in String; - Mapping : in Maps.Character_Mapping_Function) - return Natural; + (Source : String; + Pattern : String; + Mapping : Maps.Character_Mapping_Function) return Natural; function Count - (Source : in String; - Set : in Maps.Character_Set) - return Natural; + (Source : String; + Set : Maps.Character_Set) return Natural; procedure Find_Token - (Source : in String; - Set : in Maps.Character_Set; - Test : in Membership; + (Source : String; + Set : Maps.Character_Set; + Test : Membership; First : out Positive; Last : out Natural); @@ -111,144 +112,132 @@ pragma Preelaborate (Fixed); ------------------------------------ function Translate - (Source : in String; - Mapping : in Maps.Character_Mapping) - return String; + (Source : String; + Mapping : Maps.Character_Mapping) return String; procedure Translate (Source : in out String; - Mapping : in Maps.Character_Mapping); + Mapping : Maps.Character_Mapping); function Translate - (Source : in String; - Mapping : in Maps.Character_Mapping_Function) - return String; + (Source : String; + Mapping : Maps.Character_Mapping_Function) return String; procedure Translate (Source : in out String; - Mapping : in Maps.Character_Mapping_Function); + Mapping : Maps.Character_Mapping_Function); --------------------------------------- -- String Transformation Subprograms -- --------------------------------------- function Replace_Slice - (Source : in String; - Low : in Positive; - High : in Natural; - By : in String) - return String; + (Source : String; + Low : Positive; + High : Natural; + By : String) return String; procedure Replace_Slice (Source : in out String; - Low : in Positive; - High : in Natural; - By : in String; - Drop : in Truncation := Error; - Justify : in Alignment := Left; - Pad : in Character := Space); + Low : Positive; + High : Natural; + By : String; + Drop : Truncation := Error; + Justify : Alignment := Left; + Pad : Character := Space); function Insert - (Source : in String; - Before : in Positive; - New_Item : in String) - return String; + (Source : String; + Before : Positive; + New_Item : String) return String; procedure Insert (Source : in out String; - Before : in Positive; - New_Item : in String; - Drop : in Truncation := Error); + Before : Positive; + New_Item : String; + Drop : Truncation := Error); function Overwrite - (Source : in String; - Position : in Positive; - New_Item : in String) - return String; + (Source : String; + Position : Positive; + New_Item : String) return String; procedure Overwrite (Source : in out String; - Position : in Positive; - New_Item : in String; - Drop : in Truncation := Right); + Position : Positive; + New_Item : String; + Drop : Truncation := Right); function Delete - (Source : in String; - From : in Positive; - Through : in Natural) - return String; + (Source : String; + From : Positive; + Through : Natural) return String; procedure Delete (Source : in out String; - From : in Positive; - Through : in Natural; - Justify : in Alignment := Left; - Pad : in Character := Space); + From : Positive; + Through : Natural; + Justify : Alignment := Left; + Pad : Character := Space); --------------------------------- -- String Selector Subprograms -- --------------------------------- function Trim - (Source : in String; - Side : in Trim_End) - return String; + (Source : String; + Side : Trim_End) return String; procedure Trim (Source : in out String; - Side : in Trim_End; - Justify : in Alignment := Left; - Pad : in Character := Space); + Side : Trim_End; + Justify : Alignment := Left; + Pad : Character := Space); function Trim - (Source : in String; - Left : in Maps.Character_Set; - Right : in Maps.Character_Set) - return String; + (Source : String; + Left : Maps.Character_Set; + Right : Maps.Character_Set) return String; procedure Trim (Source : in out String; - Left : in Maps.Character_Set; - Right : in Maps.Character_Set; - Justify : in Alignment := Strings.Left; - Pad : in Character := Space); + Left : Maps.Character_Set; + Right : Maps.Character_Set; + Justify : Alignment := Strings.Left; + Pad : Character := Space); function Head - (Source : in String; - Count : in Natural; - Pad : in Character := Space) - return String; + (Source : String; + Count : Natural; + Pad : Character := Space) return String; procedure Head (Source : in out String; - Count : in Natural; - Justify : in Alignment := Left; - Pad : in Character := Space); + Count : Natural; + Justify : Alignment := Left; + Pad : Character := Space); function Tail - (Source : in String; - Count : in Natural; - Pad : in Character := Space) - return String; + (Source : String; + Count : Natural; + Pad : Character := Space) return String; procedure Tail (Source : in out String; - Count : in Natural; - Justify : in Alignment := Left; - Pad : in Character := Space); + Count : Natural; + Justify : Alignment := Left; + Pad : Character := Space); ---------------------------------- -- String Constructor Functions -- ---------------------------------- function "*" - (Left : in Natural; - Right : in Character) - return String; + (Left : Natural; + Right : Character) return String; function "*" - (Left : in Natural; - Right : in String) - return String; + (Left : Natural; + Right : String) return String; end Ada.Strings.Fixed; |