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!mx02.eternal-september.org!.POSTED!not-for-mail From: Natasha Kerensikova Newsgroups: comp.lang.ada Subject: Re: community-based compiler (was Re: What exactly is the licensing situation with GNAT?) Date: Mon, 17 Nov 2014 11:28:42 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <54609F34.4080201@spam.spam> <35f01472-3510-4f67-8765-006fa8591c35@googlegroups.com> <9tc8w.73007$ZT5.37595@fx07.iad> <22a3816a-4e89-48f0-a126-dce581781beb@googlegroups.com> <084b1934-9641-425e-85ec-293e0334413e@googlegroups.com> <86bf69c8-eb08-4696-b6c9-3784f5c42213@googlegroups.com> <87389olqie.fsf@ixod.org> <3516753b-5304-408d-99c8-67f544fdc185@googlegroups.com> <20141114085046.4cb00404@atmarama.ddns.net> <8392b6bd-61ab-43f9-aa6d-92a4b3f17f0d@googlegroups.com> Injection-Date: Mon, 17 Nov 2014 11:28:42 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="76a49b86bc3e16725b7cfca3d85cb4c8"; logging-data="18587"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19leiFt0GVBT5BveajyYJFB" User-Agent: slrn/1.0.1 (FreeBSD) Cancel-Lock: sha1:3bp0z6L7eq6jYga3NATe0KMh9Ko= Xref: news.eternal-september.org comp.lang.ada:23459 Date: 2014-11-17T11:28:42+00:00 List-Id: Hello, On 2014-11-15, Brian Drummond wrote: > And there is an ASIS implementation independent of Adacore, which builds > quite easily. This would seem to be a good starting point for a future > compiler (it was originally targeted at the TENDra project which seem so > be ... drifting. There is still some work being done on it, but without > reference to Ada, and the GELA-Tendra interface seems to eb unavailable > in any reasonably complete form) > > Updating Gela-ASIS for Ada-2012 could be useful in its own right, and > done approximately independently of using Gela-ASIS to supply an > intermediate representation to an existing back-end (gcc,llvm,etc) Just for the record, I have started doing exactly that. You can follow my progress on the following github repository: https://github.com/faelys/gela-asis Currently there is only the official 0.3.2 release, because I'm still trying several different things to make it work with AdaControl, and I will publish whatever works when it does. If anyone manages to complete it before I do, merge requests are more-than-welcome. Similarly, if anyone wants to contribute to Gela improvement, I will happily work as curator/reviewer/coordinator of patches, though you might want to delay improvement patches to after AdaControl-based validation is operational. Short term I will probably go towards mimicking ASIS-for-GNAT behaviour (since it's the only post-Ada95 reference anyway), e.g. lazy loading of compilation unit, defaulting to loading everything in the current directory, decoding ADA_SEARCH_PATH environment, etc. It will make AdaControl intergration much easier, which will help tremendously the validation of ASIS part of GELA. > I am (very tentatively) looking at ghdl's intermediate representation. > which currently interfaces to three compiler backends - gcc, > (experimentally) LLVM, and its own 32-bit x86 JIT compiler. > > A translation between ASIS and this IR would (based on the equivalent > translation layer in ghdl) be something like a 30,000 line project in > itself. Big, but more manageable than an entire compiler. I would have went through the direct Ada-to-LLVM route, which also feels small enough to be handle by a single person or a few people, but I agree without your (snipped) comment about following several paths. Please let us know how it goes :-) Natasha