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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5d819a12831be771 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Building an Ada compiler Date: 1996/06/28 Message-ID: X-Deja-AN: 162760221 references: <4r023h$jt2@newsbf02.news.aol.com> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-06-28T00:00:00+00:00 List-Id: David said >Some friends and I have a crazy idea. We want to build an Ada 95 compiler >targeted for the Macintosh computer (without requiring Unix, like >GNAT/GCC). To that end, I would like to ask the Ada and compiler experts >here (and anyone else who wishes to respond) for some information, >including, just how insane are we? If you are proposing to build a complete Ada 95 compiler, then if you have an appropriate group of experienced compiler experts, a typical estimate is in the range of 20-50 person years of work (much more than that has gone into the GNAT compiler if you include the whole compiler). Since below you say that none of you are compiler experts, likely you are not proposing such a project (or if you are, perhaps insane might be an appropriate adjective :-) What might make sense is to start with GNAT and modify it to run under E.T.O. rather than under Unix. The point is that you can't build a compiler that runs directly on System-7, certainly not if it is based on GNAT, and in general some kind of command line interface is really needed for a usable compiler. For the GNAT/Mac project we considered the alternatives. We required a command line processor that could co-exist with System-7, so that ruled out, for example, the new MkLinux port. Certainly MPW and its successor ETO is a possible choice, but we preferred Macten for the following reasons: Machten will be much easier to obtain. Tenon is planning a low cost CD ROM that will contain a vesion of Machten sufficient to fully support GNAT along with GNAT itself. Tenon is actively supporting the effort and working closely with us in providing support, such as threads support for the Ada tasking. More people are familiar with Unix as a basis for a command line environment than MPW or ETO. A far richer set of tools is available under the Unix environment than under MPW or ETO. >Self-effacing humor aside, just how big a project is an Ada 95 compiler? >Those of us planning to work on this project are all Ada software >engineers with at least seven years of experience, but none of us are >compiler experts. I am a pessimist, and feel that the project size >estimates my friends have come up with are low. Historical data from >other projects would be helpful. >What sources are available to help such an endeavor (other then the AdaIC, >and Apple)? I do not think either AdaIC or Apple will be much help, but the sources of the Macten GNAT port will be a very good starting point for such a project, and the first step should be to get hold of Machten, and get to the point where you can build the current Mac port from sources. We can provide a little help for such a project but not much, on the other hand, many people have succeeded in porting GNAT to all sorts of platforms without much help, and an ETO/Mac port does not seem a particularly difficult one, given that you have a good start (which for example takes care of most architectural problems). >How much interest is there for an Ada 95 compiler for the Macintosh that >does not require Unix (It will initially work under E.T.O., the MPW >replacement)? This seems to be a neglected market. The GNAT-Mac project >(which requires MachTen, a well-regarded Unix), and the outdated Meridian >Ada compiler (now in Rational's hands), are the only Macintosh Ada >compilers I am aware of. I note the "initially" here, so perhaps you have in mind producing a version that works completely within the System-7 framework. Such a system, using e.g. drag-and-drop for compiling, would not be usable for large projects, but would be fine for small educational use. However, that's a much bigger change. Bottom line is that if you rethink your project in terms of a port of GNAT, rather than building a new Ada 95 compiler from scratch, then it is quite practical, and certainly of interest, since it is good to see GNAT ported to as many different operating system environments as possible (after all there are nine different ports on the IBM PC, so we can certainly have more than one on the Mac). One of the nice things about free software, which really means freely-available software is precisely that you do not have to reinvent the wheel to start a project like this! Robert Dewar P.S. the we in the above is the GNAT MAC project, which is ACT, Tenon, and the folks at McKee consulting working together, see our home page for further details. P.P.S. The total magnitude of the GNAT MAC project is 2-3 person years of work, partially funded by an AJPO ATIP grant, but of course you would be able to borrow a lot of this work in your ETO project. On the other hand this is 2-3 person years from people with a LOT of experience with GNAT -- it all comes down to exactly what you aim for. The distance from something that works reasonably to a polished product can be a very long one, and for the Machten product, we are definitely trying for a polished product.