comp.lang.ada
 help / color / mirror / Atom feed
From: "Peter C. Chapin" <pcc482719@gmail.com>
Subject: Re: Processing array subsections, a newbie question.
Date: Sun, 13 Jun 2010 10:01:20 -0400
Date: 2010-06-13T10:01:20-04:00	[thread overview]
Message-ID: <4c14e3fd$0$2382$4d3efbfe@news.sover.net> (raw)
In-Reply-To: 9e1f3f35-6f49-468f-be89-46d4f51f8193@f17g2000vbl.googlegroups.com

Gene wrote:

> Yes!  Or save a line with
> 
> loop
>    Do_Something(Buffer, Index_Fst, Index_Lst, Ok);
>    exit when not Ok or Index_Fst = Buffer'Last;
>    Index_Fst := Index_Lst + 1;
> end loop;
> 
> Loop exit (with optional naming, which obviates the problems of
> 'break' in C and its successors) is one of the small beauties of Ada...

Thanks for the suggestion (by you and others) for using a loop exit. SPARK has
some restrictions on how 'exit' can be used; I'm not sure if they will apply
to my case or not, but I can look into it. In my case there is also a state
machine involved and the exiting would have to take place inside a case
statement inside the loop. I seem to recall that SPARK has an issue with
exiting from nested control structures but I can experiment.

Peter




  reply	other threads:[~2010-06-13 14:01 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-12 19:11 Processing array subsections, a newbie question Peter C. Chapin
2010-06-12 19:38 ` Yannick Duchêne (Hibou57)
2010-06-12 19:41 ` Yannick Duchêne (Hibou57)
2010-06-12 20:54 ` Ludovic Brenta
2010-06-13  1:20   ` Gene
2010-06-13 14:01     ` Peter C. Chapin [this message]
2010-06-13 15:48       ` Yannick Duchêne (Hibou57)
2010-06-13 16:57       ` Phil Thornley
2010-06-13 18:39         ` Yannick Duchêne (Hibou57)
2010-06-13 19:04           ` Phil Thornley
2010-06-13 18:58         ` Peter C. Chapin
2010-06-13  6:28   ` Niklas Holsti
2010-06-13  6:54     ` Jeffrey R. Carter
2010-06-16 19:03       ` Niklas Holsti
2010-06-16 19:22       ` Ludovic Brenta
2010-06-13 14:09     ` Peter C. Chapin
2010-06-13 11:00 ` Stephen Leake
2010-06-13 11:04   ` Simon Wright
2010-06-14  1:45     ` Stephen Leake
2010-06-14 18:23 ` Colin Paul Gloster
2010-06-14 19:41   ` Simon Wright
2010-06-14 23:54     ` Peter C. Chapin
2010-06-15  3:28       ` Jeffrey R. Carter
2010-06-15  6:13       ` Simon Wright
2010-06-15 11:24         ` Peter C. Chapin
2010-06-15  9:45       ` Phil Thornley
2010-06-15 11:27         ` Peter C. Chapin
2010-06-15 12:11           ` Yannick Duchêne (Hibou57)
replies disabled

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