From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: Graham Perkins Subject: Re: Software landmines (loops) Date: 1998/10/05 Message-ID: <36188B41.72F9@dmu.ac.uk>#1/1 X-Deja-AN: 398137582 Content-Transfer-Encoding: 7bit References: <6qfhri$gs7$1@nnrp1.dejanews.com> <35cb8058.645630787@news.ne.mediaone.net> <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@news.erols.com> <6sdiav$e0g$1@hirame.wwa.com> <6sfcft$70p$1@hirame.wwa.com> <1dg8p3r.vfredh1aou58iN@n207167116191.inetworld.net> <6v2nr9$t8l$1@hirame.wwa.com> Content-Type: text/plain; charset=us-ascii Organization: De Montfort University Milton Keynes Mime-Version: 1.0 Reply-To: gperkins@dmu.ac.uk Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-05T00:00:00+00:00 List-Id: Robert C. Martin wrote: > >> >loop > >> > ... stuff > >> > exit when ; > >> > ... stuff > >> >end loop; > ... > The question that the post was addressing had to do with the definition of > structured programming. A mid exit loop does not fall within the bounds > defined by structured programming because the loop body does not then have a > single entry and a single exit. I beg to differ. The construct as a whole has single entry and exit points. So I think we could be entitled to regard it as a structured programming construct. Try slicing a CASE flowchart across the middle .. you get more than one flow line crossing the cut! Crucially, other parts of the program may not transfer control to any intermediate point between LOOP-EXIT, nor gain control from any such point. ---------------------------------------------------------------- Graham Perkins, De Montfort University, Milton Keynes http://www.mk.dmu.ac.uk/~gperkins/