comp.lang.ada
 help / color / mirror / Atom feed
From: ANH_VO@udlp.com
To: comp.lang.ada@ada.eu.org
Subject: Re:I'm baffled...
Date: Tue, 30 Oct 2001 16:39:40 -0600
Date: 2001-10-30T16:39:40-06:00	[thread overview]
Message-ID: <mailman.1004489444.3618.comp.lang.ada@ada.eu.org> (raw)

I am afraid that more codes need to be posted in order for me at least to find
out what is going on. In fact, it is not easy to reproduce the Constraint_Error
without knowing the exact Word_List.

Anh Vo

____________________Reply Separator____________________
Subject:    I'm baffled...
Author: Wes Groleau <wwgrol@sparc01.ftw.rsc.raytheon.com>
Date:       10/30/01 5:16 PM


Probably something simple, but I don't see it ....

I don't think it's a compiler bug because
I get the same error from Apex that I get from GNAT.

But how can I get a constraint_error on line 166
of ada.strings.maps?  That line is:
   Identity : constant Character_Mapping :=

I can't get either debugger to let me examine things
in the run-time.

Code excerpt:

   package ASF renames Ada.Strings.Fixed;
   package AS renames Ada.Strings;

   function Position_Of (Pattern : String) return Index is

      Result : Index := 47;
      -- just to make it any old legal value

      Checkpoint : Character := 'A';

   begin
      Checkpoint := 'B';
      Result := ASF.Index
                (Source  => Word_List (Current_Index + 1 ..
Word_List'Last),
                 Pattern => Pattern,
                 Going   => AS.Forward );
      Checkpoint := 'C';
      
      if Result /= 0 then
      Checkpoint := 'D';
         return Result;
      else
      Checkpoint := 'E';
         return ASF.Index
                (Source  => Word_List ( Word_List'First .. Current_Index
- 1),
                 Pattern => Pattern,
                 Going   => AS.Backward );
      Checkpoint := 'F';
      end if;
      Checkpoint := 'G';

   exception
      when E : others =>
        Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information(E));
        Ada.Text_IO.Put_Line ("Checkpoint    => " & Checkpoint);
        Ada.Text_IO.Put_Line ("Context       => " & Word_List
(Current_Index - 10 .. Current_Index + 10) );
        Ada.Text_IO.Put_Line ("Pattern       => " & Pattern);
        Ada.Text_IO.Put_Line ("Current_Index => " & Integer'Image
(Current_Index));
        Ada.Text_IO.Put_Line ("Result        => " & Integer'Image
(Result));

      raise;

   end Position_Of;

Typical error output:

Exception name: CONSTRAINT_ERROR
Message: a-strmap.ads:166

Checkpoint    => B
Context       => addenda addendum adhe
Pattern       =>  pri
Current_Index =>  117947
Result        =>  47

(Word_List is a BIG string)

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau
_______________________________________________



             reply	other threads:[~2001-10-30 22:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-30 22:39 ANH_VO [this message]
2001-10-31 10:06 ` I'm baffled Robert Dewar
2001-10-31 10:08 ` Robert Dewar
2001-10-31 16:13 ` Wes Groleau
  -- strict thread matches above, loose matches on Subject: below --
2001-10-31 13:30 baffled ANH_VO
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox