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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Tests in a software release Date: Thu, 16 Nov 2017 18:20:21 -0600 Organization: JSA Research & Innovation Message-ID: References: <920c1eff-2cfa-48d4-a0a7-6b6f0a205ce5@googlegroups.com> Injection-Date: Fri, 17 Nov 2017 00:20:21 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="25043"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: feeder.eternal-september.org comp.lang.ada:48943 Date: 2017-11-16T18:20:21-06:00 List-Id: "Robert Eachus" wrote in message news:920c1eff-2cfa-48d4-a0a7-6b6f0a205ce5@googlegroups.com... ... >On a related issue, the need for gotos seems to be limited to >implementations of >finite state machines (FSMs). I guess I could write a program that would >generate >goto-less code for deterministic FSMs, For non-deterministic FSMs, I guess >the >way to go would be to turn them into deterministic FSMs. Maintaining such >code >would be next to impossible. The main reason to use a goto in Ada 2012 is for the (missing) loop continue statement. I do this quite often (and so does the GNAT code, if I'm remembering correctly) -- real code being much more complex than this: loop ... if ... ... goto Continue; -- Start next iteration. end if; ... <> end loop; Note that Ada 2012 eliminated the need for "null;" after a label specifically so that this usage would read better. Randy.