comp.lang.ada
 help / color / mirror / Atom feed
From: "Dr Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
Subject: Re: How to implement a continue statement in Ada?
Date: 1998/09/01
Date: 1998-09-01T00:00:00+00:00	[thread overview]
Message-ID: <35EB7036.5585@atlas.otago.ac.nz> (raw)
In-Reply-To: 35EA816A.E11FEA85@physics.purdue.edu

Robert T. Sagris wrote:
> I was wondering if there is a general way of implementing
> the behavior of C's continue statement in Ada.
> 
> If at all possible without using a goto statement.

Will you accept an 'exit'?

Loop statements can have names (LRM 5.5).
But so can blocks (LRM 5.6).

The general C form

   for (init; cond; updt) stmt

can be converted to

   begin
      init;
   Loop_All:
      while cond loop
   Loop_Body:
         begin
            stmt
         end;
         updt;
      end loop
   end;

'break'      => exit Loop_All;
'continue'   => exit Loop_Body;

Obvious simplifications apply to particular cases.




  reply	other threads:[~1998-09-01  0:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-31  0:00 How to implement a continue statement in Ada? Robert T. Sagris
1998-09-01  0:00 ` Dr Richard A. O'Keefe [this message]
1998-09-01  0:00   ` dewarr
1998-09-03  0:00     ` Dr Richard A. O'Keefe
1998-09-03  0:00       ` dennison
1998-09-01  0:00 ` dewarr
  -- strict thread matches above, loose matches on Subject: below --
2000-02-08  0:00 Oliver Kellogg
2000-02-08  0:00 ` David Starner
2000-02-08  0:00   ` Aidan Skinner
2000-02-09  0:00     ` Ted Dennison
2000-02-12  0:00       ` Jeff Carter
2000-02-14  0:00       ` Oliver Kellogg
2000-02-09  0:00     ` David Starner
2000-02-10  0:00       ` Aidan Skinner
2000-02-08  0:00 ` Ted Dennison
2000-02-09  0:00   ` Roger Barnett
     [not found] <35EA8153.7BFC91E3@physics.purdue.edu>
1998-08-31  0:00 ` Robert I. Eachus
1998-08-31  0:00   ` Robert T. Sagris
1998-09-01  0:00     ` Matthew Heaney
1998-08-31  0:00 ` Norman H. Cohen
1998-09-01  0:00 ` alan walkington
1998-09-02  0:00   ` Dr Richard A. O'Keefe
1998-09-02  0:00     ` alan walkington
1998-09-02  0:00     ` Matthew Heaney
1998-09-03  0:00     ` dewarr
replies disabled

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