From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance
Date: Thu, 17 May 2018 17:56:10 -0700 (PDT)
Date: 2018-05-17T17:56:10-07:00 [thread overview]
Message-ID: <3d3c1882-ae3d-42aa-8f13-80c550e50375@googlegroups.com> (raw)
In-Reply-To: <2f4dd5ae-a481-4eb4-93ff-2c1cc3cb10bb@googlegroups.com>
On Thursday, May 17, 2018 at 3:23:51 PM UTC-5, Dan'l Miller wrote:
> According to Figure 1 in the following reference, GIGI feeds fragments of the semantically-adorned tree
> to either GENERIC or GIMPLE.
>
> https://www2.adacore.com/gap-static/GNAT_Book/html/node5.htm#fig:frontal-gnat
Does anyone know (or have a URL to) why GIGI was written in C instead of in Ada? Obviously, it is calling much C code in the GCC backend world, so there is that. Was it simply because GIGI predated the addition of so much of the unchecked_* feature-set in ISO standard Ada that permits interfacing with C APIs?
The reason that I ask is because I am perplexed by the opposing boundary: the AST data structure that GIGI is traversing is an Ada data structure (i.e., instantiated & adorned by all the Ada-language code throughout the rest of the GNAT frontend), correct? So wouldn't the impedance mismatch (to borrow a EE term) between AST-versus-C at the AST-versus-GIGIc boundary have been much more immense than any annoying unchecked_* layer between GIGIada-versus-GCCbackendWorld, where GIGIc is the extant one today, and where GIGIada is the hypothetical one that was never written in Ada, and where GCCbackendWorld is all C (and nowadays some C++ AIUI).
Perhaps the LLVM replacement for GIGI should be written in Ada instead of C. Perhaps that means not LSP of the AdaFE-to-GIGI interface, where AdaFE is the rest of the frontend of GNAT written in Ada. Conversely, keeping exactly today's extant AdaFE-to-GIGIc existing interface via LSPing GiggleVM instead of GIGIc as a drop-in replacement would permit an immense amount of insulating a fork of GNAT from a vast amount of evolutionary change in GNAT's AdaFE.
(I can imagine that perhaps FSF and/or AdaCore and/or LLVM.org could all refuse to merge any attempt at this GiggleVM LSPing of GIGIc and grafting on a 2nd backend within a single GPLv3ed GCC executable. Maintaining an llvm-gnat fork outside of FSF and outside of LLVM.org might be completely unavoidable if GiggleVM LSPing of GIGIc is not embraced lovingly. I can imagine that AdaFE's GIGIc interface is low-churn historically, likely modified once per blue moon when an ISO standard Ada feature begets a change in the backend of GCC that was not already needed by C++ or any of the other languages. Having a relatively-historically-stable AdaFE-to-GIGIc interface that is low churn and thus low drama might be advantageous to long-term maintenance of an llvm-gnat fork of GCC. Lowering the drama might be worth keeping the Ada-to-GiggleVM interface exactly the same via LSP as today's Ada-to-GIGIc interface, even if it is in C.)
next prev parent reply other threads:[~2018-05-18 0:56 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-09 15:30 disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance Dan'l Miller
2018-05-09 16:41 ` Lucretia
2018-05-09 17:26 ` Dan'l Miller
2018-05-09 17:34 ` Lucretia
2018-05-09 18:29 ` Dan'l Miller
2018-05-17 14:41 ` Dan'l Miller
2018-05-17 15:56 ` Luke A. Guest
2018-05-17 16:49 ` Dan'l Miller
2018-05-17 17:19 ` Luke A. Guest
2018-05-17 18:43 ` Dan'l Miller
2018-05-17 20:09 ` Dan'l Miller
2018-05-17 20:23 ` Dan'l Miller
2018-05-18 0:56 ` Dan'l Miller [this message]
2018-05-18 10:47 ` Lucretia
2018-05-18 11:33 ` Dan'l Miller
2018-05-18 11:48 ` Lucretia
2018-05-19 1:48 ` Dan'l Miller
2018-05-19 13:04 ` Brian Drummond
2018-05-19 15:04 ` Dan'l Miller
2018-05-20 13:00 ` Brian Drummond
2018-05-20 14:12 ` Simon Wright
2018-05-21 11:43 ` Brian Drummond
2018-05-20 17:24 ` Lucretia
2018-05-19 16:01 ` Simon Wright
2018-05-20 3:02 ` Shark8
2018-05-19 3:14 ` Dan'l Miller
2018-05-17 18:42 ` Niklas Holsti
2018-05-18 14:06 ` R R
2018-05-18 14:33 ` Dan'l Miller
2018-05-09 17:36 ` Simon Clubley
2018-05-09 18:25 ` Dan'l Miller
2018-05-09 19:19 ` Niklas Holsti
2018-05-09 21:38 ` Randy Brukardt
2018-05-10 8:00 ` Micronian Coder
2018-05-10 8:49 ` Janus Ada 12 (was Re: disruptors of ...) Jeffrey R. Carter
2018-05-10 20:24 ` Paul Rubin
2018-06-26 20:36 ` disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance invalid
2018-06-29 22:18 ` Randy Brukardt
2018-07-01 8:44 ` invalid
2018-07-03 22:07 ` Randy Brukardt
2018-07-08 15:46 ` invalid
2018-05-10 7:49 ` Micronian Coder
2018-05-14 13:10 ` Jacob Sparre Andersen
2018-05-14 22:56 ` Randy Brukardt
2018-05-15 15:29 ` Dan'l Miller
2018-05-18 13:02 ` Simon Wright
2018-05-14 18:52 ` gautier_niouzes
2018-05-14 19:37 ` Dmitry A. Kazakov
2018-05-16 19:37 ` gautier_niouzes
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox