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!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: ANN: Kickstarter for beginning work on a new open-source Compiler Date: Sat, 22 Mar 2014 18:05:30 +0100 Organization: A noiseless patient Spider Message-ID: <87zjkib1ut.fsf@ludovic-brenta.org> References: <5151491a-14c3-4138-bcb5-f29108aeefb9@googlegroups.com> <87txaqd28v.fsf@ludovic-brenta.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx05.eternal-september.org; posting-host="3bd83e580be15007575b16aa7fa7520f"; logging-data="13444"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Xs10ke3cC+3uR6fF4NXsO" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:fV6QIcStq99p587NZp6lvM5Svbo= sha1:LB87dRINnaxcnrIxKgG4NvLLjIU= Xref: news.eternal-september.org comp.lang.ada:18925 Date: 2014-03-22T18:05:30+01:00 List-Id: Niklas Holsti writes: > On 14-03-22 15:59 , Dirk Craeynest wrote: >> In article , >> Niklas Holsti wrote: >>> The way you worded that suggests that Ada/Ed being an interpreter >>> would have prevented using it to bootstrap GNAT, but of course that >>> is not so. As long as *GNAT* was able to generate an executable, >>> one could have used Ada/Ed to execute GNAT (albeit through >>> interpretation) to compile the GNAT source code into an executable >>> GNAT. >> >> You are right, of course. Thanks for correcting. (I don't know >> where my mind was when I wrote that.) >> >> Dirk >> >> PS: It would've take "quite" some time to bootstrap, though... > > Certainly with the SETL version of Ada/Ed, yes. The C version might > have been fast enough. > > But it occurs to me now that perhaps the interpreter nature of Ada/Ed > was indeed an obstacle to GNAT bootstrapping, because, AIUI, only the > front-end of GNAT is written in Ada; the rest is C/C++ from GCC. So > Ada/Ed could execute only the front-end of GNAT. A bootstrap with > Ada/Ed would have required a file-based (or piped) transfer of the > intermediate output from the front-end to the back-end. I don't know > if GCC already had some file-based intermediate representation; if > not, it would have been extra work for the GNAT team to implement one. In the olden days, temporary files were the default mechanism that GCC front-ends used to send their output to the back-end, for memory allocation reasons. There was a non-default option, "-pipe", that allowed the front-end and the back-end to work in parallel. Still, even the GNAT front-end has parts written in C and Ada/Ed would not have been able to run them. But perhaps it would have been possible to compile those C parts to object code, using a C compiler, and call them from the interpreted Ada parts? Anyway, all of this is theoretical... -- Ludovic Brenta.