From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: ADA.STRINGS.INDEX_ERROR : a-strunb.adb:782
Date: Mon, 15 Jan 2018 09:29:39 +0100
Date: 2018-01-15T09:29:39+01:00 [thread overview]
Message-ID: <p3hopj$1fhf$1@gioia.aioe.org> (raw)
In-Reply-To: d66b4a89-dc02-4c04-a5bf-6dd4f2ef9f86@googlegroups.com
On 15/01/2018 02:18, Mehdi Saada wrote:
> This if statement exactly, seems to raise
> "ADA.STRINGS.INDEX_ERROR : a-strunb.adb:782"(No indication of line, so I can't know more).
There is a list of funny numbers following the exception message. Pass
that list to
addr2line --exe=<program-name> <funny-numbers>
That will give you the stack trace.
> What does this exception means ? You can see there's no string type variable to be accessed, here.
> CHAINE is of UNBOUNDED_STRING type. LA_PILE is a stack of characters, EMPILER means "putting on the stack's top" in french.
>
> if IS_BASIC(ELEMENT(CHAINE,IND)) then
> EMPILER(LA_PILE,ELEMENT(CHAINE,IND));
> else DELETE(CHAINE, IND,IND);
> end if;
>
> It's enclosed in:
> for Ind in 1..Length(CHAINE) loop
> begin
> if IS_BASIC(ELEMENT(CHAINE,IND)) then
> EMPILER(LA_PILE,ELEMENT(CHAINE,IND));
> else DELETE(CHAINE, IND,IND);
> end if;
> end;
> end loop;
When deleting elements of a list by position the loop must run positions
in reverse:
for Ind in reverse 1 .. Length (CHAINE) loop
...
delete at Ind
...
end loop;
That will keep the positions straight. Position /= index, BTW.
However, deleting characters from a string almost never has sense. You
probably should reconsider the algorithm.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-01-15 8:29 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-15 1:18 ADA.STRINGS.INDEX_ERROR : a-strunb.adb:782 Mehdi Saada
2018-01-15 3:23 ` Niklas Holsti
2018-01-15 8:29 ` Dmitry A. Kazakov [this message]
2018-01-15 10:49 ` Simon Wright
2018-01-15 11:51 ` Mehdi Saada
2018-01-15 12:00 ` Mehdi Saada
2018-01-15 13:32 ` Dmitry A. Kazakov
2018-01-15 18:55 ` Shark8
2018-01-15 13:51 ` Simon Wright
2018-01-15 15:18 ` Mehdi Saada
2018-01-15 15:29 ` Mehdi Saada
2018-01-15 15:50 ` Mehdi Saada
2018-01-15 17:53 ` Simon Wright
2018-01-15 17:22 ` Anh Vo
2018-01-15 17:48 ` Dmitry A. Kazakov
2018-01-15 19:56 ` Anh Vo
2018-01-16 16:06 ` Brian Drummond
2018-01-16 17:21 ` Anh Vo
2018-01-15 10:37 ` Simon Wright
2018-01-15 16:06 ` Mehdi Saada
2018-01-17 19:23 ` Niklas Holsti
2018-01-16 16:24 ` Mehdi Saada
2018-01-16 18:20 ` Jacob Sparre Andersen
2018-01-16 20:00 ` Mehdi Saada
2018-01-17 15:45 ` Mehdi Saada
2018-01-17 16:30 ` Dmitry A. Kazakov
2018-01-17 22:50 ` Mehdi Saada
2018-01-18 8:34 ` Dmitry A. Kazakov
2018-01-18 11:14 ` Simon Wright
2018-01-18 11:55 ` Dmitry A. Kazakov
2018-01-18 12:21 ` Mehdi Saada
2018-01-18 13:08 ` J-P. Rosen
2018-01-18 15:23 ` Dmitry A. Kazakov
2018-01-19 1:10 ` Randy Brukardt
2018-01-19 8:52 ` Dmitry A. Kazakov
2018-01-20 0:42 ` Randy Brukardt
2018-01-20 9:47 ` Dmitry A. Kazakov
2018-01-23 0:44 ` Randy Brukardt
2018-01-18 14:05 ` AdaMagica
2018-01-18 14:17 ` Mehdi Saada
2018-01-18 14:56 ` J-P. Rosen
2018-01-18 15:38 ` Mehdi Saada
2018-01-19 1:13 ` Randy Brukardt
2018-01-18 16:48 ` AdaMagica
2018-01-18 16:59 ` Dmitry A. Kazakov
2018-01-18 19:36 ` Mehdi Saada
2018-01-19 1:21 ` Randy Brukardt
2018-01-19 16:15 ` AdaMagica
2018-01-19 16:58 ` Dmitry A. Kazakov
2018-01-21 23:27 ` G.B.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox