------------------------------------------------------------------------------
--                                                                          --
--                           ASIStint COMPONENTS                            --
--                                                                          --
--             A S I S T I N T . S T R I N G _ H A N D L I N G              --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
--            Copyright (c) 1997, Free Software Foundation, Inc.            --
--                                                                          --
-- ASIStint is free software; you can redistribute  it  and/or  modify  it  --
-- under terms of the GNU General Public License  as published by the  Free --
-- Software Foundation;  either version 2,  or  (at your option)  any later --
-- version.  ASIStint  is distributed  in the hope  that it will be useful, --
-- but  WITHOUT  ANY  WARRANTY;  without even the implied warranty of  MER- --
-- CHANTABILITY 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 ASIStint; see file COPYING. --
-- If not, write to the  Free  Software  Foundation,  59 Temple Place Suite --
-- 330, Boston, MA 02111-1307, USA.                                         --
--                                                                          --
-- ASIStint  was  originally  developed  by  the  ASIS-for-GNAT team at the --
-- Software Engineering  Laboratory  of  the  Swiss  Federal  Institute  of --
-- Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with  the --
-- Scientific  Research  Computer  Center  of Moscow State University (SRCC --
-- MSU), Russia.                                                            --
--                                                                          --
-- This work was supported by a  grant  from  the  Swiss  National  Science --
-- Foundation, no 7SUPJ048247, funding a project entitled  "Development  of --
-- ASIS for GNAT with industry quality".                                    --
------------------------------------------------------------------------------

package ASIStint.String_Handling is

------------------------------------------------------------------------------
-- Low-level string analysis
------------------------------------------------------------------------------

  function  Word_End (Str: in Wide_String; ID: in Boolean:=FALSE) return Integer;
  -- Searches for the first space character or EOL. If ID is set to TRUE,
  -- the function also stops on the first non-alpha-numeric character

  function  Skip_Spc (Str: in Wide_String) return Integer;
  -- Skips all spaces

  function  Find_Symbol (Str: in Wide_String; C: in Wide_Character) return Integer;
  -- Searches for the character

  function  Skip_Symbol (Str: in Wide_String; C: in Wide_Character) return Integer;
  -- Skips all spaces and any encountered after that specified characters

  function  Skip_Prefix (S: in Wide_String; N: in Natural := 4) return Wide_String;
  -- Skips first N symbols in S

  procedure Read_Integer (S: in Wide_String; Val, New1st: out Integer);
  -- Reads integer and points to the first character after it

  procedure To_Upper    (S: in out Wide_String);
  -- Converts all characters in S to upper case

end ASIStint.String_Handling;