From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance
Date: Fri, 18 May 2018 18:48:03 -0700 (PDT)
Date: 2018-05-18T18:48:03-07:00 [thread overview]
Message-ID: <17f9d1c5-7c66-4c19-a1d3-f0e7d30cb063@googlegroups.com> (raw)
In-Reply-To: <9b5ee32b-0b12-48fe-b34f-135f3cd8cfb9@googlegroups.com>
On Thursday, May 17, 2018 at 11:49:03 AM UTC-5, Dan'l Miller wrote:
> Wait, GNAT has its own full-fledged IR stage prior to deriving either GENERIC or GIMPLE from that GNAT IR?
On Friday, May 18, 2018 at 6:48:22 AM UTC-5, Lucretia wrote:
> The *tree* packages in GNAT are autogenerated from a *def file, these map onto the C equivalent in the GCC backend so that GNAT can build the trees properly.
The following PowerPoint presentation concurs with you, Luke:
https://www.slideserve.com/reed/the-structure-of-the-gnat-compiler
It also presents a rewording of my “Wait, …” comment above: GNAT builds an entire Ada-oriented AST-adorned-with-semantics then builds another IR tree using GCC-C-language-compiler constructs. Effectively GNAT works by effectively translating Ada IR to C IR internally, and then generating machine code from C's IR. I will need to investigate
1) whether C++ likewise builds its own AST-adorned-with-semantics then builds another IR tree using only C-language constructs
or
2) whether the so-called C-IR tree is actually capable of full-fledged C++-semantic adornment (i.e., whether the so-called C IR would be actually full-fledged C++ IR not lowered to C-only constructs at all) and thus C++ would build only one tree , not GNAT's two.
The GiggleVM drop-in LSP alternative to GIGI in GNAT would have the ability to translate Ada's AST-with-semantic-adornment to either C or C++ constructs in the interface-to-LLVM rear side of Clang. Occasionally, it might be convenient for GiggleVM to map Ada to directly analogous C++ constructs instead of to C to avoid reinventing the OO wheel from scratch, especially regarding Ada's tagged records vis a vis C++'s vtables.
I need to investigate those def files. Specifically I'll need to learn: where is the script/code that reads def files and generates C code or C macros to manipulate the C IR tree? Perhaps running these def scripts is a major portion of what you refer to as “GCC is a bitch to build” on your GCC build script GitHub README.md.
next prev parent reply other threads:[~2018-05-19 1:48 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
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 [this message]
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