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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5f6125e9594f9968 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.235.4 with SMTP id ui4mr19801509pbc.3.1332778830616; Mon, 26 Mar 2012 09:20:30 -0700 (PDT) Path: z9ni4236pbe.0!nntp.google.com!news1.google.com!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Ada to C translator for small microcontrollers Date: Mon, 26 Mar 2012 17:20:27 +0100 Organization: A noiseless patient Spider Message-ID: References: <2424259e-cf1c-408e-a57e-f2c948087186@i2g2000vbv.googlegroups.com> <9tbbt9Fhe9U1@mid.individual.net> <11915136.34.1332776935046.JavaMail.geo-discussion-forums@vbth14> Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="dFCm8HWntFqmDIilBLqEJQ"; logging-data="1370"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ccGL23TGw9jGDNoGPTT3n4G2GuXRuS5M=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (darwin) Cancel-Lock: sha1:hNcN0KksPd9BVjPidHDvvw6JccU= sha1:WaWZ/EnJJy4HyR92GJF69qScY8Q= Content-Type: text/plain; charset=us-ascii Date: 2012-03-26T17:20:27+01:00 List-Id: Ludovic Brenta writes: > Niklas Holsti wrote on comp.lang.ada: >> I think the realistic approach for an open-source implementation would >> be to take the existing GNAT front-end and try to generate C code from >> the intermediate representation, either the gcc IR or the llvm IR. > > That's a good thought. LLVM already comes with a C backend (i.e. a code > generator that emits C rather than assembly). I wonder how easy it would > be to configure a toolchain based on the GNAT Ada front-end and this C > back-end, bound together by LLVM's DragonEgg GCC plug-in. Hmm, from [1], "The C backend has numerous problems and is not being actively maintained. Depending on it for anything serious is not advised." [1] http://llvm.org/docs/ReleaseNotes.html#knownproblems