comp.lang.ada
 help / color / mirror / Atom feed
From: "Grein, Christoph" <christoph.grein@eurocopter.com>
Subject: Re: Trivial Ada question
Date: Thu, 4 Jul 2002 10:59:30 +0200 (MET DST)
Date: 2002-07-04T10:59:30+02:00	[thread overview]
Message-ID: <mailman.1025773383.11604.comp.lang.ada@ada.eu.org> (raw)

> * Darren New wrote:
> >"Robert I. Eachus" wrote:

[I do not remeber the exact form of Eachus', it was something like the 
following:]

  for i in A'Range loop
    if not condition (A (i)) then
      goto Dont_Increment;
    end if;
  end loop;
  n := n + 1;
  <<Dont_Increment>>

> >> Notice that a
> >> compiler might generate identical code for these two examples.  What
> >> makes one right and the other wrong?
> >
> >Because the compiler isn't the only one that reads the code?
> >
> >"exit when ..." says to leave the innermost loop.
> >"goto skip" doesn't tell you anything about what "skip" means.
> 
> So simply write:
> 
>   INCREMENT: for dummy in 1 .. 1 loop
>     for i in a'Range loop
>       exit INCREMENT when condition (a (i));
>     end loop;
>     n := n + 1;
>   end loop;
> 
> No 'evil' goto, and a 'telling' label.

This was a joke, wasn't it? Is this really better than a simle and innocent and 
nearby goto? A one-time 'loop' enclosing another work loop...

These goto wars are astounding. Event the most simple goto solution is replaced 
by a contrived no-goto one!

I have to confess that I have not needed a goto in so many years, but the goto 
solution is one of the simplest solutions of all 
those presented.



             reply	other threads:[~2002-07-04  8:59 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-04  8:59 Grein, Christoph [this message]
2002-07-04  9:15 ` Trivial Ada question Lutz Donnerhacke
2002-07-05 22:25 ` Robert I. Eachus
  -- strict thread matches above, loose matches on Subject: below --
2002-06-28  9:07 Reinert Korsnes
2002-06-28 10:10 ` David C. Hoos, Sr.
2002-06-28 10:54   ` Reinert Korsnes
2002-06-28 10:57     ` Reinert Korsnes
2002-06-28 11:33       ` David C. Hoos, Sr.
2002-06-28 11:44     ` Ted Dennison
2002-06-28 21:38       ` Steven Deller
2002-06-28 12:29     ` Steve Sangwine
2002-07-03 18:59   ` Robert I. Eachus
2002-07-03 19:41     ` Darren New
2002-07-04  8:28       ` Lutz Donnerhacke
replies disabled

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