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 X-Received: by 2002:a6b:2746:: with SMTP id n67-v6mr11031668ion.90.1529612338565; Thu, 21 Jun 2018 13:18:58 -0700 (PDT) X-Received: by 2002:aca:d448:: with SMTP id l69-v6mr1279752oig.0.1529612338335; Thu, 21 Jun 2018 13:18:58 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!d7-v6no2461535itj.0!news-out.google.com!z3-v6ni3257iti.0!nntp.google.com!d7-v6no2461531itj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 21 Jun 2018 13:18:58 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.195.62; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.195.62 References: <584564c2-9f64-4965-b045-535cdaf899c0@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Why are Ada compilers difficult to write ? From: "Dan'l Miller" Injection-Date: Thu, 21 Jun 2018 20:18:58 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:53232 Date: 2018-06-21T13:18:58-07:00 List-Id: On Thursday, June 21, 2018 at 12:42:44 PM UTC-5, Pascal Obry wrote: > Freezing rules come to mind. C++ has an analogous compiler-writing difficulty: entities may be utilized= in bodies of member functions prior to being declared later on in the same= class declaration. This requires effective postponement of compilation of= member-function bodies until after the closing } of the class. That said, Ada's freezing rules seem to be less uniform that C++'s, and thu= s more complex by some measure. (It is remotely imaginable that Ada in som= e alternate universe could have had one simple freezing rule: keep all the= clay soft until the absolutely very last token (i.e., the semicolon) of th= e private part of the package declaration, and then freeze only there at th= e =E2=80=A2closing/terminating end=E2=80=A2 of the private section of the p= ackage declaration.) Pascal, what makes freezing rules difficult when writing Ada compilers?=20 1) Is it that the freezing occurs later than what the compiler writer would= find convenient, forcing the compiler writer to keep clay soft when it alr= eady seems to be in the kiln? 2) Is it that freezing occurs prematurely, requiring the compiler writer to= expend effort enforcing the freezing too early for no good reason? 3) Is it that freezing rules are non-uniform/arbitrary/capricious across la= nguage constructs? 4) Something else? 5) All of the above?