From owner-freebsd-stable Tue Dec 5 4:17:51 2000 From owner-freebsd-stable@FreeBSD.ORG Tue Dec 5 04:17:47 2000 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from smtp2.vnet.net (smtp2.vnet.net [166.82.1.32]) by hub.freebsd.org (Postfix) with ESMTP id C40AD37B402 for ; Tue, 5 Dec 2000 04:17:43 -0800 (PST) Received: from dignus.com (ponds.vnet.net [166.82.177.48]) by smtp2.vnet.net (8.10.1/8.10.1) with ESMTP id eB5CHD609274; Tue, 5 Dec 2000 07:17:17 -0500 (EST) Received: from lakes.dignus.com (lakes.dignus.com [10.0.0.3]) by dignus.com (8.9.2/8.8.5) with ESMTP id HAA01894; Tue, 5 Dec 2000 07:17:23 -0500 (EST) Received: (from rivers@localhost) by lakes.dignus.com (8.9.3/8.6.9) id HAA56851; Tue, 5 Dec 2000 07:17:12 -0500 (EST) Date: Tue, 5 Dec 2000 07:17:12 -0500 (EST) From: Thomas David Rivers Message-Id: <200012051217.HAA56851@lakes.dignus.com> To: dmmiller@cvzoom.net, steve@sse0691.bri.hp.com Subject: Re: lint Cc: stable@FreeBSD.ORG In-Reply-To: <20001205111025.I22946@moose.bri.hp.com> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Steve Roome wrote: > No doubt there's hundreds of people who subscribe to these lists who > think it's a remarkably simple job, and then they'll be those who > think it's hard but acheivable. I think it would, in reality require a > lot of very clued up people working closely together for an indefinite > period of time. > > A bit like some folks who have been writing something called gcc for a > while now. > > Steve Well, Having been "in the compiler business" for almost 17 years; let me see if I can be an "expert witness" here. (Let me list as my qualifications being the primary author of one commercial C compiler - see http://www.dignus.com, and being a compiler group manager for some years, as well as compiler technical-guy.) Fortunately, C is a language that one person can get their hands around - it takes a little over a man year before the first compiler (with bugs) sees the light of day. There are several decisions that have to be made before you can start, which affect your overall design; e.g. what style of parser; what style of intermediate code; what style of code generator, etc... Then, you'll want to add an optimizer. Then, you'll need to properly handle debugging information. Then, you'll want to add C++ (this is a *very* big project in and of itself.) Oh - and don't forget - the FreeBSD kernel makes heavy use of gcc extensions; we'll need those. Oh - and don't forget - FreeBSD runs on a couple of platforms, please write compilers for all of those... Oh - and don't forget - CVSup is written in Modula - do we want Modula,FORTRAN,COBOL,... front-ends? Furthermore, more and more universities are no longer teaching compiler theory (which is a shame) because we all have gcc now... You can imagine that there is considerable learning investment in become a compiler-guy; usually at least a few years experience in optimization theory alone. (Parsing theory, which many of the remaining university classes focus on, is the `easy' part :-) ) As to original AT&T compilers; I recently discovered that Plan9 is now "open source" (I haven't looked at the license myself) so it may provide compile sources - it seems to be C only, but does support many platforms. From my perusal of the web pages; it's not clear if the source includes the compiler source... Also, there is the national compiler infrastructure project; put together by several universities, to supply and experiment on various pieces of compile technology... (i.e. with an existing infrastructure, it's easy to "try out" different things.) I believe they have nice C front-ends; but their C++ front-end has to be purchased (again, C++ is very hard.) My ultimate point is; we should be thrilled to have gcc - it's a remarkable achievement considering that it is open-sourced (and many of the contributors are not paid.) If we want to start a new project to write a new open-source compiler suite (which isn't a bad idea), then we should gather together the right team (virtually, at least) and somehow make it so they can do this work in earnest (i.e. pay them.) The WATCOM stuff may be a good start; we'll need to see what comes out of it (particularly in the C++ arena.) - Dave Rivers - -- rivers@dignus.com Work: (919) 676-0847 Get your mainframe (370) `C' compiler at http://www.dignus.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message