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!news.eternal-september.org!.POSTED!not-for-mail From: Natasha Kerensikova Newsgroups: comp.lang.ada Subject: Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Date: Wed, 15 Oct 2014 10:32:32 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <87h9zdpi84.fsf@ixod.org> <87fvex5bwy.fsf@ixod.org> <2064812074434669488.767131laguest-archeia.com@nntp.aioe.org> Injection-Date: Wed, 15 Oct 2014 10:32:32 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="76a49b86bc3e16725b7cfca3d85cb4c8"; logging-data="30359"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lKxK7E78a25PK9TmAQ9gc" User-Agent: slrn/1.0.1 (FreeBSD) Cancel-Lock: sha1:bUVjAJF2b6L0VDKUefN181bx7dc= Xref: news.eternal-september.org comp.lang.ada:22504 Date: 2014-10-15T10:32:32+00:00 List-Id: Hello, On 2014-10-15, Brian Drummond wrote: > On Sun, 12 Oct 2014 10:56:07 +0000, Natasha Kerensikova wrote: >> The reason why I'm asking, is I'm stilling working on updating gela and >> building on it a RTS-limited LLVM-based Ada 95 compiler seems realistic >> (albeit far away down the road). > > How is that coming along? I don't have much time to put into it, so it is indeed coming along but very slowly. >From what I gathered, Gela doesn't even fully cover Ada 95, so my first intermediate goal is turning into a fully-featured Ada 95 ASIS provider (which is what I meant with "updating" in the quote above). To reach that intermediate goal, I'm using AdaControl as an ASIS test suite, so the very first step is plugging Gela into AdaControl. That plugging is what I'm currently dealing with, and it feels almost complete. At some point, hopefully soonish, a Gela-enabled AdaControl and a work-in-progress Gela repository will be made available, so that anyone interested can contribute. > For me, Gela built successfully, and I started to look at connecting it > to an intermediate representation which already has translators to gcc > and experimentally, LLVM (and more, specifically a JIT targetting x86, > which would make a very lightweight compiler). > > But got no further, so far. The existing translator from a semanticised > tree into this IR would serve as a pattern, but it's quite a large chunk > of code... As explained above, I haven't looked at the code generation part yet. Basically building a compiler is an awefully large task, and it would still feel daunting to me even if everybody here gathered to magically work on it without any communication/coordination overhead. So my worst fear is putting a lot of effort into it and give up before anything useful comes out of it. To prevent such a waste, I'm choosing the path towards the closest meaningful goal. It turns out that making Gela useful as an AdaControl backed is a useful achievement in itself, but it looks small enough to be achievable. When/if it is achieved, I hope I will have enough knowledge about Gela to asses how realistic it is to base code generation on it, and if it is, start doing it. For example, I recently realized that Standard package cannot be written in Ada (think of the declaration of Wide_Character type), it probably has to involve some compiler magic, but I don't know yet how compatible with Gela architecture such a magic is. And once basic code generation is operation, only then would I starting looking at RTS issues, because once again, and RTS-less Ada compiler has some use, while RTS fragments without a good compiler is useless. I just wonder whether a significant part of the RTS can be targeting LLVM itself, and thereby be automatically portable across all backend targets. That would be a very nice perk for the project. However please note that this is only a personal strategic choice, I won't blame or criticize anybody starting to look at code generation now, I'm just explaining the rationale behind my not looking at it yet. Natasha