comp.lang.ada
 help / color / mirror / Atom feed
From: Tero Koskinen <tero.koskinen@iki.fi>
Subject: Re: Augusta: An open source Ada 2012 compiler (someday?)
Date: Wed, 19 Mar 2014 20:56:46 +0200
Date: 2014-03-19T20:56:46+02:00	[thread overview]
Message-ID: <lgcp9l$901$1@loke.gir.dk> (raw)
In-Reply-To: <zpudnYzhb9cIB7TO4p2dnAA@giganews.com>

19.3.2014 15:24, Peter Chapin wrote:
> Accordingly I started a pet project for myself to build an Ada 2012
> compiler from the ground up which I'm calling "Augusta."
...
> The project is just a hobby project and its *real* purpose is to
> provide me with a source of entertainment in my off hours.
...
> For example Augusta will be written in Scala and will target LLVM.

Me too! (Started to write a compiler as a hobby.)

Except that I selected Clojure instead of Scala, the compiler
backend is totally custom and the frontend language isn't Ada,
but instead very simple procedural language with some of the
keywords and syntax borrowed from Ada [1].

Thanks to having a language built on top of JVM and therefore
able to use Java tools easily, I have also built parser with
Antlr 4 [2].

Combined with Antlr 4 these new "JVM languages" are quite good
for prototyping various areas of compiler design. You get
results quick enough that you don't get bored. As a downside,
(with Clojure) the code is unmaintainable mess of parenthesis:
(letfn [(has-i [i s] (some (fn [x] (= (last x) i)) s))
(find-first [pred coll] (first (filter pred coll)))] ...)
[3]


What comes to Ada compilers,
it is nice to always see someone to start a new open source
Ada compiler to "compete" with GNAT (or just for hobby), however
in the history all of the earlier attempts have sadly failed.
Open source Ada community might be too small and diverse for
such a project.

One alternative approach could be to persuade one of
the existing Ada vendors to open source their compiler;
perhaps even create a (kickstarter) project to collect
the money required for it. (Like it was done for Blender.[4])


> Peter

Yours,
  Tero


[1] Example program at
https://bitbucket.org/tkoskine/antlr-ir/src/2fb34374ea8ded16ae6cc7769d7ce5536f65193f/examples/main.ir?at=default
[2]
https://bitbucket.org/tkoskine/antlr-ir/src/2fb34374ea8ded16ae6cc7769d7ce5536f65193f/IR.g4?at=default
[3]
https://bitbucket.org/tkoskine/antlr-ir/src/2fb34374ea8ded16ae6cc7769d7ce5536f65193f/src/ir/gen_amd64.clj?at=default#cl-467
[4] https://en.wikipedia.org/wiki/Blender_%28software%29#History



  reply	other threads:[~2014-03-19 18:56 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 13:24 Augusta: An open source Ada 2012 compiler (someday?) Peter Chapin
2014-03-19 18:56 ` Tero Koskinen [this message]
2014-03-19 23:02   ` Peter Chapin
2014-03-20 18:13   ` Shark8
2014-03-20 22:41     ` Augusta: An open source Ada 2012 compiler (someday?) (Off topic) erlo
2014-03-20 23:21       ` Randy Brukardt
2014-03-19 23:04 ` Augusta: An open source Ada 2012 compiler (someday?) Brian Drummond
2014-03-19 23:24   ` Peter Chapin
2014-03-20  0:00     ` Brian Drummond
2014-03-20 18:35   ` Shark8
2014-03-22 14:30     ` Brian Drummond
2014-03-20 10:23 ` Lucretia
2014-03-20 10:49   ` J-P. Rosen
2014-03-20 23:15     ` Randy Brukardt
2014-03-24  8:18       ` J Kimball
2014-03-24  9:17         ` Thomas Løcke
2014-03-24 10:00           ` Brian Drummond
2014-03-24 14:16           ` Luke A. Guest
2014-03-24 12:51         ` Peter Chapin
2014-03-24 21:21         ` Randy Brukardt
2014-03-24 23:18           ` Dennis Lee Bieber
2014-03-24 23:50             ` J Kimball
2014-03-25  9:37           ` Stefan.Lucks
2014-03-25 20:47             ` Randy Brukardt
2014-03-25 19:41         ` Michael B.
2014-03-26  1:50           ` Shark8
2014-03-26 20:39             ` Simon Clubley
2014-03-27  9:32               ` Shark8
2014-03-27 20:02                 ` Simon Clubley
2014-03-27 20:38                   ` Lucretia
2014-03-27 21:51                     ` Niklas Holsti
2014-03-27 22:32                       ` Luke A. Guest
2014-03-28  5:12                         ` Shark8
2014-03-28  5:11                           ` J Kimball
2014-03-28  8:06                         ` Georg Bauhaus
2014-03-28 11:31                       ` Peter C. Chapin
2014-03-31 23:43                         ` Randy Brukardt
2014-03-28  8:56                     ` Dmitry A. Kazakov
2014-03-28 19:20                   ` Dan'l Miller
2014-03-28 20:40                     ` Dmitry A. Kazakov
2014-03-29 12:34                       ` Dan'l Miller
2014-03-29 13:36                         ` Dmitry A. Kazakov
2014-03-29 12:42                       ` Dan'l Miller
2014-03-29  0:15                     ` Peter Chapin
2014-03-29  3:39                       ` Shark8
2014-03-29  8:46                       ` Georg Bauhaus
2014-03-29 16:35                         ` Peter Chapin
2014-03-29  9:51                       ` Georg Bauhaus
2014-03-20 19:03   ` Shark8
2014-03-20 18:10 ` Shark8
2014-03-20 18:20   ` Qun-Ying
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox